summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@qt.io>2017-10-06 11:50:27 +0000
committerOswald Buddenhagen <oswald.buddenhagen@qt.io>2017-10-06 16:49:51 +0200
commiteee97c048f9cdc1cc05d6a516a3da56a13accd64 (patch)
tree019e374beaed56be3cbeaff3cf202d41ee427d96
Initial import
-rw-r--r--1.4.0/License_Folder/license_e.txt132
-rw-r--r--1.4.0/Readme.txt384
-rw-r--r--1.4.0/Release_notes_2_2.txt52
-rw-r--r--1.4.0/Release_notes_2_3.txt36
-rw-r--r--1.4.0/Release_notes_2_4.txt32
-rw-r--r--1.4.0/collada-dom-141.pc.in14
-rw-r--r--1.4.0/collada-dom-150.pc.in14
-rw-r--r--1.4.0/collada-dom.pc.in14
-rw-r--r--1.4.0/description1
-rw-r--r--1.4.0/dom/codeGen/1.4/gen.php158
-rw-r--r--1.4.0/dom/codeGen/1.4/om/base-types.php172
-rw-r--r--1.4.0/dom/codeGen/1.4/om/object-model.php43
-rw-r--r--1.4.0/dom/codeGen/1.4/om/xsAll.php27
-rw-r--r--1.4.0/dom/codeGen/1.4/om/xsAnnotation.php31
-rw-r--r--1.4.0/dom/codeGen/1.4/om/xsAny.php27
-rw-r--r--1.4.0/dom/codeGen/1.4/om/xsAppinfo.php19
-rw-r--r--1.4.0/dom/codeGen/1.4/om/xsAttribute.php27
-rw-r--r--1.4.0/dom/codeGen/1.4/om/xsChoice.php31
-rw-r--r--1.4.0/dom/codeGen/1.4/om/xsComplexContent.php24
-rw-r--r--1.4.0/dom/codeGen/1.4/om/xsComplexType.php222
-rw-r--r--1.4.0/dom/codeGen/1.4/om/xsDocumentation.php19
-rw-r--r--1.4.0/dom/codeGen/1.4/om/xsElement.php368
-rw-r--r--1.4.0/dom/codeGen/1.4/om/xsEnumeration.php23
-rw-r--r--1.4.0/dom/codeGen/1.4/om/xsExtension.php24
-rw-r--r--1.4.0/dom/codeGen/1.4/om/xsGroup.php152
-rw-r--r--1.4.0/dom/codeGen/1.4/om/xsImport.php22
-rw-r--r--1.4.0/dom/codeGen/1.4/om/xsList.php49
-rw-r--r--1.4.0/dom/codeGen/1.4/om/xsMaxExclusive.php21
-rw-r--r--1.4.0/dom/codeGen/1.4/om/xsMaxInclusive.php21
-rw-r--r--1.4.0/dom/codeGen/1.4/om/xsMaxLength.php21
-rw-r--r--1.4.0/dom/codeGen/1.4/om/xsMinExclusive.php21
-rw-r--r--1.4.0/dom/codeGen/1.4/om/xsMinInclusive.php21
-rw-r--r--1.4.0/dom/codeGen/1.4/om/xsMinLength.php21
-rw-r--r--1.4.0/dom/codeGen/1.4/om/xsPattern.php23
-rw-r--r--1.4.0/dom/codeGen/1.4/om/xsRestriction.php32
-rw-r--r--1.4.0/dom/codeGen/1.4/om/xsSchema.php32
-rw-r--r--1.4.0/dom/codeGen/1.4/om/xsSequence.php32
-rw-r--r--1.4.0/dom/codeGen/1.4/om/xsSimpleContent.php24
-rw-r--r--1.4.0/dom/codeGen/1.4/om/xsSimpleType.php143
-rw-r--r--1.4.0/dom/codeGen/1.4/om/xsUnion.php21
-rw-r--r--1.4.0/dom/codeGen/1.4/om/xsWhiteSpace.php21
-rw-r--r--1.4.0/dom/codeGen/1.4/src/ElementMeta.php280
-rw-r--r--1.4.0/dom/codeGen/1.4/src/SchemaParser.php80
-rw-r--r--1.4.0/dom/codeGen/1.4/src/TypeMeta.php108
-rw-r--r--1.4.0/dom/codeGen/1.4/tpl/template-engine.php469
-rw-r--r--1.4.0/dom/codeGen/1.4/tpl/tpl-class-def.php475
-rw-r--r--1.4.0/dom/codeGen/1.4/tpl/tpl-constants-cpp-file.php16
-rw-r--r--1.4.0/dom/codeGen/1.4/tpl/tpl-constants-cpp.php36
-rw-r--r--1.4.0/dom/codeGen/1.4/tpl/tpl-constants-file.php16
-rw-r--r--1.4.0/dom/codeGen/1.4/tpl/tpl-constants.php42
-rw-r--r--1.4.0/dom/codeGen/1.4/tpl/tpl-cpp-body.php25
-rw-r--r--1.4.0/dom/codeGen/1.4/tpl/tpl-cpp-methods.php462
-rw-r--r--1.4.0/dom/codeGen/1.4/tpl/tpl-cpp-static.php29
-rw-r--r--1.4.0/dom/codeGen/1.4/tpl/tpl-cpp.php16
-rw-r--r--1.4.0/dom/codeGen/1.4/tpl/tpl-dot-h.php28
-rw-r--r--1.4.0/dom/codeGen/1.4/tpl/tpl-doxygen.php38
-rw-r--r--1.4.0/dom/codeGen/1.4/tpl/tpl-elements-file.php16
-rw-r--r--1.4.0/dom/codeGen/1.4/tpl/tpl-elements.php31
-rw-r--r--1.4.0/dom/codeGen/1.4/tpl/tpl-header.php16
-rw-r--r--1.4.0/dom/codeGen/1.4/tpl/tpl-include-list.php13
-rw-r--r--1.4.0/dom/codeGen/1.4/tpl/tpl-includes.php32
-rw-r--r--1.4.0/dom/codeGen/1.4/tpl/tpl-types-cpp-file.php16
-rw-r--r--1.4.0/dom/codeGen/1.4/tpl/tpl-types-cpp.php136
-rw-r--r--1.4.0/dom/codeGen/1.4/tpl/tpl-types-header-file.php16
-rw-r--r--1.4.0/dom/codeGen/1.4/tpl/tpl-types-header.php172
-rw-r--r--1.4.0/dom/codeGen/1.5/gen.php158
-rw-r--r--1.4.0/dom/codeGen/1.5/om/base-types.php187
-rw-r--r--1.4.0/dom/codeGen/1.5/om/object-model.php43
-rw-r--r--1.4.0/dom/codeGen/1.5/om/xsAll.php27
-rw-r--r--1.4.0/dom/codeGen/1.5/om/xsAnnotation.php31
-rw-r--r--1.4.0/dom/codeGen/1.5/om/xsAny.php27
-rw-r--r--1.4.0/dom/codeGen/1.5/om/xsAppinfo.php19
-rw-r--r--1.4.0/dom/codeGen/1.5/om/xsAttribute.php27
-rw-r--r--1.4.0/dom/codeGen/1.5/om/xsChoice.php31
-rw-r--r--1.4.0/dom/codeGen/1.5/om/xsComplexContent.php24
-rw-r--r--1.4.0/dom/codeGen/1.5/om/xsComplexType.php228
-rw-r--r--1.4.0/dom/codeGen/1.5/om/xsDocumentation.php19
-rw-r--r--1.4.0/dom/codeGen/1.5/om/xsElement.php368
-rw-r--r--1.4.0/dom/codeGen/1.5/om/xsEnumeration.php23
-rw-r--r--1.4.0/dom/codeGen/1.5/om/xsExtension.php24
-rw-r--r--1.4.0/dom/codeGen/1.5/om/xsGroup.php152
-rw-r--r--1.4.0/dom/codeGen/1.5/om/xsImport.php22
-rw-r--r--1.4.0/dom/codeGen/1.5/om/xsList.php49
-rw-r--r--1.4.0/dom/codeGen/1.5/om/xsMaxExclusive.php21
-rw-r--r--1.4.0/dom/codeGen/1.5/om/xsMaxInclusive.php21
-rw-r--r--1.4.0/dom/codeGen/1.5/om/xsMaxLength.php21
-rw-r--r--1.4.0/dom/codeGen/1.5/om/xsMinExclusive.php21
-rw-r--r--1.4.0/dom/codeGen/1.5/om/xsMinInclusive.php21
-rw-r--r--1.4.0/dom/codeGen/1.5/om/xsMinLength.php21
-rw-r--r--1.4.0/dom/codeGen/1.5/om/xsPattern.php23
-rw-r--r--1.4.0/dom/codeGen/1.5/om/xsRestriction.php32
-rw-r--r--1.4.0/dom/codeGen/1.5/om/xsSchema.php32
-rw-r--r--1.4.0/dom/codeGen/1.5/om/xsSequence.php32
-rw-r--r--1.4.0/dom/codeGen/1.5/om/xsSimpleContent.php24
-rw-r--r--1.4.0/dom/codeGen/1.5/om/xsSimpleType.php143
-rw-r--r--1.4.0/dom/codeGen/1.5/om/xsUnion.php21
-rw-r--r--1.4.0/dom/codeGen/1.5/om/xsWhiteSpace.php21
-rw-r--r--1.4.0/dom/codeGen/1.5/src/ElementMeta.php280
-rw-r--r--1.4.0/dom/codeGen/1.5/src/SchemaParser.php82
-rw-r--r--1.4.0/dom/codeGen/1.5/src/TypeMeta.php108
-rw-r--r--1.4.0/dom/codeGen/1.5/tpl/template-engine.php726
-rw-r--r--1.4.0/dom/codeGen/1.5/tpl/tpl-class-def.php205
-rw-r--r--1.4.0/dom/codeGen/1.5/tpl/tpl-constants-cpp-file.php16
-rw-r--r--1.4.0/dom/codeGen/1.5/tpl/tpl-constants-cpp.php36
-rw-r--r--1.4.0/dom/codeGen/1.5/tpl/tpl-constants-file.php16
-rw-r--r--1.4.0/dom/codeGen/1.5/tpl/tpl-constants.php42
-rw-r--r--1.4.0/dom/codeGen/1.5/tpl/tpl-cpp-body.php25
-rw-r--r--1.4.0/dom/codeGen/1.5/tpl/tpl-cpp-methods.php484
-rw-r--r--1.4.0/dom/codeGen/1.5/tpl/tpl-cpp-static.php29
-rw-r--r--1.4.0/dom/codeGen/1.5/tpl/tpl-cpp.php16
-rw-r--r--1.4.0/dom/codeGen/1.5/tpl/tpl-dot-h.php28
-rw-r--r--1.4.0/dom/codeGen/1.5/tpl/tpl-doxygen.php38
-rw-r--r--1.4.0/dom/codeGen/1.5/tpl/tpl-elements-file.php16
-rw-r--r--1.4.0/dom/codeGen/1.5/tpl/tpl-elements.php31
-rw-r--r--1.4.0/dom/codeGen/1.5/tpl/tpl-header.php16
-rw-r--r--1.4.0/dom/codeGen/1.5/tpl/tpl-include-list.php13
-rw-r--r--1.4.0/dom/codeGen/1.5/tpl/tpl-includes.php42
-rw-r--r--1.4.0/dom/codeGen/1.5/tpl/tpl-types-cpp-file.php16
-rw-r--r--1.4.0/dom/codeGen/1.5/tpl/tpl-types-cpp.php136
-rw-r--r--1.4.0/dom/codeGen/1.5/tpl/tpl-types-header-file.php16
-rw-r--r--1.4.0/dom/codeGen/1.5/tpl/tpl-types-header.php172
-rw-r--r--1.4.0/dom/codeGen/cleanSchema27
-rw-r--r--1.4.0/dom/codeGen/gen_dom_1_521
-rw-r--r--1.4.0/dom/codeGen/readme.txt24
-rw-r--r--1.4.0/dom/external-libs/readme.txt11
-rw-r--r--1.4.0/dom/include/1.4/dom/domAccessor.h157
-rw-r--r--1.4.0/dom/include/1.4/dom/domAnimation.h215
-rw-r--r--1.4.0/dom/include/1.4/dom/domAnimation_clip.h177
-rw-r--r--1.4.0/dom/include/1.4/dom/domAny.h171
-rw-r--r--1.4.0/dom/include/1.4/dom/domAsset.h1104
-rw-r--r--1.4.0/dom/include/1.4/dom/domBind_material.h188
-rw-r--r--1.4.0/dom/include/1.4/dom/domBool_array.h135
-rw-r--r--1.4.0/dom/include/1.4/dom/domBox.h155
-rw-r--r--1.4.0/dom/include/1.4/dom/domCOLLADA.h525
-rw-r--r--1.4.0/dom/include/1.4/dom/domCamera.h656
-rw-r--r--1.4.0/dom/include/1.4/dom/domCapsule.h228
-rw-r--r--1.4.0/dom/include/1.4/dom/domCg_connect_param.h108
-rw-r--r--1.4.0/dom/include/1.4/dom/domCg_newarray_type.h192
-rw-r--r--1.4.0/dom/include/1.4/dom/domCg_newparam.h316
-rw-r--r--1.4.0/dom/include/1.4/dom/domCg_param_type.h7462
-rw-r--r--1.4.0/dom/include/1.4/dom/domCg_sampler1D.h78
-rw-r--r--1.4.0/dom/include/1.4/dom/domCg_sampler2D.h78
-rw-r--r--1.4.0/dom/include/1.4/dom/domCg_sampler3D.h78
-rw-r--r--1.4.0/dom/include/1.4/dom/domCg_samplerCUBE.h78
-rw-r--r--1.4.0/dom/include/1.4/dom/domCg_samplerDEPTH.h78
-rw-r--r--1.4.0/dom/include/1.4/dom/domCg_samplerRECT.h78
-rw-r--r--1.4.0/dom/include/1.4/dom/domCg_setarray_type.h180
-rw-r--r--1.4.0/dom/include/1.4/dom/domCg_setparam.h185
-rw-r--r--1.4.0/dom/include/1.4/dom/domCg_setparam_simple.h125
-rw-r--r--1.4.0/dom/include/1.4/dom/domCg_setuser_type.h224
-rw-r--r--1.4.0/dom/include/1.4/dom/domCg_surface_type.h315
-rw-r--r--1.4.0/dom/include/1.4/dom/domChannel.h107
-rw-r--r--1.4.0/dom/include/1.4/dom/domCommon_color_or_texture_type.h331
-rw-r--r--1.4.0/dom/include/1.4/dom/domCommon_float_or_param_type.h245
-rw-r--r--1.4.0/dom/include/1.4/dom/domCommon_newparam_type.h487
-rw-r--r--1.4.0/dom/include/1.4/dom/domCommon_transparent_type.h106
-rw-r--r--1.4.0/dom/include/1.4/dom/domConstants.h1093
-rw-r--r--1.4.0/dom/include/1.4/dom/domController.h172
-rw-r--r--1.4.0/dom/include/1.4/dom/domConvex_mesh.h237
-rw-r--r--1.4.0/dom/include/1.4/dom/domCylinder.h227
-rw-r--r--1.4.0/dom/include/1.4/dom/domEffect.h207
-rw-r--r--1.4.0/dom/include/1.4/dom/domElements.h870
-rw-r--r--1.4.0/dom/include/1.4/dom/domEllipsoid.h131
-rw-r--r--1.4.0/dom/include/1.4/dom/domExtra.h141
-rw-r--r--1.4.0/dom/include/1.4/dom/domFloat_array.h169
-rw-r--r--1.4.0/dom/include/1.4/dom/domForce_field.h140
-rw-r--r--1.4.0/dom/include/1.4/dom/domFx_annotate_common.h113
-rw-r--r--1.4.0/dom/include/1.4/dom/domFx_annotate_type_common.h1174
-rw-r--r--1.4.0/dom/include/1.4/dom/domFx_basic_type_common.h2115
-rw-r--r--1.4.0/dom/include/1.4/dom/domFx_clearcolor_common.h126
-rw-r--r--1.4.0/dom/include/1.4/dom/domFx_cleardepth_common.h121
-rw-r--r--1.4.0/dom/include/1.4/dom/domFx_clearstencil_common.h121
-rw-r--r--1.4.0/dom/include/1.4/dom/domFx_code_profile.h130
-rw-r--r--1.4.0/dom/include/1.4/dom/domFx_colortarget_common.h190
-rw-r--r--1.4.0/dom/include/1.4/dom/domFx_depthtarget_common.h190
-rw-r--r--1.4.0/dom/include/1.4/dom/domFx_include_common.h163
-rw-r--r--1.4.0/dom/include/1.4/dom/domFx_newparam_common.h282
-rw-r--r--1.4.0/dom/include/1.4/dom/domFx_profile_abstract.h61
-rw-r--r--1.4.0/dom/include/1.4/dom/domFx_sampler1D_common.h614
-rw-r--r--1.4.0/dom/include/1.4/dom/domFx_sampler2D_common.h678
-rw-r--r--1.4.0/dom/include/1.4/dom/domFx_sampler3D_common.h742
-rw-r--r--1.4.0/dom/include/1.4/dom/domFx_samplerCUBE_common.h742
-rw-r--r--1.4.0/dom/include/1.4/dom/domFx_samplerDEPTH_common.h417
-rw-r--r--1.4.0/dom/include/1.4/dom/domFx_samplerRECT_common.h678
-rw-r--r--1.4.0/dom/include/1.4/dom/domFx_stenciltarget_common.h190
-rw-r--r--1.4.0/dom/include/1.4/dom/domFx_surface_common.h566
-rw-r--r--1.4.0/dom/include/1.4/dom/domFx_surface_format_hint_common.h400
-rw-r--r--1.4.0/dom/include/1.4/dom/domFx_surface_init_common.h257
-rw-r--r--1.4.0/dom/include/1.4/dom/domFx_surface_init_cube_common.h412
-rw-r--r--1.4.0/dom/include/1.4/dom/domFx_surface_init_from_common.h176
-rw-r--r--1.4.0/dom/include/1.4/dom/domFx_surface_init_planar_common.h182
-rw-r--r--1.4.0/dom/include/1.4/dom/domFx_surface_init_volume_common.h254
-rw-r--r--1.4.0/dom/include/1.4/dom/domGeometry.h178
-rw-r--r--1.4.0/dom/include/1.4/dom/domGl_hook_abstract.h57
-rw-r--r--1.4.0/dom/include/1.4/dom/domGl_pipeline_settings.h10823
-rw-r--r--1.4.0/dom/include/1.4/dom/domGl_sampler1D.h81
-rw-r--r--1.4.0/dom/include/1.4/dom/domGl_sampler2D.h81
-rw-r--r--1.4.0/dom/include/1.4/dom/domGl_sampler3D.h81
-rw-r--r--1.4.0/dom/include/1.4/dom/domGl_samplerCUBE.h81
-rw-r--r--1.4.0/dom/include/1.4/dom/domGl_samplerDEPTH.h81
-rw-r--r--1.4.0/dom/include/1.4/dom/domGl_samplerRECT.h81
-rw-r--r--1.4.0/dom/include/1.4/dom/domGles_basic_type_common.h2094
-rw-r--r--1.4.0/dom/include/1.4/dom/domGles_newparam.h282
-rw-r--r--1.4.0/dom/include/1.4/dom/domGles_pipeline_settings.h6313
-rw-r--r--1.4.0/dom/include/1.4/dom/domGles_sampler_state.h581
-rw-r--r--1.4.0/dom/include/1.4/dom/domGles_texcombiner_argumentAlpha_type.h151
-rw-r--r--1.4.0/dom/include/1.4/dom/domGles_texcombiner_argumentRGB_type.h151
-rw-r--r--1.4.0/dom/include/1.4/dom/domGles_texcombiner_commandAlpha_type.h141
-rw-r--r--1.4.0/dom/include/1.4/dom/domGles_texcombiner_commandRGB_type.h145
-rw-r--r--1.4.0/dom/include/1.4/dom/domGles_texcombiner_command_type.h101
-rw-r--r--1.4.0/dom/include/1.4/dom/domGles_texenv_command_type.h136
-rw-r--r--1.4.0/dom/include/1.4/dom/domGles_texture_constant_type.h138
-rw-r--r--1.4.0/dom/include/1.4/dom/domGles_texture_pipeline.h188
-rw-r--r--1.4.0/dom/include/1.4/dom/domGles_texture_unit.h314
-rw-r--r--1.4.0/dom/include/1.4/dom/domGlsl_newarray_type.h166
-rw-r--r--1.4.0/dom/include/1.4/dom/domGlsl_newparam.h287
-rw-r--r--1.4.0/dom/include/1.4/dom/domGlsl_param_type.h1223
-rw-r--r--1.4.0/dom/include/1.4/dom/domGlsl_setarray_type.h166
-rw-r--r--1.4.0/dom/include/1.4/dom/domGlsl_setparam.h180
-rw-r--r--1.4.0/dom/include/1.4/dom/domGlsl_setparam_simple.h125
-rw-r--r--1.4.0/dom/include/1.4/dom/domGlsl_surface_type.h316
-rw-r--r--1.4.0/dom/include/1.4/dom/domIDREF_array.h135
-rw-r--r--1.4.0/dom/include/1.4/dom/domImage.h378
-rw-r--r--1.4.0/dom/include/1.4/dom/domInputGlobal.h160
-rw-r--r--1.4.0/dom/include/1.4/dom/domInputLocal.h160
-rw-r--r--1.4.0/dom/include/1.4/dom/domInputLocalOffset.h216
-rw-r--r--1.4.0/dom/include/1.4/dom/domInstanceWithExtra.h206
-rw-r--r--1.4.0/dom/include/1.4/dom/domInstance_camera.h105
-rw-r--r--1.4.0/dom/include/1.4/dom/domInstance_controller.h242
-rw-r--r--1.4.0/dom/include/1.4/dom/domInstance_effect.h330
-rw-r--r--1.4.0/dom/include/1.4/dom/domInstance_force_field.h105
-rw-r--r--1.4.0/dom/include/1.4/dom/domInstance_geometry.h151
-rw-r--r--1.4.0/dom/include/1.4/dom/domInstance_light.h105
-rw-r--r--1.4.0/dom/include/1.4/dom/domInstance_material.h356
-rw-r--r--1.4.0/dom/include/1.4/dom/domInstance_node.h105
-rw-r--r--1.4.0/dom/include/1.4/dom/domInstance_physics_material.h105
-rw-r--r--1.4.0/dom/include/1.4/dom/domInstance_physics_model.h216
-rw-r--r--1.4.0/dom/include/1.4/dom/domInstance_rigid_body.h897
-rw-r--r--1.4.0/dom/include/1.4/dom/domInstance_rigid_constraint.h127
-rw-r--r--1.4.0/dom/include/1.4/dom/domInt_array.h168
-rw-r--r--1.4.0/dom/include/1.4/dom/domLibrary_animation_clips.h140
-rw-r--r--1.4.0/dom/include/1.4/dom/domLibrary_animations.h138
-rw-r--r--1.4.0/dom/include/1.4/dom/domLibrary_cameras.h138
-rw-r--r--1.4.0/dom/include/1.4/dom/domLibrary_controllers.h138
-rw-r--r--1.4.0/dom/include/1.4/dom/domLibrary_effects.h138
-rw-r--r--1.4.0/dom/include/1.4/dom/domLibrary_force_fields.h138
-rw-r--r--1.4.0/dom/include/1.4/dom/domLibrary_geometries.h138
-rw-r--r--1.4.0/dom/include/1.4/dom/domLibrary_images.h138
-rw-r--r--1.4.0/dom/include/1.4/dom/domLibrary_lights.h138
-rw-r--r--1.4.0/dom/include/1.4/dom/domLibrary_materials.h138
-rw-r--r--1.4.0/dom/include/1.4/dom/domLibrary_nodes.h138
-rw-r--r--1.4.0/dom/include/1.4/dom/domLibrary_physics_materials.h140
-rw-r--r--1.4.0/dom/include/1.4/dom/domLibrary_physics_models.h139
-rw-r--r--1.4.0/dom/include/1.4/dom/domLibrary_physics_scenes.h139
-rw-r--r--1.4.0/dom/include/1.4/dom/domLibrary_visual_scenes.h139
-rw-r--r--1.4.0/dom/include/1.4/dom/domLight.h618
-rw-r--r--1.4.0/dom/include/1.4/dom/domLines.h158
-rw-r--r--1.4.0/dom/include/1.4/dom/domLinestrips.h163
-rw-r--r--1.4.0/dom/include/1.4/dom/domLookat.h104
-rw-r--r--1.4.0/dom/include/1.4/dom/domMaterial.h133
-rw-r--r--1.4.0/dom/include/1.4/dom/domMatrix.h103
-rw-r--r--1.4.0/dom/include/1.4/dom/domMesh.h235
-rw-r--r--1.4.0/dom/include/1.4/dom/domMorph.h227
-rw-r--r--1.4.0/dom/include/1.4/dom/domName_array.h135
-rw-r--r--1.4.0/dom/include/1.4/dom/domNode.h388
-rw-r--r--1.4.0/dom/include/1.4/dom/domP.h86
-rw-r--r--1.4.0/dom/include/1.4/dom/domParam.h144
-rw-r--r--1.4.0/dom/include/1.4/dom/domPhysics_material.h230
-rw-r--r--1.4.0/dom/include/1.4/dom/domPhysics_model.h172
-rw-r--r--1.4.0/dom/include/1.4/dom/domPhysics_scene.h246
-rw-r--r--1.4.0/dom/include/1.4/dom/domPlane.h157
-rw-r--r--1.4.0/dom/include/1.4/dom/domPolygons.h342
-rw-r--r--1.4.0/dom/include/1.4/dom/domPolylist.h239
-rw-r--r--1.4.0/dom/include/1.4/dom/domProfile_CG.h1174
-rw-r--r--1.4.0/dom/include/1.4/dom/domProfile_COMMON.h726
-rw-r--r--1.4.0/dom/include/1.4/dom/domProfile_GLES.h1021
-rw-r--r--1.4.0/dom/include/1.4/dom/domProfile_GLSL.h1150
-rw-r--r--1.4.0/dom/include/1.4/dom/domRigid_body.h790
-rw-r--r--1.4.0/dom/include/1.4/dom/domRigid_constraint.h1105
-rw-r--r--1.4.0/dom/include/1.4/dom/domRotate.h102
-rw-r--r--1.4.0/dom/include/1.4/dom/domSampler.h101
-rw-r--r--1.4.0/dom/include/1.4/dom/domScale.h73
-rw-r--r--1.4.0/dom/include/1.4/dom/domSkew.h102
-rw-r--r--1.4.0/dom/include/1.4/dom/domSkin.h557
-rw-r--r--1.4.0/dom/include/1.4/dom/domSource.h270
-rw-r--r--1.4.0/dom/include/1.4/dom/domSphere.h150
-rw-r--r--1.4.0/dom/include/1.4/dom/domSpline.h196
-rw-r--r--1.4.0/dom/include/1.4/dom/domTapered_capsule.h309
-rw-r--r--1.4.0/dom/include/1.4/dom/domTapered_cylinder.h309
-rw-r--r--1.4.0/dom/include/1.4/dom/domTargetableFloat.h130
-rw-r--r--1.4.0/dom/include/1.4/dom/domTargetableFloat3.h135
-rw-r--r--1.4.0/dom/include/1.4/dom/domTechnique.h128
-rw-r--r--1.4.0/dom/include/1.4/dom/domTranslate.h73
-rw-r--r--1.4.0/dom/include/1.4/dom/domTriangles.h158
-rw-r--r--1.4.0/dom/include/1.4/dom/domTrifans.h163
-rw-r--r--1.4.0/dom/include/1.4/dom/domTristrips.h163
-rw-r--r--1.4.0/dom/include/1.4/dom/domTypes.h1249
-rw-r--r--1.4.0/dom/include/1.4/dom/domVertices.h132
-rw-r--r--1.4.0/dom/include/1.4/dom/domVisual_scene.h405
-rw-r--r--1.4.0/dom/include/1.5/dom/domAccessor.h150
-rw-r--r--1.4.0/dom/include/1.5/dom/domAnimation.h206
-rw-r--r--1.4.0/dom/include/1.5/dom/domAnimation_clip.h181
-rw-r--r--1.4.0/dom/include/1.5/dom/domAny.h171
-rw-r--r--1.4.0/dom/include/1.5/dom/domArticulated_system.h137
-rw-r--r--1.4.0/dom/include/1.5/dom/domAsset.h1589
-rw-r--r--1.4.0/dom/include/1.5/dom/domAxis.h92
-rw-r--r--1.4.0/dom/include/1.5/dom/domAxis_constraint.h79
-rw-r--r--1.4.0/dom/include/1.5/dom/domBind_joint_axis.h79
-rw-r--r--1.4.0/dom/include/1.5/dom/domBind_kinematics_model.h65
-rw-r--r--1.4.0/dom/include/1.5/dom/domBind_material.h180
-rw-r--r--1.4.0/dom/include/1.5/dom/domBool_array.h122
-rw-r--r--1.4.0/dom/include/1.5/dom/domBox.h142
-rw-r--r--1.4.0/dom/include/1.5/dom/domBrep.h190
-rw-r--r--1.4.0/dom/include/1.5/dom/domCOLLADA.h589
-rw-r--r--1.4.0/dom/include/1.5/dom/domCamera.h648
-rw-r--r--1.4.0/dom/include/1.5/dom/domCapsule.h215
-rw-r--r--1.4.0/dom/include/1.5/dom/domCg_array.h104
-rw-r--r--1.4.0/dom/include/1.5/dom/domCg_newparam.h236
-rw-r--r--1.4.0/dom/include/1.5/dom/domCg_param.h5386
-rw-r--r--1.4.0/dom/include/1.5/dom/domCg_pass.h740
-rw-r--r--1.4.0/dom/include/1.5/dom/domCg_setparam.h75
-rw-r--r--1.4.0/dom/include/1.5/dom/domCg_user.h99
-rw-r--r--1.4.0/dom/include/1.5/dom/domChannel.h89
-rw-r--r--1.4.0/dom/include/1.5/dom/domCircle.h152
-rw-r--r--1.4.0/dom/include/1.5/dom/domCommon_bool_or_param.h150
-rw-r--r--1.4.0/dom/include/1.5/dom/domCommon_float2_or_param.h150
-rw-r--r--1.4.0/dom/include/1.5/dom/domCommon_float_or_param.h150
-rw-r--r--1.4.0/dom/include/1.5/dom/domCommon_int_or_param.h150
-rw-r--r--1.4.0/dom/include/1.5/dom/domCommon_param.h67
-rw-r--r--1.4.0/dom/include/1.5/dom/domCommon_sidref_or_param.h150
-rw-r--r--1.4.0/dom/include/1.5/dom/domCone.h194
-rw-r--r--1.4.0/dom/include/1.5/dom/domConstants.h1217
-rw-r--r--1.4.0/dom/include/1.5/dom/domController.h164
-rw-r--r--1.4.0/dom/include/1.5/dom/domConvex_mesh.h229
-rw-r--r--1.4.0/dom/include/1.5/dom/domCurve.h173
-rw-r--r--1.4.0/dom/include/1.5/dom/domCurves.h80
-rw-r--r--1.4.0/dom/include/1.5/dom/domCylinder.h214
-rw-r--r--1.4.0/dom/include/1.5/dom/domEdges.h134
-rw-r--r--1.4.0/dom/include/1.5/dom/domEffect.h159
-rw-r--r--1.4.0/dom/include/1.5/dom/domElements.h1177
-rw-r--r--1.4.0/dom/include/1.5/dom/domEllipse.h155
-rw-r--r--1.4.0/dom/include/1.5/dom/domEllipsoid.h118
-rw-r--r--1.4.0/dom/include/1.5/dom/domExtra.h133
-rw-r--r--1.4.0/dom/include/1.5/dom/domFaces.h199
-rw-r--r--1.4.0/dom/include/1.5/dom/domFloat_array.h156
-rw-r--r--1.4.0/dom/include/1.5/dom/domForce_field.h132
-rw-r--r--1.4.0/dom/include/1.5/dom/domFormula.h129
-rw-r--r--1.4.0/dom/include/1.5/dom/domFormula_newparam.h348
-rw-r--r--1.4.0/dom/include/1.5/dom/domFormula_setparam.h355
-rw-r--r--1.4.0/dom/include/1.5/dom/domFormula_technique.h59
-rw-r--r--1.4.0/dom/include/1.5/dom/domFx_annotate.h1106
-rw-r--r--1.4.0/dom/include/1.5/dom/domFx_clearcolor.h80
-rw-r--r--1.4.0/dom/include/1.5/dom/domFx_cleardepth.h80
-rw-r--r--1.4.0/dom/include/1.5/dom/domFx_clearstencil.h80
-rw-r--r--1.4.0/dom/include/1.5/dom/domFx_code.h89
-rw-r--r--1.4.0/dom/include/1.5/dom/domFx_colortarget.h50
-rw-r--r--1.4.0/dom/include/1.5/dom/domFx_common_color_or_texture.h303
-rw-r--r--1.4.0/dom/include/1.5/dom/domFx_common_float_or_param.h217
-rw-r--r--1.4.0/dom/include/1.5/dom/domFx_common_newparam.h424
-rw-r--r--1.4.0/dom/include/1.5/dom/domFx_common_transparent.h65
-rw-r--r--1.4.0/dom/include/1.5/dom/domFx_depthtarget.h50
-rw-r--r--1.4.0/dom/include/1.5/dom/domFx_include.h101
-rw-r--r--1.4.0/dom/include/1.5/dom/domFx_newparam.h1724
-rw-r--r--1.4.0/dom/include/1.5/dom/domFx_profile.h122
-rw-r--r--1.4.0/dom/include/1.5/dom/domFx_rendertarget.h208
-rw-r--r--1.4.0/dom/include/1.5/dom/domFx_sampler.h70
-rw-r--r--1.4.0/dom/include/1.5/dom/domFx_sampler1D.h54
-rw-r--r--1.4.0/dom/include/1.5/dom/domFx_sampler2D.h54
-rw-r--r--1.4.0/dom/include/1.5/dom/domFx_sampler3D.h54
-rw-r--r--1.4.0/dom/include/1.5/dom/domFx_samplerCUBE.h54
-rw-r--r--1.4.0/dom/include/1.5/dom/domFx_samplerDEPTH.h54
-rw-r--r--1.4.0/dom/include/1.5/dom/domFx_samplerRECT.h54
-rw-r--r--1.4.0/dom/include/1.5/dom/domFx_sampler_states.h821
-rw-r--r--1.4.0/dom/include/1.5/dom/domFx_setparam.h1745
-rw-r--r--1.4.0/dom/include/1.5/dom/domFx_sources.h228
-rw-r--r--1.4.0/dom/include/1.5/dom/domFx_stenciltarget.h50
-rw-r--r--1.4.0/dom/include/1.5/dom/domFx_target.h340
-rw-r--r--1.4.0/dom/include/1.5/dom/domGeometry.h177
-rw-r--r--1.4.0/dom/include/1.5/dom/domGl_pipeline_settings.h10396
-rw-r--r--1.4.0/dom/include/1.5/dom/domGles2_newparam.h225
-rw-r--r--1.4.0/dom/include/1.5/dom/domGles2_pass.h406
-rw-r--r--1.4.0/dom/include/1.5/dom/domGles2_pipeline_settings.h4118
-rw-r--r--1.4.0/dom/include/1.5/dom/domGles2_program.h448
-rw-r--r--1.4.0/dom/include/1.5/dom/domGles2_shader.h178
-rw-r--r--1.4.0/dom/include/1.5/dom/domGles2_value.h1375
-rw-r--r--1.4.0/dom/include/1.5/dom/domGles_newparam.h241
-rw-r--r--1.4.0/dom/include/1.5/dom/domGles_param.h1945
-rw-r--r--1.4.0/dom/include/1.5/dom/domGles_pipeline_settings.h5900
-rw-r--r--1.4.0/dom/include/1.5/dom/domGles_sampler.h133
-rw-r--r--1.4.0/dom/include/1.5/dom/domGles_sampler_states.h518
-rw-r--r--1.4.0/dom/include/1.5/dom/domGles_texcombiner_argument_alpha.h88
-rw-r--r--1.4.0/dom/include/1.5/dom/domGles_texcombiner_argument_rgb.h88
-rw-r--r--1.4.0/dom/include/1.5/dom/domGles_texcombiner_command.h73
-rw-r--r--1.4.0/dom/include/1.5/dom/domGles_texcombiner_command_alpha.h89
-rw-r--r--1.4.0/dom/include/1.5/dom/domGles_texcombiner_command_rgb.h93
-rw-r--r--1.4.0/dom/include/1.5/dom/domGles_texenv_command.h84
-rw-r--r--1.4.0/dom/include/1.5/dom/domGles_texture_constant.h76
-rw-r--r--1.4.0/dom/include/1.5/dom/domGles_texture_pipeline.h147
-rw-r--r--1.4.0/dom/include/1.5/dom/domGlsl_array.h84
-rw-r--r--1.4.0/dom/include/1.5/dom/domGlsl_newparam.h214
-rw-r--r--1.4.0/dom/include/1.5/dom/domGlsl_program.h433
-rw-r--r--1.4.0/dom/include/1.5/dom/domGlsl_shader.h97
-rw-r--r--1.4.0/dom/include/1.5/dom/domGlsl_value.h1155
-rw-r--r--1.4.0/dom/include/1.5/dom/domHyperbola.h155
-rw-r--r--1.4.0/dom/include/1.5/dom/domIdref_array.h127
-rw-r--r--1.4.0/dom/include/1.5/dom/domImage.h2133
-rw-r--r--1.4.0/dom/include/1.5/dom/domImage_mips.h83
-rw-r--r--1.4.0/dom/include/1.5/dom/domImage_source.h255
-rw-r--r--1.4.0/dom/include/1.5/dom/domInput_global.h98
-rw-r--r--1.4.0/dom/include/1.5/dom/domInput_local.h88
-rw-r--r--1.4.0/dom/include/1.5/dom/domInput_local_offset.h122
-rw-r--r--1.4.0/dom/include/1.5/dom/domInstance_articulated_system.h147
-rw-r--r--1.4.0/dom/include/1.5/dom/domInstance_camera.h55
-rw-r--r--1.4.0/dom/include/1.5/dom/domInstance_controller.h234
-rw-r--r--1.4.0/dom/include/1.5/dom/domInstance_effect.h322
-rw-r--r--1.4.0/dom/include/1.5/dom/domInstance_force_field.h55
-rw-r--r--1.4.0/dom/include/1.5/dom/domInstance_formula.h111
-rw-r--r--1.4.0/dom/include/1.5/dom/domInstance_geometry.h143
-rw-r--r--1.4.0/dom/include/1.5/dom/domInstance_image.h51
-rw-r--r--1.4.0/dom/include/1.5/dom/domInstance_joint.h51
-rw-r--r--1.4.0/dom/include/1.5/dom/domInstance_kinematics_model.h147
-rw-r--r--1.4.0/dom/include/1.5/dom/domInstance_kinematics_scene.h166
-rw-r--r--1.4.0/dom/include/1.5/dom/domInstance_light.h55
-rw-r--r--1.4.0/dom/include/1.5/dom/domInstance_material.h348
-rw-r--r--1.4.0/dom/include/1.5/dom/domInstance_node.h122
-rw-r--r--1.4.0/dom/include/1.5/dom/domInstance_physics_material.h55
-rw-r--r--1.4.0/dom/include/1.5/dom/domInstance_physics_model.h208
-rw-r--r--1.4.0/dom/include/1.5/dom/domInstance_rigid_body.h865
-rw-r--r--1.4.0/dom/include/1.5/dom/domInstance_rigid_constraint.h119
-rw-r--r--1.4.0/dom/include/1.5/dom/domInstance_with_extra.h133
-rw-r--r--1.4.0/dom/include/1.5/dom/domInt_array.h155
-rw-r--r--1.4.0/dom/include/1.5/dom/domJoint.h151
-rw-r--r--1.4.0/dom/include/1.5/dom/domJoint_limits.h65
-rw-r--r--1.4.0/dom/include/1.5/dom/domKinematics.h95
-rw-r--r--1.4.0/dom/include/1.5/dom/domKinematics_axis_info.h182
-rw-r--r--1.4.0/dom/include/1.5/dom/domKinematics_bind.h355
-rw-r--r--1.4.0/dom/include/1.5/dom/domKinematics_connect_param.h64
-rw-r--r--1.4.0/dom/include/1.5/dom/domKinematics_frame.h114
-rw-r--r--1.4.0/dom/include/1.5/dom/domKinematics_index.h65
-rw-r--r--1.4.0/dom/include/1.5/dom/domKinematics_limits.h65
-rw-r--r--1.4.0/dom/include/1.5/dom/domKinematics_model.h117
-rw-r--r--1.4.0/dom/include/1.5/dom/domKinematics_model_technique.h149
-rw-r--r--1.4.0/dom/include/1.5/dom/domKinematics_newparam.h348
-rw-r--r--1.4.0/dom/include/1.5/dom/domKinematics_param.h64
-rw-r--r--1.4.0/dom/include/1.5/dom/domKinematics_scene.h122
-rw-r--r--1.4.0/dom/include/1.5/dom/domKinematics_setparam.h355
-rw-r--r--1.4.0/dom/include/1.5/dom/domKinematics_technique.h89
-rw-r--r--1.4.0/dom/include/1.5/dom/domLibrary_animation_clips.h132
-rw-r--r--1.4.0/dom/include/1.5/dom/domLibrary_animations.h130
-rw-r--r--1.4.0/dom/include/1.5/dom/domLibrary_articulated_systems.h110
-rw-r--r--1.4.0/dom/include/1.5/dom/domLibrary_cameras.h130
-rw-r--r--1.4.0/dom/include/1.5/dom/domLibrary_controllers.h130
-rw-r--r--1.4.0/dom/include/1.5/dom/domLibrary_effects.h130
-rw-r--r--1.4.0/dom/include/1.5/dom/domLibrary_force_fields.h130
-rw-r--r--1.4.0/dom/include/1.5/dom/domLibrary_formulas.h110
-rw-r--r--1.4.0/dom/include/1.5/dom/domLibrary_geometries.h130
-rw-r--r--1.4.0/dom/include/1.5/dom/domLibrary_images.h130
-rw-r--r--1.4.0/dom/include/1.5/dom/domLibrary_joints.h110
-rw-r--r--1.4.0/dom/include/1.5/dom/domLibrary_kinematics_models.h110
-rw-r--r--1.4.0/dom/include/1.5/dom/domLibrary_kinematics_scenes.h110
-rw-r--r--1.4.0/dom/include/1.5/dom/domLibrary_lights.h130
-rw-r--r--1.4.0/dom/include/1.5/dom/domLibrary_materials.h130
-rw-r--r--1.4.0/dom/include/1.5/dom/domLibrary_nodes.h130
-rw-r--r--1.4.0/dom/include/1.5/dom/domLibrary_physics_materials.h132
-rw-r--r--1.4.0/dom/include/1.5/dom/domLibrary_physics_models.h130
-rw-r--r--1.4.0/dom/include/1.5/dom/domLibrary_physics_scenes.h130
-rw-r--r--1.4.0/dom/include/1.5/dom/domLibrary_visual_scenes.h130
-rw-r--r--1.4.0/dom/include/1.5/dom/domLight.h610
-rw-r--r--1.4.0/dom/include/1.5/dom/domLimits_sub.h80
-rw-r--r--1.4.0/dom/include/1.5/dom/domLine.h202
-rw-r--r--1.4.0/dom/include/1.5/dom/domLines.h150
-rw-r--r--1.4.0/dom/include/1.5/dom/domLinestrips.h155
-rw-r--r--1.4.0/dom/include/1.5/dom/domLink.h477
-rw-r--r--1.4.0/dom/include/1.5/dom/domLookat.h91
-rw-r--r--1.4.0/dom/include/1.5/dom/domMaterial.h125
-rw-r--r--1.4.0/dom/include/1.5/dom/domMatrix.h90
-rw-r--r--1.4.0/dom/include/1.5/dom/domMesh.h226
-rw-r--r--1.4.0/dom/include/1.5/dom/domMinmax.h92
-rw-r--r--1.4.0/dom/include/1.5/dom/domMorph.h219
-rw-r--r--1.4.0/dom/include/1.5/dom/domMotion.h90
-rw-r--r--1.4.0/dom/include/1.5/dom/domMotion_axis_info.h150
-rw-r--r--1.4.0/dom/include/1.5/dom/domMotion_effector_info.h138
-rw-r--r--1.4.0/dom/include/1.5/dom/domMotion_technique.h71
-rw-r--r--1.4.0/dom/include/1.5/dom/domName_array.h122
-rw-r--r--1.4.0/dom/include/1.5/dom/domNode.h374
-rw-r--r--1.4.0/dom/include/1.5/dom/domNurbs.h190
-rw-r--r--1.4.0/dom/include/1.5/dom/domNurbs_surface.h214
-rw-r--r--1.4.0/dom/include/1.5/dom/domOrient.h67
-rw-r--r--1.4.0/dom/include/1.5/dom/domOrigin.h67
-rw-r--r--1.4.0/dom/include/1.5/dom/domP.h73
-rw-r--r--1.4.0/dom/include/1.5/dom/domParabola.h153
-rw-r--r--1.4.0/dom/include/1.5/dom/domParam.h136
-rw-r--r--1.4.0/dom/include/1.5/dom/domPcurves.h192
-rw-r--r--1.4.0/dom/include/1.5/dom/domPhysics_material.h222
-rw-r--r--1.4.0/dom/include/1.5/dom/domPhysics_model.h163
-rw-r--r--1.4.0/dom/include/1.5/dom/domPhysics_scene.h238
-rw-r--r--1.4.0/dom/include/1.5/dom/domPlane.h144
-rw-r--r--1.4.0/dom/include/1.5/dom/domPolygons.h331
-rw-r--r--1.4.0/dom/include/1.5/dom/domPolylist.h226
-rw-r--r--1.4.0/dom/include/1.5/dom/domProfile_bridge.h131
-rw-r--r--1.4.0/dom/include/1.5/dom/domProfile_cg.h320
-rw-r--r--1.4.0/dom/include/1.5/dom/domProfile_common.h658
-rw-r--r--1.4.0/dom/include/1.5/dom/domProfile_gles.h601
-rw-r--r--1.4.0/dom/include/1.5/dom/domProfile_gles2.h377
-rw-r--r--1.4.0/dom/include/1.5/dom/domProfile_glsl.h662
-rw-r--r--1.4.0/dom/include/1.5/dom/domRigid_body.h776
-rw-r--r--1.4.0/dom/include/1.5/dom/domRigid_constraint.h1096
-rw-r--r--1.4.0/dom/include/1.5/dom/domRotate.h57
-rw-r--r--1.4.0/dom/include/1.5/dom/domSampler.h123
-rw-r--r--1.4.0/dom/include/1.5/dom/domScale.h57
-rw-r--r--1.4.0/dom/include/1.5/dom/domShells.h198
-rw-r--r--1.4.0/dom/include/1.5/dom/domSidref_array.h122
-rw-r--r--1.4.0/dom/include/1.5/dom/domSkew.h89
-rw-r--r--1.4.0/dom/include/1.5/dom/domSkin.h534
-rw-r--r--1.4.0/dom/include/1.5/dom/domSolids.h198
-rw-r--r--1.4.0/dom/include/1.5/dom/domSource.h279
-rw-r--r--1.4.0/dom/include/1.5/dom/domSphere.h142
-rw-r--r--1.4.0/dom/include/1.5/dom/domSpline.h188
-rw-r--r--1.4.0/dom/include/1.5/dom/domSurface.h302
-rw-r--r--1.4.0/dom/include/1.5/dom/domSurface_curves.h81
-rw-r--r--1.4.0/dom/include/1.5/dom/domSurfaces.h76
-rw-r--r--1.4.0/dom/include/1.5/dom/domSwept_surface.h305
-rw-r--r--1.4.0/dom/include/1.5/dom/domTargetable_float.h89
-rw-r--r--1.4.0/dom/include/1.5/dom/domTargetable_float3.h89
-rw-r--r--1.4.0/dom/include/1.5/dom/domTargetable_float4.h80
-rw-r--r--1.4.0/dom/include/1.5/dom/domTechnique.h99
-rw-r--r--1.4.0/dom/include/1.5/dom/domToken_array.h122
-rw-r--r--1.4.0/dom/include/1.5/dom/domTorus.h130
-rw-r--r--1.4.0/dom/include/1.5/dom/domTranslate.h57
-rw-r--r--1.4.0/dom/include/1.5/dom/domTriangles.h150
-rw-r--r--1.4.0/dom/include/1.5/dom/domTrifans.h155
-rw-r--r--1.4.0/dom/include/1.5/dom/domTristrips.h155
-rw-r--r--1.4.0/dom/include/1.5/dom/domTypes.h1205
-rw-r--r--1.4.0/dom/include/1.5/dom/domVertices.h124
-rw-r--r--1.4.0/dom/include/1.5/dom/domVisual_scene.h760
-rw-r--r--1.4.0/dom/include/1.5/dom/domWires.h198
-rw-r--r--1.4.0/dom/include/dae.h304
-rw-r--r--1.4.0/dom/include/dae/daeArray.h705
-rw-r--r--1.4.0/dom/include/dae/daeArrayTypes.h25
-rw-r--r--1.4.0/dom/include/dae/daeAtomicType.h726
-rw-r--r--1.4.0/dom/include/dae/daeDatabase.h334
-rw-r--r--1.4.0/dom/include/dae/daeDocument.h163
-rw-r--r--1.4.0/dom/include/dae/daeDom.h38
-rw-r--r--1.4.0/dom/include/dae/daeDomTypes.h63
-rw-r--r--1.4.0/dom/include/dae/daeElement.h570
-rw-r--r--1.4.0/dom/include/dae/daeError.h46
-rw-r--r--1.4.0/dom/include/dae/daeErrorHandler.h61
-rw-r--r--1.4.0/dom/include/dae/daeGCCPlatform.h27
-rw-r--r--1.4.0/dom/include/dae/daeIDRef.h230
-rw-r--r--1.4.0/dom/include/dae/daeIOPlugin.h128
-rw-r--r--1.4.0/dom/include/dae/daeIOPluginCommon.h63
-rw-r--r--1.4.0/dom/include/dae/daeMemorySystem.h57
-rw-r--r--1.4.0/dom/include/dae/daeMetaAny.h39
-rw-r--r--1.4.0/dom/include/dae/daeMetaAttribute.h320
-rw-r--r--1.4.0/dom/include/dae/daeMetaCMPolicy.h115
-rw-r--r--1.4.0/dom/include/dae/daeMetaChoice.h43
-rw-r--r--1.4.0/dom/include/dae/daeMetaElement.h363
-rw-r--r--1.4.0/dom/include/dae/daeMetaElementAttribute.h184
-rw-r--r--1.4.0/dom/include/dae/daeMetaGroup.h50
-rw-r--r--1.4.0/dom/include/dae/daeMetaSequence.h46
-rw-r--r--1.4.0/dom/include/dae/daePlatform.h34
-rw-r--r--1.4.0/dom/include/dae/daeRawResolver.h55
-rw-r--r--1.4.0/dom/include/dae/daeRefCountedObj.h41
-rw-r--r--1.4.0/dom/include/dae/daeSIDResolver.h175
-rw-r--r--1.4.0/dom/include/dae/daeSmartRef.h134
-rw-r--r--1.4.0/dom/include/dae/daeStandardURIResolver.h39
-rw-r--r--1.4.0/dom/include/dae/daeStringRef.h103
-rw-r--r--1.4.0/dom/include/dae/daeStringTable.h59
-rw-r--r--1.4.0/dom/include/dae/daeTinyXMLPlugin.h70
-rw-r--r--1.4.0/dom/include/dae/daeTypes.h76
-rw-r--r--1.4.0/dom/include/dae/daeURI.h493
-rw-r--r--1.4.0/dom/include/dae/daeUtils.h104
-rw-r--r--1.4.0/dom/include/dae/daeWin32Platform.h53
-rw-r--r--1.4.0/dom/include/dae/daeZAEUncompressHandler.h119
-rw-r--r--1.4.0/dom/include/dae/domAny.h1
-rw-r--r--1.4.0/dom/include/dom.h46
-rw-r--r--1.4.0/dom/include/modules/daeLIBXMLPlugin.h89
-rw-r--r--1.4.0/dom/include/modules/daeSTLDatabase.h114
-rw-r--r--1.4.0/dom/include/modules/stdErrPlugin.h46
-rw-r--r--1.4.0/dom/license.txt21
-rw-r--r--1.4.0/dom/readme.txt30
-rw-r--r--1.4.0/dom/src/1.4/CMakeLists.txt3
-rw-r--r--1.4.0/dom/src/1.4/dom/domAccessor.cpp106
-rw-r--r--1.4.0/dom/src/1.4/dom/domAnimation.cpp175
-rw-r--r--1.4.0/dom/src/1.4/dom/domAnimation_clip.cpp116
-rw-r--r--1.4.0/dom/src/1.4/dom/domAny.cpp109
-rw-r--r--1.4.0/dom/src/1.4/dom/domAsset.cpp653
-rw-r--r--1.4.0/dom/src/1.4/dom/domBind_material.cpp116
-rw-r--r--1.4.0/dom/src/1.4/dom/domBool_array.cpp90
-rw-r--r--1.4.0/dom/src/1.4/dom/domBox.cpp101
-rw-r--r--1.4.0/dom/src/1.4/dom/domCOLLADA.cpp261
-rw-r--r--1.4.0/dom/src/1.4/dom/domCamera.cpp450
-rw-r--r--1.4.0/dom/src/1.4/dom/domCapsule.cpp143
-rw-r--r--1.4.0/dom/src/1.4/dom/domCg_connect_param.cpp59
-rw-r--r--1.4.0/dom/src/1.4/dom/domCg_newarray_type.cpp93
-rw-r--r--1.4.0/dom/src/1.4/dom/domCg_newparam.cpp183
-rw-r--r--1.4.0/dom/src/1.4/dom/domCg_param_type.cpp4594
-rw-r--r--1.4.0/dom/src/1.4/dom/domCg_sampler1D.cpp113
-rw-r--r--1.4.0/dom/src/1.4/dom/domCg_sampler2D.cpp119
-rw-r--r--1.4.0/dom/src/1.4/dom/domCg_sampler3D.cpp125
-rw-r--r--1.4.0/dom/src/1.4/dom/domCg_samplerCUBE.cpp125
-rw-r--r--1.4.0/dom/src/1.4/dom/domCg_samplerDEPTH.cpp95
-rw-r--r--1.4.0/dom/src/1.4/dom/domCg_samplerRECT.cpp119
-rw-r--r--1.4.0/dom/src/1.4/dom/domCg_setarray_type.cpp87
-rw-r--r--1.4.0/dom/src/1.4/dom/domCg_setparam.cpp104
-rw-r--r--1.4.0/dom/src/1.4/dom/domCg_setparam_simple.cpp77
-rw-r--r--1.4.0/dom/src/1.4/dom/domCg_setuser_type.cpp117
-rw-r--r--1.4.0/dom/src/1.4/dom/domCg_surface_type.cpp262
-rw-r--r--1.4.0/dom/src/1.4/dom/domChannel.cpp71
-rw-r--r--1.4.0/dom/src/1.4/dom/domCommon_color_or_texture_type.cpp224
-rw-r--r--1.4.0/dom/src/1.4/dom/domCommon_float_or_param_type.cpp155
-rw-r--r--1.4.0/dom/src/1.4/dom/domCommon_newparam_type.cpp297
-rw-r--r--1.4.0/dom/src/1.4/dom/domCommon_transparent_type.cpp93
-rw-r--r--1.4.0/dom/src/1.4/dom/domConstants.cpp1087
-rw-r--r--1.4.0/dom/src/1.4/dom/domController.cpp109
-rw-r--r--1.4.0/dom/src/1.4/dom/domConvex_mesh.cpp134
-rw-r--r--1.4.0/dom/src/1.4/dom/domCylinder.cpp143
-rw-r--r--1.4.0/dom/src/1.4/dom/domEffect.cpp148
-rw-r--r--1.4.0/dom/src/1.4/dom/domEllipsoid.cpp95
-rw-r--r--1.4.0/dom/src/1.4/dom/domExtra.cpp98
-rw-r--r--1.4.0/dom/src/1.4/dom/domFloat_array.cpp114
-rw-r--r--1.4.0/dom/src/1.4/dom/domForce_field.cpp93
-rw-r--r--1.4.0/dom/src/1.4/dom/domFx_annotate_common.cpp71
-rw-r--r--1.4.0/dom/src/1.4/dom/domFx_annotate_type_common.cpp730
-rw-r--r--1.4.0/dom/src/1.4/dom/domFx_basic_type_common.cpp1318
-rw-r--r--1.4.0/dom/src/1.4/dom/domFx_clearcolor_common.cpp69
-rw-r--r--1.4.0/dom/src/1.4/dom/domFx_cleardepth_common.cpp69
-rw-r--r--1.4.0/dom/src/1.4/dom/domFx_clearstencil_common.cpp69
-rw-r--r--1.4.0/dom/src/1.4/dom/domFx_code_profile.cpp68
-rw-r--r--1.4.0/dom/src/1.4/dom/domFx_colortarget_common.cpp108
-rw-r--r--1.4.0/dom/src/1.4/dom/domFx_depthtarget_common.cpp108
-rw-r--r--1.4.0/dom/src/1.4/dom/domFx_include_common.cpp71
-rw-r--r--1.4.0/dom/src/1.4/dom/domFx_newparam_common.cpp161
-rw-r--r--1.4.0/dom/src/1.4/dom/domFx_profile_abstract.cpp48
-rw-r--r--1.4.0/dom/src/1.4/dom/domFx_sampler1D_common.cpp395
-rw-r--r--1.4.0/dom/src/1.4/dom/domFx_sampler2D_common.cpp437
-rw-r--r--1.4.0/dom/src/1.4/dom/domFx_sampler3D_common.cpp479
-rw-r--r--1.4.0/dom/src/1.4/dom/domFx_samplerCUBE_common.cpp479
-rw-r--r--1.4.0/dom/src/1.4/dom/domFx_samplerDEPTH_common.cpp269
-rw-r--r--1.4.0/dom/src/1.4/dom/domFx_samplerRECT_common.cpp437
-rw-r--r--1.4.0/dom/src/1.4/dom/domFx_stenciltarget_common.cpp108
-rw-r--r--1.4.0/dom/src/1.4/dom/domFx_surface_common.cpp303
-rw-r--r--1.4.0/dom/src/1.4/dom/domFx_surface_format_hint_common.cpp227
-rw-r--r--1.4.0/dom/src/1.4/dom/domFx_surface_init_common.cpp148
-rw-r--r--1.4.0/dom/src/1.4/dom/domFx_surface_init_cube_common.cpp240
-rw-r--r--1.4.0/dom/src/1.4/dom/domFx_surface_init_from_common.cpp92
-rw-r--r--1.4.0/dom/src/1.4/dom/domFx_surface_init_planar_common.cpp102
-rw-r--r--1.4.0/dom/src/1.4/dom/domFx_surface_init_volume_common.cpp147
-rw-r--r--1.4.0/dom/src/1.4/dom/domGeometry.cpp115
-rw-r--r--1.4.0/dom/src/1.4/dom/domGl_hook_abstract.cpp48
-rw-r--r--1.4.0/dom/src/1.4/dom/domGl_pipeline_settings.cpp8367
-rw-r--r--1.4.0/dom/src/1.4/dom/domGl_sampler1D.cpp113
-rw-r--r--1.4.0/dom/src/1.4/dom/domGl_sampler2D.cpp119
-rw-r--r--1.4.0/dom/src/1.4/dom/domGl_sampler3D.cpp125
-rw-r--r--1.4.0/dom/src/1.4/dom/domGl_samplerCUBE.cpp125
-rw-r--r--1.4.0/dom/src/1.4/dom/domGl_samplerDEPTH.cpp95
-rw-r--r--1.4.0/dom/src/1.4/dom/domGl_samplerRECT.cpp119
-rw-r--r--1.4.0/dom/src/1.4/dom/domGles_basic_type_common.cpp1300
-rw-r--r--1.4.0/dom/src/1.4/dom/domGles_newparam.cpp161
-rw-r--r--1.4.0/dom/src/1.4/dom/domGles_pipeline_settings.cpp4944
-rw-r--r--1.4.0/dom/src/1.4/dom/domGles_sampler_state.cpp364
-rw-r--r--1.4.0/dom/src/1.4/dom/domGles_texcombiner_argumentAlpha_type.cpp82
-rw-r--r--1.4.0/dom/src/1.4/dom/domGles_texcombiner_argumentRGB_type.cpp82
-rw-r--r--1.4.0/dom/src/1.4/dom/domGles_texcombiner_commandAlpha_type.cpp82
-rw-r--r--1.4.0/dom/src/1.4/dom/domGles_texcombiner_commandRGB_type.cpp82
-rw-r--r--1.4.0/dom/src/1.4/dom/domGles_texcombiner_command_type.cpp71
-rw-r--r--1.4.0/dom/src/1.4/dom/domGles_texenv_command_type.cpp81
-rw-r--r--1.4.0/dom/src/1.4/dom/domGles_texture_constant_type.cpp71
-rw-r--r--1.4.0/dom/src/1.4/dom/domGles_texture_pipeline.cpp86
-rw-r--r--1.4.0/dom/src/1.4/dom/domGles_texture_unit.cpp198
-rw-r--r--1.4.0/dom/src/1.4/dom/domGlsl_newarray_type.cpp81
-rw-r--r--1.4.0/dom/src/1.4/dom/domGlsl_newparam.cpp177
-rw-r--r--1.4.0/dom/src/1.4/dom/domGlsl_param_type.cpp772
-rw-r--r--1.4.0/dom/src/1.4/dom/domGlsl_setarray_type.cpp81
-rw-r--r--1.4.0/dom/src/1.4/dom/domGlsl_setparam.cpp104
-rw-r--r--1.4.0/dom/src/1.4/dom/domGlsl_setparam_simple.cpp77
-rw-r--r--1.4.0/dom/src/1.4/dom/domGlsl_surface_type.cpp262
-rw-r--r--1.4.0/dom/src/1.4/dom/domIDREF_array.cpp90
-rw-r--r--1.4.0/dom/src/1.4/dom/domImage.cpp226
-rw-r--r--1.4.0/dom/src/1.4/dom/domInputGlobal.cpp71
-rw-r--r--1.4.0/dom/src/1.4/dom/domInputLocal.cpp71
-rw-r--r--1.4.0/dom/src/1.4/dom/domInputLocalOffset.cpp94
-rw-r--r--1.4.0/dom/src/1.4/dom/domInstanceWithExtra.cpp93
-rw-r--r--1.4.0/dom/src/1.4/dom/domInstance_camera.cpp93
-rw-r--r--1.4.0/dom/src/1.4/dom/domInstance_controller.cpp141
-rw-r--r--1.4.0/dom/src/1.4/dom/domInstance_effect.cpp219
-rw-r--r--1.4.0/dom/src/1.4/dom/domInstance_force_field.cpp93
-rw-r--r--1.4.0/dom/src/1.4/dom/domInstance_geometry.cpp99
-rw-r--r--1.4.0/dom/src/1.4/dom/domInstance_light.cpp93
-rw-r--r--1.4.0/dom/src/1.4/dom/domInstance_material.cpp230
-rw-r--r--1.4.0/dom/src/1.4/dom/domInstance_node.cpp93
-rw-r--r--1.4.0/dom/src/1.4/dom/domInstance_physics_material.cpp93
-rw-r--r--1.4.0/dom/src/1.4/dom/domInstance_physics_model.cpp122
-rw-r--r--1.4.0/dom/src/1.4/dom/domInstance_rigid_body.cpp580
-rw-r--r--1.4.0/dom/src/1.4/dom/domInstance_rigid_constraint.cpp93
-rw-r--r--1.4.0/dom/src/1.4/dom/domInt_array.cpp114
-rw-r--r--1.4.0/dom/src/1.4/dom/domLibrary_animation_clips.cpp93
-rw-r--r--1.4.0/dom/src/1.4/dom/domLibrary_animations.cpp93
-rw-r--r--1.4.0/dom/src/1.4/dom/domLibrary_cameras.cpp93
-rw-r--r--1.4.0/dom/src/1.4/dom/domLibrary_controllers.cpp93
-rw-r--r--1.4.0/dom/src/1.4/dom/domLibrary_effects.cpp93
-rw-r--r--1.4.0/dom/src/1.4/dom/domLibrary_force_fields.cpp93
-rw-r--r--1.4.0/dom/src/1.4/dom/domLibrary_geometries.cpp93
-rw-r--r--1.4.0/dom/src/1.4/dom/domLibrary_images.cpp93
-rw-r--r--1.4.0/dom/src/1.4/dom/domLibrary_lights.cpp93
-rw-r--r--1.4.0/dom/src/1.4/dom/domLibrary_materials.cpp93
-rw-r--r--1.4.0/dom/src/1.4/dom/domLibrary_nodes.cpp93
-rw-r--r--1.4.0/dom/src/1.4/dom/domLibrary_physics_materials.cpp93
-rw-r--r--1.4.0/dom/src/1.4/dom/domLibrary_physics_models.cpp93
-rw-r--r--1.4.0/dom/src/1.4/dom/domLibrary_physics_scenes.cpp93
-rw-r--r--1.4.0/dom/src/1.4/dom/domLibrary_visual_scenes.cpp93
-rw-r--r--1.4.0/dom/src/1.4/dom/domLight.cpp364
-rw-r--r--1.4.0/dom/src/1.4/dom/domLines.cpp105
-rw-r--r--1.4.0/dom/src/1.4/dom/domLinestrips.cpp105
-rw-r--r--1.4.0/dom/src/1.4/dom/domLookat.cpp67
-rw-r--r--1.4.0/dom/src/1.4/dom/domMaterial.cpp93
-rw-r--r--1.4.0/dom/src/1.4/dom/domMatrix.cpp67
-rw-r--r--1.4.0/dom/src/1.4/dom/domMesh.cpp123
-rw-r--r--1.4.0/dom/src/1.4/dom/domMorph.cpp140
-rw-r--r--1.4.0/dom/src/1.4/dom/domName_array.cpp90
-rw-r--r--1.4.0/dom/src/1.4/dom/domNode.cpp203
-rw-r--r--1.4.0/dom/src/1.4/dom/domP.cpp56
-rw-r--r--1.4.0/dom/src/1.4/dom/domParam.cpp101
-rw-r--r--1.4.0/dom/src/1.4/dom/domPhysics_material.cpp150
-rw-r--r--1.4.0/dom/src/1.4/dom/domPhysics_model.cpp105
-rw-r--r--1.4.0/dom/src/1.4/dom/domPhysics_scene.cpp156
-rw-r--r--1.4.0/dom/src/1.4/dom/domPlane.cpp101
-rw-r--r--1.4.0/dom/src/1.4/dom/domPolygons.cpp202
-rw-r--r--1.4.0/dom/src/1.4/dom/domPolylist.cpp147
-rw-r--r--1.4.0/dom/src/1.4/dom/domProfile_CG.cpp719
-rw-r--r--1.4.0/dom/src/1.4/dom/domProfile_COMMON.cpp561
-rw-r--r--1.4.0/dom/src/1.4/dom/domProfile_GLES.cpp650
-rw-r--r--1.4.0/dom/src/1.4/dom/domProfile_GLSL.cpp700
-rw-r--r--1.4.0/dom/src/1.4/dom/domRigid_body.cpp473
-rw-r--r--1.4.0/dom/src/1.4/dom/domRigid_constraint.cpp671
-rw-r--r--1.4.0/dom/src/1.4/dom/domRotate.cpp67
-rw-r--r--1.4.0/dom/src/1.4/dom/domSampler.cpp70
-rw-r--r--1.4.0/dom/src/1.4/dom/domScale.cpp67
-rw-r--r--1.4.0/dom/src/1.4/dom/domSkew.cpp67
-rw-r--r--1.4.0/dom/src/1.4/dom/domSkin.cpp317
-rw-r--r--1.4.0/dom/src/1.4/dom/domSource.cpp173
-rw-r--r--1.4.0/dom/src/1.4/dom/domSphere.cpp101
-rw-r--r--1.4.0/dom/src/1.4/dom/domSpline.cpp128
-rw-r--r--1.4.0/dom/src/1.4/dom/domTapered_capsule.cpp185
-rw-r--r--1.4.0/dom/src/1.4/dom/domTapered_cylinder.cpp185
-rw-r--r--1.4.0/dom/src/1.4/dom/domTargetableFloat.cpp67
-rw-r--r--1.4.0/dom/src/1.4/dom/domTargetableFloat3.cpp67
-rw-r--r--1.4.0/dom/src/1.4/dom/domTechnique.cpp85
-rw-r--r--1.4.0/dom/src/1.4/dom/domTranslate.cpp67
-rw-r--r--1.4.0/dom/src/1.4/dom/domTriangles.cpp105
-rw-r--r--1.4.0/dom/src/1.4/dom/domTrifans.cpp105
-rw-r--r--1.4.0/dom/src/1.4/dom/domTristrips.cpp105
-rw-r--r--1.4.0/dom/src/1.4/dom/domTypes.cpp2940
-rw-r--r--1.4.0/dom/src/1.4/dom/domVertices.cpp88
-rw-r--r--1.4.0/dom/src/1.4/dom/domVisual_scene.cpp243
-rw-r--r--1.4.0/dom/src/1.5/CMakeLists.txt3
-rw-r--r--1.4.0/dom/src/1.5/dom/domAccessor.cpp100
-rw-r--r--1.4.0/dom/src/1.5/dom/domAnimation.cpp167
-rw-r--r--1.4.0/dom/src/1.5/dom/domAnimation_clip.cpp114
-rw-r--r--1.4.0/dom/src/1.5/dom/domAny.cpp108
-rw-r--r--1.4.0/dom/src/1.5/dom/domArticulated_system.cpp101
-rw-r--r--1.4.0/dom/src/1.5/dom/domAsset.cpp953
-rw-r--r--1.4.0/dom/src/1.5/dom/domAxis.cpp70
-rw-r--r--1.4.0/dom/src/1.5/dom/domAxis_constraint.cpp68
-rw-r--r--1.4.0/dom/src/1.5/dom/domBind_joint_axis.cpp68
-rw-r--r--1.4.0/dom/src/1.5/dom/domBind_kinematics_model.cpp78
-rw-r--r--1.4.0/dom/src/1.5/dom/domBind_material.cpp108
-rw-r--r--1.4.0/dom/src/1.5/dom/domBool_array.cpp82
-rw-r--r--1.4.0/dom/src/1.5/dom/domBox.cpp93
-rw-r--r--1.4.0/dom/src/1.5/dom/domBrep.cpp117
-rw-r--r--1.4.0/dom/src/1.5/dom/domCOLLADA.cpp291
-rw-r--r--1.4.0/dom/src/1.5/dom/domCamera.cpp442
-rw-r--r--1.4.0/dom/src/1.5/dom/domCapsule.cpp135
-rw-r--r--1.4.0/dom/src/1.5/dom/domCg_array.cpp76
-rw-r--r--1.4.0/dom/src/1.5/dom/domCg_newparam.cpp153
-rw-r--r--1.4.0/dom/src/1.5/dom/domCg_param.cpp3542
-rw-r--r--1.4.0/dom/src/1.5/dom/domCg_pass.cpp512
-rw-r--r--1.4.0/dom/src/1.5/dom/domCg_setparam.cpp63
-rw-r--r--1.4.0/dom/src/1.5/dom/domCg_user.cpp75
-rw-r--r--1.4.0/dom/src/1.5/dom/domChannel.cpp64
-rw-r--r--1.4.0/dom/src/1.5/dom/domCircle.cpp93
-rw-r--r--1.4.0/dom/src/1.5/dom/domCommon_bool_or_param.cpp97
-rw-r--r--1.4.0/dom/src/1.5/dom/domCommon_float2_or_param.cpp97
-rw-r--r--1.4.0/dom/src/1.5/dom/domCommon_float_or_param.cpp97
-rw-r--r--1.4.0/dom/src/1.5/dom/domCommon_int_or_param.cpp97
-rw-r--r--1.4.0/dom/src/1.5/dom/domCommon_param.cpp48
-rw-r--r--1.4.0/dom/src/1.5/dom/domCommon_sidref_or_param.cpp97
-rw-r--r--1.4.0/dom/src/1.5/dom/domCone.cpp135
-rw-r--r--1.4.0/dom/src/1.5/dom/domConstants.cpp1211
-rw-r--r--1.4.0/dom/src/1.5/dom/domController.cpp101
-rw-r--r--1.4.0/dom/src/1.5/dom/domConvex_mesh.cpp127
-rw-r--r--1.4.0/dom/src/1.5/dom/domCurve.cpp127
-rw-r--r--1.4.0/dom/src/1.5/dom/domCurves.cpp57
-rw-r--r--1.4.0/dom/src/1.5/dom/domCylinder.cpp135
-rw-r--r--1.4.0/dom/src/1.5/dom/domEdges.cpp98
-rw-r--r--1.4.0/dom/src/1.5/dom/domEffect.cpp98
-rw-r--r--1.4.0/dom/src/1.5/dom/domEllipse.cpp93
-rw-r--r--1.4.0/dom/src/1.5/dom/domEllipsoid.cpp87
-rw-r--r--1.4.0/dom/src/1.5/dom/domExtra.cpp90
-rw-r--r--1.4.0/dom/src/1.5/dom/domFaces.cpp140
-rw-r--r--1.4.0/dom/src/1.5/dom/domFloat_array.cpp106
-rw-r--r--1.4.0/dom/src/1.5/dom/domForce_field.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domFormula.cpp102
-rw-r--r--1.4.0/dom/src/1.5/dom/domFormula_newparam.cpp228
-rw-r--r--1.4.0/dom/src/1.5/dom/domFormula_setparam.cpp235
-rw-r--r--1.4.0/dom/src/1.5/dom/domFormula_technique.cpp55
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_annotate.cpp722
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_clearcolor.cpp61
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_cleardepth.cpp61
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_clearstencil.cpp61
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_code.cpp60
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_colortarget.cpp119
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_common_color_or_texture.cpp216
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_common_float_or_param.cpp147
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_common_newparam.cpp283
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_common_transparent.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_depthtarget.cpp119
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_include.cpp64
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_newparam.cpp1136
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_profile.cpp86
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_rendertarget.cpp152
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_sampler.cpp57
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_sampler1D.cpp63
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_sampler2D.cpp63
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_sampler3D.cpp63
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_samplerCUBE.cpp63
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_samplerDEPTH.cpp63
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_samplerRECT.cpp63
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_sampler_states.cpp514
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_setparam.cpp1151
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_sources.cpp142
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_stenciltarget.cpp119
-rw-r--r--1.4.0/dom/src/1.5/dom/domFx_target.cpp220
-rw-r--r--1.4.0/dom/src/1.5/dom/domGeometry.cpp113
-rw-r--r--1.4.0/dom/src/1.5/dom/domGl_pipeline_settings.cpp8121
-rw-r--r--1.4.0/dom/src/1.5/dom/domGles2_newparam.cpp153
-rw-r--r--1.4.0/dom/src/1.5/dom/domGles2_pass.cpp237
-rw-r--r--1.4.0/dom/src/1.5/dom/domGles2_pipeline_settings.cpp3240
-rw-r--r--1.4.0/dom/src/1.5/dom/domGles2_program.cpp260
-rw-r--r--1.4.0/dom/src/1.5/dom/domGles2_shader.cpp148
-rw-r--r--1.4.0/dom/src/1.5/dom/domGles2_value.cpp911
-rw-r--r--1.4.0/dom/src/1.5/dom/domGles_newparam.cpp153
-rw-r--r--1.4.0/dom/src/1.5/dom/domGles_param.cpp1274
-rw-r--r--1.4.0/dom/src/1.5/dom/domGles_pipeline_settings.cpp4695
-rw-r--r--1.4.0/dom/src/1.5/dom/domGles_sampler.cpp101
-rw-r--r--1.4.0/dom/src/1.5/dom/domGles_sampler_states.cpp346
-rw-r--r--1.4.0/dom/src/1.5/dom/domGles_texcombiner_argument_alpha.cpp74
-rw-r--r--1.4.0/dom/src/1.5/dom/domGles_texcombiner_argument_rgb.cpp74
-rw-r--r--1.4.0/dom/src/1.5/dom/domGles_texcombiner_command.cpp63
-rw-r--r--1.4.0/dom/src/1.5/dom/domGles_texcombiner_command_alpha.cpp74
-rw-r--r--1.4.0/dom/src/1.5/dom/domGles_texcombiner_command_rgb.cpp74
-rw-r--r--1.4.0/dom/src/1.5/dom/domGles_texenv_command.cpp73
-rw-r--r--1.4.0/dom/src/1.5/dom/domGles_texture_constant.cpp63
-rw-r--r--1.4.0/dom/src/1.5/dom/domGles_texture_pipeline.cpp78
-rw-r--r--1.4.0/dom/src/1.5/dom/domGlsl_array.cpp63
-rw-r--r--1.4.0/dom/src/1.5/dom/domGlsl_newparam.cpp153
-rw-r--r--1.4.0/dom/src/1.5/dom/domGlsl_program.cpp254
-rw-r--r--1.4.0/dom/src/1.5/dom/domGlsl_shader.cpp69
-rw-r--r--1.4.0/dom/src/1.5/dom/domGlsl_value.cpp764
-rw-r--r--1.4.0/dom/src/1.5/dom/domHyperbola.cpp93
-rw-r--r--1.4.0/dom/src/1.5/dom/domIdref_array.cpp82
-rw-r--r--1.4.0/dom/src/1.5/dom/domImage.cpp1531
-rw-r--r--1.4.0/dom/src/1.5/dom/domImage_mips.cpp63
-rw-r--r--1.4.0/dom/src/1.5/dom/domImage_source.cpp146
-rw-r--r--1.4.0/dom/src/1.5/dom/domInput_global.cpp64
-rw-r--r--1.4.0/dom/src/1.5/dom/domInput_local.cpp64
-rw-r--r--1.4.0/dom/src/1.5/dom/domInput_local_offset.cpp87
-rw-r--r--1.4.0/dom/src/1.5/dom/domInstance_articulated_system.cpp104
-rw-r--r--1.4.0/dom/src/1.5/dom/domInstance_camera.cpp91
-rw-r--r--1.4.0/dom/src/1.5/dom/domInstance_controller.cpp135
-rw-r--r--1.4.0/dom/src/1.5/dom/domInstance_effect.cpp212
-rw-r--r--1.4.0/dom/src/1.5/dom/domInstance_force_field.cpp91
-rw-r--r--1.4.0/dom/src/1.5/dom/domInstance_formula.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domInstance_geometry.cpp92
-rw-r--r--1.4.0/dom/src/1.5/dom/domInstance_image.cpp91
-rw-r--r--1.4.0/dom/src/1.5/dom/domInstance_joint.cpp91
-rw-r--r--1.4.0/dom/src/1.5/dom/domInstance_kinematics_model.cpp104
-rw-r--r--1.4.0/dom/src/1.5/dom/domInstance_kinematics_scene.cpp116
-rw-r--r--1.4.0/dom/src/1.5/dom/domInstance_light.cpp91
-rw-r--r--1.4.0/dom/src/1.5/dom/domInstance_material.cpp223
-rw-r--r--1.4.0/dom/src/1.5/dom/domInstance_node.cpp103
-rw-r--r--1.4.0/dom/src/1.5/dom/domInstance_physics_material.cpp91
-rw-r--r--1.4.0/dom/src/1.5/dom/domInstance_physics_model.cpp116
-rw-r--r--1.4.0/dom/src/1.5/dom/domInstance_rigid_body.cpp561
-rw-r--r--1.4.0/dom/src/1.5/dom/domInstance_rigid_constraint.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domInstance_with_extra.cpp86
-rw-r--r--1.4.0/dom/src/1.5/dom/domInt_array.cpp106
-rw-r--r--1.4.0/dom/src/1.5/dom/domJoint.cpp106
-rw-r--r--1.4.0/dom/src/1.5/dom/domJoint_limits.cpp57
-rw-r--r--1.4.0/dom/src/1.5/dom/domKinematics.cpp69
-rw-r--r--1.4.0/dom/src/1.5/dom/domKinematics_axis_info.cpp131
-rw-r--r--1.4.0/dom/src/1.5/dom/domKinematics_bind.cpp235
-rw-r--r--1.4.0/dom/src/1.5/dom/domKinematics_connect_param.cpp51
-rw-r--r--1.4.0/dom/src/1.5/dom/domKinematics_frame.cpp72
-rw-r--r--1.4.0/dom/src/1.5/dom/domKinematics_index.cpp78
-rw-r--r--1.4.0/dom/src/1.5/dom/domKinematics_limits.cpp57
-rw-r--r--1.4.0/dom/src/1.5/dom/domKinematics_model.cpp91
-rw-r--r--1.4.0/dom/src/1.5/dom/domKinematics_model_technique.cpp97
-rw-r--r--1.4.0/dom/src/1.5/dom/domKinematics_newparam.cpp228
-rw-r--r--1.4.0/dom/src/1.5/dom/domKinematics_param.cpp51
-rw-r--r--1.4.0/dom/src/1.5/dom/domKinematics_scene.cpp91
-rw-r--r--1.4.0/dom/src/1.5/dom/domKinematics_setparam.cpp235
-rw-r--r--1.4.0/dom/src/1.5/dom/domKinematics_technique.cpp75
-rw-r--r--1.4.0/dom/src/1.5/dom/domLibrary_animation_clips.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domLibrary_animations.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domLibrary_articulated_systems.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domLibrary_cameras.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domLibrary_controllers.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domLibrary_effects.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domLibrary_force_fields.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domLibrary_formulas.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domLibrary_geometries.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domLibrary_images.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domLibrary_joints.cpp87
-rw-r--r--1.4.0/dom/src/1.5/dom/domLibrary_kinematics_models.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domLibrary_kinematics_scenes.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domLibrary_lights.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domLibrary_materials.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domLibrary_nodes.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domLibrary_physics_materials.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domLibrary_physics_models.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domLibrary_physics_scenes.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domLibrary_visual_scenes.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domLight.cpp356
-rw-r--r--1.4.0/dom/src/1.5/dom/domLimits_sub.cpp59
-rw-r--r--1.4.0/dom/src/1.5/dom/domLine.cpp135
-rw-r--r--1.4.0/dom/src/1.5/dom/domLines.cpp97
-rw-r--r--1.4.0/dom/src/1.5/dom/domLinestrips.cpp97
-rw-r--r--1.4.0/dom/src/1.5/dom/domLink.cpp308
-rw-r--r--1.4.0/dom/src/1.5/dom/domLookat.cpp59
-rw-r--r--1.4.0/dom/src/1.5/dom/domMaterial.cpp85
-rw-r--r--1.4.0/dom/src/1.5/dom/domMatrix.cpp59
-rw-r--r--1.4.0/dom/src/1.5/dom/domMesh.cpp115
-rw-r--r--1.4.0/dom/src/1.5/dom/domMinmax.cpp70
-rw-r--r--1.4.0/dom/src/1.5/dom/domMorph.cpp133
-rw-r--r--1.4.0/dom/src/1.5/dom/domMotion.cpp69
-rw-r--r--1.4.0/dom/src/1.5/dom/domMotion_axis_info.cpp121
-rw-r--r--1.4.0/dom/src/1.5/dom/domMotion_effector_info.cpp109
-rw-r--r--1.4.0/dom/src/1.5/dom/domMotion_technique.cpp57
-rw-r--r--1.4.0/dom/src/1.5/dom/domName_array.cpp82
-rw-r--r--1.4.0/dom/src/1.5/dom/domNode.cpp195
-rw-r--r--1.4.0/dom/src/1.5/dom/domNurbs.cpp132
-rw-r--r--1.4.0/dom/src/1.5/dom/domNurbs_surface.cpp156
-rw-r--r--1.4.0/dom/src/1.5/dom/domOrient.cpp48
-rw-r--r--1.4.0/dom/src/1.5/dom/domOrigin.cpp48
-rw-r--r--1.4.0/dom/src/1.5/dom/domP.cpp48
-rw-r--r--1.4.0/dom/src/1.5/dom/domParabola.cpp93
-rw-r--r--1.4.0/dom/src/1.5/dom/domParam.cpp93
-rw-r--r--1.4.0/dom/src/1.5/dom/domPcurves.cpp141
-rw-r--r--1.4.0/dom/src/1.5/dom/domPhysics_material.cpp142
-rw-r--r--1.4.0/dom/src/1.5/dom/domPhysics_model.cpp97
-rw-r--r--1.4.0/dom/src/1.5/dom/domPhysics_scene.cpp148
-rw-r--r--1.4.0/dom/src/1.5/dom/domPlane.cpp93
-rw-r--r--1.4.0/dom/src/1.5/dom/domPolygons.cpp194
-rw-r--r--1.4.0/dom/src/1.5/dom/domPolylist.cpp139
-rw-r--r--1.4.0/dom/src/1.5/dom/domProfile_bridge.cpp93
-rw-r--r--1.4.0/dom/src/1.5/dom/domProfile_cg.cpp196
-rw-r--r--1.4.0/dom/src/1.5/dom/domProfile_common.cpp519
-rw-r--r--1.4.0/dom/src/1.5/dom/domProfile_gles.cpp393
-rw-r--r--1.4.0/dom/src/1.5/dom/domProfile_gles2.cpp280
-rw-r--r--1.4.0/dom/src/1.5/dom/domProfile_glsl.cpp421
-rw-r--r--1.4.0/dom/src/1.5/dom/domRigid_body.cpp464
-rw-r--r--1.4.0/dom/src/1.5/dom/domRigid_constraint.cpp677
-rw-r--r--1.4.0/dom/src/1.5/dom/domRotate.cpp59
-rw-r--r--1.4.0/dom/src/1.5/dom/domSampler.cpp84
-rw-r--r--1.4.0/dom/src/1.5/dom/domScale.cpp59
-rw-r--r--1.4.0/dom/src/1.5/dom/domShells.cpp140
-rw-r--r--1.4.0/dom/src/1.5/dom/domSidref_array.cpp82
-rw-r--r--1.4.0/dom/src/1.5/dom/domSkew.cpp59
-rw-r--r--1.4.0/dom/src/1.5/dom/domSkin.cpp310
-rw-r--r--1.4.0/dom/src/1.5/dom/domSolids.cpp140
-rw-r--r--1.4.0/dom/src/1.5/dom/domSource.cpp177
-rw-r--r--1.4.0/dom/src/1.5/dom/domSphere.cpp93
-rw-r--r--1.4.0/dom/src/1.5/dom/domSpline.cpp120
-rw-r--r--1.4.0/dom/src/1.5/dom/domSurface.cpp213
-rw-r--r--1.4.0/dom/src/1.5/dom/domSurface_curves.cpp57
-rw-r--r--1.4.0/dom/src/1.5/dom/domSurfaces.cpp57
-rw-r--r--1.4.0/dom/src/1.5/dom/domSwept_surface.cpp199
-rw-r--r--1.4.0/dom/src/1.5/dom/domTargetable_float.cpp59
-rw-r--r--1.4.0/dom/src/1.5/dom/domTargetable_float3.cpp59
-rw-r--r--1.4.0/dom/src/1.5/dom/domTargetable_float4.cpp59
-rw-r--r--1.4.0/dom/src/1.5/dom/domTechnique.cpp67
-rw-r--r--1.4.0/dom/src/1.5/dom/domToken_array.cpp82
-rw-r--r--1.4.0/dom/src/1.5/dom/domTorus.cpp93
-rw-r--r--1.4.0/dom/src/1.5/dom/domTranslate.cpp59
-rw-r--r--1.4.0/dom/src/1.5/dom/domTriangles.cpp97
-rw-r--r--1.4.0/dom/src/1.5/dom/domTrifans.cpp97
-rw-r--r--1.4.0/dom/src/1.5/dom/domTristrips.cpp97
-rw-r--r--1.4.0/dom/src/1.5/dom/domTypes.cpp1670
-rw-r--r--1.4.0/dom/src/1.5/dom/domVertices.cpp80
-rw-r--r--1.4.0/dom/src/1.5/dom/domVisual_scene.cpp475
-rw-r--r--1.4.0/dom/src/1.5/dom/domWires.cpp140
-rw-r--r--1.4.0/dom/src/dae/dae.cpp370
-rw-r--r--1.4.0/dom/src/dae/daeArray.cpp23
-rw-r--r--1.4.0/dom/src/dae/daeAtomicType.cpp958
-rw-r--r--1.4.0/dom/src/dae/daeDatabase.cpp40
-rw-r--r--1.4.0/dom/src/dae/daeDocument.cpp43
-rw-r--r--1.4.0/dom/src/dae/daeDom.cpp224
-rw-r--r--1.4.0/dom/src/dae/daeElement.cpp759
-rw-r--r--1.4.0/dom/src/dae/daeError.cpp41
-rw-r--r--1.4.0/dom/src/dae/daeErrorHandler.cpp30
-rw-r--r--1.4.0/dom/src/dae/daeIDRef.cpp172
-rw-r--r--1.4.0/dom/src/dae/daeIOPluginCommon.cpp189
-rw-r--r--1.4.0/dom/src/dae/daeMemorySystem.cpp29
-rw-r--r--1.4.0/dom/src/dae/daeMetaAny.cpp59
-rw-r--r--1.4.0/dom/src/dae/daeMetaAttribute.cpp182
-rw-r--r--1.4.0/dom/src/dae/daeMetaCMPolicy.cpp17
-rw-r--r--1.4.0/dom/src/dae/daeMetaChoice.cpp151
-rw-r--r--1.4.0/dom/src/dae/daeMetaElement.cpp472
-rw-r--r--1.4.0/dom/src/dae/daeMetaElementAttribute.cpp231
-rw-r--r--1.4.0/dom/src/dae/daeMetaGroup.cpp144
-rw-r--r--1.4.0/dom/src/dae/daeMetaSequence.cpp67
-rw-r--r--1.4.0/dom/src/dae/daeRawResolver.cpp124
-rw-r--r--1.4.0/dom/src/dae/daeRefCountedObj.cpp32
-rw-r--r--1.4.0/dom/src/dae/daeSIDResolver.cpp556
-rw-r--r--1.4.0/dom/src/dae/daeStandardURIResolver.cpp54
-rw-r--r--1.4.0/dom/src/dae/daeStringRef.cpp53
-rw-r--r--1.4.0/dom/src/dae/daeStringTable.cpp64
-rw-r--r--1.4.0/dom/src/dae/daeTinyXMLPlugin.cpp237
-rw-r--r--1.4.0/dom/src/dae/daeURI.cpp836
-rw-r--r--1.4.0/dom/src/dae/daeUtils.cpp210
-rw-r--r--1.4.0/dom/src/dae/daeZAEUncompressHandler.cpp307
-rw-r--r--1.4.0/dom/src/modules/LIBXMLPlugin/daeLIBXMLPlugin.cpp742
-rw-r--r--1.4.0/dom/src/modules/STLDatabase/daeSTLDatabase.cpp680
-rw-r--r--1.4.0/dom/src/modules/stdErrPlugin/stdErrPlugin.cpp30
-rw-r--r--1.4.0/fx/include/cfxAnnotatable.h40
-rw-r--r--1.4.0/fx/include/cfxAnnotate.h59
-rw-r--r--1.4.0/fx/include/cfxBinaryUtil.h104
-rw-r--r--1.4.0/fx/include/cfxBindParam.h41
-rw-r--r--1.4.0/fx/include/cfxCode.h41
-rw-r--r--1.4.0/fx/include/cfxConnectParam.h49
-rw-r--r--1.4.0/fx/include/cfxData.h447
-rw-r--r--1.4.0/fx/include/cfxDataMaker.h300
-rw-r--r--1.4.0/fx/include/cfxEffect.h88
-rw-r--r--1.4.0/fx/include/cfxError.h27
-rw-r--r--1.4.0/fx/include/cfxGlEnumMaps.h60
-rw-r--r--1.4.0/fx/include/cfxGlPipelineSetting.h1545
-rw-r--r--1.4.0/fx/include/cfxGlPipelineSettingMaker.h884
-rw-r--r--1.4.0/fx/include/cfxGlSamplerSetting.h203
-rw-r--r--1.4.0/fx/include/cfxLinux.h43
-rw-r--r--1.4.0/fx/include/cfxLoader.h85
-rw-r--r--1.4.0/fx/include/cfxMaterial.h65
-rw-r--r--1.4.0/fx/include/cfxNewParam.h43
-rw-r--r--1.4.0/fx/include/cfxOSX.h38
-rw-r--r--1.4.0/fx/include/cfxPS3.h20
-rw-r--r--1.4.0/fx/include/cfxParam.h52
-rw-r--r--1.4.0/fx/include/cfxParamable.h36
-rw-r--r--1.4.0/fx/include/cfxPass.h64
-rw-r--r--1.4.0/fx/include/cfxPlatform.h20
-rw-r--r--1.4.0/fx/include/cfxSampler.h56
-rw-r--r--1.4.0/fx/include/cfxSetParam.h39
-rw-r--r--1.4.0/fx/include/cfxShader.h63
-rw-r--r--1.4.0/fx/include/cfxSurface.h61
-rw-r--r--1.4.0/fx/include/cfxTechnique.h79
-rw-r--r--1.4.0/fx/include/cfxTypes.h137
-rw-r--r--1.4.0/fx/include/cfxWin.h39
-rw-r--r--1.4.0/fx/license/license.txt21
-rw-r--r--1.4.0/fx/relnotes_e.txt46
-rw-r--r--1.4.0/fx/relnotes_j.txt40
-rw-r--r--1.4.0/fx/src/cfxAnnotatable.cpp35
-rw-r--r--1.4.0/fx/src/cfxAnnotate.cpp85
-rw-r--r--1.4.0/fx/src/cfxBinaryUtil.cpp2294
-rw-r--r--1.4.0/fx/src/cfxBindParam.cpp55
-rw-r--r--1.4.0/fx/src/cfxCode.cpp48
-rw-r--r--1.4.0/fx/src/cfxConnectParam.cpp66
-rw-r--r--1.4.0/fx/src/cfxData.cpp714
-rw-r--r--1.4.0/fx/src/cfxDataMaker.cpp927
-rw-r--r--1.4.0/fx/src/cfxEffect.cpp305
-rw-r--r--1.4.0/fx/src/cfxError.cpp47
-rw-r--r--1.4.0/fx/src/cfxGlEnumMaps.cpp209
-rw-r--r--1.4.0/fx/src/cfxGlPipelineSetting.cpp2035
-rw-r--r--1.4.0/fx/src/cfxGlPipelineSettingMaker.cpp1431
-rw-r--r--1.4.0/fx/src/cfxGlSamplerSetting.cpp283
-rw-r--r--1.4.0/fx/src/cfxLoader.cpp874
-rw-r--r--1.4.0/fx/src/cfxMaterial.cpp152
-rw-r--r--1.4.0/fx/src/cfxNewParam.cpp90
-rw-r--r--1.4.0/fx/src/cfxParam.cpp38
-rw-r--r--1.4.0/fx/src/cfxParamable.cpp30
-rw-r--r--1.4.0/fx/src/cfxPass.cpp104
-rw-r--r--1.4.0/fx/src/cfxSampler.cpp137
-rw-r--r--1.4.0/fx/src/cfxSetParam.cpp74
-rw-r--r--1.4.0/fx/src/cfxShader.cpp150
-rw-r--r--1.4.0/fx/src/cfxSurface.cpp121
-rw-r--r--1.4.0/fx/src/cfxTechnique.cpp184
-rw-r--r--1.4.0/qt_attribution.json74
-rw-r--r--ColladaDOM.pri206
-rw-r--r--ColladaDOM.pro19
-rw-r--r--TinyXML/2.5.3/changes.txt269
-rw-r--r--TinyXML/2.5.3/qt_attribution.json12
-rw-r--r--TinyXML/2.5.3/readme.txt530
-rw-r--r--TinyXML/2.5.3/tinystr.cpp116
-rw-r--r--TinyXML/2.5.3/tinystr.h319
-rw-r--r--TinyXML/2.5.3/tinyxml.cpp1888
-rw-r--r--TinyXML/2.5.3/tinyxml.dsw71
-rw-r--r--TinyXML/2.5.3/tinyxml.h1802
-rw-r--r--TinyXML/2.5.3/tinyxmlerror.cpp53
-rw-r--r--TinyXML/2.5.3/tinyxmlparser.cpp1638
-rw-r--r--TinyXML/2.5.3/utf8test.gifbin0 -> 14812 bytes
-rw-r--r--TinyXML/2.5.3/utf8test.xml11
-rw-r--r--TinyXML/2.5.3/utf8testverify.xml11
-rw-r--r--TinyXML/TinyXML.pri5
-rw-r--r--TinyXML/TinyXML.pro7
1102 files changed, 316283 insertions, 0 deletions
diff --git a/1.4.0/License_Folder/license_e.txt b/1.4.0/License_Folder/license_e.txt
new file mode 100644
index 0000000..2e1a52d
--- /dev/null
+++ b/1.4.0/License_Folder/license_e.txt
@@ -0,0 +1,132 @@
+COLLADA DOM software and samples for the PLAYSTATION(R)3 developer
+ This file Copyright(C) 2008 Sony Computer Entertainment Inc.
+ All Rights Reserved.
+======================================================================
+This file contains a description of trademarks and license notices
+for the COLLADA DOM Open Source Software which may be used with Windows,
+Apple Macintosh, Linux, the Sony PLAYSTATION(R)3 SDK and can also
+be built for embedded systems.
+
+ 1. Obtaining the COLLADA DOM
+ 2. Note on Trademarks
+ 3. Note on Licenses - COLLADA dependencies for PLAYSTATION(R)3 SDK
+ 4. Note on Licenses and Restrictions on Use - PLAYSTATION(R)3 Title Application
+ 5. Differences between PS3(TM) DevNet and SourceForge versions
+
+----------------------------------------------------------------------
+1. Obtaining and using the COLLADA DOM
+----------------------------------------------------------------------
+
+There are two locations where the COLLADA DOM can be downloaded.
+
+If you are a registered PLAYSTATION(R)3 developer you should always
+download and use the COLLADA DOM package from PS3(TM) DevNet
+(https://ps3.scedev.net/) The COLLADA DOM packages released on
+PS3(TM) DevNet have been tested by Sony for compatibility with
+PLAYSTATION(R)3 SDK releases. Licenses for all software included in
+the PS3(TM) DevNet package are reviewed and cleared by Sony for
+use with the PLAYSTATION(R)3 SDK.
+
+The main Open Source development site for the COLLADA DOM is
+http://sourceforge.net/projects/collada-dom this site will always
+contain the most up-to-date version of the COLLADA DOM for all
+platforms. Packages of stable and beta versions of the COLLADA DOM
+will be available in the download section. The absolute latest
+untested development code is available by Subversion checkout.
+Sony DOES NOT test or support the COLLADA DOM release from SourceForge.
+If you use a SourceForge release be sure to carefully review all licenses
+to make sure they are compatible with your distribution and use of
+the software. You can obtain support from the COLLADA developer
+community on the SourceForge site or from the wiki and forums on
+COLLADA.org.
+
+Because the PS3(TM) DevNet release of the COLLADA DOM is tested and
+reviewed by Sony it will usually be slightly older than the release
+on SourceForge. Some files may be added or removed to insure
+compatibility for PLAYSTATION(R)3 use. See (5) below for details.
+
+----------------------------------------------------------------------
+2. Note on Trademarks
+----------------------------------------------------------------------
+
+"PlayStation","PLAYSTATION","PS3","RSX","PSP","SIXAXIS" and
+"Cell Broadband Engine" are either registered trademarks or
+trademarks of Sony Computer Entertainment Inc.
+"XMB" is a trademark of Sony Corporation and Sony Computer Entertainment Inc.
+
+"COLLADA" is a trademark of Sony Computer Entertainment Inc.
+
+All other product and company names mentioned herein, with or without
+the registered trademark symbol (R) or trademark symbol (TM), are
+generally registered trademarks and/or trademarks of their respective
+owners.
+
+----------------------------------------------------------------------
+3. Note on Licenses - COLLADA dependencies for PLAYSTATION(R)3 SDK
+----------------------------------------------------------------------
+
+All COLLADA DOM releases contain binary libraries and .h files from
+other open source projects that are required to build and use the
+COLLADA DOM. The license notices on this software are required
+to be present in any redistribution of this code.
+
+The PS3(TM) DevNet release of the COLLADA DOM contains these libraries
+which have been built and approved for use with PLAYSTATION(R)3 and
+Windows.
+
+Boost C++ Libraries
+ Numerous copyrights (many authors)
+ BOOST license, refer to boost.txt in the "others" folder.
+
+COLLADA DOM, FX, RT and Viewer
+ Copyright 2004-2008 Sony Computer Entertianment Inc.
+ MIT License, refer to dom.txt in the "others" folder.
+ COLLADA is a trademark of Sony Computer Entertainment Inc.
+
+PCRE
+ Copyright (c) 1997-2008 University of Cambridge
+ Copyright (c) 2007-2008, Google Inc.
+ BSD license, refer to pcre.txt in the "others" folder.
+
+tinyxml
+ Original code (2.0 and earlier )copyright (c) 2000-2006 Lee Thomason (www.grinninglizard.com)
+ Zlib license, refer to tinyxml.txt in the "others" folder.
+
+The PS3(TM) DevNet release of the COLLADA DOM also contains these
+libraries which have been built and approved for use with windows only.
+
+libxml2
+ Copyright (c) 2005 libxml2
+ MIT license, refer to libxml2.txt in the "others" folder.
+
+devil
+ Numerous Copyrights (many authors)
+ GNU Lesser General Public License V2.1, refer to devil.txt in the "others" folder.
+
+PLAYSTATION(R)3 developers should only use the versions of these libraries
+provided with the PS3(TM) DevNet release.
+
+----------------------------------------------------------------------
+4. Note on Licenses and Restrictions on Use - Title Application
+----------------------------------------------------------------------
+
+PLAYSTATION(R)3 title applications should ONLY be linked with COLLADA DOM
+release for the PLAYSTATION(R)3 SDK. If this is done there should be no
+further requirements or restrictions on use in a title application.
+
+
+----------------------------------------------------------------------
+5. Differences between PS3(TM) DevNet and SourceForge versions
+----------------------------------------------------------------------
+
+The PS3(TM) Devnet version of the COLLADA DOM contains additional
+documentataion describing installation and use of the COLLADA DOM
+with the PLAYSTATION(R)3 SDK.
+
+The SourceForge versions of the COLLADA DOM may include software
+with licenses that are not compatible with PLAYSTATION(R)3 development.
+PLAYSTATION(R)3 developers should only use the release from PS3(TM) DevNet
+
+
+
+
diff --git a/1.4.0/Readme.txt b/1.4.0/Readme.txt
new file mode 100644
index 0000000..90256f9
--- /dev/null
+++ b/1.4.0/Readme.txt
@@ -0,0 +1,384 @@
+PLAYSTATION(R)3 COLLADA Package
+ Copyright (C) 2009 Sony Computer Entertainment Inc.
+ All Rights Reserved.
+
+==============================================================================
+Contents of COLLADA Package
+==============================================================================
+
+This package includes the COLLADA DOM and the COLLADA Viewer. Everything in
+this package can be built to run on either PS3 or a Windows PC. For additional
+information on tools and plugins that support COLLADA, or to get help from the
+Internet community of COLLADA users, please visit www.collada.org
+
+The COLLADA DOM is a set of libraries for loading and saving COLLADA documents
+that can contain 2D, 3D, physics and other types of content. It allows developers
+to create applications that can exchange COLLADA documents with commercial content
+creation tools such as Maya, Max or Softimage.
+
+The COLLADA Viewer is a general purpose 3D viewer for COLLADA documents. It is
+provided as sample code to show how to use the COLLADA DOM and to demonstrate
+the kinds of content that can be stored in a COLLADA document. The included
+sample COLLADA documents can be loaded into the Viewer to demonstrate these
+features. The COLLADA Viewer and its sample documents replace all the
+hard coded COLLADA demos that were included with older PS3 releases.
+
+
++--dom The DOM library for Parsing COLLADA Documents
+| +--CodeGen
+| +--external-libs Open source libraries used by DOM
+| +--include
+| +--license
+| +--make
+| +--projects Project files for PS3, Windows and Mac OS X target
+| +--release
+| +--src
+| +--...
+|
++--fx The COLLADA effect loader library for Cg shaders
+| +--build
+| +--include
+| +--license
+| +--make
+| +--projects Project files for PS3, Windows and Mac OS X target
+| +--src
+| +--...
+|
++--License_Folder Licenses for open source software included in COLLADA Viewer
+| +--other
+| +--license_e.txt
+|
++--rt The Runtime Rendering library that uses OpenGL ES or PSGL
+| +--build
+| +--external-libs Open source libraries used by rt module
+| +--include
+| +--make
+| +--projects Project files for PS3, Windows and Mac OS X target
+| +--src
+| +--...
+|
++--viewer
+| +-bin The application binary that uses all software libraries above to make a COLLADA document viewer
+| +-samples.zip Compressed art assets and shaders used by COLLADA Viewer
+| +-samples.doc Description of COLLADA sample documents
+|
+| +-make
+| +-common.mk
+| +-rules.mk
+| +-viewer.mk
+|
+| +-projects
+| +-VC8-PS3 Visual Studio 2005 project files and platform-specific source code for PS3 COLLADA Viewer
+| +-VC8-Win Visual Studio 2005 project files and platform-specific source code for Windows native COLLADA Viewer
+| +-VC9-PS3 Visual Studio 2008 project files and platform-specific source code for PS3 COLLADA Viewer
+| +-VC9-Win Visual Studio 2008 project files and platform-specific source code for Windows native COLLADA Viewer
+| +--...
+|
+| +-license.txt
+| +-Makefile
+|
++--Makefile Makefile for MSYS to build COLLADA Viewer and the necessary libraries
++--Makefile.linux Makefile for Linux to build COLLADA Viewer and the necessary libraries
++--Readme.txt This file
+
+
+
+=============================
+Requirements to build for PS3
+=============================
+
+[Windows host/MSYS]
+MinGW (Minimalist GNU for Windows)
+MSYS with GNU make version 3.81
+PS3 SDK toolchain
+FW sample framework (prebuilt)
+
+
+[Windows host/Visual Studio]
+Visual Studio 2005 or Visual Studio 2008
+PS3 SDK toolchain
+ProDG Visual Studio integration
+FW sample framework (prebuilt)
+
+[Linux]
+GNU make version 3.81
+PS3 SDK toolchain
+FW sample framework (built)
+
+
+=================================
+Requirements to build for Windows
+=================================
+
+[Windows native]
+Visual Studio 2005 or Visual Studio 2008
+Cg 2.0 Toolkit
+
+
+===============================
+Requirements to build for Linux
+===============================
+
+OpenGL and GLUT libraries
+Cg 2.0 Toolkit
+
+
+===================================
+Requirements to build for Macintosh
+===================================
+
+Xcode 3.11
+Cg 2.0 Toolkit
+
+
+
+
+==========================================================================
+Building the COLLADA package and running the COLLADA Viewer sample for PS3
+==========================================================================
+
+These instructions will build the entire contents of the COLLADA package including
+libraries and samples for the PS3. To build for the PS3, the PS3 SDK must
+be installed. The build instructions include running the COLLADA Viewer
+which can be used to view any of the included sample COLLADA documents.
+
+
+[Windows host/MSYS]
+1) Execute make utility at root level of package by typing 'make'
+ viewer.self will be in viewer\bin for release build (conf=release, this is the default build)
+ viewer.self will be in viewer\bin for debug build (conf=debug)
+2) Unzip samples.zip, extract its content to viewer\bin\
+3) Use ProDG Target Manager or Debugger to load viewer.self
+ Optionally, specify a COLLADA document (cage.dae) as command line argument when loading viewer executable
+
+
+[Windows host/Visual Studio]
+Project files for Visual C++ 8 (VS 2005) and Visual C++ 9 (VS 2008) are both provided. If you are using Visual C++ 9,
+substitute "vc9" for "vc8" for the following instructions.
+1) Open Visual Studio Solution at \viewer\projects\vc8-PS3\viewer.sln
+2) Select "PS3 debug" or "PS3 release" configuration to build PS3 target
+3) Unzip samples.zip, extract its contents to viewer\bin\
+4) Use ProDG Target Manager or Debugger to load viewer.ppu.self (release) or viewer-d.ppu.self in \viewer\bin
+ Optionally, specify a COLLADA document (cage.dae) as command line argument when loading viewer executable
+
+[Linux]
+1) Execute make utility at root level of package by typing 'make'
+ viewer.self will be in viewer/bin for release build (conf=release, this is the default build)
+ viewer.self will be in viewer/bin for debug build (conf=debug)
+2) Unzip samples.zip, extract its contents to viewer/bin/
+3) Change directory to where the COLLADA Viewer executable is, type the following commands to load it, replace
+ the IP address with your PS3 IP address.
+
+ > bedbg -prepare
+ > dtpon -d 10.98.12.34
+ > bedbg -nodebug viewer.self
+
+ Type the following commands to terminate COLLADA Viewer
+ > bedbg -T
+ > dtpoff -d 10.98.12.34
+
+
+==============================================================================
+Building the COLLADA package and running the COLLADA Viewer sample for Windows
+==============================================================================
+
+These instructions will build the entire contents of the COLLADA package including
+libraries and samples for Windows. All the libraries needed to build for Windows
+are included in this package or come with Visual Studio. The instructions include
+running the COLLADA Viewer which can be used to view any of the included sample
+COLLADA documents.
+
+Project files for Visual C++ 8 (VS 2005) and Visual C++ 9 (VS 2008) are both provided. If you are using Visual C++ 9,
+substitute "vc9" for "vc8" for the following instructions.
+
+1) Open Visual Studio Solution at \viewer\projects\vc8-Win\viewer.sln
+2) Select "Debug" or "Release" configuration to build Windows executable
+3) viewer.exe (release) or viewer-d.exe(debug) will be in \viewer\bin
+4) Unzip samples.zip, extract its contents to \viewer\bin\
+5) Open up a DOS Shell window, change directory to \viewer\bin, type "viewer.exe duck.dae" to view COLLADA document "duck.dae"
+
+
+============================================================================
+Building the COLLADA package and running the COLLADA Viewer sample for Linux
+============================================================================
+
+These instructions build the entire contents of the COLLADA package including libraries and samples for Linux PC.
+
+CMake Users interested only in colladadom library:
+
+1) Type 'mkdir -p build; cd build; cmake ..; make; make install' at the root level of the package.
+ By default both 1.5 and 1.4 libraries will be installed.
+
+Default:
+
+1) Type 'make -f Makefile.linux' at root level of package.
+ COLLADA Viewer 'viewer' will be created in viewer/build/linux-1.4 for release build (conf=release, this is the default build)
+ 'viewer' will be created in viewer/build/linux-1.4-d for debug build 'make -f Makefile.linux conf=debug'
+2) Unzip samples.zip, extract its contents to viewer/build/linux-1.4(-d)
+3) Change directory to where 'viewer' executable is, type './viewer cage.dae' to load and render COLLADA document cage.dae
+
+
+
+================================================================================
+Building the COLLADA package and running the COLLADA Viewer sample for Macintosh
+================================================================================
+
+These instructions build the entire contents of the COLLADA package including libraries and samples for Macintosh PC
+
+1) Open Xcode project file at viewer/projects/xcode/viewer.xcodeproj
+2) Select "Debug" or "Release" configuration to build Macintosh executable
+3) The release or debug 'viewer' executable will be created in viewer/bin
+4) Unzip samples.zip, extract its contents to viewer/bin/
+5) Click 'Run' from Xcode menu bar to load default COLLADA document 'cage.dae'
+6) Optionally, add command line argument to Xcode Executable 'viewer' info to specify different COLLADA document to load
+
+
+
+
+===========================
+COLLADA Viewer button usage
+===========================
+[PS3]
+
+Up Navigate the document browser upward
+Down Navigate the document browser downward
+Cross Load the document browser selected COLLADA document
+Select Next camera view
+L1 Zoom out, move camera away from the focus point
+L2 Zoom in, move camera closer to the focus point
+L3 Toggle Browser thumbnail display
+R3 Toggle wireframe display
+Left analog stick Move camera and focus point up, down, left, right
+Right analog stick Rotate camera up, down, left right
+
+
+[Windows native]
+
+Keybroad:
+Tab Next camera
+M Increase key press and mouse responsiveness by a factor of 25%
+N Decrease key press and mouse responsiveness by a factor of 25%
+ Note: M & N key presses affect the responsiveness of W/S/A/D/X/Space keys, left mouse click, right mouse click and mouse wheel
+
+Q Toggle Wireframe
+K Show node hierarchy with lines
+L Toggle Lighting mode
+P Toggle animation
+F1 Toggle full screen
+
+W Move camera closer to the focus point, zoom in
+S Move camera away from the focus point, zoom out
+A Move camera and focus point to the left
+D Move camera and focus point to the right
+Space Move camera and focus point up
+X Move camera and focus point down
+F Change triangle/quad culling setting; rotate between frontface-culling/no-culling/backface-culling
+
+Mouse:
+Wheel Up Move camera closer to the focus point, zoom in
+Wheel Down Move camera away from the focus point, zoom out
+Left Click Move Rotate camera up, down, left and right
+Right Click Move Move camera and focus point up, down, left, right
+Middle Click Next camera
+
+
+[Linux/Macintosh]
+
+Keybroad:
+Tab Next camera
+M Increase key press and mouse responsiveness by a factor of 25%
+N Decrease key press and mouse responsiveness by a factor of 25%
+ Note: M & N key presses affect the responsiveness of W/S/A/D/X/Space keys, left mouse click, right mouse click
+
+Q Toggle Wireframe
+K Show node hierarchy with lines
+L Toggle Lighting mode
+P Toggle animation
+F1 Toggle full screen
+
+W Move camera closer to the focus point, zoom in
+S Move camera away from the focus point, zoom out
+A Move camera and focus point to the left
+D Move camera and focus point to the right
+Space Move camera and focus point to the up
+X Move camera and focus point to the down
+F Change triangle/quad culling setting; rotate between frontface-culling/no-culling/backface-culling
+
+Mouse:
+Left Click Move Rotate camera up, down, left and right
+Right Click Move Move camera and focus point up, down, left, right
+Middle Click Next camera
+
+
+
+====================================
+How To use SPU-Optimized Bullet 2.73
+====================================
+
+By default, the PS3 COLLADA viewer does not run with physics simulation. You could enable the SPU-optimized physics simulation on PS3
+with the following changes:
+
+1) Download and install the Bullet package
+ a. Download open source bullet-2.73-*.zip from http://code.google.com/p/bullet/downloads/list
+ b. Unzip bullet-2.73 in ${YOUR_BULLET_PATH} - any destination directory of your choice
+ c. Download spubullet-2.73-*.zip from https://ps3.scedev
+ d. Unzip spubullet-2.73-*.zip in the same directory of step (b)
+ e. Refer to SPU_Optimized_Bullet-Quick_Start_Guide_e.pdf in the download package to build Bullet libraries and sample app
+
+
+2) In 'rt' and 'viewer' projects, add SPU_BULLET to the Preprocessor Definitions field in the Preprocessor tab for the C/C++ project configuration settings.
+
+3) In the 'rt' and 'viewer' projects, add the following line to the Additional Include Directories field in the General tab for the C/C++ project configuration settings:
+
+ ${YOUR_BULLET_PATH}\src
+
+
+4) In the 'viewer' project, add the following lines to the Additional dependencies field in the Input tab for the Linker project configuration settings
+
+ ${YOUR_BULLET_PATH}\src\Physics\TaskUtil\libtaskutild.a
+ ${YOUR_BULLET_PATH}\out\debug8_ps3\libs\libBulletcollision_d.a
+ ${YOUR_BULLET_PATH}\out\debug8_ps3\libs\libBulletdynamics_d.a
+ ${YOUR_BULLET_PATH}\out\debug8_ps3\libs\libBulletmath_d.a
+ ${YOUR_BULLET_PATH}\out\debug8_ps3\libs\libBulletmultithreaded_d.a
+ ${YOUR_BULLET_PATH}\msvc_ps3\8\PS3_PPU_Debug\PS3_SpuDispatch.lib
+ -lspurs_stub
+
+
+5) Right click 'viewer' project, add the following Existing items to the project to link with the Bullet SPU modules:
+
+ ${YOUR_BULLET_PATH}\out\debug8_ps3\libs\PS3_SPURS_BulletCD_spu.ppu.obj
+
+
+Note: COLLADA viewer can be configured to run SPU-optimized collision detection, but not the SPU version of physics effects constraint solver.
+
+
+
+============
+Known issues
+============
+
+- For PS3 debug build, when unloading COLLADA document with large number of nodes, such as demo.dae and dominos.dae,
+ a debug exception is raised due to stack overflow.
+
+ The COLLADA Viewer uses Cell SDK framework, which sets the main PPU thread priority and stack size in its code base.
+ Currently there is no way to override this stack size setting without generating a linker warning on Windows host or
+ an error on Linux host. See below:
+
+ linker warning "L0019: symbol '__sys_process_param' multiply defined" is generated.
+
+ To get around this problem, one can modify the Cell SDK framwork code in the following way:
+
+ In <SDKROOT>\samples\fw\src\cell\FWCellMain.cpp, modify the line from
+ SYS_PROCESS_PARAM( 1001, 0x10000 ); // priority = 1001, stack size = 64K
+
+ to
+
+ SYS_PROCESS_PARAM( 1001, 0x18000 ); // priority = 1001, increase stack size to 96K, or other setting to suit your need
+
+
+- To keep the COLLADA Viewer sample code simple and portable across OS's, some user generated OS/windowing events are handled in modal way
+ that suspends running the core code of the Viewer. When this happens, animations will stop utill the event is over, then will run very fast
+ for a short time as they catch up to the current realtime. This is usually only noticable when dragging the Viewer window to a new location
+ in Microsoft Windows but may also occur briefly on other events such as windows being covered/uncovered.
+
+
diff --git a/1.4.0/Release_notes_2_2.txt b/1.4.0/Release_notes_2_2.txt
new file mode 100644
index 0000000..35c889d
--- /dev/null
+++ b/1.4.0/Release_notes_2_2.txt
@@ -0,0 +1,52 @@
+----------------------------------------------------------------------
+COLLADA-DOM 2.2
+----------------------------------------------------------------------
+
+
+[New Features]
+
+- Added Linux, Mac COLLADA Viewer
+
+- Upgrade library Bullet to version 2.51
+
+
+
+[New Document]
+
+- Added samples.doc to describe features of sample COLLADA documents
+
+- Revised readme.txt for Linux, Mac support
+
+
+
+[Bug Fix]
+
+- Major memory leak fixes
+
+- Numerous minor bug fixes
+
+
+
+[Known Bugs/Restrictions]
+
+- For PS3 debug build, when unloading COLLADA document with large number of nodes, such as demo.dae and dominos.dae,
+ a debug exception is raised due to stack overflow.
+
+ The COLLADA Viewer uses Cell SDK framework, which sets the main PPU thread priority and stack size in its code base.
+ Currently there is no way to override this stack size setting without generating a linker warning on Windows host or
+ an error on Linux host. See below:
+
+ linker warning "L0019: symbol '__sys_process_param' multiply defined" is generated.
+
+ To get around this problem, one can modify the Cell SDK framwork code in the following way:
+
+ In <SDKROOT>\samples\fw\src\cell\FWCellMain.cpp, modify the line from
+ SYS_PROCESS_PARAM( 1001, 0x10000 ); // priority = 1001, stack size = 64K
+
+ to
+
+ SYS_PROCESS_PARAM( 1001, 0x18000 ); // priority = 1001, increase stack size to 96K, or other setting to suit your need
+
+
+- cgDestroyEffect() is not used for PS3 platform while unloading COLLADA document, a 'DATA_HTAB_MISS' error occurs if it is used.
+ This problem is not yet resolved, it is likely caused by PSGLFX not fully support CgFX features.
diff --git a/1.4.0/Release_notes_2_3.txt b/1.4.0/Release_notes_2_3.txt
new file mode 100644
index 0000000..6c99e46
--- /dev/null
+++ b/1.4.0/Release_notes_2_3.txt
@@ -0,0 +1,36 @@
+---------------
+COLLADA-DOM 2.3
+---------------
+
+2.3.1
+=====
+
+[New Features]
+
+- added cmake configuration scripts to find the collada-dom installs through cmake easier
+
+- added cpack generation and debian source package install preparation for cmake
+
+- windows compiles with cmake, forcing to use boost DLL, etc, all libraries are suffixed with VC version
+
+- added pcre-8.02 and zlib 3rdparty library sources to be used for static linking
+
+- added latest libxml2 library along with vc80, vc90, and vc100 DLLs.
+
+2.3.0
+=====
+
+[New Features]
+
+- Added cmake support. cmake now produces *.pc files direclty usable in Linux's package config: collada14dom, collada15dom. Use the cmake-modules/FindCOLLADA.cmake when searching for the collada installation.
+
+- Added newer version of minizip v1.1.
+
+[Bug Fix]
+
+- Fixed two problems in SID resolution which was prevent collada 1.5 robot files from being loaded correctly.
+
+
+[Known Bugs/Restrictions]
+
+- Currently it is not possible to use both 1.4 and 1.5 in the same executable. This issue might addressed in the future with namespaces. This means collada-dom has to offer two different pkg-config files, one for 1.4 and one for 1.5.
diff --git a/1.4.0/Release_notes_2_4.txt b/1.4.0/Release_notes_2_4.txt
new file mode 100644
index 0000000..a88e200
--- /dev/null
+++ b/1.4.0/Release_notes_2_4.txt
@@ -0,0 +1,32 @@
+---------------
+COLLADA-DOM 2.4
+---------------
+
+2.4.0
+=====
+
+[New Features]
+
+- All dom classes are now in their own namespaces making it possible to use 1.4.1 and 1.5.0 simultaneously! namespaces are ColladaDOM141 and ColladaDOM150::
+
+ dae=DAE(NULL,NULL,"1.4.1");
+ dae2=DAE(NULL,NULL,"1.5.0");
+
+- New dom namespaces are not automatically put into the global scope, meaning that domCOLLADA should not be converted to ColladaDOM141::domCOLLADA or ColladaDOM150::domCOLLAdA
+
+- Users can define COLLADA_DOM_USING_141 or COLLADA_DOM_USING_150 before any collada-dom includes in order to get an automatic "using namespace ColladaDOMXX".
+
+- If COLLADA_DOM_NAMESPACE is not defined, will call **using namespace ColladaDOMXXX** on the highest version available. If not, it will not clutter the global namespace with dom definition.
+
+- The DAE constructor takes in a string for the collada version to support. Current supported are "1.4.1" and "1.5.0"
+
+- The following DAE methods need to be manually casted to the correct domCOLLADA version: DAE::add, DAE::open, DAE::openFromMemory, DAE::getRoot, DAE::setRoot, DAE::getDom, DAE::setDom. For backward compat, added DAE::add141, DAE::add150, etc. In otherwords::
+
+ domCOLLADA* dom = (domCOLLADA*)dae->open();
+ ColladaDOM150::domCOLLADA* dom = (ColladaDOM150::domCOLLADA*)dae->open();
+ ColladaDOM150::domCOLLADA* dom = daeSafeCast<ColladaDOM150::domCOLLADA>(dae->open());
+ ColladaDOM150::domCOLLADA* dom = dae->open150();
+
+- Included a double-precision flag COLLADA_DOM_DAEFLOAT_IS64 to compile collada-dom without any floating point. When using cmake, do -DOPT_DOUBLE_PRECISION=ON
+
+- DAE::writeX support writing to compressed ZAE files using zlib and minizip. Automatically enabled when extension is zae.
diff --git a/1.4.0/collada-dom-141.pc.in b/1.4.0/collada-dom-141.pc.in
new file mode 100644
index 0000000..46c9b4d
--- /dev/null
+++ b/1.4.0/collada-dom-141.pc.in
@@ -0,0 +1,14 @@
+# Package Information for pkg-config
+
+prefix=@CMAKE_INSTALL_PREFIX@
+exec_prefix=@CMAKE_INSTALL_PREFIX@/bin
+libdir=@CMAKE_INSTALL_PREFIX@/lib@LIB_SUFFIX@
+includedir=@CMAKE_INSTALL_PREFIX@/@COLLADA_DOM_INCLUDE_INSTALL_DIR@
+
+Name: collada14dom
+Description: COLLADA 1.4 Document Object Model (DOM)
+Version: @COLLADA_DOM_VERSION@
+URL: http://sourceforge.net/projects/collada-dom
+Libs: -L${libdir} -lcollada-dom@COLLADA_DOM_LIBRARY_SUFFIX@
+Libs.private:
+Cflags: -I${includedir} -I${includedir}/1.4 @COLLADA_DOM_EXTERNAL_FLAGS@ -DCOLLADA_DOM_USING_141
diff --git a/1.4.0/collada-dom-150.pc.in b/1.4.0/collada-dom-150.pc.in
new file mode 100644
index 0000000..65c8c19
--- /dev/null
+++ b/1.4.0/collada-dom-150.pc.in
@@ -0,0 +1,14 @@
+# Package Information for pkg-config
+
+prefix=@CMAKE_INSTALL_PREFIX@
+exec_prefix=@CMAKE_INSTALL_PREFIX@/bin
+libdir=@CMAKE_INSTALL_PREFIX@/lib@LIB_SUFFIX@
+includedir=@CMAKE_INSTALL_PREFIX@/@COLLADA_DOM_INCLUDE_INSTALL_DIR@
+
+Name: collada14dom
+Description: COLLADA 1.5 Document Object Model (DOM)
+Version: @COLLADA_DOM_VERSION@
+URL: http://sourceforge.net/projects/collada-dom
+Libs: -L${libdir} -lcollada-dom@COLLADA_DOM_LIBRARY_SUFFIX@
+Libs.private:
+Cflags: -I${includedir} -I${includedir}/1.5 @COLLADA_DOM_EXTERNAL_FLAGS@ -DCOLLADA_DOM_USING_150
diff --git a/1.4.0/collada-dom.pc.in b/1.4.0/collada-dom.pc.in
new file mode 100644
index 0000000..fe000fb
--- /dev/null
+++ b/1.4.0/collada-dom.pc.in
@@ -0,0 +1,14 @@
+# Package Information for pkg-config
+
+prefix=@CMAKE_INSTALL_PREFIX@
+exec_prefix=@CMAKE_INSTALL_PREFIX@/bin
+libdir=@CMAKE_INSTALL_PREFIX@/lib@LIB_SUFFIX%
+includedir=@CMAKE_INSTALL_PREFIX@/@COLLADA_DOM_INCLUDE_INSTALL_DIR@
+
+Name: collada-dom
+Description: COLLADA Document Object Model (DOM), 1.4 support=%OPT_COLLADA14%, 1.5 support=%OPT_COLLADA15%
+Version: @COLLADA_DOM_VERSION@
+URL: http://sourceforge.net/projects/collada-dom
+Libs: -L${libdir} -lcollada-dom@COLLADA_DOM_LIBRARY_SUFFIX@
+Libs.private:
+Cflags: -I${includedir} @COLLADA_DOM_EXTERNAL_FLAGS@
diff --git a/1.4.0/description b/1.4.0/description
new file mode 100644
index 0000000..85954ee
--- /dev/null
+++ b/1.4.0/description
@@ -0,0 +1 @@
+The COLLADA Document Object Model (DOM) is an application programming interface (API) that provides a C++ object representation of a COLLADA XML instance document. Contact a project admin to become a developer!
diff --git a/1.4.0/dom/codeGen/1.4/gen.php b/1.4.0/dom/codeGen/1.4/gen.php
new file mode 100644
index 0000000..3cd8a5d
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/gen.php
@@ -0,0 +1,158 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+// COMMAND LINE: bin/php.exe gen.php collada.xsd [minimal]
+// Note: must be run from home directory of code generator (i.e. where gen.php lives)
+
+ini_set("memory_limit", "256M");
+
+if ( file_exists( $argv[1] ) ) { $collada_file = $argv[1]; }
+else
+{
+ die( "Can't find COLLADA file '" . $argv[1] . "'\n" );
+}
+
+
+require_once( 'src/SchemaParser.php' );
+require_once( 'om/object-model.php' );
+require_once( 'tpl/template-engine.php' );
+
+// Returns either a capitalized or non-capitalized version of the name, thus helping us
+// avoid name clashes. For example, say we have an element called 'rgb' and an element
+// called 'RGB'. They're both going to map to the name constant 'COLLADA_ELEMENT_RGB'.
+// Instead, use COLLADA_ELEMENT_rgb for the 'rgb' element.
+function getUniqueName($name, $array) {
+ $uniqueName = strtoupper($name);
+ if (array_search($uniqueName, $array) !== FALSE) {
+ $uniqueName = $name;
+ }
+ return $uniqueName;
+}
+
+
+if ( preg_match( "/min/i", $argv[2] ) || preg_match( "/min/i", $argv[3] ) ) {
+ $_globals['full_code'] = false;
+}
+if ( preg_match( "/cprt/i", $argv[2] ) || preg_match( "/cprt/i", $argv[3] ) ) {
+ $_globals['copyright'] = true;
+}
+
+$_globals['accessorsAndMutators'] = true;
+
+$p = new SchemaParser();
+$p->parse( $collada_file );
+
+
+initGen( $collada_file );
+
+
+$pop = $p->root_elements[0];
+
+//Grab the collada version number
+$_globals['constStrings']['COLLADA_VERSION'] = "\"". $pop->getAttribute('version') . "\";\n";
+//Grab the collada namespace
+$_globals['constStrings']['COLLADA_NAMESPACE'] = "\"". $pop->getAttribute('xmlns') . "\";\n\n";
+
+// Grab simple types and collect meta-data for code-gen
+$t_list = $pop->getElementsByType( 'xsSimpleType' );
+
+
+$typemeta = array();
+
+for( $i=0; $i<count( $t_list ); $i++ )
+{
+ $local_meta = & $t_list[$i]->generate();
+ $typemeta[ $local_meta['type'] ] = & $local_meta;
+ //print "Type: ". $local_meta['type'] ." created\n";
+}
+
+function propogateArrayTypes( &$lmeta ) {
+ global $typemeta;
+ if ( $lmeta['isArray'] ) {
+ return;
+ }
+ if( isset( $typemeta[$lmeta['base']] ) ) {
+ propogateArrayTypes( $typemeta[$lmeta['base']] );
+ $lmeta['isArray'] = $typemeta[$lmeta['base']]['isArray'];
+ }
+ //print $lmeta['type'] ." isArray = ". $lmeta['isArray'] ."\n";
+}
+foreach( $typemeta as $k => &$local_meta ) {
+ propogateArrayTypes( $local_meta );
+}
+
+//Grab global complex types and make them available for all who need them
+
+$_globals['complex_types'] = $pop->getElementsByType( 'xsComplexType' );
+
+//generate type meta data
+//print applyTemplate( 'TYPES_HEADER_FILE', $typemeta );
+//print applyTemplate( 'TYPES_CPP_FILE', $typemeta );
+
+$element_context = array();
+$meta = array();
+
+print "COMPLEX TYPES\n";
+for( $i=0; $i<count( $_globals['complex_types'] ); $i++ )
+{
+ $local_meta = & $_globals['complex_types'][$i]->generate( $element_context, $_globals['global_elements'] );
+ $meta[ $local_meta['element_name'] ] = & $local_meta;
+}
+
+//collect element meta-data for code-gen
+
+//Grab global groups and make them available for all who need them
+$_globals['groups'] = $pop->getElementsByType( 'xsGroup' );
+//collect meta-data for code-gen
+print "GROUPS\n";
+for( $i=0; $i<count( $_globals['groups'] ); $i++ )
+{
+ $local_meta = & $_globals['groups'][$i]->generate( $element_context, $_globals['global_elements'] );
+ $meta[ $local_meta['element_name'] ] = & $local_meta;
+}
+
+// Grab global elements and collect meta-data for code-gen
+$e_list = $pop->getElementsByType( 'xsElement' );
+
+print "ELEMENTS\n";
+
+for( $i=0; $i<count( $e_list ); $i++ )
+{
+ $local_meta = & $e_list[$i]->generate( $element_context, $_globals['global_elements'] );
+ $meta[ $local_meta['element_name'] ] = & $local_meta;
+}
+
+//propogate the substitutableWith lists and attributes inherited by type
+foreach( $meta as $k => &$local_meta ) {
+ if ( $local_meta['substitution_group'] != '' ) {
+ $meta[$local_meta['substitution_group']]['substitutableWith'][] = $k;
+ //$meta[$local_meta['substitution_group']]['ref_elements'][] = $k;
+ //print $local_meta['substitution_group'] ." sub with ". $k ."\n";
+ }
+}
+
+$indentNum = 0;
+// Generate header files
+$includeList = array();
+foreach( $meta as $k => &$local_meta )
+{
+ // Generate the dom
+ print applyTemplate( 'HEADER_FILE', $local_meta );
+ print applyTemplate( 'CPP_FILE', $local_meta );
+}
+
+print applyTemplate( 'TYPES_HEADER_FILE', $typemeta );
+print applyTemplate( 'TYPES_CPP_FILE', $typemeta );
+
+print applyTemplate( 'ELEMENTS_FILE', $meta );
+print applyTemplate( 'CONSTANTS_FILE', $_globals['constStrings'] );
+print applyTemplate( 'CONSTANTS_CPP_FILE', $_globals['constStrings'] );
+cleanupGen();
+
+?>
diff --git a/1.4.0/dom/codeGen/1.4/om/base-types.php b/1.4.0/dom/codeGen/1.4/om/base-types.php
new file mode 100644
index 0000000..48fe862
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/om/base-types.php
@@ -0,0 +1,172 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class _type
+{
+ var $type = array();
+
+ function _type()
+ {
+ $this->type[] = "MotherOfAllTypes";
+ }
+
+ function isOfType( $type )
+ {
+ return( $type == $this->type[ count( $this->type ) - 1 ] );
+ }
+
+ function getType()
+ {
+ $type = "NULL";
+ if ( count( $this->type ) > 0 ) { $type = $this->type[ 0 ]; }
+ return $type;
+ }
+
+ function isAncestor( $type )
+ {
+ return in_array( $type, $this->type );
+ }
+}
+
+class _typedData extends _type
+{
+ var $data;
+
+ var $attributeMeta = array();
+ var $attributes = array();
+
+ function _typedData()
+ {
+ $this->type[] = "TypedData";
+ parent::_type();
+ }
+
+ function _addAttribute( $name, $meta )
+ {
+ $this->attributeMeta[ $name ] = $meta;
+ }
+
+ function setAttribute( $name, $value )
+ {
+ // Make sure we know about the attribute before setting it
+ if ( isset( $this->attributeMeta[ $name ] ) )
+ {
+ $this->attributes[ $name ] = $value;
+ }
+ }
+
+ function getAttribute( $name )
+ {
+ $val = "";
+ if ( isset( $this->attributeMeta[ $name ] ) && isset( $this->attributes[ $name ] ) ) {
+ $val = $this->attributes[ $name ];
+ }
+ return $val;
+ }
+
+ function & getAttributes()
+ {
+ return $this->attributes;
+ }
+
+ function set( & $buffer )
+ {
+ $this->data = $buffer;
+ }
+
+ function append( & $buffer )
+ {
+ $this->data .= $buffer;
+ }
+
+ function get()
+ {
+ return $this->data;
+ }
+}
+
+class _elementSet extends _typedData
+{
+ var $elementMeta = array();
+ var $elements = array();
+
+ function _elementSet()
+ {
+ $this->_addAttribute( 'minOccurs', array( 'type' => 'xs:integer' ) );
+ $this->setAttribute( 'minOccurs', '1' );
+ $this->_addAttribute( 'maxOccurs', array( 'type' => 'xs:integer' ) );
+ $this->setAttribute( 'maxOccurs', '1' );
+
+ $this->type[] = "ElementSet";
+ parent::_typedData();
+ }
+
+ function _addElement( $name, $attrs )
+ {
+ $this->elementMeta[ $name ] = $attrs;
+ }
+
+ function addElement( & $e )
+ {
+ if ( in_array( $e->getType(), array_keys( $this->elementMeta ) ) )
+ {
+ $this->elements[] = & $e;
+ } else
+ {
+ print "Invalid element ". $e->getType() ."in ". $this->getType() ."\n";
+ $this->log( "WARN: " . $e->getType() . " not a valid member of " . $this->getType() );
+ }
+ }
+
+ function & getElements()
+ {
+ return $this->elements;
+ }
+
+ function & getElementsByType( $type )
+ {
+ $list = array();
+ for( $i=0; $i<count( $this->elements ); $i++ )
+ {
+ if ( $this->elements[$i]->getType() == $type )
+ {
+ $list[] = & $this->elements[$i];
+ }
+ }
+ return $list;
+ }
+
+ function setElement( $name, & $value )
+ {
+ $this->elements[ $name ] = $value;
+ }
+
+ function exists( $name )
+ {
+ return isset( $this->elements[ $name ] );
+ }
+
+ function delete( $name )
+ {
+ unset( $this->elements[ $name ] );
+ }
+
+ function _delete( $name )
+ {
+ $this->delete( $name );
+ unset( $this->elementMeta[ $name ] );
+ }
+
+ function getCount()
+ {
+ return count( $this->elements );
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/om/object-model.php b/1.4.0/dom/codeGen/1.4/om/object-model.php
new file mode 100644
index 0000000..271c04b
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/om/object-model.php
@@ -0,0 +1,43 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+require_once( 'om/base-types.php' );
+
+require_once( 'om/xsAll.php' );
+require_once( 'om/xsAnnotation.php' );
+require_once( 'om/xsAny.php' );
+require_once( 'om/xsAttribute.php' );
+require_once( 'om/xsChoice.php' );
+require_once( 'om/xsComplexContent.php' );
+require_once( 'om/xsComplexType.php' );
+require_once( 'om/xsAll.php' );
+require_once( 'om/xsDocumentation.php' );
+require_once( 'om/xsAppinfo.php' );
+require_once( 'om/xsElement.php' );
+require_once( 'om/xsEnumeration.php' );
+require_once( 'om/xsExtension.php' );
+require_once( 'om/xsGroup.php' );
+require_once( 'om/xsList.php' );
+require_once( 'om/xsMaxLength.php' );
+require_once( 'om/xsMaxExclusive.php' );
+require_once( 'om/xsMaxInclusive.php' );
+require_once( 'om/xsMinLength.php' );
+require_once( 'om/xsMinExclusive.php' );
+require_once( 'om/xsMinInclusive.php' );
+require_once( 'om/xsPattern.php' );
+require_once( 'om/xsRestriction.php' );
+require_once( 'om/xsSchema.php' );
+require_once( 'om/xsSequence.php' );
+require_once( 'om/xsSimpleContent.php' );
+require_once( 'om/xsSimpleType.php' );
+require_once( 'om/xsUnion.php' );
+require_once( 'om/xsWhiteSpace.php' );
+require_once( 'om/xsImport.php' );
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/om/xsAll.php b/1.4.0/dom/codeGen/1.4/om/xsAll.php
new file mode 100644
index 0000000..bbe1b45
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/om/xsAll.php
@@ -0,0 +1,27 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsAll extends _elementSet
+{
+ function xsAll()
+ {
+ $this->_addElement( 'xsElement', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsAttribute', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+
+ $this->type[] = "xsAll";
+ parent::_elementSet();
+ }
+
+ function addAllElement( & $e )
+ {
+ $this->addElement( $e );
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/om/xsAnnotation.php b/1.4.0/dom/codeGen/1.4/om/xsAnnotation.php
new file mode 100644
index 0000000..b6fbd4b
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/om/xsAnnotation.php
@@ -0,0 +1,31 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsAnnotation extends _elementSet
+{
+ function xsAnnotation()
+ {
+ $this->_addElement( 'xsDocumentation', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsAppinfo', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+
+ $this->type[] = "xsAnnotation";
+ parent::_elementSet();
+
+ // Set bounds on number of elements allowable in annotation element
+ $this->setAttribute( 'minOccurs', '0' );
+ $this->setAttribute( 'maxOccurs', 'unbounded' );
+ }
+
+ function addAnnotationElement( & $e )
+ {
+ $this->addElement( $e );
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/om/xsAny.php b/1.4.0/dom/codeGen/1.4/om/xsAny.php
new file mode 100644
index 0000000..3a35831
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/om/xsAny.php
@@ -0,0 +1,27 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsAny extends _typedData
+{
+ function xsAny()
+ {
+ $this->_addAttribute( 'namespace', array( 'type' => 'xs:anyURI' ) );
+ $this->_addAttribute( 'processContents', array( 'type' => 'xs:string' ) );
+
+ $this->_addAttribute( 'minOccurs', array( 'type' => 'xs:integer' ) );
+ $this->setAttribute( 'minOccurs', '1' );
+ $this->_addAttribute( 'maxOccurs', array( 'type' => 'xs:integer' ) );
+ $this->setAttribute( 'maxOccurs', '1' );
+
+ $this->type[] = 'xsAny';
+ parent::_typedData();
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/om/xsAppinfo.php b/1.4.0/dom/codeGen/1.4/om/xsAppinfo.php
new file mode 100644
index 0000000..625296b
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/om/xsAppinfo.php
@@ -0,0 +1,19 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsAppinfo extends _typedData
+{
+ function xsAppinfo()
+ {
+ $this->type[] = "xsAppinfo";
+ parent::_typedData();
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/om/xsAttribute.php b/1.4.0/dom/codeGen/1.4/om/xsAttribute.php
new file mode 100644
index 0000000..f8aa845
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/om/xsAttribute.php
@@ -0,0 +1,27 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsAttribute extends _elementSet
+{
+ function xsAttribute()
+ {
+ $this->_addAttribute( 'name', array( 'type' => 'xs:string' ) );
+ $this->_addAttribute( 'type', array( 'type' => 'xs:string' ) );
+ $this->_addAttribute( 'use', array( 'type' => 'xs:string' ) );
+ $this->_addAttribute( 'default', array( 'type' => 'xs:string' ) );
+ $this->_addAttribute( 'ref', array( 'type' => 'xs:string' ) );
+
+ $this->_addElement( 'xsAnnotation', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+
+ $this->type[] = 'xsAttribute';
+ parent::_typedData();
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/om/xsChoice.php b/1.4.0/dom/codeGen/1.4/om/xsChoice.php
new file mode 100644
index 0000000..9d31c5d
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/om/xsChoice.php
@@ -0,0 +1,31 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsChoice extends _elementSet
+{
+ function xsChoice()
+ {
+ $this->_addElement( 'xsElement', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsAttribute', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsChoice', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsSequence', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsGroup', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsAnnotation', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+
+ $this->type[] = "xsChoice";
+ parent::_elementSet();
+ }
+
+ function addChoiceElement( & $e )
+ {
+ $this->addElement( $e );
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/om/xsComplexContent.php b/1.4.0/dom/codeGen/1.4/om/xsComplexContent.php
new file mode 100644
index 0000000..2dd1d74
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/om/xsComplexContent.php
@@ -0,0 +1,24 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsComplexContent extends _elementSet
+{
+ function xsComplexContent()
+ {
+ $this->_addElement( 'xsRestriction', array( 'minOccurs' => '1', 'maxOccurs' => '1' ) );
+ $this->_addElement( 'xsExtension', array( 'minOccurs' => '1', 'maxOccurs' => '1' ) );
+
+// $this->_addAttribute( 'name', array( 'type' => 'xs:string' ) );
+
+ $this->type[] = 'xsComplexContent';
+ parent::_elementSet();
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/om/xsComplexType.php b/1.4.0/dom/codeGen/1.4/om/xsComplexType.php
new file mode 100644
index 0000000..5333208
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/om/xsComplexType.php
@@ -0,0 +1,222 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsComplexType extends _elementSet
+{
+ function xsComplexType()
+ {
+ $this->_addElement( 'xsAnnotation', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsChoice', array( 'minOccurs' => '1', 'maxOccurs' => '1' ) );
+ $this->_addElement( 'xsAttribute', array( 'minOccurs' => '1', 'maxOccurs' => '1' ) );
+ $this->_addElement( 'xsSequence', array( 'minOccurs' => '1', 'maxOccurs' => '1' ) );
+ $this->_addElement( 'xsAll', array( 'minOccurs' => '1', 'maxOccurs' => '1' ) );
+ $this->_addElement( 'xsGroup', array( 'minOccurs' => '1', 'maxOccurs' => '1' ) );
+ $this->_addElement( 'xsSimpleContent', array( 'minOccurs' => '1', 'maxOccurs' => '1' ) );
+ $this->_addElement( 'xsComplexContent', array( 'minOccurs' => '1', 'maxOccurs' => '1' ) );
+
+ $this->_addAttribute( 'name', array( 'type' => 'xs:string' ) );
+ $this->_addAttribute( 'mixed', array( 'type' => 'xs:string', 'default' => 'false' ) );
+
+ $this->type[] = 'xsComplexType';
+ parent::_elementSet();
+ }
+
+ function & generate( $element_context, & $global_elements )
+ {
+ $element_context[] = $this->getAttribute( "name" );
+ print implode( ",", $element_context ) . "\n";
+
+ // Get new factory
+ $generator = new ElementMeta( $global_elements );
+ $generator->setIsAComplexType( true );
+
+ // Load the class name and a context pre-fix (in case we're inside another element)
+ $generator->setName( $this->getAttribute( 'name' ) );
+ $generator->setContext( $element_context );
+
+ // Extract any documentation for this node
+ $a = $this->getElementsByType( 'xsAnnotation' );
+ if ( count( $a ) > 0 )
+ {
+ $d = $a[0]->getElementsByType( 'xsDocumentation' );
+ if ( count( $d ) > 0 )
+ {
+ $generator->setDocumentation( $d[0]->get() );
+ }
+ }
+ if ( $this->getAttribute( 'mixed' ) == 'true' )
+ {
+ $generator->setMixed( true );
+ }
+
+ $content = $this; // Should only be one
+ $this->generateComplexType( $content, $generator, $element_context );
+
+ if ( count( $generator->bag['elements'] ) == 0 ) {
+ $generator->setIsEmptyContent( true );
+ }
+
+ $meta = & $generator->getMeta();
+
+ if ( count( $element_context ) == 1 )
+ {
+ $global_elements[ $element_context[0] ] = & $meta;
+ }
+
+ return $meta;
+ }
+
+ // Flatten choice/all/sequence groups into a single list of contained elements
+ function flatten( & $element, & $generator, & $context, $maxOccurs )
+ {
+ //print "in flatten ";
+ $e_list = $element->getElements();
+ for( $i=0; $i<count( $e_list ); $i++ )
+ {
+ switch( $e_list[$i]->getType() )
+ {
+ case 'xsChoice':
+ $generator->setHasChoice( true );
+ $generator->addContentModel( 1, $e_list[$i]->getAttribute( 'minOccurs' ), $e_list[$i]->getAttribute( 'maxOccurs' ) );
+ // Propagate the maxOccurs down through choice hierarchy (while flattening)
+ $local_max = $e_list[$i]->getAttribute( 'maxOccurs' );
+ if ( $maxOccurs == 'unbounded' || (is_int( $local_max ) && ($maxOccurs > $local_max)) )
+ {
+ $this->flatten( $e_list[$i], $generator, $context, $maxOccurs );
+ } else
+ {
+ $this->flatten( $e_list[$i], $generator, $context, $local_max );
+ }
+ break;
+ case 'xsSequence':
+ $generator->addContentModel( 0, $e_list[$i]->getAttribute( 'minOccurs' ), $e_list[$i]->getAttribute( 'maxOccurs' ) );
+ // Propagate the maxOccurs down through choice hierarchy (while flattening)
+ $local_max = $e_list[$i]->getAttribute( 'maxOccurs' );
+ if ( $maxOccurs == 'unbounded' || (is_int( $local_max ) && ($maxOccurs > $local_max)) )
+ {
+ $this->flatten( $e_list[$i], $generator, $context, $maxOccurs );
+ } else
+ {
+ $this->flatten( $e_list[$i], $generator, $context, $local_max );
+ }
+ break;
+ case 'xsAll':
+ $generator->addContentModel( 3, $e_list[$i]->getAttribute( 'minOccurs' ), $e_list[$i]->getAttribute( 'maxOccurs' ) );
+ // Propagate the maxOccurs down through choice hierarchy (while flattening)
+ $local_max = $e_list[$i]->getAttribute( 'maxOccurs' );
+ if ( $maxOccurs == 'unbounded' || (is_int( $local_max ) && ($maxOccurs > $local_max)) )
+ {
+ $this->flatten( $e_list[$i], $generator, $context, $maxOccurs );
+ } else
+ {
+ $this->flatten( $e_list[$i], $generator, $context, $local_max );
+ }
+ break;
+ case 'xsGroup':
+ $generator->addContentModel( 2, $e_list[$i]->getAttribute( 'minOccurs' ), $e_list[$i]->getAttribute( 'maxOccurs' ) );
+ $generator->addGroup( $e_list[$i] );
+ case 'xsElement':
+ $nm = $e_list[$i]->getAttribute( 'name' );
+ if ( $nm == '' ) { $nm = $e_list[$i]->getAttribute( 'ref' ); }
+ $generator->addContentModel( $nm, $e_list[$i]->getAttribute( 'minOccurs' ), $e_list[$i]->getAttribute( 'maxOccurs' ) );
+ //print "found element!\n";
+ // If a containing element/group has a maxOccurs > 1, then inherit it (will flag as array in code gen)
+ if ( $maxOccurs == 'unbounded' || $maxOccurs > 1 )
+ {
+ $e_list[$i]->setAttribute( 'maxOccurs', $maxOccurs );
+ }
+ $generator->addElement( $e_list[$i], $context );
+ break;
+ case 'xsAttribute':
+ //print "found attribute!\n";
+ $generator->addAttribute( $e_list[$i] );
+ break;
+ case 'xsAny':
+ print "found an any\n";
+ $generator->addContentModel( 4, $e_list[$i]->getAttribute( 'minOccurs' ), $e_list[$i]->getAttribute( 'maxOccurs' ) );
+ $generator->bag['has_any'] = true;
+ break;
+ default:
+ break;
+ }
+ }
+ $generator->addContentModel( 5, 0, 0 ); //END content model - There will be one extra on every element
+ }
+
+ //function that reads complex types. will recurse complex type derived heirarchies.
+ function generateComplexType( $content, & $generator, & $context ) {
+ //print "in generatecomplextype\n";
+ if ( count( $content->getElementsByType( 'xsSimpleContent' ) ) > 0 ) {
+ //print "found simpleContent!\n";
+ $temp = $content->getElementsByType( 'xsSimpleContent' );
+ $content = $temp[0]; // Should only be one - now we now find out element's parent class
+ $temp = & $content->getElements();
+ $content = $temp[0]; // Should either be an xsExtension or xsRestriction
+ $type = $content->getAttribute( 'base' );
+ //print "setting extends to ". $type ."\n";
+ $generator->setContentType( $type );
+ $temp = & $content->getElementsByType( 'xsAttribute' );
+ for( $i=0; $i<count( $temp ); $i++ ) {
+ $generator->addAttribute( $temp[$i] );
+ }
+ } else if ( count( $content->getElementsByType( 'xsComplexContent' ) ) > 0 ) {
+ //print "found complexContent!\n";
+ //ComplexContent specified means type is derived
+ $temp = $content->getElementsByType( 'xsComplexContent' );
+ $content = $temp[0]; // Should only be one - now we now find out element's parent class
+ $temp = & $content->getElements();
+ $content = $temp[0]; // Should either be an xsExtension or xsRestriction
+ if ( $content->getType() == 'xsExtension' ) {
+ $generator->bag['isExtension'] = true;
+ }
+ if ( $content->getType() == 'xsRestriction' ) {
+ $generator->bag['isRestriction'] = true;
+ }
+ $type = $content->getAttribute( 'base' );
+ //print "setting extends to ". $type ."\n";
+ $generator->bag['base_type'] = $type;
+ //Generate the complex type this is derived from
+ //*************CHANGE NEEDED HERE 8-25 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ for ( $i = 0; $i < count( $GLOBALS['_globals']['complex_types'] ); $i++ ) {
+ if ( $type == $GLOBALS['_globals']['complex_types'][$i]->getAttribute('name') ) {
+ $generator->setComplexType( true );
+ $generator->bag['ref_elements'][] = $type;
+ //$this->generateComplexType( $GLOBALS['_globals']['complex_types'][$i], $generator, $context );
+ break;
+ }
+ }
+
+ // Parse element context
+ $this->flatten( $content, $generator, $element_context, $content->getAttribute( 'maxOccurs' ) );
+
+ } else {
+ //print "found nothing so doing complex content flatten\n";
+ // The alternative to xsSimpleContent is xsComplexContent - if it is not specified, it is implied
+ // Parse element context
+ $this->flatten( $content, $generator, $element_context, $content->getAttribute( 'maxOccurs' ) );
+ if ( count( $generator->bag['elements'] ) == 0 ) {
+ $generator->setIsEmptyContent( true );
+ }
+ }
+ }
+
+ function & generateType() {
+ $vars = array();
+ $e = $this->getElements();
+ $generator = new TypeMeta();
+
+ $generator->setType( $this->getAttribute( 'name' ) );
+ $generator->setIsComplex( true );
+
+ $meta = & $generator->getMeta();
+ return $meta;
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/om/xsDocumentation.php b/1.4.0/dom/codeGen/1.4/om/xsDocumentation.php
new file mode 100644
index 0000000..a89ca8e
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/om/xsDocumentation.php
@@ -0,0 +1,19 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsDocumentation extends _typedData
+{
+ function xsDocumentation()
+ {
+ $this->type[] = "xsDocumentation";
+ parent::_typedData();
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/om/xsElement.php b/1.4.0/dom/codeGen/1.4/om/xsElement.php
new file mode 100644
index 0000000..1aa0c8e
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/om/xsElement.php
@@ -0,0 +1,368 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+require_once( 'src/ElementMeta.php' );
+require_once( 'src/TypeMeta.php' );
+
+class xsElement extends _elementSet
+{
+ function xsElement()
+ {
+ $this->_addElement( 'xsAnnotation', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsComplexType', array( 'minOccurs' => '0', 'maxOccurs' => '1' ) );
+ $this->_addElement( 'xsSimpleType', array( 'minOccurs' => '0', 'maxOccurs' => '1' ) );
+
+ $this->_addAttribute( 'ref', array( 'type' => 'xs:string' ) );
+ $this->_addAttribute( 'name', array( 'type' => 'xs:string' ) );
+ $this->_addAttribute( 'type', array( 'type' => 'xs:string' ) );
+ $this->_addAttribute( 'abstract', array( 'type' => 'xs:bool' ) );
+ $this->_addAttribute( 'substitutionGroup', array( 'type' => 'xs:string' ) );
+// $this->_addAttribute( 'maxOccurs', array( 'type' => 'xs:integer' ) );
+// $this->_addAttribute( 'minOccurs', array( 'type' => 'xs:integer' ) );
+
+ $this->type[] = 'xsElement';
+ parent::_elementSet();
+ }
+
+ function & generate( $element_context, & $global_elements )
+ {
+ $element_context[] = $this->getAttribute( "name" );
+ print implode( ",", $element_context ) . "\n";
+
+ // Get new factory
+ $generator = new ElementMeta( $global_elements );
+
+ // Load the class name and a context pre-fix (in case we're inside another element)
+ $generator->setName( $this->getAttribute( 'name' ) );
+ $generator->setContext( $element_context );
+ $subGroup = $this->getAttribute( 'substitutionGroup' );
+ if ( $subGroup != '' ) {
+ //print "found a subGroup ". $subGroup ."!\n";
+ $generator->setSubstitutionGroup( $subGroup );
+ $generator->bag['ref_elements'][] = $subGroup;
+ }
+ $abstract = $this->getAttribute( 'abstract' );
+ if ( $abstract != '' ) {
+ $generator->setAbstract( $abstract );
+ }
+
+ // Extract any documentation for this node
+ $a = $this->getElementsByType( 'xsAnnotation' );
+ if ( count( $a ) > 0 )
+ {
+ $d = $a[0]->getElementsByType( 'xsDocumentation' );
+ if ( count( $d ) > 0 )
+ {
+ $generator->setDocumentation( $d[0]->get() );
+ }
+ $ap = $a[0]->getElementsByType( 'xsAppinfo' );
+ if ( count( $ap ) > 0 )
+ {
+ $generator->setAppInfo( $ap[0]->get() );
+ }
+ }
+
+ //******************************************************************************************/
+ //$generator->setContentType( $this->getAttribute( 'type' ) );
+ $type = $this->getAttribute( 'type' );
+ $generator->bag['base_type'] = $type;
+ //check if this type equals a complex type
+ //print "element ". $this->getAttribute( 'name' ) ." is of type ". $type ."!\n";
+ if ( $type != "" ) {
+ //print "complex types: " . count($GLOBALS['_globals']['complex_types']) . "\n";
+ for ( $i = 0; $i < count( $GLOBALS['_globals']['complex_types'] ); $i++ ) {
+ if ( !strcmp($type, $GLOBALS['_globals']['complex_types'][$i]->getAttribute('name') ) ) {
+ //print "found a match for ". $type ."\n";
+ $generator->setComplexType( true );
+ $generator->bag['ref_elements'][] = $type;
+ break;
+ }
+ }
+ if ( !$generator->bag['complex_type'] ) {
+ //wasn't a complex type that means it needs a content type
+ $generator->setContentType( $type );
+ }
+ }
+ //*******************************************************************************************/
+
+ // Inspect the semantic structure of this node and extract the elements/attributes
+ $temp = $this->getElementsByType( 'xsComplexType' );
+
+ if ( count( $temp ) > 0 )
+ {
+ if ( $temp[0]->getAttribute( 'mixed' ) == 'true' )
+ {
+ $generator->setMixed( true );
+ $generator->setContentType( 'ListOfInts' );
+ }
+
+ $content = $temp[0]; // Should only be one
+ $this->generateComplexType( $content, $generator, $element_context );
+ if ( count( $generator->bag['elements'] ) == 0 ) {
+ $generator->setIsEmptyContent( true );
+ }
+ }
+ else if ( count( $this->getElementsByType( 'xsSimpleType' ) ) > 0 ) {
+ //inline simple type definition. right now handle as string but needs to be fixed
+ $generator->bag['simple_type'] = new TypeMeta();
+ $temp = $this->getElementsByType( 'xsSimpleType' );
+ $this->generateSimpleType( $temp[0], $generator->bag['simple_type'] );
+ if ( count( $generator->bag['simple_type']->bag['enum'] ) >0 ) {
+ $generator->setContentType( $this->getAttribute( 'name' ) ."_type" );
+ }
+ else {
+ $generator->setContentType( $generator->bag['simple_type']->bag['base'] );
+ }
+ }
+
+ $meta = & $generator->getMeta();
+
+ if ( count( $element_context ) == 1 )
+ {
+ $global_elements[ $element_context[0] ] = & $meta;
+ }
+
+ return $meta;
+ }
+
+ // Flatten choice/all/sequence groups into a single list of contained elements
+ function flatten( & $element, & $generator, & $context, $maxOccurs )
+ {
+ //print "in flatten ";
+ $e_list = $element->getElements();
+ for( $i=0; $i<count( $e_list ); $i++ )
+ {
+ switch( $e_list[$i]->getType() )
+ {
+ case 'xsChoice':
+ $generator->setHasChoice( true );
+ $generator->addContentModel( 1, $e_list[$i]->getAttribute( 'minOccurs' ), $e_list[$i]->getAttribute( 'maxOccurs' ) );
+ // Propagate the maxOccurs down through choice hierarchy (while flattening)
+ $local_max = $e_list[$i]->getAttribute( 'maxOccurs' );
+ if ( $maxOccurs == 'unbounded' || (is_int( $local_max ) && ($maxOccurs > $local_max)) )
+ {
+ $this->flatten( $e_list[$i], $generator, $context, $maxOccurs );
+ } else
+ {
+ $this->flatten( $e_list[$i], $generator, $context, $local_max );
+ }
+ break;
+ case 'xsSequence':
+ $generator->addContentModel( 0, $e_list[$i]->getAttribute( 'minOccurs' ), $e_list[$i]->getAttribute( 'maxOccurs' ) );
+ // Propagate the maxOccurs down through choice hierarchy (while flattening)
+ $local_max = $e_list[$i]->getAttribute( 'maxOccurs' );
+ if ( $maxOccurs == 'unbounded' || (is_int( $local_max ) && ($maxOccurs > $local_max)) )
+ {
+ $this->flatten( $e_list[$i], $generator, $context, $maxOccurs );
+ } else
+ {
+ $this->flatten( $e_list[$i], $generator, $context, $local_max );
+ }
+ break;
+ case 'xsAll':
+ $generator->addContentModel( 3, $e_list[$i]->getAttribute( 'minOccurs' ), $e_list[$i]->getAttribute( 'maxOccurs' ) );
+ // Propagate the maxOccurs down through choice hierarchy (while flattening)
+ $local_max = $e_list[$i]->getAttribute( 'maxOccurs' );
+ if ( $maxOccurs == 'unbounded' || (is_int( $local_max ) && ($maxOccurs > $local_max)) )
+ {
+ $this->flatten( $e_list[$i], $generator, $context, $maxOccurs );
+ } else
+ {
+ $this->flatten( $e_list[$i], $generator, $context, $local_max );
+ }
+ break;
+ case 'xsGroup':
+ $generator->addContentModel( 2, $e_list[$i]->getAttribute( 'minOccurs' ), $e_list[$i]->getAttribute( 'maxOccurs' ) );
+ $generator->addGroup( $e_list[$i] );
+ case 'xsElement':
+ $nm = $e_list[$i]->getAttribute( 'name' );
+ if ( $nm == '' ) { $nm = $e_list[$i]->getAttribute( 'ref' ); }
+ $generator->addContentModel( $nm, $e_list[$i]->getAttribute( 'minOccurs' ), $e_list[$i]->getAttribute( 'maxOccurs' ) );
+ //print "found element!\n";
+ // If a containing element/group has a maxOccurs > 1, then inherit it (will flag as array in code gen)
+ if ( $maxOccurs == 'unbounded' || $maxOccurs > 1 )
+ {
+ $e_list[$i]->setAttribute( 'maxOccurs', $maxOccurs );
+ }
+ $generator->addElement( $e_list[$i], $context );
+ break;
+ case 'xsAttribute':
+ //print "found attribute!\n";
+ $generator->addAttribute( $e_list[$i] );
+ break;
+ case 'xsAny':
+ print "found an any\n";
+ $generator->addContentModel( 4, $e_list[$i]->getAttribute( 'minOccurs' ), $e_list[$i]->getAttribute( 'maxOccurs' ) );
+ $generator->bag['has_any'] = true;
+ break;
+ default:
+ break;
+ }
+ }
+ $generator->addContentModel( 5, 0, 0 ); //END content model - There will be one extra on every element
+ }
+
+ //function that reads complex types. will recurse complex type derived heirarchies.
+ function generateComplexType( $content, & $generator, & $context ) {
+ //print "in generatecomplextype\n";
+ if ( count( $content->getElementsByType( 'xsSimpleContent' ) ) > 0 ) {
+ //print "found simpleContent!\n";
+ $temp = $content->getElementsByType( 'xsSimpleContent' );
+ $content = $temp[0]; // Should only be one - now we now find out element's parent class
+ $temp = & $content->getElements();
+ $content = $temp[0]; // Should either be an xsExtension or xsRestriction
+ $type = $content->getAttribute( 'base' );
+ //print "setting extends to ". $type ."\n";
+ $generator->setContentType( $type );
+ $temp = & $content->getElementsByType( 'xsAttribute' );
+ for( $i=0; $i<count( $temp ); $i++ ) {
+ $generator->addAttribute( $temp[$i] );
+ }
+ } else if ( count( $content->getElementsByType( 'xsComplexContent' ) ) > 0 ) {
+ //print "found complexContent!\n";
+ //ComplexContent specified means type is derived
+ $temp = $content->getElementsByType( 'xsComplexContent' );
+ $content = $temp[0]; // Should only be one - now we now find out element's parent class
+ $temp = & $content->getElements();
+ $content = $temp[0]; // Should either be an xsExtension or xsRestriction
+ if ( $content->getType() == 'xsExtension' ) {
+ $generator->bag['isExtension'] = true;
+ }
+ if ( $content->getType() == 'xsRestriction' ) {
+ $generator->bag['isRestriction'] = true;
+ }
+ $type = $content->getAttribute( 'base' );
+ //print "setting extends to ". $type ."\n";
+ $generator->bag['base_type'] = $type;
+ //Generate the complex type this is derived from
+ for ( $i = 0; $i < count( $GLOBALS['_globals']['complex_types'] ); $i++ ) {
+ if ( $type == $GLOBALS['_globals']['complex_types'][$i]->getAttribute('name') ) {
+ $generator->setComplexType( true );
+ $generator->bag['ref_elements'][] = $type;
+ //$this->generateComplexType( $GLOBALS['_globals']['complex_types'][$i], $generator, $context );
+ break;
+ }
+ }
+
+ // Parse element context
+ $this->flatten( $content, $generator, $element_context, $content->getAttribute( 'maxOccurs' ) );
+
+ } else {
+ //print "found nothing so doing complex content flatten\n";
+ // The alternative to xsSimpleContent is xsComplexContent - if it is not specified, it is implied
+ // Parse element context
+ $this->flatten( $content, $generator, $element_context, $content->getAttribute( 'maxOccurs' ) );
+
+ }
+ }
+
+ //function that generates the inline simpleType
+ function generateSimpleType( $content, & $generator ) {
+
+ $e = $content->getElements();
+ $generator->setType( $this->getAttribute( 'name' ) );
+ //print $this->getAttribute( 'name' ) ." has a simpletype\n";
+ $a = $content->getElementsByType( 'xsAnnotation' );
+ if ( count( $a ) > 0 ) {
+ //print "found annotation for ". $this->getAttribute( 'name' ) ."!\n";
+ $d = $a[0]->getElementsByType( 'xsDocumentation' );
+ if ( count( $d ) > 0 )
+ {
+ //print "found documentation for ". $this->getAttribute( 'name' ) ."!\n";
+ $generator->setDocumentation( $d[0]->get() );
+ }
+ $ap = $a[0]->getElementsByType( 'xsAppinfo' );
+ if ( count( $ap ) > 0 )
+ {
+ $generator->setAppInfo( $ap[0]->get() );
+ }
+ }
+
+ $idx = 0;
+ if ( $e[$idx]->getType() == 'xsAnnotation' ) {
+ $idx = 1;
+ }
+ if ( $e[$idx]->getType() == 'xsRestriction' || $e[$idx]->getType() == 'xsExtension' )
+ {
+ $generator->setIsExtension( $e[$idx]->getType() == 'xsExtension' );
+
+ // Set base class
+ $generator->setBase( $e[$idx]->getAttribute( 'base' ) );
+
+ // Look for enums
+ $enums = $e[$idx]->getElementsByType( 'xsEnumeration' );
+ for( $i=0; $i<count( $enums ); $i++ )
+ {
+ $generator->addEnum( $enums[$i]->getAttribute( 'value' ) );
+ //print $enums[$i]->getAttribute( 'value' );
+ $an = $enums[$i]->getElementsByType('xsAnnotation');
+ if ( count( $an ) > 0 ) {
+ $doc = $an[0]->getElementsByType( 'xsDocumentation' );
+ if ( count( $doc ) > 0 ) {
+ $generator->addEnumDoc( $i, $doc[0]->get() );
+ }
+ $ap = $an[0]->getElementsByType( 'xsAppinfo' );
+ if ( count( $ap ) > 0 )
+ {
+ $generator->addEnumAppInfo( $i, $ap[0]->get() );
+ }
+ }
+ }
+
+ // Look for max/mins
+ $array_limits = array();
+ $min = $e[$idx]->getElementsByType( 'xsMinLength' );
+ $max = $e[$idx]->getElementsByType( 'xsMaxLength' );
+ $minIn = $e[$idx]->getElementsByType( 'xsMinInclusive' );
+ $maxIn = $e[$idx]->getElementsByType( 'xsMaxInclusive' );
+ $minEx = $e[$idx]->getElementsByType( 'xsMinExclusive' );
+ $maxEx = $e[$idx]->getElementsByType( 'xsMaxExclusive' );
+
+ if ( count( $min ) > 0 )
+ {
+ $generator->setRestriction( 'minLength', $min[0]->getAttribute( 'value' ) );
+ }
+
+ if ( count( $max ) > 0 )
+ {
+ $generator->setRestriction( 'maxLength', $max[0]->getAttribute( 'value' ) );
+ }
+
+ if ( count( $minIn ) > 0 )
+ {
+ $generator->setRestriction( 'minInclusive', $minIn[0]->getAttribute( 'value' ) );
+ }
+
+ if ( count( $maxIn ) > 0 )
+ {
+ $generator->setRestriction( 'maxInclusive', $maxIn[0]->getAttribute( 'value' ) );
+ }
+
+ if ( count( $minEx ) > 0 )
+ {
+ $generator->setRestriction( 'minExclusive', $minEx[0]->getAttribute( 'value' ) );
+ }
+
+ if ( count( $maxEx ) > 0 )
+ {
+ $generator->setRestriction( 'maxExclusive', $maxEx[0]->getAttribute( 'value' ) );
+ }
+ } else if ( $e[$idx]->getType() == 'xsList' )
+ {
+ //$extends = "xsList";
+ $itemType = $e[$idx]->getAttribute( 'itemType' );
+ $generator->setListType( $itemType );
+ $generator->bag['isArray'] = true;
+ } else
+ {
+ $this->log( "WARN: unexpected element in xsSimpleType code generation" );
+ }
+ }
+}
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/om/xsEnumeration.php b/1.4.0/dom/codeGen/1.4/om/xsEnumeration.php
new file mode 100644
index 0000000..5b5a2c7
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/om/xsEnumeration.php
@@ -0,0 +1,23 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsEnumeration extends _elementSet
+{
+ function xsEnumeration()
+ {
+ $this->_addAttribute( 'value', array( 'type' => 'xs:integer' ) );
+
+ $this->_addElement( 'xsAnnotation', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+
+ $this->type[] = 'xsEnumeration';
+ parent::_typedData();
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/om/xsExtension.php b/1.4.0/dom/codeGen/1.4/om/xsExtension.php
new file mode 100644
index 0000000..e0ff68a
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/om/xsExtension.php
@@ -0,0 +1,24 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsExtension extends _elementSet
+{
+ function xsExtension()
+ {
+ $this->_addElement( 'xsAttribute', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsSequence', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+
+ $this->_addAttribute( 'base', array( 'type' => 'xs:string' ) );
+
+ $this->type[] = 'xsExtension';
+ parent::_elementSet();
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/om/xsGroup.php b/1.4.0/dom/codeGen/1.4/om/xsGroup.php
new file mode 100644
index 0000000..4356087
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/om/xsGroup.php
@@ -0,0 +1,152 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsGroup extends _elementSet
+{
+ function xsGroup()
+ {
+ $this->_addElement( 'xsAnnotation', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsElement', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsAttribute', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsChoice', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsSequence', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsGroup', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+
+ $this->_addAttribute( 'ref', array( 'type' => 'xs:string' ) );
+ $this->_addAttribute( 'name', array( 'type' => 'xs:string' ) );
+
+ $this->type[] = "xsGroup";
+ parent::_elementSet();
+ }
+
+ function addChoiceElement( & $e )
+ {
+ $this->addElement( $e );
+ }
+
+ function & generate( $element_context, & $global_elements )
+ {
+ $element_context[] = $this->getAttribute( "name" );
+ print implode( ",", $element_context ) . "\n";
+
+ // Get new factory
+ $generator = new ElementMeta( $global_elements );
+ $generator->setIsAGroup( true );
+
+ // Load the class name and a context pre-fix (in case we're inside another element)
+ $generator->setName( $this->getAttribute( 'name' ) );
+ $generator->setContext( $element_context );
+
+ // Extract any documentation for this node
+ $a = $this->getElementsByType( 'xsAnnotation' );
+ if ( count( $a ) > 0 )
+ {
+ $d = $a[0]->getElementsByType( 'xsDocumentation' );
+ if ( count( $d ) > 0 )
+ {
+ $generator->setDocumentation( $d[0]->get() );
+ }
+ }
+
+ // Inspect the semantic structure of this node and extract the elements/attributes
+ $this->flatten( $this, $generator, $element_context, $this->getAttribute( 'maxOccurs' ) );
+
+ if ( count( $generator->bag['elements'] ) == 0 ) {
+ $generator->setIsEmptyContent( true );
+ }
+
+ $meta = & $generator->getMeta();
+
+ if ( count( $element_context ) == 1 )
+ {
+ $global_elements[ $element_context[0] ] = & $meta;
+ }
+
+ return $meta;
+ }
+
+ // Flatten choice/all/sequence groups into a single list of contained elements
+ function flatten( & $element, & $generator, & $context, $maxOccurs )
+ {
+ //print "in flatten ";
+ $e_list = $element->getElements();
+ for( $i=0; $i<count( $e_list ); $i++ )
+ {
+ switch( $e_list[$i]->getType() )
+ {
+ case 'xsChoice':
+ $generator->setHasChoice( true );
+ $generator->addContentModel( 1, $e_list[$i]->getAttribute( 'minOccurs' ), $e_list[$i]->getAttribute( 'maxOccurs' ) );
+ // Propagate the maxOccurs down through choice hierarchy (while flattening)
+ $local_max = $e_list[$i]->getAttribute( 'maxOccurs' );
+ if ( $maxOccurs == 'unbounded' || (is_int( $local_max ) && ($maxOccurs > $local_max)) )
+ {
+ $this->flatten( $e_list[$i], $generator, $context, $maxOccurs );
+ } else
+ {
+ $this->flatten( $e_list[$i], $generator, $context, $local_max );
+ }
+ break;
+ case 'xsSequence':
+ $generator->addContentModel( 0, $e_list[$i]->getAttribute( 'minOccurs' ), $e_list[$i]->getAttribute( 'maxOccurs' ) );
+ // Propagate the maxOccurs down through choice hierarchy (while flattening)
+ $local_max = $e_list[$i]->getAttribute( 'maxOccurs' );
+ if ( $maxOccurs == 'unbounded' || (is_int( $local_max ) && ($maxOccurs > $local_max)) )
+ {
+ $this->flatten( $e_list[$i], $generator, $context, $maxOccurs );
+ } else
+ {
+ $this->flatten( $e_list[$i], $generator, $context, $local_max );
+ }
+ break;
+ case 'xsAll':
+ $generator->addContentModel( 3, $e_list[$i]->getAttribute( 'minOccurs' ), $e_list[$i]->getAttribute( 'maxOccurs' ) );
+ // Propagate the maxOccurs down through choice hierarchy (while flattening)
+ $local_max = $e_list[$i]->getAttribute( 'maxOccurs' );
+ if ( $maxOccurs == 'unbounded' || (is_int( $local_max ) && ($maxOccurs > $local_max)) )
+ {
+ $this->flatten( $e_list[$i], $generator, $context, $maxOccurs );
+ } else
+ {
+ $this->flatten( $e_list[$i], $generator, $context, $local_max );
+ }
+ break;
+ case 'xsGroup':
+ $generator->addContentModel( 2, $e_list[$i]->getAttribute( 'minOccurs' ), $e_list[$i]->getAttribute( 'maxOccurs' ) );
+ $generator->addGroup( $e_list[$i] );
+ case 'xsElement':
+ $nm = $e_list[$i]->getAttribute( 'name' );
+ if ( $nm == '' ) { $nm = $e_list[$i]->getAttribute( 'ref' ); }
+ $generator->addContentModel( $nm, $e_list[$i]->getAttribute( 'minOccurs' ), $e_list[$i]->getAttribute( 'maxOccurs' ) );
+ //print "found element!\n";
+ // If a containing element/group has a maxOccurs > 1, then inherit it (will flag as array in code gen)
+ if ( $maxOccurs == 'unbounded' || $maxOccurs > 1 )
+ {
+ $e_list[$i]->setAttribute( 'maxOccurs', $maxOccurs );
+ }
+ $generator->addElement( $e_list[$i], $context );
+ break;
+ case 'xsAttribute':
+ //print "found attribute!\n";
+ $generator->addAttribute( $e_list[$i] );
+ break;
+ case 'xsAny':
+ print "found an any\n";
+ $generator->addContentModel( 4, $e_list[$i]->getAttribute( 'minOccurs' ), $e_list[$i]->getAttribute( 'maxOccurs' ) );
+ $generator->bag['has_any'] = true;
+ break;
+ default:
+ break;
+ }
+ }
+ $generator->addContentModel( 5, 0, 0 ); //END content model - There will be one extra on every element
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/om/xsImport.php b/1.4.0/dom/codeGen/1.4/om/xsImport.php
new file mode 100644
index 0000000..1f5e6d0
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/om/xsImport.php
@@ -0,0 +1,22 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsImport extends _typedData
+{
+ function xsImport()
+ {
+ $this->_addAttribute( 'namespace', array( 'type' => 'xs:string' ) );
+ $this->_addAttribute( 'schemaLocation', array( 'type' => 'xs:string' ) );
+
+ $this->type[] = 'xsImport';
+ parent::_typedData();
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/om/xsList.php b/1.4.0/dom/codeGen/1.4/om/xsList.php
new file mode 100644
index 0000000..b1ce038
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/om/xsList.php
@@ -0,0 +1,49 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsList extends _typedData
+{
+ var $minLength;
+ var $maxLength;
+
+ function xsList()
+ {
+ global $MAX_ARRAY_LENGTH;
+
+ $this->minLength = 0;
+ $this->maxLength = $MAX_ARRAY_LENGTH;
+
+ $this->_addAttribute( 'itemType', array( 'type' => 'xs:string' ) );
+ $this->setAttribute( 'itemType', 'TypedData' );
+
+ $this->type[] = 'xsList';
+ parent::_typedData();
+ }
+
+ // To save the heavyweight object-per-data-point approach, allow a list type
+ // to parse the buffer into a single array
+ function set( & $buffer )
+ {
+ eval( '$type = new ' . $this->getAttribute( 'itemType' ) . '();' );
+ $this->data = & $type->parse( $buffer );
+
+/* for( $i=0; trim( $buffer ) != "" && $i<$this->maxLength; $i++ )
+ {
+ eval( '$this->data[ $i ] = new ' . $this->getAttribute( 'itemType' ) . '();' );
+ $this->data[ $i ]->set( $buffer );
+ }*/
+ }
+
+ function getCount()
+ {
+ return count( $this->data );
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/om/xsMaxExclusive.php b/1.4.0/dom/codeGen/1.4/om/xsMaxExclusive.php
new file mode 100644
index 0000000..8abec02
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/om/xsMaxExclusive.php
@@ -0,0 +1,21 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsMaxExclusive extends _typedData
+{
+ function xsMaxExclusive()
+ {
+ $this->_addAttribute( 'value', array( 'type' => 'xs:float' ) );
+
+ $this->type[] = 'xsMaxExclusive';
+ parent::_typedData();
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/om/xsMaxInclusive.php b/1.4.0/dom/codeGen/1.4/om/xsMaxInclusive.php
new file mode 100644
index 0000000..8707dc9
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/om/xsMaxInclusive.php
@@ -0,0 +1,21 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsMaxInclusive extends _typedData
+{
+ function xsMaxInclusive()
+ {
+ $this->_addAttribute( 'value', array( 'type' => 'xs:float' ) );
+
+ $this->type[] = 'xsMaxInclusive';
+ parent::_typedData();
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/om/xsMaxLength.php b/1.4.0/dom/codeGen/1.4/om/xsMaxLength.php
new file mode 100644
index 0000000..6394e9b
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/om/xsMaxLength.php
@@ -0,0 +1,21 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsMaxLength extends _typedData
+{
+ function xsMaxLength()
+ {
+ $this->_addAttribute( 'value', array( 'type' => 'xs:integer' ) );
+
+ $this->type[] = 'xsMaxLength';
+ parent::_typedData();
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/om/xsMinExclusive.php b/1.4.0/dom/codeGen/1.4/om/xsMinExclusive.php
new file mode 100644
index 0000000..4f02bd3
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/om/xsMinExclusive.php
@@ -0,0 +1,21 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsMinExclusive extends _typedData
+{
+ function xsMinExclusive()
+ {
+ $this->_addAttribute( 'value', array( 'type' => 'xs:float' ) );
+
+ $this->type[] = 'xsMinExclusive';
+ parent::_typedData();
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/om/xsMinInclusive.php b/1.4.0/dom/codeGen/1.4/om/xsMinInclusive.php
new file mode 100644
index 0000000..34ee962
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/om/xsMinInclusive.php
@@ -0,0 +1,21 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsMinInclusive extends _typedData
+{
+ function xsMinInclusive()
+ {
+ $this->_addAttribute( 'value', array( 'type' => 'xs:float' ) );
+
+ $this->type[] = 'xsMinInclusive';
+ parent::_typedData();
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/om/xsMinLength.php b/1.4.0/dom/codeGen/1.4/om/xsMinLength.php
new file mode 100644
index 0000000..809243f
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/om/xsMinLength.php
@@ -0,0 +1,21 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsMinLength extends _typedData
+{
+ function xsMinLength()
+ {
+ $this->_addAttribute( 'value', array( 'type' => 'xs:integer' ) );
+
+ $this->type[] = 'xsMinLength';
+ parent::_typedData();
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/om/xsPattern.php b/1.4.0/dom/codeGen/1.4/om/xsPattern.php
new file mode 100644
index 0000000..f679594
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/om/xsPattern.php
@@ -0,0 +1,23 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsPattern extends _elementSet
+{
+ function xsPattern()
+ {
+ $this->_addAttribute( 'value', array( 'type' => 'xs:string' ) );
+
+ $this->_addElement( 'xsAnnotation', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+
+ $this->type[] = 'xsPattern';
+ parent::_typedData();
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/om/xsRestriction.php b/1.4.0/dom/codeGen/1.4/om/xsRestriction.php
new file mode 100644
index 0000000..61a96b0
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/om/xsRestriction.php
@@ -0,0 +1,32 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsRestriction extends _elementSet
+{
+ function xsRestriction()
+ {
+ $this->_addElement( 'xsAttribute', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsMinLength', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsMaxLength', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsMinInclusive', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsMaxInclusive', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsMinExclusive', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsMaxExclusive', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsEnumeration', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsWhiteSpace', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsPattern', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+
+ $this->_addAttribute( 'base', array( 'type' => 'xs:string' ) );
+
+ $this->type[] = 'xsRestriction';
+ parent::_elementSet();
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/om/xsSchema.php b/1.4.0/dom/codeGen/1.4/om/xsSchema.php
new file mode 100644
index 0000000..c0b5d8b
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/om/xsSchema.php
@@ -0,0 +1,32 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsSchema extends _elementSet
+{
+ function xsSchema()
+ {
+ $this->_addElement( 'xsAnnotation', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsElement', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsSimpleType', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsComplexType', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsGroup', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsImport', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+
+ $this->_addAttribute( 'targetNamespace', array( 'type' => 'xs:string' ) );
+ $this->_addAttribute( 'elementFormDefault', array( 'type' => 'xs:string' ) );
+ $this->_addAttribute( 'xmlns:xs', array( 'type' => 'xs:string' ) );
+ $this->_addAttribute( 'xmlns', array( 'type' => 'xs:string' ) );
+ $this->_addAttribute( 'version', array( 'type' => 'xs:string' ) );
+
+ $this->type[] = 'xsSchema';
+ parent::_elementSet();
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/om/xsSequence.php b/1.4.0/dom/codeGen/1.4/om/xsSequence.php
new file mode 100644
index 0000000..280d253
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/om/xsSequence.php
@@ -0,0 +1,32 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsSequence extends _elementSet
+{
+ function xsSequence()
+ {
+ $this->_addElement( 'xsElement', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsAttribute', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsChoice', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsSequence', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsGroup', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsAny', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsAnnotation', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+
+ $this->type[] = "xsSequence";
+ parent::_elementSet();
+ }
+
+ function addSequenceElement( & $e )
+ {
+ $this->addElement( $e );
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/om/xsSimpleContent.php b/1.4.0/dom/codeGen/1.4/om/xsSimpleContent.php
new file mode 100644
index 0000000..2001cea
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/om/xsSimpleContent.php
@@ -0,0 +1,24 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsSimpleContent extends _elementSet
+{
+ function xsSimpleContent()
+ {
+ $this->_addElement( 'xsRestriction', array( 'minOccurs' => '1', 'maxOccurs' => '1' ) );
+ $this->_addElement( 'xsExtension', array( 'minOccurs' => '1', 'maxOccurs' => '1' ) );
+
+// $this->_addAttribute( 'name', array( 'type' => 'xs:string' ) );
+
+ $this->type[] = 'xsSimpleContent';
+ parent::_elementSet();
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/om/xsSimpleType.php b/1.4.0/dom/codeGen/1.4/om/xsSimpleType.php
new file mode 100644
index 0000000..5b40cbe
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/om/xsSimpleType.php
@@ -0,0 +1,143 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+require_once( 'src/TypeMeta.php' );
+
+class xsSimpleType extends _elementSet
+{
+ function xsSimpleType()
+ {
+ $this->_addElement( 'xsRestriction', array( 'minOccurs' => '1', 'maxOccurs' => '1' ) );
+ $this->_addElement( 'xsExtension', array( 'minOccurs' => '1', 'maxOccurs' => '1' ) );
+ $this->_addElement( 'xsList', array( 'minOccurs' => '1', 'maxOccurs' => '1' ) );
+ $this->_addElement( 'xsUnion', array( 'minOccurs' => '1', 'maxOccurs' => '1' ) );
+
+ $this->_addElement( 'xsAnnotation', array( 'minOccurs' => '1', 'maxOccurs' => '1' ) );
+
+ $this->_addAttribute( 'name', array( 'type' => 'xs:string' ) );
+
+ $this->type[] = 'xsSimpleType';
+ parent::_elementSet();
+ }
+
+ function & generate()
+ {
+ $vars = array();
+ $e = $this->getElements();
+ $generator = new TypeMeta();
+
+ $generator->setType( $this->getAttribute( 'name' ) );
+
+ $a = $this->getElementsByType( 'xsAnnotation' );
+ if ( count( $a ) > 0 )
+ {
+ //print "found annotation for ". $this->getAttribute( 'name' ) ."!\n";
+ $d = $a[0]->getElementsByType( 'xsDocumentation' );
+ if ( count( $d ) > 0 )
+ {
+ //print "found documentation for ". $this->getAttribute( 'name' ) ."!\n";
+ $generator->setDocumentation( $d[0]->get() );
+ }
+ $ap = $a[0]->getElementsByType( 'xsAppinfo' );
+ if ( count( $ap ) > 0 )
+ {
+ $generator->setAppInfo( $ap[0]->get() );
+ }
+ }
+
+ $idx = 0;
+ if ( $e[$idx]->getType() == 'xsAnnotation' ) {
+ $idx = 1;
+ }
+ if ( $e[$idx]->getType() == 'xsRestriction' || $e[$idx]->getType() == 'xsExtension' )
+ {
+ $generator->setIsExtension( $e[$idx]->getType() == 'xsExtension' );
+
+ // Set base class
+ $generator->setBase( $e[$idx]->getAttribute( 'base' ) );
+
+ // Look for enums
+ $enums = $e[$idx]->getElementsByType( 'xsEnumeration' );
+ for( $i=0; $i<count( $enums ); $i++ )
+ {
+ $generator->addEnum( $enums[$i]->getAttribute( 'value' ) );
+ $an = $enums[$i]->getElementsByType('xsAnnotation');
+ if ( count( $an ) > 0 ) {
+ $doc = $an[0]->getElementsByType( 'xsDocumentation' );
+ if ( count( $doc ) > 0 ) {
+ $generator->addEnumDoc( $i, $doc[0]->get() );
+ }
+ $ap = $an[0]->getElementsByType( 'xsAppinfo' );
+ if ( count( $ap ) > 0 )
+ {
+ $generator->addEnumAppInfo( $i, $ap[0]->get() );
+ }
+ }
+ }
+
+ // Look for max/mins
+ $array_limits = array();
+ $min = $e[$idx]->getElementsByType( 'xsMinLength' );
+ $max = $e[$idx]->getElementsByType( 'xsMaxLength' );
+ $minIn = $e[$idx]->getElementsByType( 'xsMinInclusive' );
+ $maxIn = $e[$idx]->getElementsByType( 'xsMaxInclusive' );
+ $minEx = $e[$idx]->getElementsByType( 'xsMinExclusive' );
+ $maxEx = $e[$idx]->getElementsByType( 'xsMaxExclusive' );
+
+ if ( count( $min ) > 0 )
+ {
+ $generator->setRestriction( 'minLength', $min[0]->getAttribute( 'value' ) );
+ }
+
+ if ( count( $max ) > 0 )
+ {
+ $generator->setRestriction( 'maxLength', $max[0]->getAttribute( 'value' ) );
+ }
+
+ if ( count( $minIn ) > 0 )
+ {
+ $generator->setRestriction( 'minInclusive', $minIn[0]->getAttribute( 'value' ) );
+ }
+
+ if ( count( $maxIn ) > 0 )
+ {
+ $generator->setRestriction( 'maxInclusive', $maxIn[0]->getAttribute( 'value' ) );
+ }
+
+ if ( count( $minEx ) > 0 )
+ {
+ $generator->setRestriction( 'minExclusive', $minEx[0]->getAttribute( 'value' ) );
+ }
+
+ if ( count( $maxEx ) > 0 )
+ {
+ $generator->setRestriction( 'maxExclusive', $maxEx[0]->getAttribute( 'value' ) );
+ }
+ } else if ( $e[$idx]->getType() == 'xsList' )
+ {
+ //$extends = "xsList";
+ $itemType = $e[$idx]->getAttribute( 'itemType' );
+ $generator->setListType( $itemType );
+ $generator->bag['isArray'] = true;
+ }
+ else if ( $e[$idx]->getType() == 'xsUnion' ) {
+ $generator->setUnionMembers( $e[$idx]->getAttribute( 'memberTypes' ) );
+ }
+ else
+ {
+ $this->log( "WARN: unexpected element in xsSimpleType code generation" );
+ }
+
+ $meta = & $generator->getMeta();
+ return $meta;
+ }
+}
+
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/om/xsUnion.php b/1.4.0/dom/codeGen/1.4/om/xsUnion.php
new file mode 100644
index 0000000..79954ad
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/om/xsUnion.php
@@ -0,0 +1,21 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsUnion extends _typedData
+{
+ function xsUnion()
+ {
+ $this->_addAttribute( 'memberTypes', array( 'type' => 'xs:string' ) );
+
+ $this->type[] = 'xsUnion';
+ parent::_typedData();
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/om/xsWhiteSpace.php b/1.4.0/dom/codeGen/1.4/om/xsWhiteSpace.php
new file mode 100644
index 0000000..a968f0e
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/om/xsWhiteSpace.php
@@ -0,0 +1,21 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsWhiteSpace extends _typedData
+{
+ function xsWhiteSpace()
+ {
+ $this->_addAttribute( 'value', array( 'type' => 'xs:string' ) );
+
+ $this->type[] = 'xsWhiteSpace';
+ parent::_typedData();
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/src/ElementMeta.php b/1.4.0/dom/codeGen/1.4/src/ElementMeta.php
new file mode 100644
index 0000000..b7b9882
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/src/ElementMeta.php
@@ -0,0 +1,280 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class ElementMeta
+{
+ var $pre_name;
+ var $name;
+ //var $extends;
+ var $doc;
+
+ var $bag;
+
+ function ElementMeta( & $global_elements )
+ {
+ $bag = array(
+ 'has_id_attr' => false,
+ 'context' => '',
+ 'pre_name' => '',
+ 'content_type' => '',
+ 'base_type' => '',
+ 'documentation' => array(),
+ 'element_name' => '',
+ 'elements' => array(),
+ 'inline_elements' => array(),
+ 'ref_elements' => array(),
+ 'element_attrs' => array(),
+ 'attributes' => array(),
+ 'mixed' => false,
+ 'complex_type' => false,
+ 'abstract' => false,
+ 'substitution_group' => '',
+ 'element_documentation' => array(),
+ 'useXMLNS' => false,
+ 'hasChoice' => false,
+ 'isEmptyContent' => false,
+ 'groupElements' => array(),
+ 'isAComplexType' => false,
+ 'isAGroup' => false,
+ 'substitutableWith' => array(),
+ 'isExtension' => false,
+ 'isRestriction' => false,
+ 'simple_type' => NULL,
+ 'parent_meta' => NULL,
+ 'has_any' => false,
+ 'content_model' => array()
+ );
+
+ $this->bag = & $bag;
+ $this->bag['global_elements'] = & $global_elements;
+ }
+
+ function addGroup( & $e ) {
+ $this->bag['groupElements'][] = $e->getAttribute('ref');
+ }
+
+ function setSubstitutionGroup( $subGroup ) {
+ $this->bag['substitution_group'] = trim( $subGroup );
+ }
+
+ function setComplexType( $bool ) {
+ $this->bag['complex_type'] = ( $bool == true );
+ }
+
+ function setAbstract( $bool ) {
+ $this->bag['abstract'] = ( $bool == true );
+ }
+
+ function setHasChoice( $bool ) {
+ $this->bag['hasChoice'] = $bool;
+ }
+
+ function setIsEmptyContent( $bool ) {
+ $this->bag['isEmptyContent'] = $bool;
+ }
+
+ function setIsAComplexType( $bool ) {
+ $this->bag['isAComplexType'] = ( $bool == true );
+ }
+
+ function setIsAGroup( $bool ) {
+ $this->bag['isAGroup'] = ( $bool == true );
+ }
+
+ function & getMeta()
+ {
+ return $this->bag;
+ }
+
+ function setMixed( $bool )
+ {
+ $this->bag['mixed'] = ( $bool == true );
+ }
+
+ function setContentType( $type )
+ {
+ // Strip xs if we've got a built-in type
+ /*if ( preg_match( "/xs\:/", $type ) )
+ {
+ $type = 'xs' . substr( $type, 3 );
+ }*/
+ // If type is non-empty, then go ahead and set it
+ if ( preg_match( "/[^\s]+/", $type ) )
+ {
+ $this->bag['content_type'] = trim( $type );
+ }
+ }
+
+ function setMinOccurs( $min )
+ {
+ if ( is_int( $min ) && $min >= 0 )
+ {
+ $this->bag['minOccurs'] = $min;
+ }
+ }
+
+ function setMaxOccurs( $max )
+ {
+ if ( $max == 'unbounded' || (is_int( $max ) && $max >= 1 ) )
+ {
+ $this->bag['maxOccurs'] = $max;
+ }
+ }
+
+ function setPreName( $pre )
+ {
+ $this->pre_name = $pre;
+ $this->bag['pre_name'] = $pre;
+ }
+
+ function setName( $name )
+ {
+ $this->name = $name;
+ $this->bag['element_name'] = $name;
+ }
+
+ function getName()
+ {
+ return $this->name;
+ }
+
+ function setHasID( $bool )
+ {
+ $this->bag['has_id_attr'] = $bool;
+ }
+
+ function setDocumentation( $doc )
+ {
+ $this->doc = $doc;
+ $this->bag['documentation']['en'] = trim( $doc );
+ }
+
+ function setAppInfo( $ap ) {
+ if (!strcmp( trim($ap), 'enable-xmlns' ) ) {
+ //use the xmlns attribute
+ $this->bag['useXMLNS'] = true;
+ }
+ }
+
+ function setContext( $context )
+ {
+ $this->bag['context'] = $context;
+ }
+
+ function addElement( & $e, $context )
+ {
+ $name = 'undefined';
+ $ref_element = false;
+ $_attributes = array();
+
+ foreach( $e->getAttributes() as $k => $v )
+ {
+ $_attributes[ $k ] = $v;
+
+ if ( $k == 'ref' )
+ {
+ $name = $v;
+ $ref_element = true;
+ }
+ else if ( $k == 'name' )
+ {
+ $name = $v;
+ }
+ }
+
+ //check if this element already exists this only applies if in a sequence.
+ foreach( $this->bag['elements'] as $nm ) {
+ if ( $nm == $name ) {
+ //print "found duplicate element upping max occurs";
+ //if it does then update its max occurs and exit
+ if ( !$this->bag['hasChoice'] || $_attributes['maxOccurs'] == 'unbounded' ) {
+ if ( $this->bag['element_attrs'][$nm]['maxOccurs'] != 'unbounded' ) {
+ $this->bag['element_attrs'][$nm]['maxOccurs']++;
+ }
+ }
+ //print " to ". $this->bag['element_attrs'][$nm]['maxOccurs'] ."\n";
+ return;
+ }
+ }
+
+ // Track the attrs on each sub-element
+ $this->bag['element_attrs'][ $name ] = & $_attributes;
+
+ // Call the dom-recurse function on each new element
+ if ( !$ref_element )
+ {
+ $this->bag['elements'][] = $name;
+ $this->bag['inline_elements'][ $name ] = & $e->generate( $this->bag['context'], $this->bag['global_elements'] );
+ $this->bag['element_documentation'][$name] = $this->bag['inline_elements'][ $name ]['documentation']['en'];
+ $this->bag['inline_elements'][ $name ]['parent_meta'] = & $this->bag;
+ }
+ else {
+ $this->bag['elements'][] = $name;
+ $this->bag['ref_elements'][] = $name;
+ //check for documentation
+ $a = $e->getElementsByType( 'xsAnnotation' );
+ if ( count( $a ) > 0 ) {
+ $d = $a[0]->getElementsByType( 'xsDocumentation' );
+ if ( count( $d ) > 0 )
+ {
+ $this->bag['element_documentation'][$name] = $d[0]->get();
+ }
+ }
+ }
+
+ }
+
+ function addAttribute( & $a )
+ {
+ $name = '';
+ $a_list = array();
+
+ foreach( $a->getAttributes() as $k => $v )
+ {
+ $a_list[ $k ] = $v;
+ if ( $k == 'name' )
+ {
+ $name = $v;
+ if ( $name == 'id' ) { $this->bag['has_id_attr'] = true; }
+ }
+ else if ( $k == 'ref' ) {
+ $name = $v;
+ //printf( "found an attribute ref for ". $name ."\n");
+ if ( strpos( $name, ':' ) !== FALSE ) {
+ $name[strpos( $name, ':' )] = '_';
+ //printf( "changed : to _ for ". $name ."\n" );
+ $a_list[ 'type' ] = 'xs:anyURI';
+ }
+ }
+ }
+ //check for documentation
+ $e = $a->getElementsByType( 'xsAnnotation' );
+ if ( count( $e ) > 0 )
+ {
+ $d = $e[0]->getElementsByType( 'xsDocumentation' );
+ if ( count( $d ) > 0 )
+ {
+ $a_list['documentation'] = $d[0]->get();
+ }
+ }
+
+ $this->bag['attributes'][ $name ] = & $a_list;
+
+ //print "adding attribute ". $name ."\n";
+ }
+
+ //For elements name is the element name, for sequence name = 0, choice = 1, group = 2, all = 3, any = 4, end = 5
+ function addContentModel( $name, $minOccurs, $maxOccurs )
+ {
+ $this->bag['content_model'][] = array( 'name' => $name, 'minOccurs' => $minOccurs, 'maxOccurs' => $maxOccurs );
+ print "adding content model name: ". $name ." minO: ". $minOccurs ." maxO: ". $maxOccurs ."\n";
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/src/SchemaParser.php b/1.4.0/dom/codeGen/1.4/src/SchemaParser.php
new file mode 100644
index 0000000..b44b806
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/src/SchemaParser.php
@@ -0,0 +1,80 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+require_once( 'om/object-model.php' );
+
+class SchemaParser
+{
+ var $parse_stack = array();
+ var $root_elements = array();
+ var $parser;
+
+ function SchemaParser()
+ {
+ $this->parser = xml_parser_create();
+
+ xml_parser_set_option( $this->parser, XML_OPTION_CASE_FOLDING, false );
+ xml_set_object( $this->parser, $this );
+ xml_set_element_handler( $this->parser, "startElement", "endElement" );
+ xml_set_character_data_handler( $this->parser, "characterData" );
+
+ //xml_parser_free( $this->parser );
+ }
+
+ function startElement( $parser, $name, $attrs )
+ {
+ if ( preg_match( "/xs\:/", $name ) )
+ {
+ $class_name = substr( $name, 3 );
+ $class_name = 'xs' . ucfirst( $class_name );
+
+ eval( '$e = new ' . $class_name . '();' );
+ foreach( $attrs as $k => $v ) { $e->setAttribute( $k, $v ); }
+
+ if ( count( $this->parse_stack ) > 0 )
+ {
+ $this->parse_stack[ count( $this->parse_stack ) - 1 ]->addElement( $e );
+ } else
+ {
+ $this->root_elements[] = & $e;
+ }
+ $this->parse_stack[] = & $e;
+ }
+ }
+
+ function endElement( $parser, $name )
+ {
+ $pop = & array_pop( $this->parse_stack );
+ }
+
+ function characterData( $parser, $data )
+ {
+ if ( count( $this->parse_stack ) > 0 )
+ {
+ $this->parse_stack[ count( $this->parse_stack ) - 1 ]->append( $data );
+ }
+ }
+
+ function parse( $file )
+ {
+ if ( file_exists( $file ) )
+ {
+ if ( !xml_parse( $this->parser, file_get_contents( $file ) ) )
+ {
+ // Got parse error
+ }
+ } else
+ {
+ // Bad file
+ }
+ }
+
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/src/TypeMeta.php b/1.4.0/dom/codeGen/1.4/src/TypeMeta.php
new file mode 100644
index 0000000..f7f46fc
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/src/TypeMeta.php
@@ -0,0 +1,108 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class TypeMeta
+{
+ var $bag;
+
+ function TypeMeta()
+ {
+ $bag = array(
+ 'type' => '',
+ 'base' => '',
+ 'listType' => '',
+ 'enum' => array(),
+ 'enum_documentation' => array(),
+ 'restrictions' => array(),
+ 'isExtension' => true,
+ 'isComplex' => false,
+ 'useConstStrings' =>false,
+ 'documentation' => array(),
+ 'isArray' => false,
+ 'enum_value' => array(),
+ 'union_type' => false,
+ 'union_members' => ''
+ );
+ $this->bag = & $bag;
+ }
+
+ function & getMeta()
+ {
+ return $this->bag;
+ }
+
+ function setType( $t )
+ {
+ $this->bag['type'] = $t;
+ }
+
+ function setBase( $b )
+ {
+ $this->bag['base'] = $b;
+ }
+
+ function setListType( $type )
+ {
+ $this->bag['listType'] = $type;
+ }
+
+ function setIsExtension( $bool )
+ {
+ $this->bag['isExtension'] = $bool;
+ }
+
+ function setIsComplex( $bool ) {
+ $this->bag['isComplex'] = $bool;
+ }
+
+ function setRestriction( $name, $val )
+ {
+ $this->bag['restrictions'][$name] = $val;
+ }
+
+ function addEnum( $val )
+ {
+ $this->bag['enum'][] = $val;
+ }
+
+ function setAppInfo( $ap ) {
+ if (!strcmp( trim($ap), 'constant-strings' ) ) {
+ //use the xmlns attribute
+ $this->bag['useConstStrings'] = true;
+ }
+ }
+
+ function setDocumentation( $doc )
+ {
+ $this->doc = $doc;
+ $this->bag['documentation']['en'] = trim( $doc );
+ }
+
+ function addEnumDoc( $i, $doc ) {
+ $this->bag['enum_documentation'][$i] = trim($doc);
+ }
+
+ function addEnumAppInfo( $i, $ai ) {
+ $ai = trim($ai);
+ //print "found app info\n";
+ if ( strncmp($ai, "value=", 6) == 0 ) {
+ //print "its in the correct format\n";
+ $val = substr($ai, 6);
+ //print "value is ". $val ."\n";
+ $this->bag['enum_value'][$i] = trim($val);
+ }
+ }
+
+ function setUnionMembers( $um ) {
+ $this->bag['union_type'] = true;
+ $this->bag['union_members'] = $um;
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/tpl/template-engine.php b/1.4.0/dom/codeGen/1.4/tpl/template-engine.php
new file mode 100644
index 0000000..d0160c1
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/tpl/template-engine.php
@@ -0,0 +1,469 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+$_globals = array();
+// FLAG: Full Code - set true to output verbose mode, minimal otherwise (does not include// inline elements in minimal)
+$_globals['full_code'] = true;
+$_globals['copyright'] = false;
+$_globals['copyright_text'] = "/*\n" .
+" * Copyright 2006 Sony Computer Entertainment Inc.\n" .
+" *\n" .
+" * Licensed under the SCEA Shared Source License, Version 1.0 (the \"License\"); you may not use this\n" .
+" * file except in compliance with the License. You may obtain a copy of the License at:\n" .
+" * http://research.scea.com/scea_shared_source_license.html\n" .
+" *\n" .
+" * Unless required by applicable law or agreed to in writing, software distributed under the License\n" .
+" * is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n" .
+" * implied. See the License for the specific language governing permissions and limitations under the\n" .
+" * License.\n" .
+" */\n\n";
+
+$_globals['depth'] = 0;
+$_globals['meta_prefix'] = 'dae';
+$_globals['prefix'] = 'dom';
+$_globals['language'] = 'en';
+$_globals['dom_dir'] = 'gen/dom/';
+$_globals['tmp_dir'] = 'tmp/';
+$_globals['log_file'] = 'gen/gen.log';
+
+$_globals['register_list'] = array();
+$_globals['include_list'] = array();
+$_globals['complex_types'] = array();
+$_globals['groups'] = array();
+$_globals['constStrings'] = array(); //used to store all the constant strings needed to be put in the file.
+$_globals['elementTypes'] = array();
+$_globals['elementNames'] = array();
+$_globals['elementNames'][] = "COLLADA"; //needed because no elements have this as a child.
+$_globals['typeID'] = 0;
+
+$_globals['target_dir'] = '';
+
+$_globals['global_elements'] = array();
+
+$_globals['templates'] = array(
+ 'DOXYGEN' => 'tpl/tpl-doxygen.php',
+ 'TYPES_HEADER_FILE' => 'tpl/tpl-types-header-file.php',
+ 'TYPES_HEADER' => 'tpl/tpl-types-header.php',
+ 'TYPES_CPP_FILE' => 'tpl/tpl-types-cpp-file.php',
+ 'TYPES_CPP' => 'tpl/tpl-types-cpp.php',
+ 'INCLUDES' => 'tpl/tpl-includes.php',
+ 'HEADER' => 'tpl/tpl-dot-h.php',
+ 'HEADER_FILE' => 'tpl/tpl-header.php',
+ 'INCLUDE_LIST' => 'tpl/tpl-include-list.php',
+ 'CPP_FILE' => 'tpl/tpl-cpp.php',
+ 'CPP' => 'tpl/tpl-cpp-body.php',
+ 'CPP_STATIC' => 'tpl/tpl-cpp-static.php',
+ 'CPP_METHODS' => 'tpl/tpl-cpp-methods.php',
+ 'CLASS' => 'tpl/tpl-class-def.php',
+ 'ELEMENTS_FILE' => 'tpl/tpl-elements-file.php',
+ 'ELEMENTS' => 'tpl/tpl-elements.php',
+ 'CONSTANTS_FILE' => 'tpl/tpl-constants-file.php',
+ 'CONSTANTS' => 'tpl/tpl-constants.php',
+ 'CONSTANTS_CPP_FILE' => 'tpl/tpl-constants-cpp-file.php',
+ 'CONSTANTS_CPP' => 'tpl/tpl-constants-cpp.php'
+);
+
+function applyTemplate( $template, & $bag )
+{
+ global $_globals;
+
+ $_result = '';
+ if ( array_key_exists( $template, $_globals['templates'] ) )
+ {
+ ob_start();
+ include( $_globals['templates'][ $template ] );
+
+ $_result = ob_get_contents();
+ ob_end_clean();
+ }
+ return $_result;
+}
+
+function initGen( $file )
+{
+ global $_globals;
+
+ // A few defns
+ $_globals['gen_start_time'] = date( "M d Y H:i:s" );
+ $_globals['file_name'] = $file;
+
+ // Verify target dirs exist, create if not
+ makeGenDir( getcwd() . "/gen" );
+ makeGenDir( getcwd() . "/" . $_globals['dom_dir'] );
+ makeGenDir( getcwd() . "/" . $_globals['dom_dir'] . 'include/' );
+ makeGenDir( getcwd() . "/" . $_globals['dom_dir'] . 'src/' );
+
+ // Start buffering output
+ ob_start();
+}
+
+function makeGenDir( $dir )
+{
+ if ( !is_dir( $dir ) )
+ {
+ if ( !mkdir( $dir ) )
+ {
+ die( "Could not create directory $dir\n" );
+ }
+ }
+}
+
+function cleanupGen()
+{
+ global $_globals;
+
+ // Get output buffer
+ $_result = ob_get_contents();
+ ob_end_clean();
+ // Assemble report
+ ob_start();
+ print "========================================\n\n";
+ print " Code Generation\n\n";
+ print "----------------------------------------\n";
+ print "COLLADA File: " . $_globals['file_name'] . "\n";
+ print "Start time: " . $_globals['gen_start_time'] . "\n";
+ print "End time: " . date( "M d Y H:i:s" ) . "\n";
+ print "----------------------------------------\n\n";
+ print $_result;
+ print "\r\n\r\nend\r\n";
+ file_put_contents( $_globals['log_file'], ob_get_contents() );
+ ob_end_clean();
+ print "Generation complete\n";
+}
+
+function saveTemplate( $file, $template, & $bag )
+{
+ $bytes = file_put_contents( $file, applyTemplate( $template, $bag ) );
+}
+
+function printAllSubChildren( & $elem, $prefix, $suffix ) {
+ //print "subchild test count = ". count( $elem['elements'] ) ."\n";
+ //print "subchild test name = ". $elem['element_name'] ."\n";
+ global $_globals;
+ global $meta;
+ for ( $i = 0; $i < count( $elem['elements'] ); $i++ ) {
+ if ( isset( $meta[$elem['elements'][$i]] ) ) {
+ if ( $meta[$elem['elements'][$i]]['isAGroup'] ) {
+
+ printAllSubChildren( $meta[$elem['elements'][$i]], $prefix, $suffix );
+ }
+ else if ( !$meta[$elem['elements'][$i]]['abstract'] ) {
+ print $prefix ."_Meta->children.append(\"". $elem['elements'][$i] ."\");". $suffix;
+ print ");\n";
+ }
+ for( $c = 0; $c < count( $meta[$elem['elements'][$i]]['substitutableWith']); $c++ ) {
+ $subwith = $meta[$elem['elements'][$i]]['substitutableWith'][$c];
+ print $prefix ."_Meta->children.append(\"". $subwith ."\");". $suffix;
+ print ");\n";
+ }
+ }
+ else {
+ print $prefix . $elem['elements'][$i] . $suffix;
+ if ( isset($meta[$elem['element_attrs'][ $elem['elements'][$i] ]['type']]) &&
+ $meta[$elem['element_attrs'][ $elem['elements'][$i] ]['type']]['isAComplexType'] ) {
+ print ", \"". $elem['element_attrs'][ $elem['elements'][$i] ]['type'] ."\"";
+ }
+ print ");\n";
+ }
+ }
+}
+
+function getInheritanceStatement($baseClasses) {
+ if (count($baseClasses) == 0)
+ return "";
+ $statement = " : public " . $baseClasses[0];
+ for ($i = 1; $i < count($baseClasses); $i++)
+ $statement .= ", public " . $baseClasses[$i];
+ return $statement;
+}
+
+function beginConstructorInitializer(& $initializerListStarted) {
+ print $initializerListStarted ? ", " : " : ";
+ $initializerListStarted = true;
+}
+
+function printBaseClassInitializers($elemName, $baseClasses, & $initializerListStarted) {
+ $elt = strpos($elemName, "_complexType") === false ? "this" : "elt";
+ for ($i = 0; $i < count($baseClasses); $i++) {
+ beginConstructorInitializer($initializerListStarted);
+ print $baseClasses[$i] .
+ (strpos($baseClasses[$i], "_complexType") !== false ? "(dae, " . $elt . ")" : "(dae)");
+ }
+}
+
+function printConstructors( $elemName, & $bag, $baseClasses, $indent ) {
+ //print the protected ctor and copy stuff
+ print $indent ."protected:\n";
+ print $indent ."\t/**\n". $indent ."\t * Constructor\n". $indent ."\t */\n";
+ print $indent ."\t". $elemName ."(DAE& dae";
+ if ($bag['isAComplexType'])
+ print ", daeElement* elt";
+ print ")";
+ $initializerListStarted = false;
+ $eltVar = $bag['isAComplexType'] ? "*elt" : "*this";
+
+ printBaseClassInitializers($elemName, $baseClasses, $initializerListStarted);
+
+ if ($bag['useXMLNS']) {
+ beginConstructorInitializer($initializerListStarted);
+ print "attrXmlns(dae, " . $eltVar . ")";
+ }
+
+ // Constructor initialization of attributes
+ if (count($bag['attributes']) > 0) {
+ foreach( $bag['attributes'] as $attr_name => & $a_list ) {
+ beginConstructorInitializer($initializerListStarted);
+
+ $attr_name = ucfirst($attr_name);
+ $type = $a_list['type'];
+ print "attr" . $attr_name . "(";
+ if ($type == 'xs:anyURI' || $type == 'URIFragmentType')
+ print "dae, " . $eltVar;
+ else if ($type == 'xs:IDREF')
+ print $eltVar;
+ else if ($type == 'xs:IDREFS')
+ print "new xsIDREF(" . $eltVar . ")";
+ print ")";
+ }
+ }
+
+ // Constructor initialization of elements
+ for( $i=0; $i<count( $bag['elements'] ); $i++ ) {
+ $maxOccurs = $bag['element_attrs'][ $bag['elements'][$i] ]['maxOccurs'];
+ $maxOccurs = ($maxOccurs == 'unbounded' || $maxOccurs > 1);
+ beginConstructorInitializer($initializerListStarted);
+ print "elem" . ucfirst($bag['elements'][$i]) . ($maxOccurs ? "_array" : "") . "()";
+ }
+
+ if ( ($bag['content_type'] != '' || $bag['mixed']) && !$bag['abstract'] ) {
+ beginConstructorInitializer($initializerListStarted);
+ if ($bag['content_type'] == 'xs:anyURI' || $bag['content_type'] == 'URIFragmentType')
+ print "_value(dae, " . $eltVar . ")";
+ else if ($bag['content_type'] == 'xs:IDREF')
+ print "_value(" . $eltVar . ")";
+ else if ($bag['content_type'] == 'xs:IDREFS')
+ print "_value(new xsIDREF(" . $eltVar . "))";
+ else
+ print "_value()";
+ }
+ print " {}\n";
+
+ print $indent ."\t/**\n". $indent ."\t * Destructor\n". $indent ."\t */\n";
+ print $indent ."\tvirtual ~". $elemName ."() {";
+ if ( $bag['hasChoice'] ) {
+ print " daeElement::deleteCMDataArray(_CMData); ";
+ }
+ print "}\n";
+
+ print $indent ."\t/**\n". $indent ."\t * Overloaded assignment operator\n". $indent ."\t */\n";
+ print $indent ."\tvirtual ".$elemName ." &operator=( const ".$elemName ." &cpy ) { (void)cpy; return *this; }\n";
+}
+
+function printAttributes( & $bag, & $typemeta, & $indent, $vaa ) {
+ global $_globals;
+
+ $attrCnt = 0;
+ if ( $bag['useXMLNS'] ) {
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Gets the xmlns attribute.\n";
+ print $indent ."\t * @return Returns a xsAnyURI reference of the xmlns attribute.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\txsAnyURI &getXmlns() { return attrXmlns; }\n";
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Gets the xmlns attribute.\n";
+ print $indent ."\t * @return Returns a constant xsAnyURI reference of the xmlns attribute.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tconst xsAnyURI &getXmlns() const { return attrXmlns; }\n";
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Sets the xmlns attribute.\n";
+ print $indent ."\t * @param xmlns The new value for the xmlns attribute.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tvoid setXmlns( const xsAnyURI &xmlns ) { attrXmlns = xmlns;";
+ if ( $vaa ) {
+ print $indent ."\n\t _validAttributeArray[". $attrCnt ."] = true;";
+ }
+ print " }\n\n";
+
+ $attrCnt++;
+ }
+
+ foreach( $bag['attributes'] as $attr_name => & $a_list ) {
+ $type = $a_list['type'];
+ if ( preg_match( "/xs\:/", $type ) ) {
+ $type = substr( $type, 3 );
+ $pre = "xs";
+ }
+ else {
+ $pre = $_globals['prefix'];
+ }
+ if ( $type == '' )
+ {
+ $type = "String";
+ }
+ $baseStringTypes = "xsDateTime xsID xsNCName xsNMTOKEN xsName xsToken xsString";
+ $baseType = $pre . ucfirst( $type );
+ if ( isset( $typemeta[$type] ) ) {
+ $typeInfo = $typemeta[$type];
+ while ( $typeInfo['base'] != '' && isset( $typemeta[$typeInfo['base']] ) ) {
+ $typeInfo = $typemeta[$typeInfo['base']];
+ if ( preg_match( "/xs\:/", $typeInfo['type'] ) ) {
+ $baseType = "xs" . ucfirst( substr( $typeInfo['type'], 3 ) );
+ }
+ else {
+ $baseType = $_globals['prefix'] . ucfirst( $typeInfo['type'] );
+ }
+ }
+ }
+
+ if ( (isset( $typemeta[$type] ) && $typemeta[$type]['isArray']) || $type == 'IDREFS' ) {
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Gets the ". $attr_name ." array attribute.\n";
+ print $indent ."\t * @return Returns a ". $pre . ucfirst( $type ) ." reference of the ". $attr_name ." array attribute.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\t" . $pre . ucfirst( $type ) . " &get" . ucfirst($attr_name) ."() { ";
+ print "return attr". ucfirst($attr_name) ."; }\n";
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Gets the ". $attr_name ." array attribute.\n";
+ print $indent ."\t * @return Returns a constant ". $pre . ucfirst( $type ) ." reference of the ". $attr_name ." array attribute.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tconst " . $pre . ucfirst( $type ) . " &get" . ucfirst($attr_name) ."() const { ";
+ print "return attr". ucfirst($attr_name) ."; }\n";
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Sets the ". $attr_name ." array attribute.\n";
+ print $indent ."\t * @param at". ucfirst($attr_name)." The new value for the ". $attr_name ." array attribute.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tvoid set". ucfirst( $attr_name ) ."( const ". $pre . ucfirst( $type ) ." &at";
+ print ucfirst($attr_name) ." ) { attr". ucfirst($attr_name) ." = at". ucfirst($attr_name) .";";
+ if ( $vaa ) {
+ print " _validAttributeArray[". $attrCnt ."] = true;";
+ }
+ print " }\n\n";
+ }
+ else if ( ucfirst($type) == 'AnyURI' || ucfirst($type) == 'URIFragmentType' ) {
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Gets the ". $attr_name ." attribute.\n";
+ print $indent ."\t * @return Returns a ". $pre . ucfirst( $type ) ." reference of the ". $attr_name ." attribute.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\t" . $pre . ucfirst( $type ) . " &get" . ucfirst($attr_name) ."() { ";
+ print "return attr". ucfirst($attr_name) ."; }\n";
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Gets the ". $attr_name ." attribute.\n";
+ print $indent ."\t * @return Returns a constant ". $pre . ucfirst( $type ) ." reference of the ". $attr_name ." attribute.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tconst " . $pre . ucfirst( $type ) . " &get" . ucfirst($attr_name) ."() const { ";
+ print "return attr". ucfirst($attr_name) ."; }\n";
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Sets the ". $attr_name ." attribute.\n";
+ print $indent ."\t * @param at". ucfirst($attr_name)." The new value for the ". $attr_name ." attribute.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tvoid set". ucfirst( $attr_name ) ."( const ". $pre . ucfirst( $type ) ." &at";
+ print ucfirst($attr_name) ." ) { attr". ucfirst($attr_name) ." = at". ucfirst($attr_name) .";";
+ if ( $vaa ) {
+ print " _validAttributeArray[". $attrCnt ."] = true;";
+ }
+ print " }\n";
+ // We add a setter that takes a plain string to help with backward compatibility
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Sets the ". $attr_name ." attribute.\n";
+ print $indent ."\t * @param at". ucfirst($attr_name)." The new value for the ". $attr_name ." attribute.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tvoid set". ucfirst( $attr_name ) ."( xsString at";
+ print ucfirst($attr_name) ." ) { attr". ucfirst($attr_name) ." = at" . ucfirst($attr_name) . ";";
+ if ( $vaa ) {
+ print " _validAttributeArray[". $attrCnt ."] = true;";
+ }
+ print " }\n\n";
+ }
+ else if( ucfirst($type) == 'IDREF' ) {
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Gets the ". $attr_name ." attribute.\n";
+ print $indent ."\t * @return Returns a ". $pre . ucfirst( $type ) ." reference of the ". $attr_name ." attribute.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\t" . $pre . ucfirst( $type ) . " &get" . ucfirst($attr_name) ."() { ";
+ print "return attr". ucfirst($attr_name) ."; }\n";
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Gets the ". $attr_name ." attribute.\n";
+ print $indent ."\t * @return Returns a constant ". $pre . ucfirst( $type ) ." reference of the ". $attr_name ." attribute.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tconst " . $pre . ucfirst( $type ) . " &get" . ucfirst($attr_name) ."() const{ ";
+ print "return attr". ucfirst($attr_name) ."; }\n";
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Sets the ". $attr_name ." attribute.\n";
+ print $indent ."\t * @param at". ucfirst($attr_name)." The new value for the ". $attr_name ." attribute.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tvoid set". ucfirst( $attr_name ) ."( const ". $pre . ucfirst( $type ) ." &at";
+ print ucfirst($attr_name) ." ) { attr". ucfirst($attr_name) ." = at". ucfirst($attr_name) .";";
+ if ( $vaa ) {
+ print " _validAttributeArray[". $attrCnt ."] = true;";
+ }
+ print " }\n\n";
+ }
+ else if ( strstr( $baseStringTypes, $baseType ) !== FALSE && count( $a_list['enum'] ) == 0 ) {
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Gets the ". $attr_name ." attribute.\n";
+ print $indent ."\t * @return Returns a ". $pre . ucfirst( $type ) ." of the ". $attr_name ." attribute.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\t" . $pre . ucfirst( $type ) . " get" . ucfirst($attr_name) ."() const { ";
+ print "return attr". ucfirst($attr_name) ."; }\n";
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Sets the ". $attr_name ." attribute.\n";
+ print $indent ."\t * @param at". ucfirst($attr_name)." The new value for the ". $attr_name ." attribute.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tvoid set". ucfirst( $attr_name ) ."( ". $pre . ucfirst( $type ) ." at";
+ print ucfirst($attr_name) ." ) { *(daeStringRef*)&attr". ucfirst($attr_name) ." = at". ucfirst($attr_name) .";";
+ if ( $vaa ) {
+ print " _validAttributeArray[". $attrCnt ."] = true; ";
+ }
+ if ( $attr_name == "id" )
+ {
+ print "\n". $indent ."\t\tif( _document != NULL ) _document->changeElementID( this, attrId );\n". $indent ."\t";
+ }
+
+ print "}\n\n";
+ }
+ else {
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Gets the ". $attr_name ." attribute.\n";
+ print $indent ."\t * @return Returns a ". $pre . ucfirst( $type ) ." of the ". $attr_name ." attribute.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\t" . $pre . ucfirst( $type ) . " get" . ucfirst($attr_name) ."() const { ";
+ print "return attr". ucfirst($attr_name) ."; }\n";
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Sets the ". $attr_name ." attribute.\n";
+ print $indent ."\t * @param at". ucfirst($attr_name)." The new value for the ". $attr_name ." attribute.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tvoid set". ucfirst( $attr_name ) ."( ". $pre . ucfirst( $type ) ." at";
+ print ucfirst($attr_name) ." ) { attr". ucfirst($attr_name) ." = at". ucfirst($attr_name) .";";
+ if ( $vaa ) {
+ print " _validAttributeArray[". $attrCnt ."] = true;";
+ }
+ print " }\n\n";
+ }
+ $attrCnt++;
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/tpl/tpl-class-def.php b/1.4.0/dom/codeGen/1.4/tpl/tpl-class-def.php
new file mode 100644
index 0000000..700106e
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/tpl/tpl-class-def.php
@@ -0,0 +1,475 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+ global $meta;
+ global $typemeta;
+
+ // shorthand:
+ $full_element_name = $_globals['prefix'] . ucfirst( $bag['element_name'] );
+ //COLLADA TYPE list
+ if ( array_search( $bag['element_name'], $_globals['elementTypes'] ) === FALSE )
+ {
+ $_globals['elementTypes'][] = $bag['element_name'];
+ }
+ //COLLADA ELEMENT list
+ for( $i=0; $i<count( $bag['elements'] ); $i++ )
+ {
+ if ( array_search( $bag['elements'][$i], $_globals['elementNames'] ) === FALSE )
+ {
+ $_globals['elementNames'][] = $bag['elements'][$i];
+ }
+ }
+ if ( $bag['substitution_group'] != '' )
+ {
+ //also add this element to the list of elements.
+ if ( array_search( $bag['element_name'], $_globals['elementNames'] ) === FALSE )
+ {
+ $_globals['elementNames'][] = $bag['element_name'];
+ }
+ }
+
+ $indent = "";
+ for ($i = 0; $i < $GLOBALS['indentNum']; $i++ ) {
+ $indent .= "\t";
+ }
+ if ( $GLOBALS['indentNum'] > 0 ) { //only print these for the inner classes.. the main classes will have
+ //them defined in a seperate file to avoid circular includes.
+ print $indent."class " . $full_element_name . ";\n\n";
+ print $indent ."typedef daeSmartRef<". $full_element_name ."> ". $full_element_name ."Ref;\n";
+ print $indent ."typedef daeTArray<". $full_element_name ."Ref> ". $full_element_name ."_Array;\n\n";
+ }
+
+ // DOCUMENTATION
+ if ( isset( $bag['documentation'][ $_globals['language'] ] ) )
+ {
+ print applyTemplate( 'DOXYGEN', $bag['documentation'][ $_globals['language'] ] );
+ }
+
+ // SUBSTITION GROUP/INHERITANCE
+ $baseClasses = array();
+ if ( $bag['isAComplexType'] ) {
+ if ( $bag['complex_type'] )
+ $baseClasses[] = $_globals['prefix'] . ucfirst( $bag['base_type'] ) . "_complexType";
+ print $indent ."class ". $full_element_name ."_complexType ".
+ getInheritanceStatement($baseClasses) ."\n".$indent."{\n";
+ }
+ else {
+ $baseClasses[] = ($bag['substitution_group'] != '' ? $_globals['prefix'] . ucfirst($bag['substitution_group']) : 'daeElement');
+ if ( $bag['complex_type'] )
+ $baseClasses[] = $_globals['prefix'] . ucfirst( $bag['base_type'] ) . "_complexType";
+ print $indent ."class ". $full_element_name . getInheritanceStatement($baseClasses) . "\n".$indent."{\n";
+ print $indent ."public:\n";
+ print $indent ."\tvirtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::". strtoupper($bag['element_name']) ."; }\n";
+ print $indent ."\tstatic daeInt ID() { return ". $_globals['typeID']++ ."; }\n";
+ print $indent ."\tvirtual daeInt typeID() const { return ID(); }\n";
+ }
+
+ // INTERNAL CLASSES
+ $result = '';
+ $inlines = array_keys( $bag['inline_elements'] );
+ for( $i=0; $i<count( $inlines ); $i++ )
+ {
+ $inner = $bag['inline_elements'][ $inlines[$i] ];
+ if ( !$inner['complex_type'] || $inner['isRestriction'] || $inner['isExtension'] ) {
+ $GLOBALS['indentNum']++;
+ $result .= applyTemplate( 'CLASS', $inner );
+ $GLOBALS['indentNum']--;
+ }
+ }
+ if ( strlen( $result ) > 0 ) { print $indent ."public:\n$result\n"; }
+
+ //ENUM
+ if ( $bag['simple_type'] != NULL ) {
+ $typeMeta = $bag['simple_type']->getMeta();
+ //print $typeMeta['type'];
+ if ( count( $typeMeta['enum'] ) > 0 )
+ {
+ //print "has enums";
+ print $indent ."public: //ENUM\n";
+ if ( !$typeMeta['useConstStrings'] ) {
+ //Decided to name mangle the enum constants so they are more descriptive and avoid collisions
+ if ( isset( $typeMeta['documentation']['en'] ) ) {
+ print applyTemplate( 'DOXYGEN', $typeMeta['documentation']['en'] );
+ }
+ print "enum " . $_globals['prefix'] . ucfirst( $typeMeta['type'] ) . "_type {\n";
+ //print "\t" . strtoupper( $typeMeta['type'] ) . "_" . $typeMeta['enum'][0] ." = 1";
+ for( $i = 0; $i < count( $typeMeta['enum'] ); $i++ ) {
+ //print ",";
+ print "\t" . strtoupper( $typeMeta['type'] ) . "_" . $typeMeta['enum'][$i] .",";
+ if ( isset( $typeMeta['enum_documentation'][$i] ) ) {
+ print "\t\t/**< ". $typeMeta['enum_documentation'][$i] ." */";
+ }
+ //print "\n\t" . strtoupper( $typeMeta['type'] ) . "_" . $typeMeta['enum'][$i];
+ print "\n";
+ }
+ //if ( isset( $typeMeta['enum_documentation'][count( $typeMeta['enum'] )-1] ) ) {
+ // print "\t\t/**< ". $typeMeta['enum_documentation'][count( $typeMeta['enum'] )-1] ." */";
+ //}
+ print "\t". strtoupper( $typeMeta['type'] ) . "_COUNT";
+ print "\n};\n\n";
+ }
+ else {
+ //if ( isset( $typeMeta['documentation']['en'] ) ) {
+ // $_globals['constStrings'][] = applyTemplate( 'DOXYGEN', $typeMeta['documentation']['en'] );
+ //}
+ for( $i = 0; $i < count( $typeMeta['enum'] ); $i++ ) {
+ //print "static const daeString ". strtoupper( $typeMeta['type'] ) . "_" . $typeMeta['enum'][$i];
+ //print " = \"". $typeMeta['enum'][$i] ."\";\n";
+ if ( isset( $typeMeta['enum_documentation'][$i] ) ) {
+ $_globals['constStrings'][] = "/**\n * ". $typeMeta['enum_documentation'][$i] ."\n */\n";
+ }
+ $conststrnm = strtoupper( $typeMeta['type'] ) . "_" . $typeMeta['enum'][$i];
+ $conststr = "\"". $typeMeta['enum'][$i] ."\";\n";
+ $_globals['constStrings'][$conststrnm] = $conststr;
+ }
+ $_globals['constStrings'][] = "\n";
+ }
+ }
+ }
+
+ // ATTRIBUTES
+ if ( count( $bag['attributes'] ) > 0 || $bag['useXMLNS'] )
+ {
+ print $indent ."protected: // Attribute". (count( $bag['attributes'] ) > 1 ? 's' : '') ."\n";
+
+ if ( $bag['useXMLNS'] ) {
+ print $indent ."\t/**\n". $indent ."\t * This element may specify its own xmlns.\n". $indent ."\t */\n";
+ print $indent ."\txsAnyURI attrXmlns;\n";
+ }
+ foreach( $bag['attributes'] as $attr_name => & $a_list )
+ {
+ $type = $a_list['type'];
+ if ( preg_match( "/xs\:/", $type ) ) {
+ $type = substr( $type, 3 );
+ $pre = "xs";
+ }
+ else {
+ $pre = $_globals['prefix'];
+ }
+ if ( $type == '' )
+ {
+ $type = "String";
+ }
+ if ( isset( $a_list['documentation'] ) ) {
+ print applyTemplate( 'DOXYGEN', $a_list['documentation'] );
+ }
+ print $indent ."\t" . $pre . ucfirst( $type ) . " attr" . ucfirst($attr_name) .";\n";
+ }
+ }
+
+ // ELEMENTS
+ if ( count( $bag['attributes'] > 0 ) ) { print "\n"; }
+
+ if ( (count( $bag['elements'] ) > 0 && !$bag['isRestriction']) || $bag['has_any'] )
+ {
+
+ print $indent ."protected: // Element". (count( $bag['elements'] ) > 1 ? 's' : '') ."\n";
+ $needsContents = false;
+ for( $i=0; $i<count( $bag['elements'] ); $i++ )
+ {
+ $maxOccurs = $bag['element_attrs'][ $bag['elements'][$i] ]['maxOccurs'];
+// $minOccurs = $bag['element_attrs'][ $bag['elements'][$i] ]['minOccurs'];
+// print " // minOccurs=$minOccurs, maxOccurs=$maxOccurs\n";
+ $maxOccurs = ($maxOccurs == 'unbounded' || $maxOccurs > 1);
+ if ( isset( $bag['element_documentation'][ $bag['elements'][$i] ] ) ) {
+ $bag['element_documentation'][ $bag['elements'][$i] ] .= " @see " . $_globals['prefix'] . ucfirst( $bag['elements'][$i] );
+ print applyTemplate( 'DOXYGEN', $bag['element_documentation'][ $bag['elements'][$i] ] );
+ }
+ if ( isset( $bag['element_attrs'][ $bag['elements'][$i] ]['type'] ) &&
+ isset( $meta[$bag['element_attrs'][ $bag['elements'][$i] ]['type']] ) ){
+ print $indent ."\t" . $_globals['prefix'] . ucfirst( $bag['element_attrs'][ $bag['elements'][$i] ]['type'] ) . ($maxOccurs ? "_Array" : "Ref") . " elem" . ucfirst($bag['elements'][$i]) . ($maxOccurs ? "_array" : "") . ";\n";
+ }
+ else {
+ print $indent ."\t" . $_globals['prefix'] . ucfirst( $bag['elements'][$i] ) . ($maxOccurs ? "_Array" : "Ref") . " elem" . ucfirst($bag['elements'][$i]) . ($maxOccurs ? "_array" : "") . ";\n";
+ }
+ if ( isset( $meta[$bag['elements'][$i]] ) ) {
+ if( count( $meta[$bag['elements'][$i]]['substitutableWith']) > 0 ) {
+ $needsContents = true;
+ }
+ }
+ }
+ if ( $bag['hasChoice'] || $needsContents || $bag['has_any'] )
+ {
+ print $indent ."\t/**\n". $indent ."\t * Used to preserve order in elements that do not specify strict sequencing of sub-elements.";
+ print "\n". $indent ."\t */\n";
+ print $indent ."\tdaeElementRefArray _contents;\n";
+ print $indent ."\t/**\n". $indent ."\t * Used to preserve order in elements that have a complex content model.";
+ print "\n". $indent ."\t */\n";
+ print $indent ."\tdaeUIntArray _contentsOrder;\n\n";
+ }
+ if ( $bag['hasChoice'] )
+ {
+ print $indent ."\t/**\n". $indent ."\t * Used to store information needed for some content model objects.\n";
+ print $indent ."\t */\n". $indent ."\tdaeTArray< daeCharArray * > _CMData;\n\n";
+ }
+ }
+
+ //VALUE
+ // NOTE: special casing any element with 'mixed' content model to ListOfInts type _value
+ if ( ($bag['content_type'] != '' || $bag['mixed']) && !$bag['abstract'] )
+ {
+ print $indent ."protected: // Value\n";
+
+ $content_type = $bag['content_type'];
+ if ( preg_match( "/xs\:/", $content_type ) ) {
+ $content_type = substr( $content_type, 3 );
+ $pre = "xs";
+ }
+ else {
+ $pre = $_globals['prefix'];
+ }
+ //if ( !strcmp( $pre . ucfirst( $content_type ), $full_element_name ) ) {
+ if ( $bag['parent_meta']['inline_elements'] != NULL && array_key_exists( $content_type, $bag['parent_meta']['inline_elements'] ) ) {
+ $pre = '::' . $pre;
+ }
+ print $indent ."\t/**\n". $indent ."\t * The " . $pre . ucfirst( $content_type ) ." value of the text data of this element. ";
+ print "\n". $indent ."\t */\n";
+ print $indent ."\t".$pre . ucfirst( $content_type ) ." _value;\n";
+ }
+
+ if ( $bag['complex_type'] && !$bag['isAComplexType'] )
+ {
+ $bag2 = $bag;
+ $bag2['attributes'] = array_merge( $meta[$bag['base_type']]['attributes'], $bag['attributes'] );
+ printAttributes( $bag2, $typemeta, $indent, true );
+ }
+
+ if ( $_globals['accessorsAndMutators'] && ( $bag['useXMLNS'] || count($bag['attributes'])>0 ||
+ count($bag['elements'])>0 ||( ($bag['content_type'] != '' || $bag['mixed']) && !$bag['abstract'] ) ) ) {
+
+ //generate accessors and mutators for everything
+ print "\n". $indent ."public:\t//Accessors and Mutators\n";
+ printAttributes( $bag, $typemeta, $indent, !$bag['isAComplexType'] );
+
+ $needsContents = false;
+ for( $i=0; $i<count( $bag['elements'] ); $i++ ) {
+ $maxOccurs = $bag['element_attrs'][ $bag['elements'][$i] ]['maxOccurs'];
+ $maxOccurs = ($maxOccurs == 'unbounded' || $maxOccurs > 1);
+ $type = '';
+ if ( isset( $bag['element_attrs'][ $bag['elements'][$i] ]['type'] ) &&
+ isset( $meta[$bag['element_attrs'][ $bag['elements'][$i] ]['type']] ) ){
+
+ $type = $_globals['prefix'] . ucfirst( $bag['element_attrs'][ $bag['elements'][$i] ]['type'] ) . ($maxOccurs ? "_Array" : "Ref");
+ }
+ else {
+ $type = $_globals['prefix'] . ucfirst( $bag['elements'][$i] ) . ($maxOccurs ? "_Array" : "Ref");
+ }
+ $name = ucfirst($bag['elements'][$i]) . ($maxOccurs ? "_array" : "");
+ if ( $maxOccurs ) {
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Gets the ". $bag['elements'][$i] ." element array.\n";
+ print $indent ."\t * @return Returns a reference to the array of ". $bag['elements'][$i] ." elements.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\t". $type ." &get". $name ."() { return elem". $name ."; }\n";
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Gets the ". $bag['elements'][$i] ." element array.\n";
+ print $indent ."\t * @return Returns a constant reference to the array of ". $bag['elements'][$i] ." elements.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tconst ". $type ." &get". $name ."() const { return elem". $name ."; }\n";
+ //print $indent ."\tvoid set". $name ."( ". $type ." *e". $name ." ) { elem". $name ." = *e". $name ."; }\n\n";
+ }
+ else {
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Gets the ". $bag['elements'][$i] ." element.\n";
+ print $indent ."\t * @return a daeSmartRef to the ". $bag['elements'][$i] ." element.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tconst ". $type ." get". $name ."() const { return elem". $name ."; }\n";
+ //print $indent ."\tvoid set". $name ."( ". $type ." &e". $name ." ) { elem". $name ." = e". $name ."; }\n\n";
+ }
+
+ if ( isset( $meta[$bag['elements'][$i]] ) ) {
+ if( count( $meta[$bag['elements'][$i]]['substitutableWith']) > 0 ) {
+ $needsContents = true;
+ }
+ }
+ }
+
+ if ( $bag['hasChoice'] || $needsContents || $bag['has_any'] )
+ {
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Gets the _contents array.\n";
+ print $indent ."\t * @return Returns a reference to the _contents element array.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tdaeElementRefArray &getContents() { return _contents; }\n";
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Gets the _contents array.\n";
+ print $indent ."\t * @return Returns a constant reference to the _contents element array.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tconst daeElementRefArray &getContents() const { return _contents; }\n\n";
+ }
+
+ if ( ($bag['content_type'] != '' || $bag['mixed']) && !$bag['abstract'] )
+ {
+ $type = $bag['content_type'];
+ if ( preg_match( "/xs\:/", $type ) ) {
+ $type = substr( $type, 3 );
+ $pre = "xs";
+ }
+ else {
+ $pre = $_globals['prefix'];
+ }
+ $baseStringTypes = "xsDateTime xsID xsNCName xsNMTOKEN xsName xsToken xsString";
+ $baseType = $pre . ucfirst( $type );
+ if ( isset( $typemeta[$type] ) ) {
+ $typeInfo = $typemeta[$type];
+ while ( $typeInfo['base'] != '' && isset( $typemeta[$typeInfo['base']] ) ) {
+ $typeInfo = $typemeta[$typeInfo['base']];
+ if ( preg_match( "/xs\:/", $typeInfo['type'] ) ) {
+ $baseType = "xs" . ucfirst( substr( $typeInfo['type'], 3 ) );
+ }
+ else {
+ $baseType = $_globals['prefix'] . ucfirst( $typeInfo['type'] );
+ }
+ }
+ }
+ //if ( !strcmp( $pre . ucfirst( $type ), $full_element_name ) ) {
+ if ( $bag['parent_meta']['inline_elements'] != NULL && array_key_exists( $type, $bag['parent_meta']['inline_elements'] ) ) {
+ $pre = '::' . $pre;
+ }
+ if ( (isset( $typemeta[$content_type] ) && $typemeta[$content_type]['isArray']) || $content_type == 'IDREFS' ) {
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Gets the _value array.\n";
+ print $indent ."\t * @return Returns a ". $pre . ucfirst( $type ) ." reference of the _value array.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\t".$pre . ucfirst( $type ) ." &getValue() { return _value; }\n";
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Gets the _value array.\n";
+ print $indent ."\t * @return Returns a constant ". $pre . ucfirst( $type ) ." reference of the _value array.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tconst ".$pre . ucfirst( $type ) ." &getValue() const { return _value; }\n";
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Sets the _value array.\n";
+ print $indent ."\t * @param val The new value for the _value array.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tvoid setValue( const ". $pre . ucfirst( $type ) ." &val ) { _value = val; }\n\n";
+ //print $indent ."\t _meta->getValueAttribute()->setIsValid(true); }\n\n";
+ }
+ else if ( ucfirst($type) == 'AnyURI' ) {
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Gets the value of this element.\n";
+ print $indent ."\t * @return Returns a ". $pre . ucfirst( $type ) ." of the value.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\t".$pre . ucfirst( $type ) ." &getValue() { return _value; }\n";
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Gets the value of this element.\n";
+ print $indent ."\t * @return Returns a constant ". $pre . ucfirst( $type ) ." of the value.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tconst ".$pre . ucfirst( $type ) ." &getValue() const { return _value; }\n";
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Sets the _value of this element.\n";
+ print $indent ."\t * @param val The new value for this element.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tvoid setValue( const ". $pre . ucfirst( $type ) ." &val ) { _value = val; }\n";
+ // We add a setter that takes a plain string to help with backward compatibility
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Sets the _value of this element.\n";
+ print $indent ."\t * @param val The new value for this element.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tvoid setValue( xsString val ) { _value = val; }\n\n";
+ }
+ else if( ucfirst($type) == 'IDREF' ) {
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Gets the value of this element.\n";
+ print $indent ."\t * @return Returns a ". $pre . ucfirst( $type ) ." of the value.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\t".$pre . ucfirst( $type ) ." &getValue() { return _value; }\n";
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Gets the value of this element.\n";
+ print $indent ."\t * @return Returns a constant ". $pre . ucfirst( $type ) ." of the value.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tconst ".$pre . ucfirst( $type ) ." &getValue() const { return _value; }\n";
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Sets the _value of this element.\n";
+ print $indent ."\t * @param val The new value for this element.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tvoid setValue( const ". $pre . ucfirst( $type ) ." &val ) { _value = val; }\n\n";
+ //print $indent ."\t _meta->getValueAttribute()->setIsValid(true); }\n\n";
+ }
+ else if ( strstr( $baseStringTypes, $baseType ) !== FALSE && count( $typemeta[$type]['enum'] ) == 0 ) {
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Gets the value of this element.\n";
+ print $indent ."\t * @return Returns a ". $pre . ucfirst( $type ) ." of the value.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\t".$pre . ucfirst( $type ) ." getValue() const { return _value; }\n";
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Sets the _value of this element.\n";
+ print $indent ."\t * @param val The new value for this element.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tvoid setValue( ". $pre . ucfirst( $type ) ." val ) { *(daeStringRef*)&_value = val; }\n\n";
+ }
+ else {
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Gets the value of this element.\n";
+ print $indent ."\t * @return a ". $pre . ucfirst( $type ) ." of the value.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\t".$pre . ucfirst( $type ) ." getValue() const { return _value; }\n";
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Sets the _value of this element.\n";
+ print $indent ."\t * @param val The new value for this element.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tvoid setValue( ". $pre . ucfirst( $type ) ." val ) { _value = val; }\n\n";
+ //print $indent ."\t _meta->getValueAttribute()->setIsValid(true); }\n\n";
+ }
+ }
+ }
+
+ //CONSTRUCTORS
+ if ( !$bag['isAComplexType'] ) {
+ printConstructors( $full_element_name, $bag, $baseClasses, $indent );
+ }
+ else {
+ printConstructors( $full_element_name ."_complexType", $bag, $baseClasses, $indent );
+
+ print $indent ."};\n\n";
+ print $indent ."/**\n". $indent ." * An element of type ". $full_element_name ."_complexType.\n". $indent ." */\n";
+ print $indent ."class ". $full_element_name ." : public daeElement, public ". $full_element_name ."_complexType\n";
+ print $indent ."{\n";
+ print $indent ."public:\n";
+ print $indent ."\tvirtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::". strtoupper($bag['element_name']) ."; }\n";
+ print $indent ."\tstatic daeInt ID() { return ". $_globals['typeID']++ ."; }\n";
+ print $indent ."\tvirtual daeInt typeID() const { return ID(); }\n";
+
+ if ( $_globals['accessorsAndMutators'] && ( $bag['useXMLNS'] || count($bag['attributes'])>0 ) ) {
+ //generate accessors and mutators for everything
+ print "\n". $indent ."public:\t//Accessors and Mutators\n";
+ printAttributes( $bag, $typemeta, $indent, true );
+ }
+
+ $dummy = array();
+ printConstructors( $full_element_name, $dummy, array("daeElement", $full_element_name . "_complexType"), $indent );
+ }
+
+ print "\n".$indent ."public: // STATIC METHODS\n";
+ print $indent ."\t/**\n". $indent ."\t * Creates an instance of this class and returns a daeElementRef referencing it.\n";
+ print $indent ."\t * @return a daeElementRef referencing an instance of this object.\n". $indent ."\t */\n";
+ print $indent ."\tstatic DLLSPEC ". $_globals['meta_prefix'] ."ElementRef create(DAE& dae);\n";
+ print $indent ."\t/**\n". $indent ."\t * Creates a daeMetaElement object that describes this element in the meta object reflection framework.";
+ print "\n". $indent ."\t * If a daeMetaElement already exists it will return that instead of creating a new one. \n";
+ print $indent ."\t * @return A daeMetaElement describing this COLLADA element.\n". $indent ."\t */\n";
+ print $indent ."\tstatic DLLSPEC ". $_globals['meta_prefix'] ."MetaElement* registerElement(DAE& dae);\n";
+ print $indent ."};\n\n";
diff --git a/1.4.0/dom/codeGen/1.4/tpl/tpl-constants-cpp-file.php b/1.4.0/dom/codeGen/1.4/tpl/tpl-constants-cpp-file.php
new file mode 100644
index 0000000..c6141e2
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/tpl/tpl-constants-cpp-file.php
@@ -0,0 +1,16 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+// Grab the file name and save the output
+$_file = $_globals['prefix'] . "Constants.cpp";
+$_bytes = file_put_contents( ($_globals['target_dir'] . $_globals['dom_dir'] . 'src/' . $_file), applyTemplate( 'CONSTANTS_CPP', $bag ) );
+
+//if ( $_bytes > 0 ) { print "Wrote $_bytes bytes to file '$_file'\n"; }
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/tpl/tpl-constants-cpp.php b/1.4.0/dom/codeGen/1.4/tpl/tpl-constants-cpp.php
new file mode 100644
index 0000000..30d113d
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/tpl/tpl-constants-cpp.php
@@ -0,0 +1,36 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+if ( $_globals['copyright'] ) {
+print $_globals['copyright_text'];
+}
+?>
+#include <dom/domConstants.h>
+
+<?php
+ foreach ($bag as $name => $val ) {
+ if ( is_int($name) ) {
+ print $val;
+ continue;
+ }
+ print "DLLSPEC daeString ". $name ." = ". $val;
+ }
+ print "\n";
+
+ foreach ($_globals['elementTypes'] as $num => $val )
+ {
+ print "DLLSPEC daeString COLLADA_TYPE_". getUniqueName($val, $_globals['elementTypes']) ." = \"". $val ."\";\n";
+ }
+ print "\n";
+
+ foreach ($_globals['elementNames'] as $num => $val )
+ {
+ print "DLLSPEC daeString COLLADA_ELEMENT_". getUniqueName($val, $_globals['elementNames']) ." = \"". $val ."\";\n";
+ }
+?>
diff --git a/1.4.0/dom/codeGen/1.4/tpl/tpl-constants-file.php b/1.4.0/dom/codeGen/1.4/tpl/tpl-constants-file.php
new file mode 100644
index 0000000..8bfc456
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/tpl/tpl-constants-file.php
@@ -0,0 +1,16 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+// Grab the file name and save the output
+$_file = $_globals['prefix'] . "Constants.h";
+$_bytes = file_put_contents( ($_globals['target_dir'] . $_globals['dom_dir']. 'include/' . $_file), applyTemplate( 'CONSTANTS', $bag ) );
+
+//if ( $_bytes > 0 ) { print "Wrote $_bytes bytes to file '$_file'\n"; }
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/tpl/tpl-constants.php b/1.4.0/dom/codeGen/1.4/tpl/tpl-constants.php
new file mode 100644
index 0000000..199e849
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/tpl/tpl-constants.php
@@ -0,0 +1,42 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+if ( $_globals['copyright'] ) {
+print $_globals['copyright_text'];
+}
+?>
+#ifndef __DOM_CONSTANTS_H__
+#define __DOM_CONSTANTS_H__
+
+#include <dae/daeDomTypes.h>
+
+<?php
+ foreach ($bag as $name => $val ) {
+ if ( is_int($name) ) {
+ print $val;
+ continue;
+ }
+ print "extern DLLSPEC daeString ". $name .";\n";
+ }
+ print "\n";
+
+ foreach ($_globals['elementTypes'] as $num => $val )
+ {
+ print "extern DLLSPEC daeString COLLADA_TYPE_". getUniqueName($val, $_globals['elementTypes']) .";\n";
+ }
+ print "\n";
+
+ foreach ($_globals['elementNames'] as $num => $val )
+ {
+ print "extern DLLSPEC daeString COLLADA_ELEMENT_". getUniqueName($val, $_globals['elementNames']) .";\n";
+ }
+?>
+
+#endif //__DOM_CONSTANTS_H__
+
diff --git a/1.4.0/dom/codeGen/1.4/tpl/tpl-cpp-body.php b/1.4.0/dom/codeGen/1.4/tpl/tpl-cpp-body.php
new file mode 100644
index 0000000..757e953
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/tpl/tpl-cpp-body.php
@@ -0,0 +1,25 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+if ( $_globals['copyright'] ) {
+print $_globals['copyright_text'];
+}
+?>
+#include <dae.h>
+#include <<?= $_globals['meta_prefix'] ?>/daeDom.h>
+#include <<?= $_globals['prefix'] ?>/<?= $_globals['prefix'] . ucfirst( $bag['element_name'] ) . ".h" ?>>
+#include <<?= $_globals['meta_prefix'] ?>/daeMetaCMPolicy.h>
+#include <<?= $_globals['meta_prefix'] ?>/daeMetaSequence.h>
+#include <<?= $_globals['meta_prefix'] ?>/daeMetaChoice.h>
+#include <<?= $_globals['meta_prefix'] ?>/daeMetaGroup.h>
+#include <<?= $_globals['meta_prefix'] ?>/daeMetaAny.h>
+#include <<?= $_globals['meta_prefix'] ?>/daeMetaElementAttribute.h>
+
+<?= applyTemplate( 'CPP_METHODS', $bag ) ?>
+<?= applyTemplate( 'CPP_STATIC', $bag ) ?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/tpl/tpl-cpp-methods.php b/1.4.0/dom/codeGen/1.4/tpl/tpl-cpp-methods.php
new file mode 100644
index 0000000..754df8c
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/tpl/tpl-cpp-methods.php
@@ -0,0 +1,462 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+ global $meta;
+ global $typemeta;
+
+ $_context = $bag['context'];
+ for( $i=0; $i<count( $_context ); $i++ )
+ {
+ $_context[$i] = $_globals['prefix'] . ucfirst( $_context[$i] );
+ }
+ $scoped_element = implode( '::', $_context );
+
+ /*if ( $bag['has_any'] ) {
+ foreach ( $meta as $nm => $lm ) {
+ if ( !$lm['isAGroup'] && !$lm['isAComplexType'] && !$lm['abstract'] ) {
+ print "#include <". $_globals['prefix'] ."/". $_globals['prefix'] . ucfirst($nm).".h>\n";
+ }
+ }
+ print "\n";
+ }*/
+
+ if ( $scoped_element == "domCOLLADA" ) {
+ print "extern daeString COLLADA_VERSION;\n";
+ print "extern daeString COLLADA_NAMESPACE;\n\n";
+ }
+?><?= $_globals['meta_prefix'] ?>ElementRef
+<?= $scoped_element ?>::create(DAE& dae)
+{
+ <?= $scoped_element ?>Ref ref = new <?= $scoped_element ?>(dae);
+<?php
+ if ( $bag['useXMLNS'] ) {
+ print "\tref->attrXmlns.setContainer( (". $scoped_element ."*)ref );\n";
+ }
+ foreach( $bag['attributes'] as $attr_name => & $a_list ) {
+ if ( $a_list['type'] == 'xs:anyURI' || $a_list['type'] == 'URIFragmentType' ) {
+ print "\tref->attr". ucfirst($attr_name) .".setContainer( (". $scoped_element ."*)ref );\n";
+ }
+ }
+ if ( $bag['content_type'] == 'xs:anyURI' || $bag['content_type'] == 'URIFragmentType' ) {
+ print "\tref->_value.setContainer( (". $scoped_element ."*)ref );\n";
+ }
+ if ( $scoped_element == "domCOLLADA" ) {
+ print "\tref->_meta = dae.getMeta(domCOLLADA::ID());\n";
+ print "\tref->setAttribute(\"version\", COLLADA_VERSION );\n";
+ print "\tref->setAttribute(\"xmlns\", COLLADA_NAMESPACE );\n";
+ print "\tref->_meta = NULL;\n";
+ }
+?>
+ return ref;
+}
+
+<?php
+ if( $bag['complex_type'] && !$bag['isRestriction'] ) {
+ //print "element ". $bag['element_name'] ." is of base ". $bag['base_type'] ."\n";
+ //import content model from type
+ $bag['elements'] = array_merge( $meta[$bag['base_type']]['elements'], $bag['elements'] );
+ $bag['element_attrs'] = array_merge( $meta[$bag['base_type']]['element_attrs'], $bag['element_attrs'] );
+ $bag['content_type'] = $meta[$bag['base_type']]['content_type'];
+ $bag['attributes'] = array_merge( $meta[$bag['base_type']]['attributes'], $bag['attributes'] );
+ $tempArray = array();
+ if ( count( $bag['content_model'] ) > 0 ) {
+ //we have an addition to the content model - need to add a starting sequence
+ $tempArray[] = array( 'name' => 0, 'minOccurs' => 1, 'maxOccurs' => 1 );
+ }
+ $tempArray = array_merge( $tempArray, $meta[$bag['base_type']]['content_model'] );
+ array_pop( $tempArray ); //remove the last END token
+ $tempArray = array_merge( $tempArray, $bag['content_model'] );
+ if ( count( $bag['content_model'] ) > 0 ) {
+ //we have an addition to the content model - need to add a starting sequence
+ $tempArray[] = array( 'name' => 5, 'minOccurs' => 1, 'maxOccurs' => 1 );
+ }
+ $bag['content_model'] = $tempArray;
+ }
+
+ for( $i=0; $i<count( $bag['elements'] ); $i++ ) {
+ if ( isset( $meta[$bag['elements'][$i]] ) ) {
+ $cnt = count( $meta[$bag['elements'][$i]]['substitutableWith']);
+ for ( $c = 0; $c < $cnt; $c++ ) {
+ $subwith = $meta[$bag['elements'][$i]]['substitutableWith'][$c];
+ print $prefix ."#include <". $_globals['prefix'] ."/". $_globals['prefix'] . ucfirst( $subwith ) .".h>\n";
+ }
+ }
+ }
+?>
+
+<?= $_globals['meta_prefix'] ?>MetaElement *
+<?= $scoped_element ?>::registerElement(DAE& dae)
+{
+ <?= $_globals['meta_prefix'] ?>MetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "<?= $bag['element_name'] ?>" );
+ meta->registerClass(<?= $scoped_element ?>::create);
+
+<?php
+ if ( $bag['isAGroup'] ) {
+ print "\tmeta->setIsTransparent( true );\n";
+ }
+ if ( $bag['abstract'] ) {
+ print "\tmeta->setIsAbstract( true );\n";
+ }
+ if ( isset( $bag['parent_meta'] ) ) {
+ print "\tmeta->setIsInnerClass( true );\n";
+ }
+
+ if ( count( $bag['elements'] ) > 0 || $bag['has_any'] )
+ {
+ print "\tdaeMetaCMPolicy *cm = NULL;\n";
+ if ( !$bag['has_any'] ) {
+ print "\tdaeMetaElementAttribute *mea = NULL;\n";
+ }
+
+ $needsContents = false;
+ $cmTree = array();
+ $currentCM = NULL;
+ $currentOrd = 0;
+ $level = 0;
+ $choiceNum = 0;
+ for( $i=0; $i<count( $bag['content_model'] ) - 1; $i++ )
+ {
+ $cm = $bag['content_model'][$i];
+ if ( $cm['maxOccurs'] == "unbounded" )
+ {
+ $cm['maxOccurs'] = -1;
+ }
+ if ( is_int( $cm['name'] ) )
+ {
+ if ( $cm['name'] == 0 ) //sequence
+ {
+ //if ( $level > 0 ) {
+ // $needsContents = true;
+ //}
+
+ // !!!steveT Horrible hack here. For some reason the wrong value gets generated for
+ // the third parameter
+ if (strcmp($scoped_element, "domCamera::domOptics::domTechnique_common::domPerspective") == 0)
+ print "\tcm = new daeMetaSequence( meta, cm, 0, ". $cm['minOccurs'] .", ". $cm['maxOccurs'] ." );\n\n";
+ else
+ print "\tcm = new daeMetaSequence( meta, cm, ". $currentOrd .", ". $cm['minOccurs'] .", ". $cm['maxOccurs'] ." );\n\n";
+
+ $level++;
+ $currentCM = array( 'cm' => $currentCM['cm'], 'ord' => $currentOrd );
+ array_push( $cmTree, $currentCM );
+ $currentCM = array( 'cm' => $cm, 'ord' => $currentOrd );
+ $currentOrd = 0;
+ }
+ else if ( $cm['name'] == 1 ) //choice
+ {
+ print "\tcm = new daeMetaChoice( meta, cm, ". $choiceNum .", ". $currentOrd .", ". $cm['minOccurs'] .", ". $cm['maxOccurs'] ." );\n\n";
+ $level++;
+ $needsContents = true;
+ $currentCM = array( 'cm' => $currentCM['cm'], 'ord' => $currentOrd );
+ array_push( $cmTree, $currentCM );
+ $currentCM = array( 'cm' => $cm, 'ord' => $currentOrd );
+ $currentOrd = 0;
+ $choiceNum++;
+ }
+ else if ( $cm['name'] == 2 ) //group
+ {
+ $i++; //groups actually add two parts to the content model. The first is the group the second an element
+ $groupName = $bag['content_model'][$i]['name'];
+ $arrayOrNot = $bag['element_attrs'][ $groupName ]['maxOccurs'];
+ if ( $arrayOrNot == 'unbounded' || $arrayOrNot > 1 ) {
+ $arrayOrNot = true;
+ }
+ else {
+ $arrayOrNot = false;
+ }
+?>
+ mea = new daeMetaElement<?= $arrayOrNot ? 'Array' : '' ?>Attribute( meta, cm, <?= $currentOrd ?>, <?= $cm['minOccurs'] ?>, <?= $cm['maxOccurs'] ?> );
+ mea->setName( "<?= $groupName ?>" );
+ mea->setOffset( daeOffsetOf(<?= $scoped_element ?>,elem<?= ucfirst( $groupName ) ?><?= $arrayOrNot ? '_array' : '' ?>) );
+ mea->setElementType( <?= $_globals['prefix'] . ucfirst( $groupName ) ?>::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, <?= $currentOrd ?>, <?= $cm['minOccurs'] ?>, <?= $cm['maxOccurs'] ?> ) );
+
+<?php
+ if ( $currentCM['cm']['name'] == 0 ) {
+ $currentOrd++;
+ }
+ }
+ else if ( $cm['name'] == 3 ) //all
+ {
+ //print "\tcm = new daeMetaAll( meta, cm, ". $cm['minOccurs'] .", ". $cm['maxOccurs'] ." );\n";
+ $level++;
+ $needsContents = true;
+ $currentCM = array( 'cm' => $currentCM['cm'], 'ord' => $currentOrd );
+ array_push( $cmTree, $currentCM );
+ $currentCM = array( 'cm' => $cm, 'ord' => $currentOrd );
+ $currentOrd = 0;
+ }
+ else if ( $cm['name'] == 4 ) //any
+ {
+ $level++;
+ print "\tcm = new daeMetaAny( meta, cm, ". $currentOrd .", ". $cm['minOccurs'] .", ". $cm['maxOccurs'] ." );\n\n";
+ if ( $currentCM['cm']['name'] == 0 ) {
+ $currentOrd++;
+ }
+ }
+ else if ( $cm['name'] == 5 ) //end
+ {
+ $level--;
+ if ( $level > 0 )
+ {
+?>
+ cm->setMaxOrdinal( <?= ($currentOrd-1 >= 0)? $currentOrd-1 : 0 ?> );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+<?php
+ }
+ //----------------------
+ if ( $currentCM['cm']['name'] == 0 ) {
+ $tempMaxO = $currentCM['cm']['maxOccurs'];
+ $currentCM = array_pop( $cmTree );
+ if ( $tempMaxO == -1 ) {
+ $currentOrd = $currentCM['ord'] + 3000;
+ }
+ else {
+ $currentOrd = $currentCM['ord'] + $tempMaxO*$currentOrd;
+ }
+ }
+ else {
+ $tempMaxO = $currentCM['cm']['maxOccurs'];
+ if ( $tempMaxO == -1 ) $tempMaxO = 3001;
+ $currentCM = array_pop( $cmTree );
+ $currentOrd = $currentCM['ord'] + $tempMaxO;
+ }
+ }
+ }
+ else //got an element name
+ {
+ $arrayOrNot = $bag['element_attrs'][ $cm['name'] ]['maxOccurs'];
+ if ( $arrayOrNot == 'unbounded' || $arrayOrNot > 1 ) {
+ $arrayOrNot = true;
+ }
+ else {
+ $arrayOrNot = false;
+ }
+ $typeClass = $_globals['prefix'] . ucfirst( $cm['name'] );
+
+ if ( !in_array( $cm['name'], $bag['ref_elements'] ) && !$bag['complex_type'] ) {
+ $typeClass = $scoped_element ."::". $typeClass;
+ }
+ if ( isset( $bag['element_attrs'][ $cm['name'] ]['type'] ) &&
+ isset( $meta[$bag['element_attrs'][ $cm['name'] ]['type']] ) ){
+
+ $typeClass = $_globals['prefix'] . ucfirst( $bag['element_attrs'][ $cm['name'] ]['type'] );
+ }
+?>
+ mea = new daeMetaElement<?= $arrayOrNot ? 'Array' : '' ?>Attribute( meta, cm, <?= $currentOrd ?>, <?= $cm['minOccurs'] ?>, <?= $cm['maxOccurs'] ?> );
+ mea->setName( "<?= $cm['name'] ?>" );
+ mea->setOffset( daeOffsetOf(<?= $scoped_element ?>,elem<?= ucfirst( $cm['name'] ) ?><?= $arrayOrNot ? '_array' : '' ?>) );
+ mea->setElementType( <?= $typeClass ?>::registerElement(dae) );
+ cm->appendChild( mea );
+
+<?php
+ if ( isset( $meta[$cm['name']] ) ) {
+ $cnt = count( $meta[$cm['name']]['substitutableWith']);
+ for ( $c = 0; $c < $cnt; $c++ ) {
+ $subwith = $meta[$cm['name']]['substitutableWith'][$c];
+?>
+ mea = new daeMetaElement<?= $arrayOrNot ? 'Array' : '' ?>Attribute( meta, cm, <?= $currentOrd ?>, <?= $cm['minOccurs'] ?>, <?= $cm['maxOccurs'] ?> );
+ mea->setName( "<?= $subwith ?>" );
+ mea->setOffset( daeOffsetOf(<?= $scoped_element ?>,elem<?= ucfirst( $cm['name'] ) ?><?= $arrayOrNot ? '_array' : '' ?>) );
+ mea->setElementType( <?= $_globals['prefix'] . ucfirst( $subwith ) ?>::registerElement(dae) );
+ cm->appendChild( mea );
+
+<?php
+ $needsContents = true;
+ }
+ }
+ if ( $currentCM['cm']['name'] == 0 ) {
+ $currentOrd++;
+ }
+ }
+ }
+?>
+ cm->setMaxOrdinal( <?= ($currentOrd-1 >= 0)? $currentOrd-1 : 0 ?> );
+ meta->setCMRoot( cm );
+<?php
+
+ if ( $bag['has_any'] ) {
+ $needsContents = true;
+ print "\tmeta->setAllowsAny( true );\n";
+ }
+
+ // For elements that allow more than one type of sub-element, _contents keeps an order for those sub-elements
+ if ( $bag['hasChoice'] || $needsContents ) {
+?>
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(<?= $scoped_element ?>,_contents));
+ meta->addContentsOrder(daeOffsetOf(<?= $scoped_element ?>,_contentsOrder));
+
+<?php
+ if ( $choiceNum > 0 )
+ {
+?>
+ meta->addCMDataArray(daeOffsetOf(<?= $scoped_element ?>,_CMData), <?= $choiceNum ?>);<?php
+ }
+ }
+ }
+
+ // TAKE CARE OF THE ENUM IF IT HAS ONE!!
+ if ( $bag['simple_type'] != NULL ) {
+ $typeMeta = $bag['simple_type']->getMeta();
+
+ if ( count( $typeMeta['enum'] ) > 0 && !$typeMeta['useConstStrings'] )
+ {
+?>
+ // ENUM: <?= ucfirst( $typeMeta['type'] ) ?>_type
+ daeAtomicType *type;
+ type = new daeEnumType;
+ type->_nameBindings.append("<?= ucfirst( $typeMeta['type'] ) ?>_type");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+<?php
+ foreach( $typeMeta['enum'] as $val )
+ {
+?>
+ ((daeEnumType*)type)->_strings->append("<?= $val ?>");
+ ((daeEnumType*)type)->_values->append(<?= strtoupper($typeMeta['type']) . "_" . $val ?>);
+<?php
+ }
+ print "\tdaeAtomicType::append( type );\n\n";
+ }
+ }
+
+ // NOTE: special casing any element with 'mixed' content model to ListOfInts type _value
+ $pre = '';
+ if (($bag['content_type'] != '' || $bag['mixed']) && !$bag['abstract'] ) {
+?>
+ // Add attribute: _value
+ {
+<?php
+ $content_type = ( $bag['mixed'] ? 'ListOfInts' : $bag['content_type'] );
+ if ( preg_match( "/xs\:/", $content_type ) ) {
+ $content_type = substr( $content_type, 3 );
+ $pre = 'xs';
+ }
+ //print "\t\tdaeMetaAttribute* ma = daeMetaAttribute::makeAttrForType(\"". ucfirst($content_type) ."\");\n";
+ if ( (isset( $typemeta[$content_type] ) && $typemeta[$content_type]['isArray']) || $content_type == 'IDREFS' ) {
+ print "\t\tdaeMetaAttribute *ma = new daeMetaArrayAttribute;\n";
+ }
+ else {
+ print "\t\tdaeMetaAttribute *ma = new daeMetaAttribute;\n";
+ }
+?>
+ ma->setName( "_value" );
+<?php
+ //if ( $bag['mixed'] ) {
+ // print "#ifdef POLYGONS_MIXED_CONTENT_MODEL_HOLES\n\t\tma->setType( daeAtomicType::get(\"ListOfStrings\"));\n";
+ // print "#else\n\t\tma->setType( daeAtomicType::get(\"ListOfInts\"));\n#endif\n";
+ //}
+ //else {
+ print "\t\tma->setType( dae.getAtomicTypes().get(\"". $pre. ucfirst($content_type) ."\"));\n";
+ //}
+?>
+ ma->setOffset( daeOffsetOf( <?= $scoped_element ?> , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+<?php
+ }
+
+ if ( $bag['useXMLNS'] ) {
+ ?>
+ // Add attribute: xmlns
+ {
+ daeMetaAttribute* ma = new daeMetaAttribute;
+ ma->setName( "xmlns" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( <?= $scoped_element ?> , attrXmlns ));
+ ma->setContainer( meta );
+ //ma->setIsRequired( true );
+ meta->appendAttribute(ma);
+ }
+ <?php
+ }
+
+ foreach( $bag['attributes'] as $attr_name => $attr_attrs )
+ {
+ $_type = $attr_attrs['type'];
+ $printType;
+ if ( preg_match( "/xs\:/", $_type ) ) {
+ $_type = 'xs' . ucfirst( substr( $_type, 3 ) );
+ $printType = $_type;
+ }
+ else {
+ $printType = ucfirst( $_type );
+ }
+?>
+
+ // Add attribute: <?= $attr_name . "\n" ?>
+ {
+<?php
+ /*print "\t//". $_type ." is set ";
+ if ( isset( $typemeta[$_type] ) ) print "true\n";
+ else print "false\n";
+
+ print "\t//is array ";
+ if ( $typemeta[$_type]['isArray'] ) print "true\n";
+ else print "false\n";*/
+
+ if ( isset( $typemeta[$_type] ) && $typemeta[$_type]['isArray'] ) {
+ print "\t\tdaeMetaAttribute *ma = new daeMetaArrayAttribute;\n";
+ }
+ else {
+ print "\t\tdaeMetaAttribute *ma = new daeMetaAttribute;\n";
+ }
+?>
+ ma->setName( "<?= $attr_name ?>" );
+ ma->setType( dae.getAtomicTypes().get("<?= $printType ?>"));
+ ma->setOffset( daeOffsetOf( <?= $scoped_element ?> , attr<?= ucfirst($attr_name) ?> ));
+ ma->setContainer( meta );
+<?php
+ if ( isset( $attr_attrs['default'] ) )
+ {
+?> ma->setDefaultString( "<?= $attr_attrs['default'] ?>");
+<?php
+ }
+
+ if ( isset( $attr_attrs['use'] ) ) {
+ $required = $attr_attrs['use'] == 'required' ? 'true' : 'false';
+
+?> ma->setIsRequired( <?= $required ?> );
+<?php
+ }
+?>
+ meta->appendAttribute(ma);
+ }
+<?php
+ }
+?>
+
+ meta->setElementSize(sizeof(<?= $scoped_element ?>));
+ meta->validate();
+
+ return meta;
+}
+
+<?php
+ $_keys = array_keys( $bag['inline_elements'] );
+ if ( count( $_keys ) > 0 )
+ {
+ foreach( $_keys as $_k )
+ {
+ $inner = $bag['inline_elements'][ $_k ];
+ if ( !$inner['complex_type'] || $inner['isRestriction'] || $inner['isExtension'] ) {
+ print applyTemplate( 'CPP_METHODS', $inner );
+ }
+ }
+ }
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/tpl/tpl-cpp-static.php b/1.4.0/dom/codeGen/1.4/tpl/tpl-cpp-static.php
new file mode 100644
index 0000000..80508b1
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/tpl/tpl-cpp-static.php
@@ -0,0 +1,29 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+ $_context = $bag['context'];
+ for( $i=0; $i<count( $_context ); $i++ )
+ {
+ $_context[$i] = $_globals['prefix'] . ucfirst( $_context[$i] );//. "_element";
+ }
+?>
+<?php
+//}
+ $keys = array_keys( $bag['inline_elements'] );
+ if ( count( $keys ) > 0 )
+ {
+ foreach( $keys as $k )
+ {
+ $inner = $bag['inline_elements'][ $k ];
+ if ( !$inner['complex_type'] || $inner['isRestriction'] || $inner['isExtension'] ) {
+ print applyTemplate( 'CPP_STATIC', $inner );
+ }
+ }
+ }
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/tpl/tpl-cpp.php b/1.4.0/dom/codeGen/1.4/tpl/tpl-cpp.php
new file mode 100644
index 0000000..49c3b42
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/tpl/tpl-cpp.php
@@ -0,0 +1,16 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+// Grab the file name and save the output
+$_file = $_globals['prefix'] . ucfirst( $bag['element_name'] ) . ".cpp";
+$_bytes = file_put_contents( ($_globals['target_dir'] . $_globals['dom_dir'] . 'src/' . $_file), applyTemplate( 'CPP', $bag ) );
+
+//if ( $_bytes > 0 ) { print "Wrote $_bytes bytes to file '$_file'\n"; }
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/tpl/tpl-dot-h.php b/1.4.0/dom/codeGen/1.4/tpl/tpl-dot-h.php
new file mode 100644
index 0000000..6d14e57
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/tpl/tpl-dot-h.php
@@ -0,0 +1,28 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+if ( $_globals['copyright'] ) {
+print $_globals['copyright_text'];
+}
+?>#ifndef __<?= $_globals['prefix'] . ucfirst( $bag['element_name'] ) ?>_h__
+#define __<?= $_globals['prefix'] . ucfirst( $bag['element_name'] ) ?>_h__
+
+#include <dae/daeDocument.h>
+#include <<?= $_globals['prefix'] . '/' . $_globals['prefix'] ?>Types.h>
+#include <<?= $_globals['prefix'] . '/' . $_globals['prefix'] ?>Elements.h>
+
+<?php
+global $includeList;
+$includeList = array();
+print applyTemplate( 'INCLUDES', $bag ) ?>
+class DAE;
+
+<?= applyTemplate( 'CLASS', $bag ) ?>
+
+#endif
diff --git a/1.4.0/dom/codeGen/1.4/tpl/tpl-doxygen.php b/1.4.0/dom/codeGen/1.4/tpl/tpl-doxygen.php
new file mode 100644
index 0000000..30a6d6d
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/tpl/tpl-doxygen.php
@@ -0,0 +1,38 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+global $indent;
+// Add doxygen formatted comments
+
+print $indent ."/**\n";
+
+//$_local_doc = $bag['documentation'][ $_globals['language'] ];
+$_local_doc = str_replace( "\n", " ", $bag );
+$_local_doc = str_replace( "\t", "", $_local_doc );
+while( strlen( $_local_doc ) > 0 )
+{
+ if ( preg_match( "/(.{0,70}[^\s]*)(\s*)/", $_local_doc, $matches ) )
+ {
+ // Print blocks of 70 chars thru the next word
+ print $indent ." * " . $matches[1] . "\n";
+
+ // Account for any newlines
+ /*$n_newlines = preg_match_all( "/\n/", $matches[2], $buf );
+ if ( $n_newlines > 0 )
+ {
+ for( $i=0; $i<$n_newlines; $i++ ) { print " * \n"; }
+ }*/
+
+ // Find more lines...
+ $_local_doc = substr( $_local_doc, strlen( $matches[0] ) );
+ }
+}
+
+print $indent ." */\n";
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/tpl/tpl-elements-file.php b/1.4.0/dom/codeGen/1.4/tpl/tpl-elements-file.php
new file mode 100644
index 0000000..4e5694d
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/tpl/tpl-elements-file.php
@@ -0,0 +1,16 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+// Grab the file name and save the output
+$_file = $_globals['prefix'] . "Elements.h";
+$_bytes = file_put_contents( ($_globals['target_dir'] . $_globals['dom_dir'] . 'include/' . $_file), applyTemplate( 'ELEMENTS', $bag ) );
+
+//if ( $_bytes > 0 ) { print "Wrote $_bytes bytes to file '$_file'\n"; }
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/tpl/tpl-elements.php b/1.4.0/dom/codeGen/1.4/tpl/tpl-elements.php
new file mode 100644
index 0000000..f16d2af
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/tpl/tpl-elements.php
@@ -0,0 +1,31 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+if ( $_globals['copyright'] ) {
+print $_globals['copyright_text'];
+}
+?>
+#ifndef __DOM_ELEMENTS_H__
+#define __DOM_ELEMENTS_H__
+
+#include <<?= $_globals['prefix'] ?>/<?= $_globals['prefix'] ?>Types.h>
+
+<?php
+//Base elements
+foreach( $bag as $name => $meta ) {
+ $full_element_name = $_globals['prefix'] . ucfirst( $name );
+ print "class " . $full_element_name . ";\n\n";
+ print "typedef daeSmartRef<". $full_element_name ."> ". $full_element_name ."Ref;\n";
+ print "typedef daeTArray<". $full_element_name ."Ref> ". $full_element_name ."_Array;\n\n";
+}
+
+?>
+
+#endif //__DOM_ELEMENTS_H__
+
diff --git a/1.4.0/dom/codeGen/1.4/tpl/tpl-header.php b/1.4.0/dom/codeGen/1.4/tpl/tpl-header.php
new file mode 100644
index 0000000..07dad80
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/tpl/tpl-header.php
@@ -0,0 +1,16 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+// Grab the file name and save the output
+$_file = $_globals['prefix'] . ucfirst( $bag['element_name'] ) . ".h";
+$_bytes = file_put_contents( ($_globals['target_dir'] . $_globals['dom_dir'] . 'include/' . $_file), applyTemplate( 'HEADER', $bag ) );
+
+//if ( $_bytes > 0 ) { print "dom/" . $_globals['prefix'] . ucfirst( $bag['element_name'] ) . ".obj "; }
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/tpl/tpl-include-list.php b/1.4.0/dom/codeGen/1.4/tpl/tpl-include-list.php
new file mode 100644
index 0000000..f09c278
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/tpl/tpl-include-list.php
@@ -0,0 +1,13 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+?>/* --- DO NOT REMOVE THIS LINE --- SNIP_SDK_COPYRIGHT_C_BEGIN
+ * --- DO NOT REMOVE THIS LINE --- SNIP_SDK_COPYRIGHT_C_END */
+
+<?= implode( "\n", $_globals['include_list'] ) ?>
+
diff --git a/1.4.0/dom/codeGen/1.4/tpl/tpl-includes.php b/1.4.0/dom/codeGen/1.4/tpl/tpl-includes.php
new file mode 100644
index 0000000..be4be90
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/tpl/tpl-includes.php
@@ -0,0 +1,32 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+ // INCLUDES
+ $inc = array();
+ global $includeList;
+ for( $i=0; $i<count( $bag['ref_elements'] ); $i++ )
+ {
+ if ( !in_array( $_globals['prefix'] . ucfirst( $bag['ref_elements'][$i] ), $includeList ) ) {
+ $inc[] = "#include <" . $_globals['prefix'] . "/" . $_globals['prefix'] . ucfirst( $bag['ref_elements'][$i] ) . ".h>";
+ $includeList[] = $_globals['prefix'] . ucfirst( $bag['ref_elements'][$i] );
+ }
+ }
+ if ( count( $inc ) ) { //only print if you have to include something
+ print implode( "\n", $inc ) . "\n";
+ }
+
+ $keys = array_keys( $bag['inline_elements'] );
+ if ( count( $keys ) > 0 )
+ {
+ foreach( $keys as $k )
+ {
+ print applyTemplate( 'INCLUDES', $bag['inline_elements'][ $k ] );
+ }
+ }
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/tpl/tpl-types-cpp-file.php b/1.4.0/dom/codeGen/1.4/tpl/tpl-types-cpp-file.php
new file mode 100644
index 0000000..16f15c6
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/tpl/tpl-types-cpp-file.php
@@ -0,0 +1,16 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+// Grab the file name and save the output
+$_file = $_globals['prefix'] . "Types.cpp";
+$_bytes = file_put_contents( ($_globals['target_dir'] . $_globals['dom_dir'] . 'src/' . $_file), applyTemplate( 'TYPES_CPP', $bag ) );
+
+//if ( $_bytes > 0 ) { print "Wrote $_bytes bytes to file '$_file'\n"; }
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/tpl/tpl-types-cpp.php b/1.4.0/dom/codeGen/1.4/tpl/tpl-types-cpp.php
new file mode 100644
index 0000000..b6199d2
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/tpl/tpl-types-cpp.php
@@ -0,0 +1,136 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+if ( $_globals['copyright'] ) {
+print $_globals['copyright_text'];
+}
+?>
+#include <dae.h>
+#include <<?= $_globals['prefix'] . '/' . $_globals['prefix'] ?>Types.h>
+#include <dae/daeDom.h>
+#include <dom/domCOLLADA.h>
+
+<?php
+
+foreach( $bag as $type => $meta )
+{
+ if ( $meta['isComplex'] ) {
+ ?>#include <<?= $_globals['prefix'] . '/' . $_globals['prefix'] . ucfirst( $type ) ?>.h>
+<?php
+ }
+}
+
+?>
+
+void registerDomTypes(DAE& dae)
+{
+ daeAtomicType* type = NULL;
+ daeAtomicTypeList& atomicTypes = dae.getAtomicTypes();
+
+<?php
+
+foreach( $bag as $type => $meta )
+{
+ if ( count( $meta['enum'] ) > 0 && !$meta['useConstStrings'] )
+ {?>
+ // ENUM: <?= ucfirst( $type ) ?>
+
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("<?= ucfirst( $type ) ?>");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+<?php
+ foreach( $meta['enum'] as $val )
+ {?>
+ ((daeEnumType*)type)->_strings->append("<?= $val ?>");
+<?php $val = str_replace( '.', '_', $val ); ?>
+ ((daeEnumType*)type)->_values->append(<?= strtoupper($type) . "_" . $val ?>);
+<?php
+ }
+ print "\tatomicTypes.append( type );\n\n";
+ }
+ elseif ( $meta['isComplex'] ) {
+ ?>
+ // COMPLEX TYPE: <?= ucfirst( $type ) ?>
+
+ type = new daeElementRefType(dae);
+ type->_nameBindings.append("<?= ucfirst( $type ) ?>");
+ atomicTypes.append( type );
+
+<?php
+ }
+ /*else if ( $meta['union_type'] ) { //union type
+ ?>
+ // ENUM: <?= ucfirst( $type ) ?>
+
+ type = new daeEnumType;
+ type->_nameBindings.append("<?= ucfirst( $type ) ?>");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+<?php
+ $types = explode( ' ', $meta['union_members'] );
+ foreach ( $types as $typeName ) {
+ if ( isset( $bag[$typeName] ) && count($bag[$typeName]['enum']) > 0 ) {
+ foreach( $bag[$typeName]['enum'] as $val )
+ {?>
+ ((daeEnumType*)type)->_strings->append("<?= $val ?>");
+<?php $val = str_replace( '.', '_', $val ); ?>
+ ((daeEnumType*)type)->_values->append(<?= strtoupper($type) . "_" . $val ?>);
+<?php
+ }
+ }
+ }
+ print "\tatomicTypes.append( type );\n\n";
+ } */
+ else if ( !$meta['useConstStrings'] ) { //standard typedef
+ $base = strlen( $meta['base'] ) > 0 ? $meta['base'] : $meta['listType'];
+ if ( preg_match( "/xs\:/", $base ) ) {
+ $base = 'xs' . ucfirst( substr( $base, 3 ) );
+ }
+ else {
+ $base = ucfirst( $base );
+ }
+ ?>
+ // TYPEDEF: <?= ucfirst( $type ) ?>
+ //check if this type has an existing base
+<?php
+ //special casing URIFragmentType to be a xsURI for automatic resolution
+ if ( $type == 'URIFragmentType' ) {
+ print "\ttype = atomicTypes.get(\"xsAnyURI\");\n";
+ }
+ else {
+ print "\ttype = atomicTypes.get(\"". $base ."\");\n";
+ }
+?>
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("<?= ucfirst( $type ) ?>");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("<?= ucfirst( $type ) ?>");
+ }
+
+<?php
+ }
+}
+?>
+}
+
+daeMetaElement* registerDomElements(DAE& dae)
+{
+ daeMetaElement* meta = domCOLLADA::registerElement(dae);
+ // Enable tracking of top level object by default
+ meta->setIsTrackableForQueries(true);
+ return meta;
+}
+
+daeInt DLLSPEC colladaTypeCount() {
+ return <?php /* +1 for <any> */ print ($_globals['typeID']+1); ?>;
+}
diff --git a/1.4.0/dom/codeGen/1.4/tpl/tpl-types-header-file.php b/1.4.0/dom/codeGen/1.4/tpl/tpl-types-header-file.php
new file mode 100644
index 0000000..e635bae
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/tpl/tpl-types-header-file.php
@@ -0,0 +1,16 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+// Grab the file name and save the output
+$_file = $_globals['prefix'] . "Types.h";
+$_bytes = file_put_contents( ($_globals['target_dir'] . $_globals['dom_dir'] . 'include/' . $_file), applyTemplate( 'TYPES_HEADER', $bag ) );
+
+//if ( $_bytes > 0 ) { print "Wrote $_bytes bytes to file '$_file'\n"; }
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.4/tpl/tpl-types-header.php b/1.4.0/dom/codeGen/1.4/tpl/tpl-types-header.php
new file mode 100644
index 0000000..52c7e57
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.4/tpl/tpl-types-header.php
@@ -0,0 +1,172 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+if ( $_globals['copyright'] ) {
+print $_globals['copyright_text'];
+}
+?>
+#ifndef __DOM_TYPES_H__
+#define __DOM_TYPES_H__
+
+#include <dae/daeDomTypes.h>
+
+<?php
+//BASIC TYPES
+foreach( $bag as $type => $meta )
+{
+ if ( count( $meta['enum'] ) == 0 && !$meta['isComplex'] ) {
+ if ( strlen( $meta['base'] ) > 0 ) { //has a base type
+ if ( preg_match( "/xs\:/", $meta['base'] ) ) {
+ $base = substr( $meta['base'], 3 );
+ $pre = 'xs';
+ }
+ else {
+ $base = $meta['base'];
+ $pre = $_globals['prefix'];
+ }
+ if ( isset( $meta['documentation']['en'] ) ) {
+ print applyTemplate( 'DOXYGEN', $meta['documentation']['en'] );
+ }
+ //special casing URIFragmentType to be a xsURI for automatic resolution
+ if ( $type == 'URIFragmentType' ) {
+ print "typedef xsAnyURI\t\tdomURIFragmentType;\n";
+ }
+ else {
+ print "typedef " . $pre . ucfirst($base) . "\t\t" . $_globals['prefix'] . ucfirst( $type ) . ";\n";
+ }
+ }
+ elseif ( strlen( $meta['listType'] ) > 0 ) { //is a list type
+ if ( isset( $meta['documentation']['en'] ) ) {
+ print applyTemplate( 'DOXYGEN', $meta['documentation']['en'] );
+ }
+ if ( preg_match( "/xs\:/", $meta['listType'] ) ) {
+ $lt = substr( $meta['listType'], 3 );
+ print "typedef xs" . ucfirst($lt) . "Array\t\t" . $_globals['prefix'] . ucfirst( $type ) . ";\n";
+ }
+ else {
+ $lt = $meta['listType'];
+ print "typedef daeTArray<" . $_globals['prefix'] . ucfirst($lt) . ">\t\t" . $_globals['prefix'] . ucfirst( $type ) . ";\n";
+ }
+ }
+ }
+}
+
+print "\n";
+
+//ENUMS
+foreach( $bag as $type => $meta )
+{
+ if ( count( $meta['enum'] ) > 0 )
+ {
+ if ( !$meta['useConstStrings'] ) {
+ //Decided to name mangle the enum constants so they are more descriptive and avoid collisions
+ if ( isset( $meta['documentation']['en'] ) ) {
+ print applyTemplate( 'DOXYGEN', $meta['documentation']['en'] );
+ }
+ print "enum " . $_globals['prefix'] . ucfirst( $type ) . " {\n";
+ for( $i = 0; $i < count( $meta['enum'] ); $i++ ) {
+ $val = $meta['enum'][$i];
+ $val = str_replace( '.', '_', $val );
+ print "\t" . strtoupper( $type ) . "_" . $val;
+ if ( isset( $meta['enum_value'][$i] ) ) {
+ print " = ". $meta['enum_value'][$i];
+ }
+ //else if ($i==0) {
+ // print " = 1";
+ //}
+ print ",";
+ if ( isset( $meta['enum_documentation'][$i] ) ) {
+ print "\t\t/**< ". $meta['enum_documentation'][$i] ." */";
+ }
+ print "\n";
+ }
+ $cnt = count($meta['enum']);
+ //if ( !isset($meta['enum_value'][0]) ) {
+ // $cnt++;
+ //}
+ print "\t". strtoupper( $type ) . "_COUNT = ". $cnt;
+ print "\n};\n\n";
+ }
+ else {
+ for( $i = 0; $i < count( $meta['enum'] ); $i++ ) {
+ if ( isset( $meta['enum_documentation'][$i] ) ) {
+ $_globals['constStrings'][] = "/**\n * ". $meta['enum_documentation'][$i] ."\n */\n";
+ }
+ $conststrnm = strtoupper( $type ) . "_" . $meta['enum'][$i];
+ $conststr = "\"". $meta['enum'][$i] ."\";\n";
+ $_globals['constStrings'][$conststrnm] = $conststr;
+ }
+ $_globals['constStrings'][] = "\n";
+ }
+ }
+}
+
+//UNIONS
+foreach( $bag as $type => & $meta )
+{
+ if ( $meta['union_type'] )
+ {
+ if ( isset( $meta['documentation']['en'] ) ) {
+ print applyTemplate( 'DOXYGEN', $meta['documentation']['en'] );
+ }
+ print "enum " . $_globals['prefix'] . ucfirst( $type ) . " {\n";
+
+ //tokenize memberTypes string
+ $types = explode( ' ', $meta['union_members'] );
+ //look up the members
+ $cnt = 1;
+ foreach ( $types as $typeName ) {
+ if ( isset( $bag[$typeName] ) && count($bag[$typeName]['enum']) > 0 ) {
+ //print all of their enum children
+ for( $i = 0; $i < count( $bag[$typeName]['enum'] ); $i++ ) {
+ $val = $bag[$typeName]['enum'][$i];
+ $val = str_replace( '.', '_', $val );
+ if ( in_array( $val, $meta['enum'] ) ) {
+ continue;
+ }
+ $meta['enum'][] = $val;
+ print "\t" . strtoupper( $type ) . "_" . $val;
+ if ( isset( $bag[$typeName]['enum_value'][$i] ) ) {
+ print " = ". $bag[$typeName]['enum_value'][$i];
+ }
+ else if ($i==0) {
+ print " = 1";
+ }
+ print ",";
+ if ( isset( $bag[$typeName]['enum_documentation'][$i] ) ) {
+ print "\t\t/**< ". $bag[$typeName]['enum_documentation'][$i] ." */";
+ }
+ print "\n";
+ $cnt++;
+ }
+ }
+ }
+ print "\t". strtoupper( $type ) . "_COUNT = ". $cnt;
+ print "\n};\n\n";
+ }
+}
+
+?>
+//Element Type Enum
+namespace COLLADA_TYPE
+{
+ const int
+ NO_TYPE = 0,
+ ANY = 1<?php
+ foreach( $_globals['elementTypes'] as $num => $val )
+ print ",\n\t\t". getUniqueName($val, $_globals['elementTypes']) ." = ". ($num+2);
+ print ";"
+?>
+
+}
+
+// Returns the total number of schema types/dom* classes
+daeInt DLLSPEC colladaTypeCount();
+
+#endif
diff --git a/1.4.0/dom/codeGen/1.5/gen.php b/1.4.0/dom/codeGen/1.5/gen.php
new file mode 100644
index 0000000..3cd8a5d
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/gen.php
@@ -0,0 +1,158 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+// COMMAND LINE: bin/php.exe gen.php collada.xsd [minimal]
+// Note: must be run from home directory of code generator (i.e. where gen.php lives)
+
+ini_set("memory_limit", "256M");
+
+if ( file_exists( $argv[1] ) ) { $collada_file = $argv[1]; }
+else
+{
+ die( "Can't find COLLADA file '" . $argv[1] . "'\n" );
+}
+
+
+require_once( 'src/SchemaParser.php' );
+require_once( 'om/object-model.php' );
+require_once( 'tpl/template-engine.php' );
+
+// Returns either a capitalized or non-capitalized version of the name, thus helping us
+// avoid name clashes. For example, say we have an element called 'rgb' and an element
+// called 'RGB'. They're both going to map to the name constant 'COLLADA_ELEMENT_RGB'.
+// Instead, use COLLADA_ELEMENT_rgb for the 'rgb' element.
+function getUniqueName($name, $array) {
+ $uniqueName = strtoupper($name);
+ if (array_search($uniqueName, $array) !== FALSE) {
+ $uniqueName = $name;
+ }
+ return $uniqueName;
+}
+
+
+if ( preg_match( "/min/i", $argv[2] ) || preg_match( "/min/i", $argv[3] ) ) {
+ $_globals['full_code'] = false;
+}
+if ( preg_match( "/cprt/i", $argv[2] ) || preg_match( "/cprt/i", $argv[3] ) ) {
+ $_globals['copyright'] = true;
+}
+
+$_globals['accessorsAndMutators'] = true;
+
+$p = new SchemaParser();
+$p->parse( $collada_file );
+
+
+initGen( $collada_file );
+
+
+$pop = $p->root_elements[0];
+
+//Grab the collada version number
+$_globals['constStrings']['COLLADA_VERSION'] = "\"". $pop->getAttribute('version') . "\";\n";
+//Grab the collada namespace
+$_globals['constStrings']['COLLADA_NAMESPACE'] = "\"". $pop->getAttribute('xmlns') . "\";\n\n";
+
+// Grab simple types and collect meta-data for code-gen
+$t_list = $pop->getElementsByType( 'xsSimpleType' );
+
+
+$typemeta = array();
+
+for( $i=0; $i<count( $t_list ); $i++ )
+{
+ $local_meta = & $t_list[$i]->generate();
+ $typemeta[ $local_meta['type'] ] = & $local_meta;
+ //print "Type: ". $local_meta['type'] ." created\n";
+}
+
+function propogateArrayTypes( &$lmeta ) {
+ global $typemeta;
+ if ( $lmeta['isArray'] ) {
+ return;
+ }
+ if( isset( $typemeta[$lmeta['base']] ) ) {
+ propogateArrayTypes( $typemeta[$lmeta['base']] );
+ $lmeta['isArray'] = $typemeta[$lmeta['base']]['isArray'];
+ }
+ //print $lmeta['type'] ." isArray = ". $lmeta['isArray'] ."\n";
+}
+foreach( $typemeta as $k => &$local_meta ) {
+ propogateArrayTypes( $local_meta );
+}
+
+//Grab global complex types and make them available for all who need them
+
+$_globals['complex_types'] = $pop->getElementsByType( 'xsComplexType' );
+
+//generate type meta data
+//print applyTemplate( 'TYPES_HEADER_FILE', $typemeta );
+//print applyTemplate( 'TYPES_CPP_FILE', $typemeta );
+
+$element_context = array();
+$meta = array();
+
+print "COMPLEX TYPES\n";
+for( $i=0; $i<count( $_globals['complex_types'] ); $i++ )
+{
+ $local_meta = & $_globals['complex_types'][$i]->generate( $element_context, $_globals['global_elements'] );
+ $meta[ $local_meta['element_name'] ] = & $local_meta;
+}
+
+//collect element meta-data for code-gen
+
+//Grab global groups and make them available for all who need them
+$_globals['groups'] = $pop->getElementsByType( 'xsGroup' );
+//collect meta-data for code-gen
+print "GROUPS\n";
+for( $i=0; $i<count( $_globals['groups'] ); $i++ )
+{
+ $local_meta = & $_globals['groups'][$i]->generate( $element_context, $_globals['global_elements'] );
+ $meta[ $local_meta['element_name'] ] = & $local_meta;
+}
+
+// Grab global elements and collect meta-data for code-gen
+$e_list = $pop->getElementsByType( 'xsElement' );
+
+print "ELEMENTS\n";
+
+for( $i=0; $i<count( $e_list ); $i++ )
+{
+ $local_meta = & $e_list[$i]->generate( $element_context, $_globals['global_elements'] );
+ $meta[ $local_meta['element_name'] ] = & $local_meta;
+}
+
+//propogate the substitutableWith lists and attributes inherited by type
+foreach( $meta as $k => &$local_meta ) {
+ if ( $local_meta['substitution_group'] != '' ) {
+ $meta[$local_meta['substitution_group']]['substitutableWith'][] = $k;
+ //$meta[$local_meta['substitution_group']]['ref_elements'][] = $k;
+ //print $local_meta['substitution_group'] ." sub with ". $k ."\n";
+ }
+}
+
+$indentNum = 0;
+// Generate header files
+$includeList = array();
+foreach( $meta as $k => &$local_meta )
+{
+ // Generate the dom
+ print applyTemplate( 'HEADER_FILE', $local_meta );
+ print applyTemplate( 'CPP_FILE', $local_meta );
+}
+
+print applyTemplate( 'TYPES_HEADER_FILE', $typemeta );
+print applyTemplate( 'TYPES_CPP_FILE', $typemeta );
+
+print applyTemplate( 'ELEMENTS_FILE', $meta );
+print applyTemplate( 'CONSTANTS_FILE', $_globals['constStrings'] );
+print applyTemplate( 'CONSTANTS_CPP_FILE', $_globals['constStrings'] );
+cleanupGen();
+
+?>
diff --git a/1.4.0/dom/codeGen/1.5/om/base-types.php b/1.4.0/dom/codeGen/1.5/om/base-types.php
new file mode 100644
index 0000000..75cd110
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/om/base-types.php
@@ -0,0 +1,187 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class _type
+{
+ var $type = array();
+
+ function _type()
+ {
+ $this->type[] = "MotherOfAllTypes";
+ }
+
+ function isOfType( $type )
+ {
+ return( $type == $this->type[ count( $this->type ) - 1 ] );
+ }
+
+ function getType()
+ {
+ $type = "NULL";
+ if ( count( $this->type ) > 0 ) { $type = $this->type[ 0 ]; }
+ return $type;
+ }
+
+ function isAncestor( $type )
+ {
+ return in_array( $type, $this->type );
+ }
+}
+
+class _typedData extends _type
+{
+ var $data;
+
+ var $attributeMeta = array();
+ var $attributes = array();
+
+ function _typedData()
+ {
+ $this->type[] = "TypedData";
+ parent::_type();
+ }
+
+ function _addAttribute( $name, $meta )
+ {
+ $this->attributeMeta[ $name ] = $meta;
+ }
+
+ function setAttribute( $name, $value )
+ {
+ // Make sure we know about the attribute before setting it
+ if ( isset( $this->attributeMeta[ $name ] ) )
+ {
+ $this->attributes[ $name ] = $value;
+ }
+ }
+
+ function getAttribute( $name )
+ {
+ $val = "";
+ if ( isset( $this->attributeMeta[ $name ] ) && isset( $this->attributes[ $name ] ) ) {
+ $val = $this->attributes[ $name ];
+ }
+ return $val;
+ }
+
+ function & getAttributes()
+ {
+ return $this->attributes;
+ }
+
+ function set( & $buffer )
+ {
+ $this->data = $buffer;
+ }
+
+ function append( & $buffer )
+ {
+ $this->data .= $buffer;
+ }
+
+ function get()
+ {
+ return $this->data;
+ }
+}
+
+class _elementSet extends _typedData
+{
+ var $elementMeta = array();
+ var $elements = array();
+
+ function _elementSet()
+ {
+ $this->_addAttribute( 'minOccurs', array( 'type' => 'xs:integer' ) );
+ $this->setAttribute( 'minOccurs', '1' );
+ $this->_addAttribute( 'maxOccurs', array( 'type' => 'xs:integer' ) );
+ $this->setAttribute( 'maxOccurs', '1' );
+
+ $this->type[] = "ElementSet";
+ parent::_typedData();
+ }
+
+ function _addElement( $name, $attrs )
+ {
+ $this->elementMeta[ $name ] = $attrs;
+ }
+
+ function addElement( & $e )
+ {
+ if ( in_array( $e->getType(), array_keys( $this->elementMeta ) ) )
+ {
+ $this->elements[] = & $e;
+ } else
+ {
+ print "Invalid element ". $e->getType() ."in ". $this->getType() ."\n";
+ $this->log( "WARN: " . $e->getType() . " not a valid member of " . $this->getType() );
+ }
+ }
+
+ function & getElements()
+ {
+ return $this->elements;
+ }
+
+ function & getElementsByType( $type )
+ {
+ $list = array();
+ for( $i=0; $i<count( $this->elements ); $i++ )
+ {
+ if ( $this->elements[$i]->getType() == $type )
+ {
+ $list[] = & $this->elements[$i];
+ }
+ }
+ return $list;
+ }
+
+ function setElement( $name, & $value )
+ {
+ $this->elements[ $name ] = $value;
+ }
+
+ function exists( $name )
+ {
+ return isset( $this->elements[ $name ] );
+ }
+
+ function delete( $name )
+ {
+ unset( $this->elements[ $name ] );
+ }
+
+ function _delete( $name )
+ {
+ $this->delete( $name );
+ unset( $this->elementMeta[ $name ] );
+ }
+
+ function getCount()
+ {
+ return count( $this->elements );
+ }
+
+ function findTypeByName( $name )
+ {
+ for ( $i = 0; $i < count( $GLOBALS['_globals']['complex_types'] ); $i++ ) {
+ if ( !strcmp($name, $GLOBALS['_globals']['complex_types'][$i]->getAttribute('name') ) ) {
+ return $GLOBALS['_globals']['complex_types'][$i];
+ }
+ }
+ for ( $i = 0; $i < count( $GLOBALS['_globals']['simple_types'] ); $i++ ) {
+ if ( !strcmp($name, $GLOBALS['_globals']['simple_types'][$i]->getAttribute('name') ) ) {
+ return $GLOBALS['_globals']['simple_types'][$i];
+ }
+ }
+ }
+
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.5/om/object-model.php b/1.4.0/dom/codeGen/1.5/om/object-model.php
new file mode 100644
index 0000000..271c04b
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/om/object-model.php
@@ -0,0 +1,43 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+require_once( 'om/base-types.php' );
+
+require_once( 'om/xsAll.php' );
+require_once( 'om/xsAnnotation.php' );
+require_once( 'om/xsAny.php' );
+require_once( 'om/xsAttribute.php' );
+require_once( 'om/xsChoice.php' );
+require_once( 'om/xsComplexContent.php' );
+require_once( 'om/xsComplexType.php' );
+require_once( 'om/xsAll.php' );
+require_once( 'om/xsDocumentation.php' );
+require_once( 'om/xsAppinfo.php' );
+require_once( 'om/xsElement.php' );
+require_once( 'om/xsEnumeration.php' );
+require_once( 'om/xsExtension.php' );
+require_once( 'om/xsGroup.php' );
+require_once( 'om/xsList.php' );
+require_once( 'om/xsMaxLength.php' );
+require_once( 'om/xsMaxExclusive.php' );
+require_once( 'om/xsMaxInclusive.php' );
+require_once( 'om/xsMinLength.php' );
+require_once( 'om/xsMinExclusive.php' );
+require_once( 'om/xsMinInclusive.php' );
+require_once( 'om/xsPattern.php' );
+require_once( 'om/xsRestriction.php' );
+require_once( 'om/xsSchema.php' );
+require_once( 'om/xsSequence.php' );
+require_once( 'om/xsSimpleContent.php' );
+require_once( 'om/xsSimpleType.php' );
+require_once( 'om/xsUnion.php' );
+require_once( 'om/xsWhiteSpace.php' );
+require_once( 'om/xsImport.php' );
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.5/om/xsAll.php b/1.4.0/dom/codeGen/1.5/om/xsAll.php
new file mode 100644
index 0000000..bbe1b45
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/om/xsAll.php
@@ -0,0 +1,27 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsAll extends _elementSet
+{
+ function xsAll()
+ {
+ $this->_addElement( 'xsElement', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsAttribute', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+
+ $this->type[] = "xsAll";
+ parent::_elementSet();
+ }
+
+ function addAllElement( & $e )
+ {
+ $this->addElement( $e );
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.5/om/xsAnnotation.php b/1.4.0/dom/codeGen/1.5/om/xsAnnotation.php
new file mode 100644
index 0000000..b6fbd4b
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/om/xsAnnotation.php
@@ -0,0 +1,31 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsAnnotation extends _elementSet
+{
+ function xsAnnotation()
+ {
+ $this->_addElement( 'xsDocumentation', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsAppinfo', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+
+ $this->type[] = "xsAnnotation";
+ parent::_elementSet();
+
+ // Set bounds on number of elements allowable in annotation element
+ $this->setAttribute( 'minOccurs', '0' );
+ $this->setAttribute( 'maxOccurs', 'unbounded' );
+ }
+
+ function addAnnotationElement( & $e )
+ {
+ $this->addElement( $e );
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.5/om/xsAny.php b/1.4.0/dom/codeGen/1.5/om/xsAny.php
new file mode 100644
index 0000000..3a35831
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/om/xsAny.php
@@ -0,0 +1,27 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsAny extends _typedData
+{
+ function xsAny()
+ {
+ $this->_addAttribute( 'namespace', array( 'type' => 'xs:anyURI' ) );
+ $this->_addAttribute( 'processContents', array( 'type' => 'xs:string' ) );
+
+ $this->_addAttribute( 'minOccurs', array( 'type' => 'xs:integer' ) );
+ $this->setAttribute( 'minOccurs', '1' );
+ $this->_addAttribute( 'maxOccurs', array( 'type' => 'xs:integer' ) );
+ $this->setAttribute( 'maxOccurs', '1' );
+
+ $this->type[] = 'xsAny';
+ parent::_typedData();
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.5/om/xsAppinfo.php b/1.4.0/dom/codeGen/1.5/om/xsAppinfo.php
new file mode 100644
index 0000000..625296b
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/om/xsAppinfo.php
@@ -0,0 +1,19 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsAppinfo extends _typedData
+{
+ function xsAppinfo()
+ {
+ $this->type[] = "xsAppinfo";
+ parent::_typedData();
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.5/om/xsAttribute.php b/1.4.0/dom/codeGen/1.5/om/xsAttribute.php
new file mode 100644
index 0000000..f8aa845
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/om/xsAttribute.php
@@ -0,0 +1,27 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsAttribute extends _elementSet
+{
+ function xsAttribute()
+ {
+ $this->_addAttribute( 'name', array( 'type' => 'xs:string' ) );
+ $this->_addAttribute( 'type', array( 'type' => 'xs:string' ) );
+ $this->_addAttribute( 'use', array( 'type' => 'xs:string' ) );
+ $this->_addAttribute( 'default', array( 'type' => 'xs:string' ) );
+ $this->_addAttribute( 'ref', array( 'type' => 'xs:string' ) );
+
+ $this->_addElement( 'xsAnnotation', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+
+ $this->type[] = 'xsAttribute';
+ parent::_typedData();
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.5/om/xsChoice.php b/1.4.0/dom/codeGen/1.5/om/xsChoice.php
new file mode 100644
index 0000000..9d31c5d
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/om/xsChoice.php
@@ -0,0 +1,31 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsChoice extends _elementSet
+{
+ function xsChoice()
+ {
+ $this->_addElement( 'xsElement', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsAttribute', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsChoice', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsSequence', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsGroup', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsAnnotation', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+
+ $this->type[] = "xsChoice";
+ parent::_elementSet();
+ }
+
+ function addChoiceElement( & $e )
+ {
+ $this->addElement( $e );
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.5/om/xsComplexContent.php b/1.4.0/dom/codeGen/1.5/om/xsComplexContent.php
new file mode 100644
index 0000000..2dd1d74
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/om/xsComplexContent.php
@@ -0,0 +1,24 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsComplexContent extends _elementSet
+{
+ function xsComplexContent()
+ {
+ $this->_addElement( 'xsRestriction', array( 'minOccurs' => '1', 'maxOccurs' => '1' ) );
+ $this->_addElement( 'xsExtension', array( 'minOccurs' => '1', 'maxOccurs' => '1' ) );
+
+// $this->_addAttribute( 'name', array( 'type' => 'xs:string' ) );
+
+ $this->type[] = 'xsComplexContent';
+ parent::_elementSet();
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.5/om/xsComplexType.php b/1.4.0/dom/codeGen/1.5/om/xsComplexType.php
new file mode 100644
index 0000000..c134c1c
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/om/xsComplexType.php
@@ -0,0 +1,228 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsComplexType extends _elementSet
+{
+ function xsComplexType()
+ {
+ $this->_addElement( 'xsAnnotation', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsChoice', array( 'minOccurs' => '1', 'maxOccurs' => '1' ) );
+ $this->_addElement( 'xsAttribute', array( 'minOccurs' => '1', 'maxOccurs' => '1' ) );
+ $this->_addElement( 'xsSequence', array( 'minOccurs' => '1', 'maxOccurs' => '1' ) );
+ $this->_addElement( 'xsAll', array( 'minOccurs' => '1', 'maxOccurs' => '1' ) );
+ $this->_addElement( 'xsGroup', array( 'minOccurs' => '1', 'maxOccurs' => '1' ) );
+ $this->_addElement( 'xsSimpleContent', array( 'minOccurs' => '1', 'maxOccurs' => '1' ) );
+ $this->_addElement( 'xsComplexContent', array( 'minOccurs' => '1', 'maxOccurs' => '1' ) );
+
+ $this->_addAttribute( 'name', array( 'type' => 'xs:string' ) );
+ $this->_addAttribute( 'mixed', array( 'type' => 'xs:string', 'default' => 'false' ) );
+
+ $this->type[] = 'xsComplexType';
+ parent::_elementSet();
+ }
+
+ function & generate( $element_context, & $global_elements )
+ {
+ $element_context[] = $this->getAttribute( "name" );
+ print implode( ",", $element_context ) . "\n";
+
+ // Get new factory
+ $generator = new ElementMeta( $global_elements );
+ $generator->setIsAComplexType( true );
+
+ // Load the class name and a context pre-fix (in case we're inside another element)
+ $generator->setName( $this->getAttribute( 'name' ) );
+ $generator->setContext( $element_context );
+
+ // Extract any documentation for this node
+ $a = $this->getElementsByType( 'xsAnnotation' );
+ if ( count( $a ) > 0 )
+ {
+ $d = $a[0]->getElementsByType( 'xsDocumentation' );
+ if ( count( $d ) > 0 )
+ {
+ $generator->setDocumentation( $d[0]->get() );
+ }
+ }
+ if ( $this->getAttribute( 'mixed' ) == 'true' )
+ {
+ $generator->setMixed( true );
+ }
+
+ $content = $this; // Should only be one
+ $this->generateComplexType( $content, $generator, $element_context );
+
+ if ( count( $generator->bag['elements'] ) == 0 ) {
+ $generator->setIsEmptyContent( true );
+ }
+
+ $meta = & $generator->getMeta();
+
+ if ( count( $element_context ) == 1 )
+ {
+ $global_elements[ $element_context[0] ] = & $meta;
+ }
+
+ return $meta;
+ }
+
+ // Flatten choice/all/sequence groups into a single list of contained elements
+ function flatten( & $element, & $generator, & $context, $maxOccurs )
+ {
+ //print "in flatten ";
+ $e_list = $element->getElements();
+ for( $i=0; $i<count( $e_list ); $i++ )
+ {
+ switch( $e_list[$i]->getType() )
+ {
+ case 'xsChoice':
+ $generator->setHasChoice( true );
+ $generator->addContentModel( 1, $e_list[$i]->getAttribute( 'minOccurs' ), $e_list[$i]->getAttribute( 'maxOccurs' ) );
+ // Propagate the maxOccurs down through choice hierarchy (while flattening)
+ $local_max = $e_list[$i]->getAttribute( 'maxOccurs' );
+ if ( $maxOccurs == 'unbounded' || (is_int( $local_max ) && ($maxOccurs > $local_max)) )
+ {
+ $this->flatten( $e_list[$i], $generator, $context, $maxOccurs );
+ } else
+ {
+ $this->flatten( $e_list[$i], $generator, $context, $local_max );
+ }
+ break;
+ case 'xsSequence':
+ $generator->addContentModel( 0, $e_list[$i]->getAttribute( 'minOccurs' ), $e_list[$i]->getAttribute( 'maxOccurs' ) );
+ // Propagate the maxOccurs down through choice hierarchy (while flattening)
+ $local_max = $e_list[$i]->getAttribute( 'maxOccurs' );
+ if ( $maxOccurs == 'unbounded' || (is_int( $local_max ) && ($maxOccurs > $local_max)) )
+ {
+ $this->flatten( $e_list[$i], $generator, $context, $maxOccurs );
+ } else
+ {
+ $this->flatten( $e_list[$i], $generator, $context, $local_max );
+ }
+ break;
+ case 'xsAll':
+ $generator->addContentModel( 3, $e_list[$i]->getAttribute( 'minOccurs' ), $e_list[$i]->getAttribute( 'maxOccurs' ) );
+ // Propagate the maxOccurs down through choice hierarchy (while flattening)
+ $local_max = $e_list[$i]->getAttribute( 'maxOccurs' );
+ if ( $maxOccurs == 'unbounded' || (is_int( $local_max ) && ($maxOccurs > $local_max)) )
+ {
+ $this->flatten( $e_list[$i], $generator, $context, $maxOccurs );
+ } else
+ {
+ $this->flatten( $e_list[$i], $generator, $context, $local_max );
+ }
+ break;
+ case 'xsGroup':
+ $generator->addContentModel( 2, $e_list[$i]->getAttribute( 'minOccurs' ), $e_list[$i]->getAttribute( 'maxOccurs' ) );
+ $generator->addGroup( $e_list[$i] );
+ case 'xsElement':
+ $nm = $e_list[$i]->getAttribute( 'name' );
+ if ( $nm == '' ) { $nm = $e_list[$i]->getAttribute( 'ref' ); }
+ $generator->addContentModel( $nm, $e_list[$i]->getAttribute( 'minOccurs' ), $e_list[$i]->getAttribute( 'maxOccurs' ) );
+ //print "found element!\n";
+ // If a containing element/group has a maxOccurs > 1, then inherit it (will flag as array in code gen)
+ if ( $maxOccurs == 'unbounded' || $maxOccurs > 1 )
+ {
+ $e_list[$i]->setAttribute( 'maxOccurs', $maxOccurs );
+ }
+ $generator->addElement( $e_list[$i], $context );
+ break;
+ case 'xsAttribute':
+ //print "found attribute!\n";
+ $generator->addAttribute( $e_list[$i] );
+ break;
+ case 'xsAny':
+ print "found an any\n";
+ $generator->addContentModel( 4, $e_list[$i]->getAttribute( 'minOccurs' ), $e_list[$i]->getAttribute( 'maxOccurs' ) );
+ $generator->bag['has_any'] = true;
+ break;
+ default:
+ break;
+ }
+ }
+ $generator->addContentModel( 5, 0, 0 ); //END content model - There will be one extra on every element
+ }
+
+ //function that reads complex types. will recurse complex type derived heirarchies.
+ function generateComplexType( $content, & $generator, & $context ) {
+ //print "in generatecomplextype\n";
+ if ( count( $content->getElementsByType( 'xsSimpleContent' ) ) > 0 ) {
+ //print "found simpleContent!\n";
+ $temp = $content->getElementsByType( 'xsSimpleContent' );
+ $content = $temp[0]; // Should only be one - now we now find out element's parent class
+ $temp = & $content->getElements();
+ $content = $temp[0]; // Should either be an xsExtension or xsRestriction
+ $type = $content->getAttribute( 'base' );
+ //print "setting extends to ". $type ."\n";
+ $generator->setContentType( $type );
+ if ($content instanceof xsRestriction) {
+ $generator->bag['baseTypeViaRestriction'] = $type;
+ $generator->bag['base_type'] = $type;
+ }
+ $temp = & $content->getElementsByType( 'xsAttribute' );
+ for( $i=0; $i<count( $temp ); $i++ ) {
+ $generator->addAttribute( $temp[$i] );
+ }
+ } else if ( count( $content->getElementsByType( 'xsComplexContent' ) ) > 0 ) {
+ //print "found complexContent!\n";
+ //ComplexContent specified means type is derived
+ $temp = $content->getElementsByType( 'xsComplexContent' );
+ $content = $temp[0]; // Should only be one - now we now find out element's parent class
+ $temp = & $content->getElements();
+ $content = $temp[0]; // Should either be an xsExtension or xsRestriction
+ if ( $content->getType() == 'xsExtension' ) {
+ $generator->bag['isExtension'] = true;
+ }
+ if ( $content->getType() == 'xsRestriction' ) {
+ $generator->bag['isRestriction'] = true;
+ }
+ $type = $content->getAttribute( 'base' );
+ if ($content instanceof xsRestriction)
+ $generator->bag['baseTypeViaRestriction'] = $type;
+ //print "setting extends to ". $type ."\n";
+ $generator->bag['base_type'] = $type;
+ //Generate the complex type this is derived from
+ //*************CHANGE NEEDED HERE 8-25 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ for ( $i = 0; $i < count( $GLOBALS['_globals']['complex_types'] ); $i++ ) {
+ if ( $type == $GLOBALS['_globals']['complex_types'][$i]->getAttribute('name') ) {
+ $generator->setComplexType( true );
+ $generator->bag['ref_elements'][] = $type;
+ //$this->generateComplexType( $GLOBALS['_globals']['complex_types'][$i], $generator, $context );
+ break;
+ }
+ }
+
+ // Parse element context
+ $this->flatten( $content, $generator, $element_context, $content->getAttribute( 'maxOccurs' ) );
+
+ } else {
+ //print "found nothing so doing complex content flatten\n";
+ // The alternative to xsSimpleContent is xsComplexContent - if it is not specified, it is implied
+ // Parse element context
+ $this->flatten( $content, $generator, $element_context, $content->getAttribute( 'maxOccurs' ) );
+ if ( count( $generator->bag['elements'] ) == 0 ) {
+ $generator->setIsEmptyContent( true );
+ }
+ }
+ }
+
+ function & generateType() {
+ $vars = array();
+ $e = $this->getElements();
+ $generator = new TypeMeta();
+
+ $generator->setType( $this->getAttribute( 'name' ) );
+ $generator->setIsComplex( true );
+
+ $meta = & $generator->getMeta();
+ return $meta;
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.5/om/xsDocumentation.php b/1.4.0/dom/codeGen/1.5/om/xsDocumentation.php
new file mode 100644
index 0000000..a89ca8e
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/om/xsDocumentation.php
@@ -0,0 +1,19 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsDocumentation extends _typedData
+{
+ function xsDocumentation()
+ {
+ $this->type[] = "xsDocumentation";
+ parent::_typedData();
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.5/om/xsElement.php b/1.4.0/dom/codeGen/1.5/om/xsElement.php
new file mode 100644
index 0000000..1aa0c8e
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/om/xsElement.php
@@ -0,0 +1,368 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+require_once( 'src/ElementMeta.php' );
+require_once( 'src/TypeMeta.php' );
+
+class xsElement extends _elementSet
+{
+ function xsElement()
+ {
+ $this->_addElement( 'xsAnnotation', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsComplexType', array( 'minOccurs' => '0', 'maxOccurs' => '1' ) );
+ $this->_addElement( 'xsSimpleType', array( 'minOccurs' => '0', 'maxOccurs' => '1' ) );
+
+ $this->_addAttribute( 'ref', array( 'type' => 'xs:string' ) );
+ $this->_addAttribute( 'name', array( 'type' => 'xs:string' ) );
+ $this->_addAttribute( 'type', array( 'type' => 'xs:string' ) );
+ $this->_addAttribute( 'abstract', array( 'type' => 'xs:bool' ) );
+ $this->_addAttribute( 'substitutionGroup', array( 'type' => 'xs:string' ) );
+// $this->_addAttribute( 'maxOccurs', array( 'type' => 'xs:integer' ) );
+// $this->_addAttribute( 'minOccurs', array( 'type' => 'xs:integer' ) );
+
+ $this->type[] = 'xsElement';
+ parent::_elementSet();
+ }
+
+ function & generate( $element_context, & $global_elements )
+ {
+ $element_context[] = $this->getAttribute( "name" );
+ print implode( ",", $element_context ) . "\n";
+
+ // Get new factory
+ $generator = new ElementMeta( $global_elements );
+
+ // Load the class name and a context pre-fix (in case we're inside another element)
+ $generator->setName( $this->getAttribute( 'name' ) );
+ $generator->setContext( $element_context );
+ $subGroup = $this->getAttribute( 'substitutionGroup' );
+ if ( $subGroup != '' ) {
+ //print "found a subGroup ". $subGroup ."!\n";
+ $generator->setSubstitutionGroup( $subGroup );
+ $generator->bag['ref_elements'][] = $subGroup;
+ }
+ $abstract = $this->getAttribute( 'abstract' );
+ if ( $abstract != '' ) {
+ $generator->setAbstract( $abstract );
+ }
+
+ // Extract any documentation for this node
+ $a = $this->getElementsByType( 'xsAnnotation' );
+ if ( count( $a ) > 0 )
+ {
+ $d = $a[0]->getElementsByType( 'xsDocumentation' );
+ if ( count( $d ) > 0 )
+ {
+ $generator->setDocumentation( $d[0]->get() );
+ }
+ $ap = $a[0]->getElementsByType( 'xsAppinfo' );
+ if ( count( $ap ) > 0 )
+ {
+ $generator->setAppInfo( $ap[0]->get() );
+ }
+ }
+
+ //******************************************************************************************/
+ //$generator->setContentType( $this->getAttribute( 'type' ) );
+ $type = $this->getAttribute( 'type' );
+ $generator->bag['base_type'] = $type;
+ //check if this type equals a complex type
+ //print "element ". $this->getAttribute( 'name' ) ." is of type ". $type ."!\n";
+ if ( $type != "" ) {
+ //print "complex types: " . count($GLOBALS['_globals']['complex_types']) . "\n";
+ for ( $i = 0; $i < count( $GLOBALS['_globals']['complex_types'] ); $i++ ) {
+ if ( !strcmp($type, $GLOBALS['_globals']['complex_types'][$i]->getAttribute('name') ) ) {
+ //print "found a match for ". $type ."\n";
+ $generator->setComplexType( true );
+ $generator->bag['ref_elements'][] = $type;
+ break;
+ }
+ }
+ if ( !$generator->bag['complex_type'] ) {
+ //wasn't a complex type that means it needs a content type
+ $generator->setContentType( $type );
+ }
+ }
+ //*******************************************************************************************/
+
+ // Inspect the semantic structure of this node and extract the elements/attributes
+ $temp = $this->getElementsByType( 'xsComplexType' );
+
+ if ( count( $temp ) > 0 )
+ {
+ if ( $temp[0]->getAttribute( 'mixed' ) == 'true' )
+ {
+ $generator->setMixed( true );
+ $generator->setContentType( 'ListOfInts' );
+ }
+
+ $content = $temp[0]; // Should only be one
+ $this->generateComplexType( $content, $generator, $element_context );
+ if ( count( $generator->bag['elements'] ) == 0 ) {
+ $generator->setIsEmptyContent( true );
+ }
+ }
+ else if ( count( $this->getElementsByType( 'xsSimpleType' ) ) > 0 ) {
+ //inline simple type definition. right now handle as string but needs to be fixed
+ $generator->bag['simple_type'] = new TypeMeta();
+ $temp = $this->getElementsByType( 'xsSimpleType' );
+ $this->generateSimpleType( $temp[0], $generator->bag['simple_type'] );
+ if ( count( $generator->bag['simple_type']->bag['enum'] ) >0 ) {
+ $generator->setContentType( $this->getAttribute( 'name' ) ."_type" );
+ }
+ else {
+ $generator->setContentType( $generator->bag['simple_type']->bag['base'] );
+ }
+ }
+
+ $meta = & $generator->getMeta();
+
+ if ( count( $element_context ) == 1 )
+ {
+ $global_elements[ $element_context[0] ] = & $meta;
+ }
+
+ return $meta;
+ }
+
+ // Flatten choice/all/sequence groups into a single list of contained elements
+ function flatten( & $element, & $generator, & $context, $maxOccurs )
+ {
+ //print "in flatten ";
+ $e_list = $element->getElements();
+ for( $i=0; $i<count( $e_list ); $i++ )
+ {
+ switch( $e_list[$i]->getType() )
+ {
+ case 'xsChoice':
+ $generator->setHasChoice( true );
+ $generator->addContentModel( 1, $e_list[$i]->getAttribute( 'minOccurs' ), $e_list[$i]->getAttribute( 'maxOccurs' ) );
+ // Propagate the maxOccurs down through choice hierarchy (while flattening)
+ $local_max = $e_list[$i]->getAttribute( 'maxOccurs' );
+ if ( $maxOccurs == 'unbounded' || (is_int( $local_max ) && ($maxOccurs > $local_max)) )
+ {
+ $this->flatten( $e_list[$i], $generator, $context, $maxOccurs );
+ } else
+ {
+ $this->flatten( $e_list[$i], $generator, $context, $local_max );
+ }
+ break;
+ case 'xsSequence':
+ $generator->addContentModel( 0, $e_list[$i]->getAttribute( 'minOccurs' ), $e_list[$i]->getAttribute( 'maxOccurs' ) );
+ // Propagate the maxOccurs down through choice hierarchy (while flattening)
+ $local_max = $e_list[$i]->getAttribute( 'maxOccurs' );
+ if ( $maxOccurs == 'unbounded' || (is_int( $local_max ) && ($maxOccurs > $local_max)) )
+ {
+ $this->flatten( $e_list[$i], $generator, $context, $maxOccurs );
+ } else
+ {
+ $this->flatten( $e_list[$i], $generator, $context, $local_max );
+ }
+ break;
+ case 'xsAll':
+ $generator->addContentModel( 3, $e_list[$i]->getAttribute( 'minOccurs' ), $e_list[$i]->getAttribute( 'maxOccurs' ) );
+ // Propagate the maxOccurs down through choice hierarchy (while flattening)
+ $local_max = $e_list[$i]->getAttribute( 'maxOccurs' );
+ if ( $maxOccurs == 'unbounded' || (is_int( $local_max ) && ($maxOccurs > $local_max)) )
+ {
+ $this->flatten( $e_list[$i], $generator, $context, $maxOccurs );
+ } else
+ {
+ $this->flatten( $e_list[$i], $generator, $context, $local_max );
+ }
+ break;
+ case 'xsGroup':
+ $generator->addContentModel( 2, $e_list[$i]->getAttribute( 'minOccurs' ), $e_list[$i]->getAttribute( 'maxOccurs' ) );
+ $generator->addGroup( $e_list[$i] );
+ case 'xsElement':
+ $nm = $e_list[$i]->getAttribute( 'name' );
+ if ( $nm == '' ) { $nm = $e_list[$i]->getAttribute( 'ref' ); }
+ $generator->addContentModel( $nm, $e_list[$i]->getAttribute( 'minOccurs' ), $e_list[$i]->getAttribute( 'maxOccurs' ) );
+ //print "found element!\n";
+ // If a containing element/group has a maxOccurs > 1, then inherit it (will flag as array in code gen)
+ if ( $maxOccurs == 'unbounded' || $maxOccurs > 1 )
+ {
+ $e_list[$i]->setAttribute( 'maxOccurs', $maxOccurs );
+ }
+ $generator->addElement( $e_list[$i], $context );
+ break;
+ case 'xsAttribute':
+ //print "found attribute!\n";
+ $generator->addAttribute( $e_list[$i] );
+ break;
+ case 'xsAny':
+ print "found an any\n";
+ $generator->addContentModel( 4, $e_list[$i]->getAttribute( 'minOccurs' ), $e_list[$i]->getAttribute( 'maxOccurs' ) );
+ $generator->bag['has_any'] = true;
+ break;
+ default:
+ break;
+ }
+ }
+ $generator->addContentModel( 5, 0, 0 ); //END content model - There will be one extra on every element
+ }
+
+ //function that reads complex types. will recurse complex type derived heirarchies.
+ function generateComplexType( $content, & $generator, & $context ) {
+ //print "in generatecomplextype\n";
+ if ( count( $content->getElementsByType( 'xsSimpleContent' ) ) > 0 ) {
+ //print "found simpleContent!\n";
+ $temp = $content->getElementsByType( 'xsSimpleContent' );
+ $content = $temp[0]; // Should only be one - now we now find out element's parent class
+ $temp = & $content->getElements();
+ $content = $temp[0]; // Should either be an xsExtension or xsRestriction
+ $type = $content->getAttribute( 'base' );
+ //print "setting extends to ". $type ."\n";
+ $generator->setContentType( $type );
+ $temp = & $content->getElementsByType( 'xsAttribute' );
+ for( $i=0; $i<count( $temp ); $i++ ) {
+ $generator->addAttribute( $temp[$i] );
+ }
+ } else if ( count( $content->getElementsByType( 'xsComplexContent' ) ) > 0 ) {
+ //print "found complexContent!\n";
+ //ComplexContent specified means type is derived
+ $temp = $content->getElementsByType( 'xsComplexContent' );
+ $content = $temp[0]; // Should only be one - now we now find out element's parent class
+ $temp = & $content->getElements();
+ $content = $temp[0]; // Should either be an xsExtension or xsRestriction
+ if ( $content->getType() == 'xsExtension' ) {
+ $generator->bag['isExtension'] = true;
+ }
+ if ( $content->getType() == 'xsRestriction' ) {
+ $generator->bag['isRestriction'] = true;
+ }
+ $type = $content->getAttribute( 'base' );
+ //print "setting extends to ". $type ."\n";
+ $generator->bag['base_type'] = $type;
+ //Generate the complex type this is derived from
+ for ( $i = 0; $i < count( $GLOBALS['_globals']['complex_types'] ); $i++ ) {
+ if ( $type == $GLOBALS['_globals']['complex_types'][$i]->getAttribute('name') ) {
+ $generator->setComplexType( true );
+ $generator->bag['ref_elements'][] = $type;
+ //$this->generateComplexType( $GLOBALS['_globals']['complex_types'][$i], $generator, $context );
+ break;
+ }
+ }
+
+ // Parse element context
+ $this->flatten( $content, $generator, $element_context, $content->getAttribute( 'maxOccurs' ) );
+
+ } else {
+ //print "found nothing so doing complex content flatten\n";
+ // The alternative to xsSimpleContent is xsComplexContent - if it is not specified, it is implied
+ // Parse element context
+ $this->flatten( $content, $generator, $element_context, $content->getAttribute( 'maxOccurs' ) );
+
+ }
+ }
+
+ //function that generates the inline simpleType
+ function generateSimpleType( $content, & $generator ) {
+
+ $e = $content->getElements();
+ $generator->setType( $this->getAttribute( 'name' ) );
+ //print $this->getAttribute( 'name' ) ." has a simpletype\n";
+ $a = $content->getElementsByType( 'xsAnnotation' );
+ if ( count( $a ) > 0 ) {
+ //print "found annotation for ". $this->getAttribute( 'name' ) ."!\n";
+ $d = $a[0]->getElementsByType( 'xsDocumentation' );
+ if ( count( $d ) > 0 )
+ {
+ //print "found documentation for ". $this->getAttribute( 'name' ) ."!\n";
+ $generator->setDocumentation( $d[0]->get() );
+ }
+ $ap = $a[0]->getElementsByType( 'xsAppinfo' );
+ if ( count( $ap ) > 0 )
+ {
+ $generator->setAppInfo( $ap[0]->get() );
+ }
+ }
+
+ $idx = 0;
+ if ( $e[$idx]->getType() == 'xsAnnotation' ) {
+ $idx = 1;
+ }
+ if ( $e[$idx]->getType() == 'xsRestriction' || $e[$idx]->getType() == 'xsExtension' )
+ {
+ $generator->setIsExtension( $e[$idx]->getType() == 'xsExtension' );
+
+ // Set base class
+ $generator->setBase( $e[$idx]->getAttribute( 'base' ) );
+
+ // Look for enums
+ $enums = $e[$idx]->getElementsByType( 'xsEnumeration' );
+ for( $i=0; $i<count( $enums ); $i++ )
+ {
+ $generator->addEnum( $enums[$i]->getAttribute( 'value' ) );
+ //print $enums[$i]->getAttribute( 'value' );
+ $an = $enums[$i]->getElementsByType('xsAnnotation');
+ if ( count( $an ) > 0 ) {
+ $doc = $an[0]->getElementsByType( 'xsDocumentation' );
+ if ( count( $doc ) > 0 ) {
+ $generator->addEnumDoc( $i, $doc[0]->get() );
+ }
+ $ap = $an[0]->getElementsByType( 'xsAppinfo' );
+ if ( count( $ap ) > 0 )
+ {
+ $generator->addEnumAppInfo( $i, $ap[0]->get() );
+ }
+ }
+ }
+
+ // Look for max/mins
+ $array_limits = array();
+ $min = $e[$idx]->getElementsByType( 'xsMinLength' );
+ $max = $e[$idx]->getElementsByType( 'xsMaxLength' );
+ $minIn = $e[$idx]->getElementsByType( 'xsMinInclusive' );
+ $maxIn = $e[$idx]->getElementsByType( 'xsMaxInclusive' );
+ $minEx = $e[$idx]->getElementsByType( 'xsMinExclusive' );
+ $maxEx = $e[$idx]->getElementsByType( 'xsMaxExclusive' );
+
+ if ( count( $min ) > 0 )
+ {
+ $generator->setRestriction( 'minLength', $min[0]->getAttribute( 'value' ) );
+ }
+
+ if ( count( $max ) > 0 )
+ {
+ $generator->setRestriction( 'maxLength', $max[0]->getAttribute( 'value' ) );
+ }
+
+ if ( count( $minIn ) > 0 )
+ {
+ $generator->setRestriction( 'minInclusive', $minIn[0]->getAttribute( 'value' ) );
+ }
+
+ if ( count( $maxIn ) > 0 )
+ {
+ $generator->setRestriction( 'maxInclusive', $maxIn[0]->getAttribute( 'value' ) );
+ }
+
+ if ( count( $minEx ) > 0 )
+ {
+ $generator->setRestriction( 'minExclusive', $minEx[0]->getAttribute( 'value' ) );
+ }
+
+ if ( count( $maxEx ) > 0 )
+ {
+ $generator->setRestriction( 'maxExclusive', $maxEx[0]->getAttribute( 'value' ) );
+ }
+ } else if ( $e[$idx]->getType() == 'xsList' )
+ {
+ //$extends = "xsList";
+ $itemType = $e[$idx]->getAttribute( 'itemType' );
+ $generator->setListType( $itemType );
+ $generator->bag['isArray'] = true;
+ } else
+ {
+ $this->log( "WARN: unexpected element in xsSimpleType code generation" );
+ }
+ }
+}
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.5/om/xsEnumeration.php b/1.4.0/dom/codeGen/1.5/om/xsEnumeration.php
new file mode 100644
index 0000000..5b5a2c7
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/om/xsEnumeration.php
@@ -0,0 +1,23 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsEnumeration extends _elementSet
+{
+ function xsEnumeration()
+ {
+ $this->_addAttribute( 'value', array( 'type' => 'xs:integer' ) );
+
+ $this->_addElement( 'xsAnnotation', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+
+ $this->type[] = 'xsEnumeration';
+ parent::_typedData();
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.5/om/xsExtension.php b/1.4.0/dom/codeGen/1.5/om/xsExtension.php
new file mode 100644
index 0000000..e0ff68a
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/om/xsExtension.php
@@ -0,0 +1,24 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsExtension extends _elementSet
+{
+ function xsExtension()
+ {
+ $this->_addElement( 'xsAttribute', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsSequence', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+
+ $this->_addAttribute( 'base', array( 'type' => 'xs:string' ) );
+
+ $this->type[] = 'xsExtension';
+ parent::_elementSet();
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.5/om/xsGroup.php b/1.4.0/dom/codeGen/1.5/om/xsGroup.php
new file mode 100644
index 0000000..4356087
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/om/xsGroup.php
@@ -0,0 +1,152 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsGroup extends _elementSet
+{
+ function xsGroup()
+ {
+ $this->_addElement( 'xsAnnotation', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsElement', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsAttribute', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsChoice', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsSequence', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsGroup', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+
+ $this->_addAttribute( 'ref', array( 'type' => 'xs:string' ) );
+ $this->_addAttribute( 'name', array( 'type' => 'xs:string' ) );
+
+ $this->type[] = "xsGroup";
+ parent::_elementSet();
+ }
+
+ function addChoiceElement( & $e )
+ {
+ $this->addElement( $e );
+ }
+
+ function & generate( $element_context, & $global_elements )
+ {
+ $element_context[] = $this->getAttribute( "name" );
+ print implode( ",", $element_context ) . "\n";
+
+ // Get new factory
+ $generator = new ElementMeta( $global_elements );
+ $generator->setIsAGroup( true );
+
+ // Load the class name and a context pre-fix (in case we're inside another element)
+ $generator->setName( $this->getAttribute( 'name' ) );
+ $generator->setContext( $element_context );
+
+ // Extract any documentation for this node
+ $a = $this->getElementsByType( 'xsAnnotation' );
+ if ( count( $a ) > 0 )
+ {
+ $d = $a[0]->getElementsByType( 'xsDocumentation' );
+ if ( count( $d ) > 0 )
+ {
+ $generator->setDocumentation( $d[0]->get() );
+ }
+ }
+
+ // Inspect the semantic structure of this node and extract the elements/attributes
+ $this->flatten( $this, $generator, $element_context, $this->getAttribute( 'maxOccurs' ) );
+
+ if ( count( $generator->bag['elements'] ) == 0 ) {
+ $generator->setIsEmptyContent( true );
+ }
+
+ $meta = & $generator->getMeta();
+
+ if ( count( $element_context ) == 1 )
+ {
+ $global_elements[ $element_context[0] ] = & $meta;
+ }
+
+ return $meta;
+ }
+
+ // Flatten choice/all/sequence groups into a single list of contained elements
+ function flatten( & $element, & $generator, & $context, $maxOccurs )
+ {
+ //print "in flatten ";
+ $e_list = $element->getElements();
+ for( $i=0; $i<count( $e_list ); $i++ )
+ {
+ switch( $e_list[$i]->getType() )
+ {
+ case 'xsChoice':
+ $generator->setHasChoice( true );
+ $generator->addContentModel( 1, $e_list[$i]->getAttribute( 'minOccurs' ), $e_list[$i]->getAttribute( 'maxOccurs' ) );
+ // Propagate the maxOccurs down through choice hierarchy (while flattening)
+ $local_max = $e_list[$i]->getAttribute( 'maxOccurs' );
+ if ( $maxOccurs == 'unbounded' || (is_int( $local_max ) && ($maxOccurs > $local_max)) )
+ {
+ $this->flatten( $e_list[$i], $generator, $context, $maxOccurs );
+ } else
+ {
+ $this->flatten( $e_list[$i], $generator, $context, $local_max );
+ }
+ break;
+ case 'xsSequence':
+ $generator->addContentModel( 0, $e_list[$i]->getAttribute( 'minOccurs' ), $e_list[$i]->getAttribute( 'maxOccurs' ) );
+ // Propagate the maxOccurs down through choice hierarchy (while flattening)
+ $local_max = $e_list[$i]->getAttribute( 'maxOccurs' );
+ if ( $maxOccurs == 'unbounded' || (is_int( $local_max ) && ($maxOccurs > $local_max)) )
+ {
+ $this->flatten( $e_list[$i], $generator, $context, $maxOccurs );
+ } else
+ {
+ $this->flatten( $e_list[$i], $generator, $context, $local_max );
+ }
+ break;
+ case 'xsAll':
+ $generator->addContentModel( 3, $e_list[$i]->getAttribute( 'minOccurs' ), $e_list[$i]->getAttribute( 'maxOccurs' ) );
+ // Propagate the maxOccurs down through choice hierarchy (while flattening)
+ $local_max = $e_list[$i]->getAttribute( 'maxOccurs' );
+ if ( $maxOccurs == 'unbounded' || (is_int( $local_max ) && ($maxOccurs > $local_max)) )
+ {
+ $this->flatten( $e_list[$i], $generator, $context, $maxOccurs );
+ } else
+ {
+ $this->flatten( $e_list[$i], $generator, $context, $local_max );
+ }
+ break;
+ case 'xsGroup':
+ $generator->addContentModel( 2, $e_list[$i]->getAttribute( 'minOccurs' ), $e_list[$i]->getAttribute( 'maxOccurs' ) );
+ $generator->addGroup( $e_list[$i] );
+ case 'xsElement':
+ $nm = $e_list[$i]->getAttribute( 'name' );
+ if ( $nm == '' ) { $nm = $e_list[$i]->getAttribute( 'ref' ); }
+ $generator->addContentModel( $nm, $e_list[$i]->getAttribute( 'minOccurs' ), $e_list[$i]->getAttribute( 'maxOccurs' ) );
+ //print "found element!\n";
+ // If a containing element/group has a maxOccurs > 1, then inherit it (will flag as array in code gen)
+ if ( $maxOccurs == 'unbounded' || $maxOccurs > 1 )
+ {
+ $e_list[$i]->setAttribute( 'maxOccurs', $maxOccurs );
+ }
+ $generator->addElement( $e_list[$i], $context );
+ break;
+ case 'xsAttribute':
+ //print "found attribute!\n";
+ $generator->addAttribute( $e_list[$i] );
+ break;
+ case 'xsAny':
+ print "found an any\n";
+ $generator->addContentModel( 4, $e_list[$i]->getAttribute( 'minOccurs' ), $e_list[$i]->getAttribute( 'maxOccurs' ) );
+ $generator->bag['has_any'] = true;
+ break;
+ default:
+ break;
+ }
+ }
+ $generator->addContentModel( 5, 0, 0 ); //END content model - There will be one extra on every element
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.5/om/xsImport.php b/1.4.0/dom/codeGen/1.5/om/xsImport.php
new file mode 100644
index 0000000..1f5e6d0
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/om/xsImport.php
@@ -0,0 +1,22 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsImport extends _typedData
+{
+ function xsImport()
+ {
+ $this->_addAttribute( 'namespace', array( 'type' => 'xs:string' ) );
+ $this->_addAttribute( 'schemaLocation', array( 'type' => 'xs:string' ) );
+
+ $this->type[] = 'xsImport';
+ parent::_typedData();
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.5/om/xsList.php b/1.4.0/dom/codeGen/1.5/om/xsList.php
new file mode 100644
index 0000000..b1ce038
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/om/xsList.php
@@ -0,0 +1,49 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsList extends _typedData
+{
+ var $minLength;
+ var $maxLength;
+
+ function xsList()
+ {
+ global $MAX_ARRAY_LENGTH;
+
+ $this->minLength = 0;
+ $this->maxLength = $MAX_ARRAY_LENGTH;
+
+ $this->_addAttribute( 'itemType', array( 'type' => 'xs:string' ) );
+ $this->setAttribute( 'itemType', 'TypedData' );
+
+ $this->type[] = 'xsList';
+ parent::_typedData();
+ }
+
+ // To save the heavyweight object-per-data-point approach, allow a list type
+ // to parse the buffer into a single array
+ function set( & $buffer )
+ {
+ eval( '$type = new ' . $this->getAttribute( 'itemType' ) . '();' );
+ $this->data = & $type->parse( $buffer );
+
+/* for( $i=0; trim( $buffer ) != "" && $i<$this->maxLength; $i++ )
+ {
+ eval( '$this->data[ $i ] = new ' . $this->getAttribute( 'itemType' ) . '();' );
+ $this->data[ $i ]->set( $buffer );
+ }*/
+ }
+
+ function getCount()
+ {
+ return count( $this->data );
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.5/om/xsMaxExclusive.php b/1.4.0/dom/codeGen/1.5/om/xsMaxExclusive.php
new file mode 100644
index 0000000..8abec02
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/om/xsMaxExclusive.php
@@ -0,0 +1,21 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsMaxExclusive extends _typedData
+{
+ function xsMaxExclusive()
+ {
+ $this->_addAttribute( 'value', array( 'type' => 'xs:float' ) );
+
+ $this->type[] = 'xsMaxExclusive';
+ parent::_typedData();
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.5/om/xsMaxInclusive.php b/1.4.0/dom/codeGen/1.5/om/xsMaxInclusive.php
new file mode 100644
index 0000000..8707dc9
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/om/xsMaxInclusive.php
@@ -0,0 +1,21 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsMaxInclusive extends _typedData
+{
+ function xsMaxInclusive()
+ {
+ $this->_addAttribute( 'value', array( 'type' => 'xs:float' ) );
+
+ $this->type[] = 'xsMaxInclusive';
+ parent::_typedData();
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.5/om/xsMaxLength.php b/1.4.0/dom/codeGen/1.5/om/xsMaxLength.php
new file mode 100644
index 0000000..6394e9b
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/om/xsMaxLength.php
@@ -0,0 +1,21 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsMaxLength extends _typedData
+{
+ function xsMaxLength()
+ {
+ $this->_addAttribute( 'value', array( 'type' => 'xs:integer' ) );
+
+ $this->type[] = 'xsMaxLength';
+ parent::_typedData();
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.5/om/xsMinExclusive.php b/1.4.0/dom/codeGen/1.5/om/xsMinExclusive.php
new file mode 100644
index 0000000..4f02bd3
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/om/xsMinExclusive.php
@@ -0,0 +1,21 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsMinExclusive extends _typedData
+{
+ function xsMinExclusive()
+ {
+ $this->_addAttribute( 'value', array( 'type' => 'xs:float' ) );
+
+ $this->type[] = 'xsMinExclusive';
+ parent::_typedData();
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.5/om/xsMinInclusive.php b/1.4.0/dom/codeGen/1.5/om/xsMinInclusive.php
new file mode 100644
index 0000000..34ee962
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/om/xsMinInclusive.php
@@ -0,0 +1,21 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsMinInclusive extends _typedData
+{
+ function xsMinInclusive()
+ {
+ $this->_addAttribute( 'value', array( 'type' => 'xs:float' ) );
+
+ $this->type[] = 'xsMinInclusive';
+ parent::_typedData();
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.5/om/xsMinLength.php b/1.4.0/dom/codeGen/1.5/om/xsMinLength.php
new file mode 100644
index 0000000..809243f
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/om/xsMinLength.php
@@ -0,0 +1,21 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsMinLength extends _typedData
+{
+ function xsMinLength()
+ {
+ $this->_addAttribute( 'value', array( 'type' => 'xs:integer' ) );
+
+ $this->type[] = 'xsMinLength';
+ parent::_typedData();
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.5/om/xsPattern.php b/1.4.0/dom/codeGen/1.5/om/xsPattern.php
new file mode 100644
index 0000000..f679594
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/om/xsPattern.php
@@ -0,0 +1,23 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsPattern extends _elementSet
+{
+ function xsPattern()
+ {
+ $this->_addAttribute( 'value', array( 'type' => 'xs:string' ) );
+
+ $this->_addElement( 'xsAnnotation', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+
+ $this->type[] = 'xsPattern';
+ parent::_typedData();
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.5/om/xsRestriction.php b/1.4.0/dom/codeGen/1.5/om/xsRestriction.php
new file mode 100644
index 0000000..61a96b0
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/om/xsRestriction.php
@@ -0,0 +1,32 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsRestriction extends _elementSet
+{
+ function xsRestriction()
+ {
+ $this->_addElement( 'xsAttribute', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsMinLength', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsMaxLength', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsMinInclusive', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsMaxInclusive', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsMinExclusive', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsMaxExclusive', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsEnumeration', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsWhiteSpace', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsPattern', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+
+ $this->_addAttribute( 'base', array( 'type' => 'xs:string' ) );
+
+ $this->type[] = 'xsRestriction';
+ parent::_elementSet();
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.5/om/xsSchema.php b/1.4.0/dom/codeGen/1.5/om/xsSchema.php
new file mode 100644
index 0000000..c0b5d8b
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/om/xsSchema.php
@@ -0,0 +1,32 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsSchema extends _elementSet
+{
+ function xsSchema()
+ {
+ $this->_addElement( 'xsAnnotation', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsElement', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsSimpleType', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsComplexType', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsGroup', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsImport', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+
+ $this->_addAttribute( 'targetNamespace', array( 'type' => 'xs:string' ) );
+ $this->_addAttribute( 'elementFormDefault', array( 'type' => 'xs:string' ) );
+ $this->_addAttribute( 'xmlns:xs', array( 'type' => 'xs:string' ) );
+ $this->_addAttribute( 'xmlns', array( 'type' => 'xs:string' ) );
+ $this->_addAttribute( 'version', array( 'type' => 'xs:string' ) );
+
+ $this->type[] = 'xsSchema';
+ parent::_elementSet();
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.5/om/xsSequence.php b/1.4.0/dom/codeGen/1.5/om/xsSequence.php
new file mode 100644
index 0000000..280d253
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/om/xsSequence.php
@@ -0,0 +1,32 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsSequence extends _elementSet
+{
+ function xsSequence()
+ {
+ $this->_addElement( 'xsElement', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsAttribute', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsChoice', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsSequence', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsGroup', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsAny', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+ $this->_addElement( 'xsAnnotation', array( 'minOccurs' => '0', 'maxOccurs' => 'unbounded' ) );
+
+ $this->type[] = "xsSequence";
+ parent::_elementSet();
+ }
+
+ function addSequenceElement( & $e )
+ {
+ $this->addElement( $e );
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.5/om/xsSimpleContent.php b/1.4.0/dom/codeGen/1.5/om/xsSimpleContent.php
new file mode 100644
index 0000000..2001cea
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/om/xsSimpleContent.php
@@ -0,0 +1,24 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsSimpleContent extends _elementSet
+{
+ function xsSimpleContent()
+ {
+ $this->_addElement( 'xsRestriction', array( 'minOccurs' => '1', 'maxOccurs' => '1' ) );
+ $this->_addElement( 'xsExtension', array( 'minOccurs' => '1', 'maxOccurs' => '1' ) );
+
+// $this->_addAttribute( 'name', array( 'type' => 'xs:string' ) );
+
+ $this->type[] = 'xsSimpleContent';
+ parent::_elementSet();
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.5/om/xsSimpleType.php b/1.4.0/dom/codeGen/1.5/om/xsSimpleType.php
new file mode 100644
index 0000000..5b40cbe
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/om/xsSimpleType.php
@@ -0,0 +1,143 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+require_once( 'src/TypeMeta.php' );
+
+class xsSimpleType extends _elementSet
+{
+ function xsSimpleType()
+ {
+ $this->_addElement( 'xsRestriction', array( 'minOccurs' => '1', 'maxOccurs' => '1' ) );
+ $this->_addElement( 'xsExtension', array( 'minOccurs' => '1', 'maxOccurs' => '1' ) );
+ $this->_addElement( 'xsList', array( 'minOccurs' => '1', 'maxOccurs' => '1' ) );
+ $this->_addElement( 'xsUnion', array( 'minOccurs' => '1', 'maxOccurs' => '1' ) );
+
+ $this->_addElement( 'xsAnnotation', array( 'minOccurs' => '1', 'maxOccurs' => '1' ) );
+
+ $this->_addAttribute( 'name', array( 'type' => 'xs:string' ) );
+
+ $this->type[] = 'xsSimpleType';
+ parent::_elementSet();
+ }
+
+ function & generate()
+ {
+ $vars = array();
+ $e = $this->getElements();
+ $generator = new TypeMeta();
+
+ $generator->setType( $this->getAttribute( 'name' ) );
+
+ $a = $this->getElementsByType( 'xsAnnotation' );
+ if ( count( $a ) > 0 )
+ {
+ //print "found annotation for ". $this->getAttribute( 'name' ) ."!\n";
+ $d = $a[0]->getElementsByType( 'xsDocumentation' );
+ if ( count( $d ) > 0 )
+ {
+ //print "found documentation for ". $this->getAttribute( 'name' ) ."!\n";
+ $generator->setDocumentation( $d[0]->get() );
+ }
+ $ap = $a[0]->getElementsByType( 'xsAppinfo' );
+ if ( count( $ap ) > 0 )
+ {
+ $generator->setAppInfo( $ap[0]->get() );
+ }
+ }
+
+ $idx = 0;
+ if ( $e[$idx]->getType() == 'xsAnnotation' ) {
+ $idx = 1;
+ }
+ if ( $e[$idx]->getType() == 'xsRestriction' || $e[$idx]->getType() == 'xsExtension' )
+ {
+ $generator->setIsExtension( $e[$idx]->getType() == 'xsExtension' );
+
+ // Set base class
+ $generator->setBase( $e[$idx]->getAttribute( 'base' ) );
+
+ // Look for enums
+ $enums = $e[$idx]->getElementsByType( 'xsEnumeration' );
+ for( $i=0; $i<count( $enums ); $i++ )
+ {
+ $generator->addEnum( $enums[$i]->getAttribute( 'value' ) );
+ $an = $enums[$i]->getElementsByType('xsAnnotation');
+ if ( count( $an ) > 0 ) {
+ $doc = $an[0]->getElementsByType( 'xsDocumentation' );
+ if ( count( $doc ) > 0 ) {
+ $generator->addEnumDoc( $i, $doc[0]->get() );
+ }
+ $ap = $an[0]->getElementsByType( 'xsAppinfo' );
+ if ( count( $ap ) > 0 )
+ {
+ $generator->addEnumAppInfo( $i, $ap[0]->get() );
+ }
+ }
+ }
+
+ // Look for max/mins
+ $array_limits = array();
+ $min = $e[$idx]->getElementsByType( 'xsMinLength' );
+ $max = $e[$idx]->getElementsByType( 'xsMaxLength' );
+ $minIn = $e[$idx]->getElementsByType( 'xsMinInclusive' );
+ $maxIn = $e[$idx]->getElementsByType( 'xsMaxInclusive' );
+ $minEx = $e[$idx]->getElementsByType( 'xsMinExclusive' );
+ $maxEx = $e[$idx]->getElementsByType( 'xsMaxExclusive' );
+
+ if ( count( $min ) > 0 )
+ {
+ $generator->setRestriction( 'minLength', $min[0]->getAttribute( 'value' ) );
+ }
+
+ if ( count( $max ) > 0 )
+ {
+ $generator->setRestriction( 'maxLength', $max[0]->getAttribute( 'value' ) );
+ }
+
+ if ( count( $minIn ) > 0 )
+ {
+ $generator->setRestriction( 'minInclusive', $minIn[0]->getAttribute( 'value' ) );
+ }
+
+ if ( count( $maxIn ) > 0 )
+ {
+ $generator->setRestriction( 'maxInclusive', $maxIn[0]->getAttribute( 'value' ) );
+ }
+
+ if ( count( $minEx ) > 0 )
+ {
+ $generator->setRestriction( 'minExclusive', $minEx[0]->getAttribute( 'value' ) );
+ }
+
+ if ( count( $maxEx ) > 0 )
+ {
+ $generator->setRestriction( 'maxExclusive', $maxEx[0]->getAttribute( 'value' ) );
+ }
+ } else if ( $e[$idx]->getType() == 'xsList' )
+ {
+ //$extends = "xsList";
+ $itemType = $e[$idx]->getAttribute( 'itemType' );
+ $generator->setListType( $itemType );
+ $generator->bag['isArray'] = true;
+ }
+ else if ( $e[$idx]->getType() == 'xsUnion' ) {
+ $generator->setUnionMembers( $e[$idx]->getAttribute( 'memberTypes' ) );
+ }
+ else
+ {
+ $this->log( "WARN: unexpected element in xsSimpleType code generation" );
+ }
+
+ $meta = & $generator->getMeta();
+ return $meta;
+ }
+}
+
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.5/om/xsUnion.php b/1.4.0/dom/codeGen/1.5/om/xsUnion.php
new file mode 100644
index 0000000..79954ad
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/om/xsUnion.php
@@ -0,0 +1,21 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsUnion extends _typedData
+{
+ function xsUnion()
+ {
+ $this->_addAttribute( 'memberTypes', array( 'type' => 'xs:string' ) );
+
+ $this->type[] = 'xsUnion';
+ parent::_typedData();
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.5/om/xsWhiteSpace.php b/1.4.0/dom/codeGen/1.5/om/xsWhiteSpace.php
new file mode 100644
index 0000000..a968f0e
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/om/xsWhiteSpace.php
@@ -0,0 +1,21 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class xsWhiteSpace extends _typedData
+{
+ function xsWhiteSpace()
+ {
+ $this->_addAttribute( 'value', array( 'type' => 'xs:string' ) );
+
+ $this->type[] = 'xsWhiteSpace';
+ parent::_typedData();
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.5/src/ElementMeta.php b/1.4.0/dom/codeGen/1.5/src/ElementMeta.php
new file mode 100644
index 0000000..b7b9882
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/src/ElementMeta.php
@@ -0,0 +1,280 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class ElementMeta
+{
+ var $pre_name;
+ var $name;
+ //var $extends;
+ var $doc;
+
+ var $bag;
+
+ function ElementMeta( & $global_elements )
+ {
+ $bag = array(
+ 'has_id_attr' => false,
+ 'context' => '',
+ 'pre_name' => '',
+ 'content_type' => '',
+ 'base_type' => '',
+ 'documentation' => array(),
+ 'element_name' => '',
+ 'elements' => array(),
+ 'inline_elements' => array(),
+ 'ref_elements' => array(),
+ 'element_attrs' => array(),
+ 'attributes' => array(),
+ 'mixed' => false,
+ 'complex_type' => false,
+ 'abstract' => false,
+ 'substitution_group' => '',
+ 'element_documentation' => array(),
+ 'useXMLNS' => false,
+ 'hasChoice' => false,
+ 'isEmptyContent' => false,
+ 'groupElements' => array(),
+ 'isAComplexType' => false,
+ 'isAGroup' => false,
+ 'substitutableWith' => array(),
+ 'isExtension' => false,
+ 'isRestriction' => false,
+ 'simple_type' => NULL,
+ 'parent_meta' => NULL,
+ 'has_any' => false,
+ 'content_model' => array()
+ );
+
+ $this->bag = & $bag;
+ $this->bag['global_elements'] = & $global_elements;
+ }
+
+ function addGroup( & $e ) {
+ $this->bag['groupElements'][] = $e->getAttribute('ref');
+ }
+
+ function setSubstitutionGroup( $subGroup ) {
+ $this->bag['substitution_group'] = trim( $subGroup );
+ }
+
+ function setComplexType( $bool ) {
+ $this->bag['complex_type'] = ( $bool == true );
+ }
+
+ function setAbstract( $bool ) {
+ $this->bag['abstract'] = ( $bool == true );
+ }
+
+ function setHasChoice( $bool ) {
+ $this->bag['hasChoice'] = $bool;
+ }
+
+ function setIsEmptyContent( $bool ) {
+ $this->bag['isEmptyContent'] = $bool;
+ }
+
+ function setIsAComplexType( $bool ) {
+ $this->bag['isAComplexType'] = ( $bool == true );
+ }
+
+ function setIsAGroup( $bool ) {
+ $this->bag['isAGroup'] = ( $bool == true );
+ }
+
+ function & getMeta()
+ {
+ return $this->bag;
+ }
+
+ function setMixed( $bool )
+ {
+ $this->bag['mixed'] = ( $bool == true );
+ }
+
+ function setContentType( $type )
+ {
+ // Strip xs if we've got a built-in type
+ /*if ( preg_match( "/xs\:/", $type ) )
+ {
+ $type = 'xs' . substr( $type, 3 );
+ }*/
+ // If type is non-empty, then go ahead and set it
+ if ( preg_match( "/[^\s]+/", $type ) )
+ {
+ $this->bag['content_type'] = trim( $type );
+ }
+ }
+
+ function setMinOccurs( $min )
+ {
+ if ( is_int( $min ) && $min >= 0 )
+ {
+ $this->bag['minOccurs'] = $min;
+ }
+ }
+
+ function setMaxOccurs( $max )
+ {
+ if ( $max == 'unbounded' || (is_int( $max ) && $max >= 1 ) )
+ {
+ $this->bag['maxOccurs'] = $max;
+ }
+ }
+
+ function setPreName( $pre )
+ {
+ $this->pre_name = $pre;
+ $this->bag['pre_name'] = $pre;
+ }
+
+ function setName( $name )
+ {
+ $this->name = $name;
+ $this->bag['element_name'] = $name;
+ }
+
+ function getName()
+ {
+ return $this->name;
+ }
+
+ function setHasID( $bool )
+ {
+ $this->bag['has_id_attr'] = $bool;
+ }
+
+ function setDocumentation( $doc )
+ {
+ $this->doc = $doc;
+ $this->bag['documentation']['en'] = trim( $doc );
+ }
+
+ function setAppInfo( $ap ) {
+ if (!strcmp( trim($ap), 'enable-xmlns' ) ) {
+ //use the xmlns attribute
+ $this->bag['useXMLNS'] = true;
+ }
+ }
+
+ function setContext( $context )
+ {
+ $this->bag['context'] = $context;
+ }
+
+ function addElement( & $e, $context )
+ {
+ $name = 'undefined';
+ $ref_element = false;
+ $_attributes = array();
+
+ foreach( $e->getAttributes() as $k => $v )
+ {
+ $_attributes[ $k ] = $v;
+
+ if ( $k == 'ref' )
+ {
+ $name = $v;
+ $ref_element = true;
+ }
+ else if ( $k == 'name' )
+ {
+ $name = $v;
+ }
+ }
+
+ //check if this element already exists this only applies if in a sequence.
+ foreach( $this->bag['elements'] as $nm ) {
+ if ( $nm == $name ) {
+ //print "found duplicate element upping max occurs";
+ //if it does then update its max occurs and exit
+ if ( !$this->bag['hasChoice'] || $_attributes['maxOccurs'] == 'unbounded' ) {
+ if ( $this->bag['element_attrs'][$nm]['maxOccurs'] != 'unbounded' ) {
+ $this->bag['element_attrs'][$nm]['maxOccurs']++;
+ }
+ }
+ //print " to ". $this->bag['element_attrs'][$nm]['maxOccurs'] ."\n";
+ return;
+ }
+ }
+
+ // Track the attrs on each sub-element
+ $this->bag['element_attrs'][ $name ] = & $_attributes;
+
+ // Call the dom-recurse function on each new element
+ if ( !$ref_element )
+ {
+ $this->bag['elements'][] = $name;
+ $this->bag['inline_elements'][ $name ] = & $e->generate( $this->bag['context'], $this->bag['global_elements'] );
+ $this->bag['element_documentation'][$name] = $this->bag['inline_elements'][ $name ]['documentation']['en'];
+ $this->bag['inline_elements'][ $name ]['parent_meta'] = & $this->bag;
+ }
+ else {
+ $this->bag['elements'][] = $name;
+ $this->bag['ref_elements'][] = $name;
+ //check for documentation
+ $a = $e->getElementsByType( 'xsAnnotation' );
+ if ( count( $a ) > 0 ) {
+ $d = $a[0]->getElementsByType( 'xsDocumentation' );
+ if ( count( $d ) > 0 )
+ {
+ $this->bag['element_documentation'][$name] = $d[0]->get();
+ }
+ }
+ }
+
+ }
+
+ function addAttribute( & $a )
+ {
+ $name = '';
+ $a_list = array();
+
+ foreach( $a->getAttributes() as $k => $v )
+ {
+ $a_list[ $k ] = $v;
+ if ( $k == 'name' )
+ {
+ $name = $v;
+ if ( $name == 'id' ) { $this->bag['has_id_attr'] = true; }
+ }
+ else if ( $k == 'ref' ) {
+ $name = $v;
+ //printf( "found an attribute ref for ". $name ."\n");
+ if ( strpos( $name, ':' ) !== FALSE ) {
+ $name[strpos( $name, ':' )] = '_';
+ //printf( "changed : to _ for ". $name ."\n" );
+ $a_list[ 'type' ] = 'xs:anyURI';
+ }
+ }
+ }
+ //check for documentation
+ $e = $a->getElementsByType( 'xsAnnotation' );
+ if ( count( $e ) > 0 )
+ {
+ $d = $e[0]->getElementsByType( 'xsDocumentation' );
+ if ( count( $d ) > 0 )
+ {
+ $a_list['documentation'] = $d[0]->get();
+ }
+ }
+
+ $this->bag['attributes'][ $name ] = & $a_list;
+
+ //print "adding attribute ". $name ."\n";
+ }
+
+ //For elements name is the element name, for sequence name = 0, choice = 1, group = 2, all = 3, any = 4, end = 5
+ function addContentModel( $name, $minOccurs, $maxOccurs )
+ {
+ $this->bag['content_model'][] = array( 'name' => $name, 'minOccurs' => $minOccurs, 'maxOccurs' => $maxOccurs );
+ print "adding content model name: ". $name ." minO: ". $minOccurs ." maxO: ". $maxOccurs ."\n";
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.5/src/SchemaParser.php b/1.4.0/dom/codeGen/1.5/src/SchemaParser.php
new file mode 100644
index 0000000..c32bf8d
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/src/SchemaParser.php
@@ -0,0 +1,82 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+require_once( 'om/object-model.php' );
+
+class SchemaParser
+{
+ var $parse_stack = array();
+ var $root_elements = array();
+ var $parser;
+
+ function SchemaParser()
+ {
+ $this->parser = xml_parser_create();
+
+ xml_parser_set_option( $this->parser, XML_OPTION_CASE_FOLDING, false );
+ xml_set_object( $this->parser, $this );
+ xml_set_element_handler( $this->parser, "startElement", "endElement" );
+ xml_set_character_data_handler( $this->parser, "characterData" );
+
+ //xml_parser_free( $this->parser );
+ }
+
+ function startElement( $parser, $name, $attrs )
+ {
+ if ( preg_match( "/xs\:/", $name ) )
+ {
+ $class_name = substr( $name, 3 );
+ $class_name = 'xs' . ucfirst( $class_name );
+
+ eval( '$e = new ' . $class_name . '();' );
+ foreach( $attrs as $k => $v ) { $e->setAttribute( $k, $v ); }
+
+ if ( count( $this->parse_stack ) > 0 )
+ {
+ $stackSize = count( $this->parse_stack );
+ $parentElement = & $this->parse_stack[ $stackSize - 1 ];
+ $parentElement->addElement( $e );
+ } else
+ {
+ $this->root_elements[] = & $e;
+ }
+ $this->parse_stack[] = & $e;
+ }
+ }
+
+ function endElement( $parser, $name )
+ {
+ $pop = & array_pop( $this->parse_stack );
+ }
+
+ function characterData( $parser, $data )
+ {
+ if ( count( $this->parse_stack ) > 0 )
+ {
+ $this->parse_stack[ count( $this->parse_stack ) - 1 ]->append( $data );
+ }
+ }
+
+ function parse( $file )
+ {
+ if ( file_exists( $file ) )
+ {
+ if ( !xml_parse( $this->parser, file_get_contents( $file ) ) )
+ {
+ // Got parse error
+ }
+ } else
+ {
+ // Bad file
+ }
+ }
+
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.5/src/TypeMeta.php b/1.4.0/dom/codeGen/1.5/src/TypeMeta.php
new file mode 100644
index 0000000..f7f46fc
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/src/TypeMeta.php
@@ -0,0 +1,108 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+class TypeMeta
+{
+ var $bag;
+
+ function TypeMeta()
+ {
+ $bag = array(
+ 'type' => '',
+ 'base' => '',
+ 'listType' => '',
+ 'enum' => array(),
+ 'enum_documentation' => array(),
+ 'restrictions' => array(),
+ 'isExtension' => true,
+ 'isComplex' => false,
+ 'useConstStrings' =>false,
+ 'documentation' => array(),
+ 'isArray' => false,
+ 'enum_value' => array(),
+ 'union_type' => false,
+ 'union_members' => ''
+ );
+ $this->bag = & $bag;
+ }
+
+ function & getMeta()
+ {
+ return $this->bag;
+ }
+
+ function setType( $t )
+ {
+ $this->bag['type'] = $t;
+ }
+
+ function setBase( $b )
+ {
+ $this->bag['base'] = $b;
+ }
+
+ function setListType( $type )
+ {
+ $this->bag['listType'] = $type;
+ }
+
+ function setIsExtension( $bool )
+ {
+ $this->bag['isExtension'] = $bool;
+ }
+
+ function setIsComplex( $bool ) {
+ $this->bag['isComplex'] = $bool;
+ }
+
+ function setRestriction( $name, $val )
+ {
+ $this->bag['restrictions'][$name] = $val;
+ }
+
+ function addEnum( $val )
+ {
+ $this->bag['enum'][] = $val;
+ }
+
+ function setAppInfo( $ap ) {
+ if (!strcmp( trim($ap), 'constant-strings' ) ) {
+ //use the xmlns attribute
+ $this->bag['useConstStrings'] = true;
+ }
+ }
+
+ function setDocumentation( $doc )
+ {
+ $this->doc = $doc;
+ $this->bag['documentation']['en'] = trim( $doc );
+ }
+
+ function addEnumDoc( $i, $doc ) {
+ $this->bag['enum_documentation'][$i] = trim($doc);
+ }
+
+ function addEnumAppInfo( $i, $ai ) {
+ $ai = trim($ai);
+ //print "found app info\n";
+ if ( strncmp($ai, "value=", 6) == 0 ) {
+ //print "its in the correct format\n";
+ $val = substr($ai, 6);
+ //print "value is ". $val ."\n";
+ $this->bag['enum_value'][$i] = trim($val);
+ }
+ }
+
+ function setUnionMembers( $um ) {
+ $this->bag['union_type'] = true;
+ $this->bag['union_members'] = $um;
+ }
+}
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.5/tpl/template-engine.php b/1.4.0/dom/codeGen/1.5/tpl/template-engine.php
new file mode 100644
index 0000000..317d3a1
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/tpl/template-engine.php
@@ -0,0 +1,726 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+$_globals = array();
+// FLAG: Full Code - set true to output verbose mode, minimal otherwise (does not include// inline elements in minimal)
+$_globals['full_code'] = true;
+$_globals['copyright'] = false;
+$_globals['copyright_text'] = "/*\n" .
+" * Copyright 2006 Sony Computer Entertainment Inc.\n" .
+" *\n" .
+" * Licensed under the SCEA Shared Source License, Version 1.0 (the \"License\"); you may not use this\n" .
+" * file except in compliance with the License. You may obtain a copy of the License at:\n" .
+" * http://research.scea.com/scea_shared_source_license.html\n" .
+" *\n" .
+" * Unless required by applicable law or agreed to in writing, software distributed under the License\n" .
+" * is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n" .
+" * implied. See the License for the specific language governing permissions and limitations under the\n" .
+" * License.\n" .
+" */\n\n";
+
+$_globals['depth'] = 0;
+$_globals['meta_prefix'] = 'dae';
+$_globals['prefix'] = 'dom';
+$_globals['language'] = 'en';
+$_globals['dom_dir'] = 'gen/dom/';
+$_globals['tmp_dir'] = 'tmp/';
+$_globals['log_file'] = 'gen/gen.log';
+
+$_globals['register_list'] = array();
+$_globals['include_list'] = array();
+$_globals['complex_types'] = array();
+$_globals['groups'] = array();
+$_globals['constStrings'] = array(); //used to store all the constant strings needed to be put in the file.
+$_globals['elementTypes'] = array();
+$_globals['elementNames'] = array();
+$_globals['elementNames'][] = "COLLADA"; //needed because no elements have this as a child.
+$_globals['typeID'] = 0;
+
+$_globals['target_dir'] = '';
+
+$_globals['global_elements'] = array();
+
+$_globals['templates'] = array(
+ 'DOXYGEN' => 'tpl/tpl-doxygen.php',
+ 'TYPES_HEADER_FILE' => 'tpl/tpl-types-header-file.php',
+ 'TYPES_HEADER' => 'tpl/tpl-types-header.php',
+ 'TYPES_CPP_FILE' => 'tpl/tpl-types-cpp-file.php',
+ 'TYPES_CPP' => 'tpl/tpl-types-cpp.php',
+ 'INCLUDES' => 'tpl/tpl-includes.php',
+ 'HEADER' => 'tpl/tpl-dot-h.php',
+ 'HEADER_FILE' => 'tpl/tpl-header.php',
+ 'INCLUDE_LIST' => 'tpl/tpl-include-list.php',
+ 'CPP_FILE' => 'tpl/tpl-cpp.php',
+ 'CPP' => 'tpl/tpl-cpp-body.php',
+ 'CPP_STATIC' => 'tpl/tpl-cpp-static.php',
+ 'CPP_METHODS' => 'tpl/tpl-cpp-methods.php',
+ 'CLASS' => 'tpl/tpl-class-def.php',
+ 'ELEMENTS_FILE' => 'tpl/tpl-elements-file.php',
+ 'ELEMENTS' => 'tpl/tpl-elements.php',
+ 'CONSTANTS_FILE' => 'tpl/tpl-constants-file.php',
+ 'CONSTANTS' => 'tpl/tpl-constants.php',
+ 'CONSTANTS_CPP_FILE' => 'tpl/tpl-constants-cpp-file.php',
+ 'CONSTANTS_CPP' => 'tpl/tpl-constants-cpp.php'
+);
+
+
+function getTypeNameAndPrefix(&$typeName, &$prefix) {
+ global $_globals;
+ if(preg_match( "/xs\:/", $typeName)) {
+ $typeName = substr( $typeName, 3 );
+ $prefix = "xs";
+ }
+ else
+ $prefix = $_globals['prefix'];
+}
+
+function applyTemplate( $template, & $bag )
+{
+ global $_globals;
+
+ $_result = '';
+ if ( array_key_exists( $template, $_globals['templates'] ) )
+ {
+ ob_start();
+ include( $_globals['templates'][ $template ] );
+
+ $_result = ob_get_contents();
+ ob_end_clean();
+ }
+ return $_result;
+}
+
+function initGen( $file )
+{
+ global $_globals;
+
+ // A few defns
+ $_globals['gen_start_time'] = date( "M d Y H:i:s" );
+ $_globals['file_name'] = $file;
+
+ // Verify target dirs exist, create if not
+ makeGenDir( getcwd() . "/gen" );
+ makeGenDir( getcwd() . "/" . $_globals['dom_dir'] );
+ makeGenDir( getcwd() . "/" . $_globals['dom_dir'] . 'include/' );
+ makeGenDir( getcwd() . "/" . $_globals['dom_dir'] . 'src/' );
+
+ // Start buffering output
+ ob_start();
+}
+
+function makeGenDir( $dir )
+{
+ if ( !is_dir( $dir ) )
+ {
+ if ( !mkdir( $dir ) )
+ {
+ die( "Could not create directory $dir\n" );
+ }
+ }
+}
+
+function cleanupGen()
+{
+ global $_globals;
+
+ // Get output buffer
+ $_result = ob_get_contents();
+ ob_end_clean();
+ // Assemble report
+ ob_start();
+ print "========================================\n\n";
+ print " Code Generation\n\n";
+ print "----------------------------------------\n";
+ print "COLLADA File: " . $_globals['file_name'] . "\n";
+ print "Start time: " . $_globals['gen_start_time'] . "\n";
+ print "End time: " . date( "M d Y H:i:s" ) . "\n";
+ print "----------------------------------------\n\n";
+ print $_result;
+ print "\r\n\r\nend\r\n";
+ file_put_contents( $_globals['log_file'], ob_get_contents() );
+ ob_end_clean();
+ print "Generation complete\n";
+}
+
+function saveTemplate( $file, $template, & $bag )
+{
+ $bytes = file_put_contents( $file, applyTemplate( $template, $bag ) );
+}
+
+function printAllSubChildren( & $elem, $prefix, $suffix ) {
+ //print "subchild test count = ". count( $elem['elements'] ) ."\n";
+ //print "subchild test name = ". $elem['element_name'] ."\n";
+ global $_globals;
+ global $meta;
+ for ( $i = 0; $i < count( $elem['elements'] ); $i++ ) {
+ if ( isset( $meta[$elem['elements'][$i]] ) ) {
+ if ( $meta[$elem['elements'][$i]]['isAGroup'] ) {
+
+ printAllSubChildren( $meta[$elem['elements'][$i]], $prefix, $suffix );
+ }
+ else if ( !$meta[$elem['elements'][$i]]['abstract'] ) {
+ print $prefix ."_Meta->children.append(\"". $elem['elements'][$i] ."\");". $suffix;
+ print ");\n";
+ }
+ for( $c = 0; $c < count( $meta[$elem['elements'][$i]]['substitutableWith']); $c++ ) {
+ $subwith = $meta[$elem['elements'][$i]]['substitutableWith'][$c];
+ print $prefix ."_Meta->children.append(\"". $subwith ."\");". $suffix;
+ print ");\n";
+ }
+ }
+ else {
+ print $prefix . $elem['elements'][$i] . $suffix;
+ if ( isset($meta[$elem['element_attrs'][ $elem['elements'][$i] ]['type']]) &&
+ $meta[$elem['element_attrs'][ $elem['elements'][$i] ]['type']]['isAComplexType'] ) {
+ print ", \"". $elem['element_attrs'][ $elem['elements'][$i] ]['type'] ."\"";
+ }
+ print ");\n";
+ }
+ }
+}
+
+function getInheritanceStatement($baseClasses) {
+ if (count($baseClasses) == 0)
+ return "";
+ $statement = " : public " . $baseClasses[0];
+ for ($i = 1; $i < count($baseClasses); $i++)
+ $statement .= ", public " . $baseClasses[$i];
+ return $statement;
+}
+
+function beginConstructorInitializer(& $initializerListStarted) {
+ print $initializerListStarted ? ", " : " : ";
+ $initializerListStarted = true;
+}
+
+function printBaseClassInitializers($elemName, $baseClass, & $initializerListStarted) {
+ beginConstructorInitializer($initializerListStarted);
+ print $baseClass . "(dae)";
+}
+
+function printConstructors( $elemName, & $bag, $baseClass, $indent ) {
+ //print the protected ctor and copy stuff
+ print $indent ."protected:\n";
+ print $indent ."\t/**\n". $indent ."\t * Constructor\n". $indent ."\t */\n";
+ print $indent ."\t". $elemName ."(DAE& dae)";
+ $initializerListStarted = false;
+ $eltVar = "*this";
+
+ printBaseClassInitializers($elemName, $baseClass, $initializerListStarted);
+
+ if ($bag['useXMLNS']) {
+ beginConstructorInitializer($initializerListStarted);
+ print "attrXmlns(dae, " . $eltVar . ")";
+ }
+
+ // Constructor initialization of attributes
+ if (count($bag['attributes']) > 0) {
+ foreach( $bag['attributes'] as $attr_name => & $a_list ) {
+ beginConstructorInitializer($initializerListStarted);
+
+ $attr_name = ucfirst($attr_name);
+ $type = $a_list['type'];
+ print "attr" . $attr_name . "(";
+ if ($type == 'xs:anyURI' || $type == 'urifragment')
+ print "dae, " . $eltVar;
+ else if ($type == 'xs:IDREF')
+ print $eltVar;
+ else if ($type == 'xs:IDREFS')
+ print "new xsIDREF(" . $eltVar . ")";
+ print ")";
+ }
+ }
+
+ // Constructor initialization of elements
+ for( $i=0; $i<count( $bag['elements'] ); $i++ ) {
+ $maxOccurs = $bag['element_attrs'][ $bag['elements'][$i] ]['maxOccurs'];
+ $maxOccurs = ($maxOccurs == 'unbounded' || $maxOccurs > 1);
+ beginConstructorInitializer($initializerListStarted);
+ print "elem" . ucfirst($bag['elements'][$i]) . ($maxOccurs ? "_array" : "") . "()";
+ }
+
+ if (!isset($bag['baseTypeViaRestriction'])) {
+ if ( ($bag['content_type'] != '' || $bag['mixed']) && !$bag['abstract'] ) {
+ beginConstructorInitializer($initializerListStarted);
+ if ($bag['content_type'] == 'xs:anyURI' || $bag['content_type'] == 'urifragment')
+ print "_value(dae, " . $eltVar . ")";
+ else if ($bag['content_type'] == 'xs:IDREF')
+ print "_value(" . $eltVar . ")";
+ else if ($bag['content_type'] == 'xs:IDREFS')
+ print "_value(new xsIDREF(" . $eltVar . "))";
+ else
+ print "_value()";
+ }
+ }
+ print " {}\n";
+
+ print $indent ."\t/**\n". $indent ."\t * Destructor\n". $indent ."\t */\n";
+ print $indent ."\tvirtual ~". $elemName ."() {";
+ if ( $bag['hasChoice'] ) {
+ print " daeElement::deleteCMDataArray(_CMData); ";
+ }
+ print "}\n";
+
+ print $indent ."\t/**\n". $indent ."\t * Overloaded assignment operator\n". $indent ."\t */\n";
+ print $indent ."\tvirtual ".$elemName ." &operator=( const ".$elemName ." &cpy ) { (void)cpy; return *this; }\n";
+}
+
+function printElements(&$bag, &$needsContents, &$indent) {
+ global $_globals;
+ global $meta;
+ if ( (count( $bag['elements'] ) > 0 && !$bag['isRestriction']) || $bag['has_any'] )
+ {
+
+ print $indent ."protected: // Element". (count( $bag['elements'] ) > 1 ? 's' : '') ."\n";
+ $needsContents = false;
+ for( $i=0; $i<count( $bag['elements'] ); $i++ )
+ {
+ $maxOccurs = $bag['element_attrs'][ $bag['elements'][$i] ]['maxOccurs'];
+ // $minOccurs = $bag['element_attrs'][ $bag['elements'][$i] ]['minOccurs'];
+ // print " // minOccurs=$minOccurs, maxOccurs=$maxOccurs\n";
+ $maxOccurs = ($maxOccurs == 'unbounded' || $maxOccurs > 1);
+ if ( isset( $bag['element_documentation'][ $bag['elements'][$i] ] ) ) {
+ $bag['element_documentation'][ $bag['elements'][$i] ] .= " @see " . $_globals['prefix'] . ucfirst( $bag['elements'][$i] );
+ print applyTemplate( 'DOXYGEN', $bag['element_documentation'][ $bag['elements'][$i] ] );
+ }
+ if ( isset( $bag['element_attrs'][ $bag['elements'][$i] ]['type'] ) &&
+ isset( $meta[$bag['element_attrs'][ $bag['elements'][$i] ]['type']] ) ){
+ print $indent ."\t" . $_globals['prefix'] . ucfirst( $bag['element_attrs'][ $bag['elements'][$i] ]['type'] ) . ($maxOccurs ? "_Array" : "Ref") . " elem" . ucfirst($bag['elements'][$i]) . ($maxOccurs ? "_array" : "") . ";\n";
+ }
+ else {
+ print $indent ."\t" . $_globals['prefix'] . ucfirst( $bag['elements'][$i] ) . ($maxOccurs ? "_Array" : "Ref") . " elem" . ucfirst($bag['elements'][$i]) . ($maxOccurs ? "_array" : "") . ";\n";
+ }
+ if ( isset( $meta[$bag['elements'][$i]] ) ) {
+ if( count( $meta[$bag['elements'][$i]]['substitutableWith']) > 0 ) {
+ $needsContents = true;
+ }
+ }
+ }
+ if ( $bag['hasChoice'] || $needsContents || $bag['has_any'] )
+ {
+ print $indent ."\t/**\n". $indent ."\t * Used to preserve order in elements that do not specify strict sequencing of sub-elements.";
+ print "\n". $indent ."\t */\n";
+ print $indent ."\tdaeElementRefArray _contents;\n";
+ print $indent ."\t/**\n". $indent ."\t * Used to preserve order in elements that have a complex content model.";
+ print "\n". $indent ."\t */\n";
+ print $indent ."\tdaeUIntArray _contentsOrder;\n\n";
+ }
+ if ( $bag['hasChoice'] )
+ {
+ print $indent ."\t/**\n". $indent ."\t * Used to store information needed for some content model objects.\n";
+ print $indent ."\t */\n". $indent ."\tdaeTArray< daeCharArray * > _CMData;\n\n";
+ }
+ }
+}
+
+function printAttributes( & $bag, & $typemeta, & $indent, $vaa ) {
+ global $_globals;
+
+ $attrCnt = 0;
+ if ( $bag['useXMLNS'] ) {
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Gets the xmlns attribute.\n";
+ print $indent ."\t * @return Returns a xsAnyURI reference of the xmlns attribute.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\txsAnyURI &getXmlns() { return attrXmlns; }\n";
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Gets the xmlns attribute.\n";
+ print $indent ."\t * @return Returns a constant xsAnyURI reference of the xmlns attribute.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tconst xsAnyURI &getXmlns() const { return attrXmlns; }\n";
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Sets the xmlns attribute.\n";
+ print $indent ."\t * @param xmlns The new value for the xmlns attribute.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tvoid setXmlns( const xsAnyURI &xmlns ) { attrXmlns = xmlns;";
+ if ( $vaa ) {
+ print $indent ."\n\t _validAttributeArray[". $attrCnt ."] = true;";
+ }
+ print " }\n\n";
+
+ $attrCnt++;
+ }
+
+ foreach( $bag['attributes'] as $attr_name => & $a_list ) {
+ $type = $a_list['type'];
+ $pre = '';
+ getTypeNameAndPrefix($type, $pre);
+ if ( $type == '' )
+ {
+ $type = "String";
+ }
+ $baseStringTypes = "xsDateTime xsID xsNCName xsNMTOKEN xsName xsToken xsString domSidref domSid";
+ $baseType = $pre . ucfirst( $type );
+ if ( isset( $typemeta[$type] ) ) {
+ $typeInfo = $typemeta[$type];
+ while ( $typeInfo['base'] != '' && isset( $typemeta[$typeInfo['base']] ) ) {
+ $typeInfo = $typemeta[$typeInfo['base']];
+ if ( preg_match( "/xs\:/", $typeInfo['type'] ) ) {
+ $baseType = "xs" . ucfirst( substr( $typeInfo['type'], 3 ) );
+ }
+ else {
+ $baseType = $_globals['prefix'] . ucfirst( $typeInfo['type'] );
+ }
+ }
+ }
+
+ if ( (isset( $typemeta[$type] ) && $typemeta[$type]['isArray']) || $type == 'IDREFS' ) {
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Gets the ". $attr_name ." array attribute.\n";
+ print $indent ."\t * @return Returns a ". $pre . ucfirst( $type ) ." reference of the ". $attr_name ." array attribute.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\t" . $pre . ucfirst( $type ) . " &get" . ucfirst($attr_name) ."() { ";
+ print "return attr". ucfirst($attr_name) ."; }\n";
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Gets the ". $attr_name ." array attribute.\n";
+ print $indent ."\t * @return Returns a constant ". $pre . ucfirst( $type ) ." reference of the ". $attr_name ." array attribute.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tconst " . $pre . ucfirst( $type ) . " &get" . ucfirst($attr_name) ."() const { ";
+ print "return attr". ucfirst($attr_name) ."; }\n";
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Sets the ". $attr_name ." array attribute.\n";
+ print $indent ."\t * @param at". ucfirst($attr_name)." The new value for the ". $attr_name ." array attribute.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tvoid set". ucfirst( $attr_name ) ."( const ". $pre . ucfirst( $type ) ." &at";
+ print ucfirst($attr_name) ." ) { attr". ucfirst($attr_name) ." = at". ucfirst($attr_name) .";";
+ if ( $vaa ) {
+ print " _validAttributeArray[". $attrCnt ."] = true;";
+ }
+ print " }\n\n";
+ }
+ else if ( ucfirst($type) == 'AnyURI' || ucfirst($type) == 'urifragment' ) {
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Gets the ". $attr_name ." attribute.\n";
+ print $indent ."\t * @return Returns a ". $pre . ucfirst( $type ) ." reference of the ". $attr_name ." attribute.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\t" . $pre . ucfirst( $type ) . " &get" . ucfirst($attr_name) ."() { ";
+ print "return attr". ucfirst($attr_name) ."; }\n";
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Gets the ". $attr_name ." attribute.\n";
+ print $indent ."\t * @return Returns a constant ". $pre . ucfirst( $type ) ." reference of the ". $attr_name ." attribute.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tconst " . $pre . ucfirst( $type ) . " &get" . ucfirst($attr_name) ."() const { ";
+ print "return attr". ucfirst($attr_name) ."; }\n";
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Sets the ". $attr_name ." attribute.\n";
+ print $indent ."\t * @param at". ucfirst($attr_name)." The new value for the ". $attr_name ." attribute.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tvoid set". ucfirst( $attr_name ) ."( const ". $pre . ucfirst( $type ) ." &at";
+ print ucfirst($attr_name) ." ) { attr". ucfirst($attr_name) ." = at". ucfirst($attr_name) .";";
+ if ( $vaa ) {
+ print " _validAttributeArray[". $attrCnt ."] = true;";
+ }
+ print " }\n";
+ // We add a setter that takes a plain string to help with backward compatibility
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Sets the ". $attr_name ." attribute.\n";
+ print $indent ."\t * @param at". ucfirst($attr_name)." The new value for the ". $attr_name ." attribute.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tvoid set". ucfirst( $attr_name ) ."( xsString at";
+ print ucfirst($attr_name) ." ) { attr". ucfirst($attr_name) ." = at" . ucfirst($attr_name) . ";";
+ if ( $vaa ) {
+ print " _validAttributeArray[". $attrCnt ."] = true;";
+ }
+ print " }\n\n";
+ }
+ else if( ucfirst($type) == 'IDREF' ) {
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Gets the ". $attr_name ." attribute.\n";
+ print $indent ."\t * @return Returns a ". $pre . ucfirst( $type ) ." reference of the ". $attr_name ." attribute.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\t" . $pre . ucfirst( $type ) . " &get" . ucfirst($attr_name) ."() { ";
+ print "return attr". ucfirst($attr_name) ."; }\n";
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Gets the ". $attr_name ." attribute.\n";
+ print $indent ."\t * @return Returns a constant ". $pre . ucfirst( $type ) ." reference of the ". $attr_name ." attribute.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tconst " . $pre . ucfirst( $type ) . " &get" . ucfirst($attr_name) ."() const{ ";
+ print "return attr". ucfirst($attr_name) ."; }\n";
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Sets the ". $attr_name ." attribute.\n";
+ print $indent ."\t * @param at". ucfirst($attr_name)." The new value for the ". $attr_name ." attribute.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tvoid set". ucfirst( $attr_name ) ."( const ". $pre . ucfirst( $type ) ." &at";
+ print ucfirst($attr_name) ." ) { attr". ucfirst($attr_name) ." = at". ucfirst($attr_name) .";";
+ if ( $vaa ) {
+ print " _validAttributeArray[". $attrCnt ."] = true;";
+ }
+ print " }\n\n";
+ }
+ else if ( strstr( $baseStringTypes, $baseType ) !== FALSE && count( $a_list['enum'] ) == 0 ) {
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Gets the ". $attr_name ." attribute.\n";
+ print $indent ."\t * @return Returns a ". $pre . ucfirst( $type ) ." of the ". $attr_name ." attribute.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\t" . $pre . ucfirst( $type ) . " get" . ucfirst($attr_name) ."() const { ";
+ print "return attr". ucfirst($attr_name) ."; }\n";
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Sets the ". $attr_name ." attribute.\n";
+ print $indent ."\t * @param at". ucfirst($attr_name)." The new value for the ". $attr_name ." attribute.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tvoid set". ucfirst( $attr_name ) ."( ". $pre . ucfirst( $type ) ." at";
+ print ucfirst($attr_name) ." ) { *(daeStringRef*)&attr". ucfirst($attr_name) ." = at". ucfirst($attr_name) .";";
+ if ( $vaa ) {
+ print " _validAttributeArray[". $attrCnt ."] = true; ";
+ }
+ if ( $attr_name == "id" )
+ {
+ print "\n". $indent ."\t\tif( _document != NULL ) _document->changeElementID( this, attrId );\n". $indent ."\t";
+ }
+
+ print "}\n\n";
+ }
+ else {
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Gets the ". $attr_name ." attribute.\n";
+ print $indent ."\t * @return Returns a ". $pre . ucfirst( $type ) ." of the ". $attr_name ." attribute.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\t" . $pre . ucfirst( $type ) . " get" . ucfirst($attr_name) ."() const { ";
+ print "return attr". ucfirst($attr_name) ."; }\n";
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Sets the ". $attr_name ." attribute.\n";
+ print $indent ."\t * @param at". ucfirst($attr_name)." The new value for the ". $attr_name ." attribute.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tvoid set". ucfirst( $attr_name ) ."( ". $pre . ucfirst( $type ) ." at";
+ print ucfirst($attr_name) ." ) { attr". ucfirst($attr_name) ." = at". ucfirst($attr_name) .";";
+ if ( $vaa ) {
+ print " _validAttributeArray[". $attrCnt ."] = true;";
+ }
+ print " }\n\n";
+ }
+ $attrCnt++;
+ }
+}
+
+function printAccessorsAndMutators(&$bag, &$needsContents, &$indent) {
+ global $_globals;
+ global $meta;
+
+ $content_type = $bag['content_type'];
+ $pre = '';
+ getTypeNameAndPrefix($content_type, $pre);
+
+ if ( $_globals['accessorsAndMutators'] && ( $bag['useXMLNS'] || count($bag['attributes'])>0 ||
+ count($bag['elements'])>0 ||( ($bag['content_type'] != '' || $bag['mixed']) && !$bag['abstract'] ) ) ) {
+
+ //generate accessors and mutators for everything
+ print "\n". $indent ."public:\t//Accessors and Mutators\n";
+
+ if($bag['isExtension']) {
+ printAttributes($meta[$bag['base_type']], $typemeta, $indent, !$meta[$bag['base_type']]['isAComplexType']);
+ }
+
+ printAttributes( $bag, $typemeta, $indent, !$bag['isAComplexType'] );
+
+ for( $i=0; $i<count( $bag['elements'] ); $i++ ) {
+ $maxOccurs = $bag['element_attrs'][ $bag['elements'][$i] ]['maxOccurs'];
+ $maxOccurs = ($maxOccurs == 'unbounded' || $maxOccurs > 1);
+ $type = '';
+ if ( isset( $bag['element_attrs'][ $bag['elements'][$i] ]['type'] ) &&
+ isset( $meta[$bag['element_attrs'][ $bag['elements'][$i] ]['type']] ) ){
+
+ $type = $_globals['prefix'] . ucfirst( $bag['element_attrs'][ $bag['elements'][$i] ]['type'] ) . ($maxOccurs ? "_Array" : "Ref");
+ }
+ else {
+ $type = $_globals['prefix'] . ucfirst( $bag['elements'][$i] ) . ($maxOccurs ? "_Array" : "Ref");
+ }
+ $name = ucfirst($bag['elements'][$i]) . ($maxOccurs ? "_array" : "");
+ if ( $maxOccurs ) {
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Gets the ". $bag['elements'][$i] ." element array.\n";
+ print $indent ."\t * @return Returns a reference to the array of ". $bag['elements'][$i] ." elements.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\t". $type ." &get". $name ."() { return elem". $name ."; }\n";
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Gets the ". $bag['elements'][$i] ." element array.\n";
+ print $indent ."\t * @return Returns a constant reference to the array of ". $bag['elements'][$i] ." elements.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tconst ". $type ." &get". $name ."() const { return elem". $name ."; }\n";
+ //print $indent ."\tvoid set". $name ."( ". $type ." *e". $name ." ) { elem". $name ." = *e". $name ."; }\n\n";
+ }
+ else {
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Gets the ". $bag['elements'][$i] ." element.\n";
+ print $indent ."\t * @return a daeSmartRef to the ". $bag['elements'][$i] ." element.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tconst ". $type ." get". $name ."() const { return elem". $name ."; }\n";
+ //print $indent ."\tvoid set". $name ."( ". $type ." &e". $name ." ) { elem". $name ." = e". $name ."; }\n\n";
+ }
+
+ if ( isset( $meta[$bag['elements'][$i]] ) ) {
+ if( count( $meta[$bag['elements'][$i]]['substitutableWith']) > 0 ) {
+ $needsContents = true;
+ }
+ }
+ }
+
+ if ( $bag['hasChoice'] || $needsContents || $bag['has_any'] )
+ {
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Gets the _contents array.\n";
+ print $indent ."\t * @return Returns a reference to the _contents element array.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tdaeElementRefArray &getContents() { return _contents; }\n";
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Gets the _contents array.\n";
+ print $indent ."\t * @return Returns a constant reference to the _contents element array.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tconst daeElementRefArray &getContents() const { return _contents; }\n\n";
+ }
+
+ if ( ($bag['content_type'] != '' || $bag['mixed']) && !$bag['abstract'] )
+ {
+ $type = $content_type;
+ if($meta[$content_type]['isAComplexType'])
+ $type = $type . "Ref";
+ $baseStringTypes = "xsDateTime xsID xsNCName xsNMTOKEN xsName xsToken xsString domSidref domSid";
+ $baseType = $pre . ucfirst( $type );
+ if ( isset( $typemeta[$type] ) ) {
+ $typeInfo = $typemeta[$type];
+ while ( $typeInfo['base'] != '' && isset( $typemeta[$typeInfo['base']] ) ) {
+ $typeInfo = $typemeta[$typeInfo['base']];
+ if ( preg_match( "/xs\:/", $typeInfo['type'] ) ) {
+ $baseType = "xs" . ucfirst( substr( $typeInfo['type'], 3 ) );
+ }
+ else {
+ $baseType = $_globals['prefix'] . ucfirst( $typeInfo['type'] );
+ }
+ }
+ }
+ //if ( !strcmp( $pre . ucfirst( $type ), $full_element_name ) ) {
+ if ( $bag['parent_meta']['inline_elements'] != NULL && array_key_exists( $type, $bag['parent_meta']['inline_elements'] ) ) {
+ $pre = '::' . $pre;
+ }
+ if (!isset($bag['baseTypeViaRestriction'])) {
+ if ( (isset( $typemeta[$content_type] ) && $typemeta[$content_type]['isArray']) || $content_type == 'IDREFS' ) {
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Gets the _value array.\n";
+ print $indent ."\t * @return Returns a ". $pre . ucfirst( $type ) ." reference of the _value array.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\t".$pre . ucfirst( $type ) ." &getValue() { return _value; }\n";
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Gets the _value array.\n";
+ print $indent ."\t * @return Returns a constant ". $pre . ucfirst( $type ) ." reference of the _value array.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tconst ".$pre . ucfirst( $type ) ." &getValue() const { return _value; }\n";
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Sets the _value array.\n";
+ print $indent ."\t * @param val The new value for the _value array.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tvoid setValue( const ". $pre . ucfirst( $type ) ." &val ) { _value = val; }\n\n";
+ //print $indent ."\t _meta->getValueAttribute()->setIsValid(true); }\n\n";
+ }
+ else if ( ucfirst($type) == 'AnyURI' ) {
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Gets the value of this element.\n";
+ print $indent ."\t * @return Returns a ". $pre . ucfirst( $type ) ." of the value.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\t".$pre . ucfirst( $type ) ." &getValue() { return _value; }\n";
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Gets the value of this element.\n";
+ print $indent ."\t * @return Returns a constant ". $pre . ucfirst( $type ) ." of the value.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tconst ".$pre . ucfirst( $type ) ." &getValue() const { return _value; }\n";
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Sets the _value of this element.\n";
+ print $indent ."\t * @param val The new value for this element.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tvoid setValue( const ". $pre . ucfirst( $type ) ." &val ) { _value = val; }\n";
+ // We add a setter that takes a plain string to help with backward compatibility
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Sets the _value of this element.\n";
+ print $indent ."\t * @param val The new value for this element.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tvoid setValue( xsString val ) { _value = val; }\n\n";
+ }
+ else if( ucfirst($type) == 'IDREF' ) {
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Gets the value of this element.\n";
+ print $indent ."\t * @return Returns a ". $pre . ucfirst( $type ) ." of the value.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\t".$pre . ucfirst( $type ) ." &getValue() { return _value; }\n";
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Gets the value of this element.\n";
+ print $indent ."\t * @return Returns a constant ". $pre . ucfirst( $type ) ." of the value.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tconst ".$pre . ucfirst( $type ) ." &getValue() const { return _value; }\n";
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Sets the _value of this element.\n";
+ print $indent ."\t * @param val The new value for this element.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tvoid setValue( const ". $pre . ucfirst( $type ) ." &val ) { _value = val; }\n\n";
+ //print $indent ."\t _meta->getValueAttribute()->setIsValid(true); }\n\n";
+ }
+ else if ( strstr( $baseStringTypes, $baseType ) !== FALSE && count( $typemeta[$type]['enum'] ) == 0 ) {
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Gets the value of this element.\n";
+ print $indent ."\t * @return Returns a ". $pre . ucfirst( $type ) ." of the value.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\t".$pre . ucfirst( $type ) ." getValue() const { return _value; }\n";
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Sets the _value of this element.\n";
+ print $indent ."\t * @param val The new value for this element.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tvoid setValue( ". $pre . ucfirst( $type ) ." val ) { *(daeStringRef*)&_value = val; }\n\n";
+ }
+ else {
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Gets the value of this element.\n";
+ print $indent ."\t * @return a ". $pre . ucfirst( $type ) ." of the value.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\t".$pre . ucfirst( $type ) ."& getValue() { return _value; }\n";
+ //comment
+ print $indent ."\t/**\n". $indent ."\t * Sets the _value of this element.\n";
+ print $indent ."\t * @param val The new value for this element.\n";
+ print $indent ."\t */\n";
+ //code
+ print $indent ."\tvoid setValue( const ". $pre . ucfirst( $type ) ."& val ) { _value = val; }\n\n";
+ //print $indent ."\t _meta->getValueAttribute()->setIsValid(true); }\n\n";
+ }
+ }
+ }
+ }
+}
+
+?>
diff --git a/1.4.0/dom/codeGen/1.5/tpl/tpl-class-def.php b/1.4.0/dom/codeGen/1.5/tpl/tpl-class-def.php
new file mode 100644
index 0000000..7447c21
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/tpl/tpl-class-def.php
@@ -0,0 +1,205 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+global $meta;
+global $typemeta;
+$needsContents = false;
+
+
+// XXX all occurences of 'baseTypeViaRestriction' are ugly hacks to get
+// a working dom for 1.5
+if(isset($bag['baseTypeViaRestriction'])) {
+ print '#include <dom/' .
+ $_globals['prefix'] . ucfirst( $bag['baseTypeViaRestriction'] ) .
+ '.h>'."\n";
+}
+
+
+// shorthand:
+$full_element_name = $_globals['prefix'] . ucfirst( $bag['element_name'] );
+//COLLADA TYPE list
+if ( array_search( $bag['element_name'], $_globals['elementTypes'] ) === FALSE )
+{
+ $_globals['elementTypes'][] = $bag['element_name'];
+}
+//COLLADA ELEMENT list
+for( $i=0; $i<count( $bag['elements'] ); $i++ )
+{
+ if ( array_search( $bag['elements'][$i], $_globals['elementNames'] ) === FALSE )
+ {
+ $_globals['elementNames'][] = $bag['elements'][$i];
+ }
+}
+if ( $bag['substitution_group'] != '' )
+{
+ //also add this element to the list of elements.
+ if ( array_search( $bag['element_name'], $_globals['elementNames'] ) === FALSE )
+ {
+ $_globals['elementNames'][] = $bag['element_name'];
+ }
+}
+
+$indent = "";
+for ($i = 0; $i < $GLOBALS['indentNum']; $i++ ) {
+ $indent .= "\t";
+}
+if ( $GLOBALS['indentNum'] > 0 ) { //only print these for the inner classes.. the main classes will have
+ //them defined in a seperate file to avoid circular includes.
+ print $indent."class " . $full_element_name . ";\n\n";
+ print $indent ."typedef daeSmartRef<". $full_element_name ."> ". $full_element_name ."Ref;\n";
+ print $indent ."typedef daeTArray<". $full_element_name ."Ref> ". $full_element_name ."_Array;\n\n";
+}
+
+// DOCUMENTATION
+if ( isset( $bag['documentation'][ $_globals['language'] ] ) )
+{
+ print applyTemplate( 'DOXYGEN', $bag['documentation'][ $_globals['language'] ] );
+}
+
+// SUBSTITION GROUP/INHERITANCE
+$baseClass = 'daeElement';
+if($bag['substitution_group'] != '')
+ $baseClass = $_globals['prefix'] . ucfirst($bag['substitution_group']);
+if($bag['isExtension'])
+ $baseClass = $_globals['prefix'] . ucfirst($bag['base_type']);
+if(isset($bag['baseTypeViaRestriction']))
+ $baseClass = $_globals['prefix'] . ucfirst($bag['baseTypeViaRestriction']);
+
+print $indent ."class ". $full_element_name . " : public " . $baseClass . "\n".$indent."{\n";
+print $indent ."public:\n";
+print $indent ."\tvirtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::". strtoupper($bag['element_name']) ."; }\n";
+print $indent ."\tstatic daeInt ID() { return ". $_globals['typeID']++ ."; }\n";
+print $indent ."\tvirtual daeInt typeID() const { return ID(); }\n";
+
+// INTERNAL CLASSES
+$result = '';
+$inlines = array_keys( $bag['inline_elements'] );
+for( $i=0; $i<count( $inlines ); $i++ )
+{
+ $inner = $bag['inline_elements'][ $inlines[$i] ];
+ if ( !$inner['complex_type'] || $inner['isRestriction'] || $inner['isExtension'] ) {
+ $GLOBALS['indentNum']++;
+ $result .= applyTemplate( 'CLASS', $inner );
+ $GLOBALS['indentNum']--;
+ }
+}
+if ( strlen( $result ) > 0 ) { print $indent ."public:\n$result\n"; }
+
+//ENUM
+if ( $bag['simple_type'] != NULL ) {
+ $typeMeta = $bag['simple_type']->getMeta();
+ //print $typeMeta['type'];
+ if ( count( $typeMeta['enum'] ) > 0 )
+ {
+ //print "has enums";
+ print $indent ."public: //ENUM\n";
+ if ( !$typeMeta['useConstStrings'] ) {
+ //Decided to name mangle the enum constants so they are more descriptive and avoid collisions
+ if ( isset( $typeMeta['documentation']['en'] ) ) {
+ print applyTemplate( 'DOXYGEN', $typeMeta['documentation']['en'] );
+ }
+ print "enum " . $_globals['prefix'] . ucfirst( $typeMeta['type'] ) . "_type {\n";
+ //print "\t" . strtoupper( $typeMeta['type'] ) . "_" . $typeMeta['enum'][0] ." = 1";
+ for( $i = 0; $i < count( $typeMeta['enum'] ); $i++ ) {
+ //print ",";
+ print "\t" . strtoupper( $typeMeta['type'] ) . "_" . $typeMeta['enum'][$i] .",";
+ if ( isset( $typeMeta['enum_documentation'][$i] ) ) {
+ print "\t\t/**< ". $typeMeta['enum_documentation'][$i] ." */";
+ }
+ //print "\n\t" . strtoupper( $typeMeta['type'] ) . "_" . $typeMeta['enum'][$i];
+ print "\n";
+ }
+ //if ( isset( $typeMeta['enum_documentation'][count( $typeMeta['enum'] )-1] ) ) {
+ // print "\t\t/**< ". $typeMeta['enum_documentation'][count( $typeMeta['enum'] )-1] ." */";
+ //}
+ print "\t". strtoupper( $typeMeta['type'] ) . "_COUNT";
+ print "\n};\n\n";
+ }
+ else {
+ //if ( isset( $typeMeta['documentation']['en'] ) ) {
+ // $_globals['constStrings'][] = applyTemplate( 'DOXYGEN', $typeMeta['documentation']['en'] );
+ //}
+ for( $i = 0; $i < count( $typeMeta['enum'] ); $i++ ) {
+ //print "static const daeString ". strtoupper( $typeMeta['type'] ) . "_" . $typeMeta['enum'][$i];
+ //print " = \"". $typeMeta['enum'][$i] ."\";\n";
+ if ( isset( $typeMeta['enum_documentation'][$i] ) ) {
+ $_globals['constStrings'][] = "/**\n * ". $typeMeta['enum_documentation'][$i] ."\n */\n";
+ }
+ $conststrnm = strtoupper( $typeMeta['type'] ) . "_" . $typeMeta['enum'][$i];
+ $conststr = "\"". $typeMeta['enum'][$i] ."\";\n";
+ $_globals['constStrings'][$conststrnm] = $conststr;
+ }
+ $_globals['constStrings'][] = "\n";
+ }
+ }
+}
+
+// ATTRIBUTES
+if ( ( count( $bag['attributes'] ) > 0 || $bag['useXMLNS'] ) /*&& !isset($bag['baseTypeViaRestriction'])*/ )
+{
+ print $indent ."protected: // Attribute". (count( $bag['attributes'] ) > 1 ? 's' : '') ."\n";
+
+ if ( $bag['useXMLNS'] ) {
+ print $indent ."\t/**\n". $indent ."\t * This element may specify its own xmlns.\n". $indent ."\t */\n";
+ print $indent ."\txsAnyURI attrXmlns;\n";
+ }
+ foreach( $bag['attributes'] as $attr_name => & $a_list )
+ {
+ $type = $a_list['type'];
+ $pre = '';
+ getTypeNameAndPrefix($type, $pre);
+ if ( $type == '' )
+ {
+ $type = "String";
+ }
+ if ( isset( $a_list['documentation'] ) ) {
+ print applyTemplate( 'DOXYGEN', $a_list['documentation'] );
+ }
+ print $indent ."\t" . $pre . ucfirst( $type ) . " attr" . ucfirst($attr_name) .";\n";
+ }
+}
+
+// ELEMENTS
+if ( count( $bag['attributes'] > 0 ) ) { print "\n"; }
+printElements($bag, $needsContents, $indent);
+
+printAccessorsAndMutators($bag, $needsContents, $indent);
+
+//VALUE
+// NOTE: special casing any element with 'mixed' content model to ListOfInts type _value
+if ( ( ($bag['content_type'] != '' || $bag['mixed']) && !$bag['abstract'] ) && !isset($bag['baseTypeViaRestriction']) )
+{
+ print $indent ."protected: // Value\n";
+
+ $content_type = $bag['content_type'];
+ $pre = '';
+ getTypeNameAndPrefix($content_type, $pre);
+ if ( $bag['parent_meta']['inline_elements'] != NULL && array_key_exists( $content_type, $bag['parent_meta']['inline_elements'] ) ) {
+ $pre = '::' . $pre;
+ }
+ print $indent ."\t/**\n". $indent ."\t * The " . $pre . ucfirst( $content_type ) ." value of the text data of this element. ";
+ print "\n". $indent ."\t */\n";
+ $valueType = $pre . ucfirst($content_type);
+ if($meta[$content_type]['isAComplexType'])
+ $valueType = $valueType . "Ref";
+ print $indent ."\t". $valueType ." _value;\n";
+}
+
+//CONSTRUCTORS
+printConstructors( $full_element_name, $bag, $baseClass, $indent );
+
+print "\n".$indent ."public: // STATIC METHODS\n";
+print $indent ."\t/**\n". $indent ."\t * Creates an instance of this class and returns a daeElementRef referencing it.\n";
+print $indent ."\t * @return a daeElementRef referencing an instance of this object.\n". $indent ."\t */\n";
+print $indent ."\tstatic DLLSPEC ". $_globals['meta_prefix'] ."ElementRef create(DAE& dae);\n";
+print $indent ."\t/**\n". $indent ."\t * Creates a daeMetaElement object that describes this element in the meta object reflection framework.";
+print "\n". $indent ."\t * If a daeMetaElement already exists it will return that instead of creating a new one. \n";
+print $indent ."\t * @return A daeMetaElement describing this COLLADA element.\n". $indent ."\t */\n";
+print $indent ."\tstatic DLLSPEC ". $_globals['meta_prefix'] ."MetaElement* registerElement(DAE& dae);\n";
+print $indent ."};\n\n";
diff --git a/1.4.0/dom/codeGen/1.5/tpl/tpl-constants-cpp-file.php b/1.4.0/dom/codeGen/1.5/tpl/tpl-constants-cpp-file.php
new file mode 100644
index 0000000..c6141e2
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/tpl/tpl-constants-cpp-file.php
@@ -0,0 +1,16 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+// Grab the file name and save the output
+$_file = $_globals['prefix'] . "Constants.cpp";
+$_bytes = file_put_contents( ($_globals['target_dir'] . $_globals['dom_dir'] . 'src/' . $_file), applyTemplate( 'CONSTANTS_CPP', $bag ) );
+
+//if ( $_bytes > 0 ) { print "Wrote $_bytes bytes to file '$_file'\n"; }
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.5/tpl/tpl-constants-cpp.php b/1.4.0/dom/codeGen/1.5/tpl/tpl-constants-cpp.php
new file mode 100644
index 0000000..30d113d
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/tpl/tpl-constants-cpp.php
@@ -0,0 +1,36 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+if ( $_globals['copyright'] ) {
+print $_globals['copyright_text'];
+}
+?>
+#include <dom/domConstants.h>
+
+<?php
+ foreach ($bag as $name => $val ) {
+ if ( is_int($name) ) {
+ print $val;
+ continue;
+ }
+ print "DLLSPEC daeString ". $name ." = ". $val;
+ }
+ print "\n";
+
+ foreach ($_globals['elementTypes'] as $num => $val )
+ {
+ print "DLLSPEC daeString COLLADA_TYPE_". getUniqueName($val, $_globals['elementTypes']) ." = \"". $val ."\";\n";
+ }
+ print "\n";
+
+ foreach ($_globals['elementNames'] as $num => $val )
+ {
+ print "DLLSPEC daeString COLLADA_ELEMENT_". getUniqueName($val, $_globals['elementNames']) ." = \"". $val ."\";\n";
+ }
+?>
diff --git a/1.4.0/dom/codeGen/1.5/tpl/tpl-constants-file.php b/1.4.0/dom/codeGen/1.5/tpl/tpl-constants-file.php
new file mode 100644
index 0000000..8bfc456
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/tpl/tpl-constants-file.php
@@ -0,0 +1,16 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+// Grab the file name and save the output
+$_file = $_globals['prefix'] . "Constants.h";
+$_bytes = file_put_contents( ($_globals['target_dir'] . $_globals['dom_dir']. 'include/' . $_file), applyTemplate( 'CONSTANTS', $bag ) );
+
+//if ( $_bytes > 0 ) { print "Wrote $_bytes bytes to file '$_file'\n"; }
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.5/tpl/tpl-constants.php b/1.4.0/dom/codeGen/1.5/tpl/tpl-constants.php
new file mode 100644
index 0000000..199e849
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/tpl/tpl-constants.php
@@ -0,0 +1,42 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+if ( $_globals['copyright'] ) {
+print $_globals['copyright_text'];
+}
+?>
+#ifndef __DOM_CONSTANTS_H__
+#define __DOM_CONSTANTS_H__
+
+#include <dae/daeDomTypes.h>
+
+<?php
+ foreach ($bag as $name => $val ) {
+ if ( is_int($name) ) {
+ print $val;
+ continue;
+ }
+ print "extern DLLSPEC daeString ". $name .";\n";
+ }
+ print "\n";
+
+ foreach ($_globals['elementTypes'] as $num => $val )
+ {
+ print "extern DLLSPEC daeString COLLADA_TYPE_". getUniqueName($val, $_globals['elementTypes']) .";\n";
+ }
+ print "\n";
+
+ foreach ($_globals['elementNames'] as $num => $val )
+ {
+ print "extern DLLSPEC daeString COLLADA_ELEMENT_". getUniqueName($val, $_globals['elementNames']) .";\n";
+ }
+?>
+
+#endif //__DOM_CONSTANTS_H__
+
diff --git a/1.4.0/dom/codeGen/1.5/tpl/tpl-cpp-body.php b/1.4.0/dom/codeGen/1.5/tpl/tpl-cpp-body.php
new file mode 100644
index 0000000..757e953
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/tpl/tpl-cpp-body.php
@@ -0,0 +1,25 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+if ( $_globals['copyright'] ) {
+print $_globals['copyright_text'];
+}
+?>
+#include <dae.h>
+#include <<?= $_globals['meta_prefix'] ?>/daeDom.h>
+#include <<?= $_globals['prefix'] ?>/<?= $_globals['prefix'] . ucfirst( $bag['element_name'] ) . ".h" ?>>
+#include <<?= $_globals['meta_prefix'] ?>/daeMetaCMPolicy.h>
+#include <<?= $_globals['meta_prefix'] ?>/daeMetaSequence.h>
+#include <<?= $_globals['meta_prefix'] ?>/daeMetaChoice.h>
+#include <<?= $_globals['meta_prefix'] ?>/daeMetaGroup.h>
+#include <<?= $_globals['meta_prefix'] ?>/daeMetaAny.h>
+#include <<?= $_globals['meta_prefix'] ?>/daeMetaElementAttribute.h>
+
+<?= applyTemplate( 'CPP_METHODS', $bag ) ?>
+<?= applyTemplate( 'CPP_STATIC', $bag ) ?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.5/tpl/tpl-cpp-methods.php b/1.4.0/dom/codeGen/1.5/tpl/tpl-cpp-methods.php
new file mode 100644
index 0000000..93e90a5
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/tpl/tpl-cpp-methods.php
@@ -0,0 +1,484 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+ global $meta;
+ global $typemeta;
+
+ $_context = $bag['context'];
+ for( $i=0; $i<count( $_context ); $i++ )
+ {
+ $_context[$i] = $_globals['prefix'] . ucfirst( $_context[$i] );
+ }
+ $scoped_element = implode( '::', $_context );
+
+ /*if ( $bag['has_any'] ) {
+ foreach ( $meta as $nm => $lm ) {
+ if ( !$lm['isAGroup'] && !$lm['isAComplexType'] && !$lm['abstract'] ) {
+ print "#include <". $_globals['prefix'] ."/". $_globals['prefix'] . ucfirst($nm).".h>\n";
+ }
+ }
+ print "\n";
+ }*/
+
+ if ( $scoped_element == "domCOLLADA" ) {
+ print "extern daeString COLLADA_VERSION;\n";
+ print "extern daeString COLLADA_NAMESPACE;\n\n";
+ }
+?><?= $_globals['meta_prefix'] ?>ElementRef
+<?= $scoped_element ?>::create(DAE& dae)
+{
+ <?= $scoped_element ?>Ref ref = new <?= $scoped_element ?>(dae);
+<?php
+ if ( $bag['useXMLNS'] ) {
+ print "\tref->attrXmlns.setContainer( (". $scoped_element ."*)ref );\n";
+ }
+ foreach( $bag['attributes'] as $attr_name => & $a_list ) {
+ if ( $a_list['type'] == 'xs:anyURI' || $a_list['type'] == 'urifragment' ) {
+ print "\tref->attr". ucfirst($attr_name) .".setContainer( (". $scoped_element ."*)ref );\n";
+ }
+ }
+ if ( $bag['content_type'] == 'xs:anyURI' || $bag['content_type'] == 'urifragment' ) {
+ print "\tref->_value.setContainer( (". $scoped_element ."*)ref );\n";
+ }
+ if ( $scoped_element == "domCOLLADA" ) {
+ print "\tref->_meta = dae.getMeta(domCOLLADA::ID());\n";
+ print "\tref->setAttribute(\"version\", COLLADA_VERSION );\n";
+ print "\tref->setAttribute(\"xmlns\", COLLADA_NAMESPACE );\n";
+ print "\tref->_meta = NULL;\n";
+ }
+?>
+ return ref;
+}
+
+<?php
+ if( ( $bag['complex_type'] && !$bag['isRestriction'] ) || isset($bag['baseTypeViaRestriction']) ) {
+ //print "element ". $bag['element_name'] ." is of base ". $bag['base_type'] ."\n";
+ //import content model from type
+ $bag['elements'] = array_merge( $meta[$bag['base_type']]['elements'], $bag['elements'] );
+ $bag['element_attrs'] = array_merge( $meta[$bag['base_type']]['element_attrs'], $bag['element_attrs'] );
+ $bag['content_type'] = $meta[$bag['base_type']]['content_type'];
+ $bag['attributes'] = array_merge( $meta[$bag['base_type']]['attributes'], $bag['attributes'] );
+ $tempArray = array();
+ if ( count( $bag['content_model'] ) > 0 ) {
+ //we have an addition to the content model - need to add a starting sequence
+ $tempArray[] = array( 'name' => 0, 'minOccurs' => 1, 'maxOccurs' => 1 );
+ }
+ $tempArray = array_merge( $tempArray, $meta[$bag['base_type']]['content_model'] );
+ array_pop( $tempArray ); //remove the last END token
+ $tempArray = array_merge( $tempArray, $bag['content_model'] );
+ if ( count( $bag['content_model'] ) > 0 ) {
+ //we have an addition to the content model - need to add a starting sequence
+ $tempArray[] = array( 'name' => 5, 'minOccurs' => 1, 'maxOccurs' => 1 );
+ }
+ $bag['content_model'] = $tempArray;
+ }
+
+ for( $i=0; $i<count( $bag['elements'] ); $i++ ) {
+ if ( isset( $meta[$bag['elements'][$i]] ) ) {
+ $cnt = count( $meta[$bag['elements'][$i]]['substitutableWith']);
+ for ( $c = 0; $c < $cnt; $c++ ) {
+ $subwith = $meta[$bag['elements'][$i]]['substitutableWith'][$c];
+ print $prefix ."#include <". $_globals['prefix'] ."/". $_globals['prefix'] . ucfirst( $subwith ) .".h>\n";
+ }
+ }
+ }
+?>
+
+<?= $_globals['meta_prefix'] ?>MetaElement *
+<?= $scoped_element ?>::registerElement(DAE& dae)
+{
+ <?= $_globals['meta_prefix'] ?>MetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "<?= $bag['element_name'] ?>" );
+ meta->registerClass(<?= $scoped_element ?>::create);
+
+<?php
+ if ( $bag['isAGroup'] ) {
+ print "\tmeta->setIsTransparent( true );\n";
+ }
+ if ( $bag['abstract'] ) {
+ print "\tmeta->setIsAbstract( true );\n";
+ }
+ if ( isset( $bag['parent_meta'] ) ) {
+ print "\tmeta->setIsInnerClass( true );\n";
+ }
+
+ if ( count( $bag['elements'] ) > 0 || $bag['has_any'] )
+ {
+ print "\tdaeMetaCMPolicy *cm = NULL;\n";
+ if ( !$bag['has_any'] ) {
+ print "\tdaeMetaElementAttribute *mea = NULL;\n";
+ }
+
+ $needsContents = false;
+ $cmTree = array();
+ $currentCM = NULL;
+ $currentOrd = 0;
+ $level = 0;
+ $choiceNum = 0;
+
+ // !!!steveT Hack alert. In the 1.5 schema there's a single element named
+ // 'sampler_states_type' that contains a group ref that isn't contained in
+ // an xs:sequence or xs:choice the way all the other group refs are. The
+ // code generator handles this case incorrectly. It outputs code that causes
+ // the DOM to crash when you try to create a DAE object.
+ //
+ // Unfortunately I don't know what the proper solution is, so this hack just
+ // detects that specific group ref type and treats it like it's in an
+ // xs:sequence. I have no idea if that's right, but it causes the DOM not to
+ // crash anyway.
+ $containsGroup = false;
+ $containsOther = false;
+ for( $i=0; $i<count( $bag['content_model'] ) - 1; $i++ ) {
+ $cm = $bag['content_model'][$i];
+ if(is_int($cm['name']) && $cm['name'] == 2)
+ $containsGroup = true;
+ if(is_int($cm['name']) && $cm['name'] != 2)
+ $containsOther = true;
+ }
+ $hack = $containsGroup && !$containsOther;
+
+ for( $i=0; $i<count( $bag['content_model'] ) - 1; $i++ )
+ {
+ $cm = $bag['content_model'][$i];
+ if ( $cm['maxOccurs'] == "unbounded" )
+ {
+ $cm['maxOccurs'] = -1;
+ }
+ if ( is_int( $cm['name'] ) )
+ {
+ if ( $cm['name'] == 0 || ($i == 0 && $hack)) //sequence
+ {
+ //if ( $level > 0 ) {
+ // $needsContents = true;
+ //}
+
+ // !!!steveT Horrible hack here. For some reason the wrong value gets generated for
+ // the third parameter
+ if (strcmp($scoped_element, "domCamera::domOptics::domTechnique_common::domPerspective") == 0)
+ print "\tcm = new daeMetaSequence( meta, cm, 0, ". $cm['minOccurs'] .", ". $cm['maxOccurs'] ." );\n\n";
+ else
+ print "\tcm = new daeMetaSequence( meta, cm, ". $currentOrd .", ". $cm['minOccurs'] .", ". $cm['maxOccurs'] ." );\n\n";
+
+ $level++;
+ $currentCM = array( 'cm' => $currentCM['cm'], 'ord' => $currentOrd );
+ array_push( $cmTree, $currentCM );
+ $currentCM = array( 'cm' => $cm, 'ord' => $currentOrd );
+ $currentOrd = 0;
+ }
+ else if ( $cm['name'] == 1 ) //choice
+ {
+ print "\tcm = new daeMetaChoice( meta, cm, ". $choiceNum .", ". $currentOrd .", ". $cm['minOccurs'] .", ". $cm['maxOccurs'] ." );\n\n";
+ $level++;
+ $needsContents = true;
+ $currentCM = array( 'cm' => $currentCM['cm'], 'ord' => $currentOrd );
+ array_push( $cmTree, $currentCM );
+ $currentCM = array( 'cm' => $cm, 'ord' => $currentOrd );
+ $currentOrd = 0;
+ $choiceNum++;
+ }
+ else if ( $cm['name'] == 2 ) //group
+ {
+ $i++; //groups actually add two parts to the content model. The first is the group the second an element
+ $groupName = $bag['content_model'][$i]['name'];
+ $arrayOrNot = $bag['element_attrs'][ $groupName ]['maxOccurs'];
+ if ( $arrayOrNot == 'unbounded' || $arrayOrNot > 1 ) {
+ $arrayOrNot = true;
+ }
+ else {
+ $arrayOrNot = false;
+ }
+?>
+ mea = new daeMetaElement<?= $arrayOrNot ? 'Array' : '' ?>Attribute( meta, cm, <?= $currentOrd ?>, <?= $cm['minOccurs'] ?>, <?= $cm['maxOccurs'] ?> );
+ mea->setName( "<?= $groupName ?>" );
+ mea->setOffset( daeOffsetOf(<?= $scoped_element ?>,elem<?= ucfirst( $groupName ) ?><?= $arrayOrNot ? '_array' : '' ?>) );
+ mea->setElementType( <?= $_globals['prefix'] . ucfirst( $groupName ) ?>::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, <?= $currentOrd ?>, <?= $cm['minOccurs'] ?>, <?= $cm['maxOccurs'] ?> ) );
+
+<?php
+ if ( $currentCM['cm']['name'] == 0 ) {
+ $currentOrd++;
+ }
+ }
+ else if ( $cm['name'] == 3 ) //all
+ {
+ //print "\tcm = new daeMetaAll( meta, cm, ". $cm['minOccurs'] .", ". $cm['maxOccurs'] ." );\n";
+ $level++;
+ $needsContents = true;
+ $currentCM = array( 'cm' => $currentCM['cm'], 'ord' => $currentOrd );
+ array_push( $cmTree, $currentCM );
+ $currentCM = array( 'cm' => $cm, 'ord' => $currentOrd );
+ $currentOrd = 0;
+ }
+ else if ( $cm['name'] == 4 ) //any
+ {
+ $level++;
+ print "\tcm = new daeMetaAny( meta, cm, ". $currentOrd .", ". $cm['minOccurs'] .", ". $cm['maxOccurs'] ." );\n\n";
+ if ( $currentCM['cm']['name'] == 0 ) {
+ $currentOrd++;
+ }
+ }
+ else if ( $cm['name'] == 5 ) //end
+ {
+ $level--;
+ if ( $level > 0 )
+ {
+?>
+ cm->setMaxOrdinal( <?= ($currentOrd-1 >= 0)? $currentOrd-1 : 0 ?> );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+<?php
+ }
+ //----------------------
+ if ( $currentCM['cm']['name'] == 0 ) {
+ $tempMaxO = $currentCM['cm']['maxOccurs'];
+ $currentCM = array_pop( $cmTree );
+ if ( $tempMaxO == -1 ) {
+ $currentOrd = $currentCM['ord'] + 3000;
+ }
+ else {
+ $currentOrd = $currentCM['ord'] + $tempMaxO*$currentOrd;
+ }
+ }
+ else {
+ $tempMaxO = $currentCM['cm']['maxOccurs'];
+ if ( $tempMaxO == -1 ) $tempMaxO = 3001;
+ $currentCM = array_pop( $cmTree );
+ $currentOrd = $currentCM['ord'] + $tempMaxO;
+ }
+ }
+ }
+ else //got an element name
+ {
+ $arrayOrNot = $bag['element_attrs'][ $cm['name'] ]['maxOccurs'];
+ if ( $arrayOrNot == 'unbounded' || $arrayOrNot > 1 ) {
+ $arrayOrNot = true;
+ }
+ else {
+ $arrayOrNot = false;
+ }
+ $typeClass = $_globals['prefix'] . ucfirst( $cm['name'] );
+
+ if ( !in_array( $cm['name'], $bag['ref_elements'] ) && !$bag['complex_type'] ) {
+ $typeClass = $scoped_element ."::". $typeClass;
+ }
+ if ( isset( $bag['element_attrs'][ $cm['name'] ]['type'] ) &&
+ isset( $meta[$bag['element_attrs'][ $cm['name'] ]['type']] ) ){
+
+ $typeClass = $_globals['prefix'] . ucfirst( $bag['element_attrs'][ $cm['name'] ]['type'] );
+ }
+?>
+ mea = new daeMetaElement<?= $arrayOrNot ? 'Array' : '' ?>Attribute( meta, cm, <?= $currentOrd ?>, <?= $cm['minOccurs'] ?>, <?= $cm['maxOccurs'] ?> );
+ mea->setName( "<?= $cm['name'] ?>" );
+ mea->setOffset( daeOffsetOf(<?= $scoped_element ?>,elem<?= ucfirst( $cm['name'] ) ?><?= $arrayOrNot ? '_array' : '' ?>) );
+ mea->setElementType( <?= $typeClass ?>::registerElement(dae) );
+ cm->appendChild( mea );
+
+<?php
+ if ( isset( $meta[$cm['name']] ) ) {
+ $cnt = count( $meta[$cm['name']]['substitutableWith']);
+ for ( $c = 0; $c < $cnt; $c++ ) {
+ $subwith = $meta[$cm['name']]['substitutableWith'][$c];
+?>
+ mea = new daeMetaElement<?= $arrayOrNot ? 'Array' : '' ?>Attribute( meta, cm, <?= $currentOrd ?>, <?= $cm['minOccurs'] ?>, <?= $cm['maxOccurs'] ?> );
+ mea->setName( "<?= $subwith ?>" );
+ mea->setOffset( daeOffsetOf(<?= $scoped_element ?>,elem<?= ucfirst( $cm['name'] ) ?><?= $arrayOrNot ? '_array' : '' ?>) );
+ mea->setElementType( <?= $_globals['prefix'] . ucfirst( $subwith ) ?>::registerElement(dae) );
+ cm->appendChild( mea );
+
+<?php
+ $needsContents = true;
+ }
+ }
+ if ( $currentCM['cm']['name'] == 0 ) {
+ $currentOrd++;
+ }
+ }
+ }
+?>
+ cm->setMaxOrdinal( <?= ($currentOrd-1 >= 0)? $currentOrd-1 : 0 ?> );
+ meta->setCMRoot( cm );
+<?php
+
+ if ( $bag['has_any'] ) {
+ $needsContents = true;
+ print "\tmeta->setAllowsAny( true );\n";
+ }
+
+ // For elements that allow more than one type of sub-element, _contents keeps an order for those sub-elements
+ if ( $bag['hasChoice'] || $needsContents ) {
+?>
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(<?= $scoped_element ?>,_contents));
+ meta->addContentsOrder(daeOffsetOf(<?= $scoped_element ?>,_contentsOrder));
+
+<?php
+ if ( $choiceNum > 0 )
+ {
+?>
+ meta->addCMDataArray(daeOffsetOf(<?= $scoped_element ?>,_CMData), <?= $choiceNum ?>);<?php
+ }
+ }
+ }
+
+ // TAKE CARE OF THE ENUM IF IT HAS ONE!!
+ if ( $bag['simple_type'] != NULL ) {
+ $typeMeta = $bag['simple_type']->getMeta();
+
+ if ( count( $typeMeta['enum'] ) > 0 && !$typeMeta['useConstStrings'] )
+ {
+?>
+ // ENUM: <?= ucfirst( $typeMeta['type'] ) ?>_type
+ daeAtomicType *type;
+ type = new daeEnumType;
+ type->_nameBindings.append("<?= ucfirst( $typeMeta['type'] ) ?>_type");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+<?php
+ foreach( $typeMeta['enum'] as $val )
+ {
+?>
+ ((daeEnumType*)type)->_strings->append("<?= $val ?>");
+ ((daeEnumType*)type)->_values->append(<?= strtoupper($typeMeta['type']) . "_" . $val ?>);
+<?php
+ }
+ print "\tdaeAtomicType::append( type );\n\n";
+ }
+ }
+
+ // NOTE: special casing any element with 'mixed' content model to ListOfInts type _value
+ $pre = '';
+ if (($bag['content_type'] != '' || $bag['mixed']) && !$bag['abstract'] ) {
+?>
+ // Add attribute: _value
+ {
+<?php
+ $content_type = ( $bag['mixed'] ? 'ListOfInts' : $bag['content_type'] );
+ if ( preg_match( "/xs\:/", $content_type ) ) {
+ $content_type = substr( $content_type, 3 );
+ $pre = 'xs';
+ }
+ //print "\t\tdaeMetaAttribute* ma = daeMetaAttribute::makeAttrForType(\"". ucfirst($content_type) ."\");\n";
+ if ( (isset( $typemeta[$content_type] ) && $typemeta[$content_type]['isArray']) || $content_type == 'IDREFS' ) {
+ print "\t\tdaeMetaAttribute *ma = new daeMetaArrayAttribute;\n";
+ }
+ else {
+ print "\t\tdaeMetaAttribute *ma = new daeMetaAttribute;\n";
+ }
+?>
+ ma->setName( "_value" );
+<?php
+ //if ( $bag['mixed'] ) {
+ // print "#ifdef POLYGONS_MIXED_CONTENT_MODEL_HOLES\n\t\tma->setType( daeAtomicType::get(\"ListOfStrings\"));\n";
+ // print "#else\n\t\tma->setType( daeAtomicType::get(\"ListOfInts\"));\n#endif\n";
+ //}
+ //else {
+ print "\t\tma->setType( dae.getAtomicTypes().get(\"". $pre. ucfirst($content_type) ."\"));\n";
+ //}
+?>
+ ma->setOffset( daeOffsetOf( <?= $scoped_element ?> , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+<?php
+ }
+
+ if ( $bag['useXMLNS'] ) {
+ ?>
+ // Add attribute: xmlns
+ {
+ daeMetaAttribute* ma = new daeMetaAttribute;
+ ma->setName( "xmlns" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( <?= $scoped_element ?> , attrXmlns ));
+ ma->setContainer( meta );
+ //ma->setIsRequired( true );
+ meta->appendAttribute(ma);
+ }
+ <?php
+ }
+
+ foreach( $bag['attributes'] as $attr_name => $attr_attrs )
+ {
+ $_type = $attr_attrs['type'];
+ $printType;
+ if ( preg_match( "/xs\:/", $_type ) ) {
+ $_type = 'xs' . ucfirst( substr( $_type, 3 ) );
+ $printType = $_type;
+ }
+ else {
+ $printType = ucfirst( $_type );
+ }
+?>
+
+ // Add attribute: <?= $attr_name . "\n" ?>
+ {
+<?php
+ /*print "\t//". $_type ." is set ";
+ if ( isset( $typemeta[$_type] ) ) print "true\n";
+ else print "false\n";
+
+ print "\t//is array ";
+ if ( $typemeta[$_type]['isArray'] ) print "true\n";
+ else print "false\n";*/
+
+ if ( isset( $typemeta[$_type] ) && $typemeta[$_type]['isArray'] ) {
+ print "\t\tdaeMetaAttribute *ma = new daeMetaArrayAttribute;\n";
+ }
+ else {
+ print "\t\tdaeMetaAttribute *ma = new daeMetaAttribute;\n";
+ }
+?>
+ ma->setName( "<?= $attr_name ?>" );
+ ma->setType( dae.getAtomicTypes().get("<?= $printType ?>"));
+ ma->setOffset( daeOffsetOf( <?= $scoped_element ?> , attr<?= ucfirst($attr_name) ?> ));
+ ma->setContainer( meta );
+<?php
+ if ( isset( $attr_attrs['default'] ) )
+ {
+?> ma->setDefaultString( "<?= $attr_attrs['default'] ?>");
+<?php
+ }
+
+ if ( isset( $attr_attrs['use'] ) ) {
+ $required = $attr_attrs['use'] == 'required' ? 'true' : 'false';
+
+?> ma->setIsRequired( <?= $required ?> );
+<?php
+ }
+?>
+ meta->appendAttribute(ma);
+ }
+<?php
+ }
+?>
+
+ meta->setElementSize(sizeof(<?= $scoped_element ?>));
+ meta->validate();
+
+ return meta;
+}
+
+<?php
+ $_keys = array_keys( $bag['inline_elements'] );
+ if ( count( $_keys ) > 0 )
+ {
+ foreach( $_keys as $_k )
+ {
+ $inner = $bag['inline_elements'][ $_k ];
+ if ( !$inner['complex_type'] || $inner['isRestriction'] || $inner['isExtension'] ) {
+ print applyTemplate( 'CPP_METHODS', $inner );
+ }
+ }
+ }
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.5/tpl/tpl-cpp-static.php b/1.4.0/dom/codeGen/1.5/tpl/tpl-cpp-static.php
new file mode 100644
index 0000000..80508b1
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/tpl/tpl-cpp-static.php
@@ -0,0 +1,29 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+ $_context = $bag['context'];
+ for( $i=0; $i<count( $_context ); $i++ )
+ {
+ $_context[$i] = $_globals['prefix'] . ucfirst( $_context[$i] );//. "_element";
+ }
+?>
+<?php
+//}
+ $keys = array_keys( $bag['inline_elements'] );
+ if ( count( $keys ) > 0 )
+ {
+ foreach( $keys as $k )
+ {
+ $inner = $bag['inline_elements'][ $k ];
+ if ( !$inner['complex_type'] || $inner['isRestriction'] || $inner['isExtension'] ) {
+ print applyTemplate( 'CPP_STATIC', $inner );
+ }
+ }
+ }
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.5/tpl/tpl-cpp.php b/1.4.0/dom/codeGen/1.5/tpl/tpl-cpp.php
new file mode 100644
index 0000000..49c3b42
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/tpl/tpl-cpp.php
@@ -0,0 +1,16 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+// Grab the file name and save the output
+$_file = $_globals['prefix'] . ucfirst( $bag['element_name'] ) . ".cpp";
+$_bytes = file_put_contents( ($_globals['target_dir'] . $_globals['dom_dir'] . 'src/' . $_file), applyTemplate( 'CPP', $bag ) );
+
+//if ( $_bytes > 0 ) { print "Wrote $_bytes bytes to file '$_file'\n"; }
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.5/tpl/tpl-dot-h.php b/1.4.0/dom/codeGen/1.5/tpl/tpl-dot-h.php
new file mode 100644
index 0000000..6d14e57
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/tpl/tpl-dot-h.php
@@ -0,0 +1,28 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+if ( $_globals['copyright'] ) {
+print $_globals['copyright_text'];
+}
+?>#ifndef __<?= $_globals['prefix'] . ucfirst( $bag['element_name'] ) ?>_h__
+#define __<?= $_globals['prefix'] . ucfirst( $bag['element_name'] ) ?>_h__
+
+#include <dae/daeDocument.h>
+#include <<?= $_globals['prefix'] . '/' . $_globals['prefix'] ?>Types.h>
+#include <<?= $_globals['prefix'] . '/' . $_globals['prefix'] ?>Elements.h>
+
+<?php
+global $includeList;
+$includeList = array();
+print applyTemplate( 'INCLUDES', $bag ) ?>
+class DAE;
+
+<?= applyTemplate( 'CLASS', $bag ) ?>
+
+#endif
diff --git a/1.4.0/dom/codeGen/1.5/tpl/tpl-doxygen.php b/1.4.0/dom/codeGen/1.5/tpl/tpl-doxygen.php
new file mode 100644
index 0000000..30a6d6d
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/tpl/tpl-doxygen.php
@@ -0,0 +1,38 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+global $indent;
+// Add doxygen formatted comments
+
+print $indent ."/**\n";
+
+//$_local_doc = $bag['documentation'][ $_globals['language'] ];
+$_local_doc = str_replace( "\n", " ", $bag );
+$_local_doc = str_replace( "\t", "", $_local_doc );
+while( strlen( $_local_doc ) > 0 )
+{
+ if ( preg_match( "/(.{0,70}[^\s]*)(\s*)/", $_local_doc, $matches ) )
+ {
+ // Print blocks of 70 chars thru the next word
+ print $indent ." * " . $matches[1] . "\n";
+
+ // Account for any newlines
+ /*$n_newlines = preg_match_all( "/\n/", $matches[2], $buf );
+ if ( $n_newlines > 0 )
+ {
+ for( $i=0; $i<$n_newlines; $i++ ) { print " * \n"; }
+ }*/
+
+ // Find more lines...
+ $_local_doc = substr( $_local_doc, strlen( $matches[0] ) );
+ }
+}
+
+print $indent ." */\n";
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.5/tpl/tpl-elements-file.php b/1.4.0/dom/codeGen/1.5/tpl/tpl-elements-file.php
new file mode 100644
index 0000000..4e5694d
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/tpl/tpl-elements-file.php
@@ -0,0 +1,16 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+// Grab the file name and save the output
+$_file = $_globals['prefix'] . "Elements.h";
+$_bytes = file_put_contents( ($_globals['target_dir'] . $_globals['dom_dir'] . 'include/' . $_file), applyTemplate( 'ELEMENTS', $bag ) );
+
+//if ( $_bytes > 0 ) { print "Wrote $_bytes bytes to file '$_file'\n"; }
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.5/tpl/tpl-elements.php b/1.4.0/dom/codeGen/1.5/tpl/tpl-elements.php
new file mode 100644
index 0000000..f16d2af
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/tpl/tpl-elements.php
@@ -0,0 +1,31 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+if ( $_globals['copyright'] ) {
+print $_globals['copyright_text'];
+}
+?>
+#ifndef __DOM_ELEMENTS_H__
+#define __DOM_ELEMENTS_H__
+
+#include <<?= $_globals['prefix'] ?>/<?= $_globals['prefix'] ?>Types.h>
+
+<?php
+//Base elements
+foreach( $bag as $name => $meta ) {
+ $full_element_name = $_globals['prefix'] . ucfirst( $name );
+ print "class " . $full_element_name . ";\n\n";
+ print "typedef daeSmartRef<". $full_element_name ."> ". $full_element_name ."Ref;\n";
+ print "typedef daeTArray<". $full_element_name ."Ref> ". $full_element_name ."_Array;\n\n";
+}
+
+?>
+
+#endif //__DOM_ELEMENTS_H__
+
diff --git a/1.4.0/dom/codeGen/1.5/tpl/tpl-header.php b/1.4.0/dom/codeGen/1.5/tpl/tpl-header.php
new file mode 100644
index 0000000..07dad80
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/tpl/tpl-header.php
@@ -0,0 +1,16 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+// Grab the file name and save the output
+$_file = $_globals['prefix'] . ucfirst( $bag['element_name'] ) . ".h";
+$_bytes = file_put_contents( ($_globals['target_dir'] . $_globals['dom_dir'] . 'include/' . $_file), applyTemplate( 'HEADER', $bag ) );
+
+//if ( $_bytes > 0 ) { print "dom/" . $_globals['prefix'] . ucfirst( $bag['element_name'] ) . ".obj "; }
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.5/tpl/tpl-include-list.php b/1.4.0/dom/codeGen/1.5/tpl/tpl-include-list.php
new file mode 100644
index 0000000..f09c278
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/tpl/tpl-include-list.php
@@ -0,0 +1,13 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+?>/* --- DO NOT REMOVE THIS LINE --- SNIP_SDK_COPYRIGHT_C_BEGIN
+ * --- DO NOT REMOVE THIS LINE --- SNIP_SDK_COPYRIGHT_C_END */
+
+<?= implode( "\n", $_globals['include_list'] ) ?>
+
diff --git a/1.4.0/dom/codeGen/1.5/tpl/tpl-includes.php b/1.4.0/dom/codeGen/1.5/tpl/tpl-includes.php
new file mode 100644
index 0000000..5228178
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/tpl/tpl-includes.php
@@ -0,0 +1,42 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+ // INCLUDES
+
+$inc = array();
+global $meta;
+global $includeList;
+for( $i=0; $i<count( $bag['ref_elements'] ); $i++ )
+{
+ if ( !in_array( $_globals['prefix'] . ucfirst( $bag['ref_elements'][$i] ), $includeList ) ) {
+ $inc[] = "#include <" . $_globals['prefix'] . "/" . $_globals['prefix'] . ucfirst( $bag['ref_elements'][$i] ) . ".h>";
+ $includeList[] = $_globals['prefix'] . ucfirst( $bag['ref_elements'][$i] );
+ }
+}
+
+if($meta[$bag['content_type']]['isAComplexType']) {
+ if ( !in_array( $_globals['prefix'] . ucfirst( $bag['content_type'] ), $includeList ) ) {
+ $inc[] = "#include <" . $_globals['prefix'] . "/" . $_globals['prefix'] . ucfirst( $bag['content_type'] ) . ".h>";
+ $includeList[] = $_globals['prefix'] . ucfirst( $bag['content_type'] );
+ }
+}
+
+if ( count( $inc ) ) { //only print if you have to include something
+ print implode( "\n", $inc ) . "\n";
+}
+
+$keys = array_keys( $bag['inline_elements'] );
+if ( count( $keys ) > 0 )
+{
+ foreach( $keys as $k )
+ {
+ print applyTemplate( 'INCLUDES', $bag['inline_elements'][ $k ] );
+ }
+}
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.5/tpl/tpl-types-cpp-file.php b/1.4.0/dom/codeGen/1.5/tpl/tpl-types-cpp-file.php
new file mode 100644
index 0000000..16f15c6
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/tpl/tpl-types-cpp-file.php
@@ -0,0 +1,16 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+// Grab the file name and save the output
+$_file = $_globals['prefix'] . "Types.cpp";
+$_bytes = file_put_contents( ($_globals['target_dir'] . $_globals['dom_dir'] . 'src/' . $_file), applyTemplate( 'TYPES_CPP', $bag ) );
+
+//if ( $_bytes > 0 ) { print "Wrote $_bytes bytes to file '$_file'\n"; }
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.5/tpl/tpl-types-cpp.php b/1.4.0/dom/codeGen/1.5/tpl/tpl-types-cpp.php
new file mode 100644
index 0000000..7b649fb
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/tpl/tpl-types-cpp.php
@@ -0,0 +1,136 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+if ( $_globals['copyright'] ) {
+print $_globals['copyright_text'];
+}
+?>
+#include <dae.h>
+#include <<?= $_globals['prefix'] . '/' . $_globals['prefix'] ?>Types.h>
+#include <dae/daeDom.h>
+#include <dom/domCOLLADA.h>
+
+<?php
+
+foreach( $bag as $type => $meta )
+{
+ if ( $meta['isComplex'] ) {
+ ?>#include <<?= $_globals['prefix'] . '/' . $_globals['prefix'] . ucfirst( $type ) ?>.h>
+<?php
+ }
+}
+
+?>
+
+void registerDomTypes(DAE& dae)
+{
+ daeAtomicType* type = NULL;
+ daeAtomicTypeList& atomicTypes = dae.getAtomicTypes();
+
+<?php
+
+foreach( $bag as $type => $meta )
+{
+ if ( count( $meta['enum'] ) > 0 && !$meta['useConstStrings'] )
+ {?>
+ // ENUM: <?= ucfirst( $type ) ?>
+
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("<?= ucfirst( $type ) ?>");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+<?php
+ foreach( $meta['enum'] as $val )
+ {?>
+ ((daeEnumType*)type)->_strings->append("<?= $val ?>");
+<?php $val = str_replace( '.', '_', $val ); ?>
+ ((daeEnumType*)type)->_values->append(<?= strtoupper($type) . "_" . $val ?>);
+<?php
+ }
+ print "\tatomicTypes.append( type );\n\n";
+ }
+ elseif ( $meta['isComplex'] ) {
+ ?>
+ // COMPLEX TYPE: <?= ucfirst( $type ) ?>
+
+ type = new daeElementRefType(dae);
+ type->_nameBindings.append("<?= ucfirst( $type ) ?>");
+ atomicTypes.append( type );
+
+<?php
+ }
+ /*else if ( $meta['union_type'] ) { //union type
+ ?>
+ // ENUM: <?= ucfirst( $type ) ?>
+
+ type = new daeEnumType;
+ type->_nameBindings.append("<?= ucfirst( $type ) ?>");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+<?php
+ $types = explode( ' ', $meta['union_members'] );
+ foreach ( $types as $typeName ) {
+ if ( isset( $bag[$typeName] ) && count($bag[$typeName]['enum']) > 0 ) {
+ foreach( $bag[$typeName]['enum'] as $val )
+ {?>
+ ((daeEnumType*)type)->_strings->append("<?= $val ?>");
+<?php $val = str_replace( '.', '_', $val ); ?>
+ ((daeEnumType*)type)->_values->append(<?= strtoupper($type) . "_" . $val ?>);
+<?php
+ }
+ }
+ }
+ print "\tatomicTypes.append( type );\n\n";
+ } */
+ else if ( !$meta['useConstStrings'] ) { //standard typedef
+ $base = strlen( $meta['base'] ) > 0 ? $meta['base'] : $meta['listType'];
+ if ( preg_match( "/xs\:/", $base ) ) {
+ $base = 'xs' . ucfirst( substr( $base, 3 ) );
+ }
+ else {
+ $base = ucfirst( $base );
+ }
+ ?>
+ // TYPEDEF: <?= ucfirst( $type ) ?>
+ //check if this type has an existing base
+<?php
+ //special casing urifragment to be a xsURI for automatic resolution
+ if ( $type == 'urifragment' ) {
+ print "\ttype = atomicTypes.get(\"xsAnyURI\");\n";
+ }
+ else {
+ print "\ttype = atomicTypes.get(\"". $base ."\");\n";
+ }
+?>
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("<?= ucfirst( $type ) ?>");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("<?= ucfirst( $type ) ?>");
+ }
+
+<?php
+ }
+}
+?>
+}
+
+daeMetaElement* registerDomElements(DAE& dae)
+{
+ daeMetaElement* meta = domCOLLADA::registerElement(dae);
+ // Enable tracking of top level object by default
+ meta->setIsTrackableForQueries(true);
+ return meta;
+}
+
+daeInt DLLSPEC colladaTypeCount() {
+ return <?php /* +1 for <any> */ print ($_globals['typeID']+1); ?>;
+}
diff --git a/1.4.0/dom/codeGen/1.5/tpl/tpl-types-header-file.php b/1.4.0/dom/codeGen/1.5/tpl/tpl-types-header-file.php
new file mode 100644
index 0000000..e635bae
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/tpl/tpl-types-header-file.php
@@ -0,0 +1,16 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+// Grab the file name and save the output
+$_file = $_globals['prefix'] . "Types.h";
+$_bytes = file_put_contents( ($_globals['target_dir'] . $_globals['dom_dir'] . 'include/' . $_file), applyTemplate( 'TYPES_HEADER', $bag ) );
+
+//if ( $_bytes > 0 ) { print "Wrote $_bytes bytes to file '$_file'\n"; }
+
+?> \ No newline at end of file
diff --git a/1.4.0/dom/codeGen/1.5/tpl/tpl-types-header.php b/1.4.0/dom/codeGen/1.5/tpl/tpl-types-header.php
new file mode 100644
index 0000000..b8ad940
--- /dev/null
+++ b/1.4.0/dom/codeGen/1.5/tpl/tpl-types-header.php
@@ -0,0 +1,172 @@
+<?php
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+if ( $_globals['copyright'] ) {
+print $_globals['copyright_text'];
+}
+?>
+#ifndef __DOM_TYPES_H__
+#define __DOM_TYPES_H__
+
+#include <dae/daeDomTypes.h>
+
+<?php
+//BASIC TYPES
+foreach( $bag as $type => $meta )
+{
+ if ( count( $meta['enum'] ) == 0 && !$meta['isComplex'] ) {
+ if ( strlen( $meta['base'] ) > 0 ) { //has a base type
+ if ( preg_match( "/xs\:/", $meta['base'] ) ) {
+ $base = substr( $meta['base'], 3 );
+ $pre = 'xs';
+ }
+ else {
+ $base = $meta['base'];
+ $pre = $_globals['prefix'];
+ }
+ if ( isset( $meta['documentation']['en'] ) ) {
+ print applyTemplate( 'DOXYGEN', $meta['documentation']['en'] );
+ }
+ //special casing urifragment to be a xsURI for automatic resolution
+ if ( $type == 'urifragment' ) {
+ print "typedef xsAnyURI\t\tdomUrifragment;\n";
+ }
+ else {
+ print "typedef " . $pre . ucfirst($base) . "\t\t" . $_globals['prefix'] . ucfirst( $type ) . ";\n";
+ }
+ }
+ elseif ( strlen( $meta['listType'] ) > 0 ) { //is a list type
+ if ( isset( $meta['documentation']['en'] ) ) {
+ print applyTemplate( 'DOXYGEN', $meta['documentation']['en'] );
+ }
+ if ( preg_match( "/xs\:/", $meta['listType'] ) ) {
+ $lt = substr( $meta['listType'], 3 );
+ print "typedef xs" . ucfirst($lt) . "Array\t\t" . $_globals['prefix'] . ucfirst( $type ) . ";\n";
+ }
+ else {
+ $lt = $meta['listType'];
+ print "typedef daeTArray<" . $_globals['prefix'] . ucfirst($lt) . ">\t\t" . $_globals['prefix'] . ucfirst( $type ) . ";\n";
+ }
+ }
+ }
+}
+
+print "\n";
+
+//ENUMS
+foreach( $bag as $type => $meta )
+{
+ if ( count( $meta['enum'] ) > 0 )
+ {
+ if ( !$meta['useConstStrings'] ) {
+ //Decided to name mangle the enum constants so they are more descriptive and avoid collisions
+ if ( isset( $meta['documentation']['en'] ) ) {
+ print applyTemplate( 'DOXYGEN', $meta['documentation']['en'] );
+ }
+ print "enum " . $_globals['prefix'] . ucfirst( $type ) . " {\n";
+ for( $i = 0; $i < count( $meta['enum'] ); $i++ ) {
+ $val = $meta['enum'][$i];
+ $val = str_replace( '.', '_', $val );
+ print "\t" . strtoupper( $type ) . "_" . $val;
+ if ( isset( $meta['enum_value'][$i] ) ) {
+ print " = ". $meta['enum_value'][$i];
+ }
+ //else if ($i==0) {
+ // print " = 1";
+ //}
+ print ",";
+ if ( isset( $meta['enum_documentation'][$i] ) ) {
+ print "\t\t/**< ". $meta['enum_documentation'][$i] ." */";
+ }
+ print "\n";
+ }
+ $cnt = count($meta['enum']);
+ //if ( !isset($meta['enum_value'][0]) ) {
+ // $cnt++;
+ //}
+ print "\t". strtoupper( $type ) . "_COUNT = ". $cnt;
+ print "\n};\n\n";
+ }
+ else {
+ for( $i = 0; $i < count( $meta['enum'] ); $i++ ) {
+ if ( isset( $meta['enum_documentation'][$i] ) ) {
+ $_globals['constStrings'][] = "/**\n * ". $meta['enum_documentation'][$i] ."\n */\n";
+ }
+ $conststrnm = strtoupper( $type ) . "_" . $meta['enum'][$i];
+ $conststr = "\"". $meta['enum'][$i] ."\";\n";
+ $_globals['constStrings'][$conststrnm] = $conststr;
+ }
+ $_globals['constStrings'][] = "\n";
+ }
+ }
+}
+
+//UNIONS
+foreach( $bag as $type => & $meta )
+{
+ if ( $meta['union_type'] )
+ {
+ if ( isset( $meta['documentation']['en'] ) ) {
+ print applyTemplate( 'DOXYGEN', $meta['documentation']['en'] );
+ }
+ print "enum " . $_globals['prefix'] . ucfirst( $type ) . " {\n";
+
+ //tokenize memberTypes string
+ $types = explode( ' ', $meta['union_members'] );
+ //look up the members
+ $cnt = 1;
+ foreach ( $types as $typeName ) {
+ if ( isset( $bag[$typeName] ) && count($bag[$typeName]['enum']) > 0 ) {
+ //print all of their enum children
+ for( $i = 0; $i < count( $bag[$typeName]['enum'] ); $i++ ) {
+ $val = $bag[$typeName]['enum'][$i];
+ $val = str_replace( '.', '_', $val );
+ if ( in_array( $val, $meta['enum'] ) ) {
+ continue;
+ }
+ $meta['enum'][] = $val;
+ print "\t" . strtoupper( $type ) . "_" . $val;
+ if ( isset( $bag[$typeName]['enum_value'][$i] ) ) {
+ print " = ". $bag[$typeName]['enum_value'][$i];
+ }
+ else if ($i==0) {
+ print " = 1";
+ }
+ print ",";
+ if ( isset( $bag[$typeName]['enum_documentation'][$i] ) ) {
+ print "\t\t/**< ". $bag[$typeName]['enum_documentation'][$i] ." */";
+ }
+ print "\n";
+ $cnt++;
+ }
+ }
+ }
+ print "\t". strtoupper( $type ) . "_COUNT = ". $cnt;
+ print "\n};\n\n";
+ }
+}
+
+?>
+//Element Type Enum
+namespace COLLADA_TYPE
+{
+ const int
+ NO_TYPE = 0,
+ ANY = 1<?php
+ foreach( $_globals['elementTypes'] as $num => $val )
+ print ",\n\t\t". getUniqueName($val, $_globals['elementTypes']) ." = ". ($num+2);
+ print ";"
+?>
+
+}
+
+// Returns the total number of schema types/dom* classes
+daeInt DLLSPEC colladaTypeCount();
+
+#endif
diff --git a/1.4.0/dom/codeGen/cleanSchema b/1.4.0/dom/codeGen/cleanSchema
new file mode 100644
index 0000000..b3adacf
--- /dev/null
+++ b/1.4.0/dom/codeGen/cleanSchema
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+if [ ! -f "$1" ]; then
+ echo "Error: invalid schema"
+ echo "Usage: cleanSchema colladaSchema.xsd"
+ exit
+fi
+
+newFile=`dirname "$1"`/`basename "$1" .xsd`_cleaned.xsd
+cp "$1" "$newFile"
+
+# Remove type name annotations
+perl -piU -e 's/_type"/"/g' "$newFile"
+perl -piU -e 's/_group"/"/g' "$newFile"
+perl -piU -e 's/_enum"/"/g' "$newFile"
+perl -piU -e 's/_enum / /g' "$newFile"
+
+# node_type and node_enum both map down to node, which causes a
+# conflict. Put back the _enum annotation on node_enum.
+perl -piU -e 's/xs:simpleType name="node">/xs:simpleType name="node_enum">/g' "$newFile"
+perl -piU -e 's/name="type" type="node"/name="type" type="node_enum"/g' "$newFile"
+
+# The DOM doesn't handle the mathml spec. Replace it with an xs:any so people
+# can do whatever they want instead.
+perl -piU -e 's/<xs:element ref="math:math"/<xs:any namespace="##any" processContents="skip" minOccurs="0" maxOccurs="unbounded"/g' "$newFile"
+
+rm "$newFile"U
diff --git a/1.4.0/dom/codeGen/gen_dom_1_5 b/1.4.0/dom/codeGen/gen_dom_1_5
new file mode 100644
index 0000000..4ffc315
--- /dev/null
+++ b/1.4.0/dom/codeGen/gen_dom_1_5
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+if [ ! -f "$1" ]; then
+ echo "Error: invalid parameters"
+ echo "Usage: generate_dom_1_5 colladaSchema.xsd"
+ exit
+fi
+
+echo cleaning schema ...
+./cleanSchema "$1"
+newFile=`dirname "$1"`/`basename "$1" .xsd`_cleaned.xsd
+
+cd 1.5
+echo generating dom ...
+php gen.php ../$newFile
+echo copying sources ...
+mkdir -p ../../include/1.5/dom
+mkdir -p ../../src/1.5/dom
+cp gen/dom/include/* ../../include/1.5/dom
+cp gen/dom/src/* ../../src/1.5/dom
+cd ..
diff --git a/1.4.0/dom/codeGen/readme.txt b/1.4.0/dom/codeGen/readme.txt
new file mode 100644
index 0000000..a4492c6
--- /dev/null
+++ b/1.4.0/dom/codeGen/readme.txt
@@ -0,0 +1,24 @@
+Code generator usage
+--------------------
+
+php gen.php schema [cprt]
+
+schema: File name of the COLLADA schema document
+cprt: Generate the files with an SCEA shared source copyright notice
+
+You'll need to download PHP for your platform. php 5.2.5 on Windows
+is known to work while version 5.2.6 is known to cause problems. If you
+get a ton of errors when you run the code generator on
+Windows, try deleting C:\Program Files\PHP\php.ini if it's present.
+
+The code generator is branched between Collada 1.4 and 1.5. Use the code
+generator branch that matches the schema version you're using.
+
+The code generator for Collada 1.5 requires some preprocessing of the
+schema. This preprocessing is implemented as some perl search/replace one-liners
+in a bash script called 'cleanSchema'. You'll need to have perl
+installed. Although only a bash script is provided, it should be trivial to
+adapt to a Windows batch file if that's what you need. Run cleanSchema like
+this: 'cleanSchema collada15Schema.xsd'. It outputs a file named
+collada15Schema_cleaned.xsd, which should then be run through the code generator
+to create the 1.5 DOM sources.
diff --git a/1.4.0/dom/external-libs/readme.txt b/1.4.0/dom/external-libs/readme.txt
new file mode 100644
index 0000000..33e8188
--- /dev/null
+++ b/1.4.0/dom/external-libs/readme.txt
@@ -0,0 +1,11 @@
+In order to preserve compatibility with different compilation methods, different versions of the same library are also included:
+
+old: minizip
+new: minizip-1.1
+
+old: pcre
+new: pcre-8.02
+
+new: zlib-1.2.5
+
+The cmake build system uses the latest libraries. If it becomes mainstream and the other Makefiles are removed, then it will be safe to remove the old versions of these.
diff --git a/1.4.0/dom/include/1.4/dom/domAccessor.h b/1.4.0/dom/include/1.4/dom/domAccessor.h
new file mode 100644
index 0000000..46b1cfa
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domAccessor.h
@@ -0,0 +1,157 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Accessor_h__
+#define __dom141Accessor_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domParam.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The accessor element declares an access pattern to one of the array elements:
+ * float_array, int_array, Name_array, bool_array, and IDREF_array. The accessor
+ * element describes access to arrays that are organized in either an interleaved
+ * or non-interleaved manner, depending on the offset and stride attributes.
+ */
+class domAccessor : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ACCESSOR; }
+ static daeInt ID() { return 609; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The count attribute indicates the number of times the array is accessed.
+ * Required attribute.
+ */
+ domUint attrCount;
+/**
+ * The offset attribute indicates the index of the first value to be read
+ * from the array. The default value is 0. Optional attribute.
+ */
+ domUint attrOffset;
+/**
+ * The source attribute indicates the location of the array to access using
+ * a URL expression. Required attribute.
+ */
+ xsAnyURI attrSource;
+/**
+ * The stride attribute indicates number of values to be considered a unit
+ * during each access to the array. The default value is 1, indicating that
+ * a single value is accessed. Optional attribute.
+ */
+ domUint attrStride;
+
+protected: // Element
+/**
+ * The accessor element may have any number of param elements. @see domParam
+ */
+ domParam_Array elemParam_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the count attribute.
+ * @return Returns a domUint of the count attribute.
+ */
+ domUint getCount() const { return attrCount; }
+ /**
+ * Sets the count attribute.
+ * @param atCount The new value for the count attribute.
+ */
+ void setCount( domUint atCount ) { attrCount = atCount; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the offset attribute.
+ * @return Returns a domUint of the offset attribute.
+ */
+ domUint getOffset() const { return attrOffset; }
+ /**
+ * Sets the offset attribute.
+ * @param atOffset The new value for the offset attribute.
+ */
+ void setOffset( domUint atOffset ) { attrOffset = atOffset; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the source attribute.
+ * @return Returns a xsAnyURI reference of the source attribute.
+ */
+ xsAnyURI &getSource() { return attrSource; }
+ /**
+ * Gets the source attribute.
+ * @return Returns a constant xsAnyURI reference of the source attribute.
+ */
+ const xsAnyURI &getSource() const { return attrSource; }
+ /**
+ * Sets the source attribute.
+ * @param atSource The new value for the source attribute.
+ */
+ void setSource( const xsAnyURI &atSource ) { attrSource = atSource; _validAttributeArray[2] = true; }
+ /**
+ * Sets the source attribute.
+ * @param atSource The new value for the source attribute.
+ */
+ void setSource( xsString atSource ) { attrSource = atSource; _validAttributeArray[2] = true; }
+
+ /**
+ * Gets the stride attribute.
+ * @return Returns a domUint of the stride attribute.
+ */
+ domUint getStride() const { return attrStride; }
+ /**
+ * Sets the stride attribute.
+ * @param atStride The new value for the stride attribute.
+ */
+ void setStride( domUint atStride ) { attrStride = atStride; _validAttributeArray[3] = true; }
+
+ /**
+ * Gets the param element array.
+ * @return Returns a reference to the array of param elements.
+ */
+ domParam_Array &getParam_array() { return elemParam_array; }
+ /**
+ * Gets the param element array.
+ * @return Returns a constant reference to the array of param elements.
+ */
+ const domParam_Array &getParam_array() const { return elemParam_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domAccessor(DAE& dae) : daeElement(dae), attrCount(), attrOffset(), attrSource(dae, *this), attrStride(), elemParam_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domAccessor() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAccessor &operator=( const domAccessor &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domAnimation.h b/1.4.0/dom/include/1.4/dom/domAnimation.h
new file mode 100644
index 0000000..c896efb
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domAnimation.h
@@ -0,0 +1,215 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Animation_h__
+#define __dom141Animation_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domAsset.h>
+#include <1.4/dom/domSource.h>
+#include <1.4/dom/domSampler.h>
+#include <1.4/dom/domChannel.h>
+#include <1.4/dom/domAnimation.h>
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The animation element categorizes the declaration of animation information.
+ * The animation hierarchy contains elements that describe the animation’s
+ * key-frame data and sampler functions, ordered in such a way to group together
+ * animations that should be executed together.
+ */
+class domAnimation : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ANIMATION; }
+ static daeInt ID() { return 651; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+
+protected: // Elements
+/**
+ * The animation element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * The animation element may contain any number of source elements. @see
+ * domSource
+ */
+ domSource_Array elemSource_array;
+/**
+ * The animation element may contain any number of sampler elements. @see
+ * domSampler
+ */
+ domSampler_Array elemSampler_array;
+/**
+ * The animation element may contain any number of channel elements. @see
+ * domChannel
+ */
+ domChannel_Array elemChannel_array;
+/**
+ * The animation may be hierarchical and may contain any number of other
+ * animation elements. @see domAnimation
+ */
+ domAnimation_Array elemAnimation_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the source element array.
+ * @return Returns a reference to the array of source elements.
+ */
+ domSource_Array &getSource_array() { return elemSource_array; }
+ /**
+ * Gets the source element array.
+ * @return Returns a constant reference to the array of source elements.
+ */
+ const domSource_Array &getSource_array() const { return elemSource_array; }
+ /**
+ * Gets the sampler element array.
+ * @return Returns a reference to the array of sampler elements.
+ */
+ domSampler_Array &getSampler_array() { return elemSampler_array; }
+ /**
+ * Gets the sampler element array.
+ * @return Returns a constant reference to the array of sampler elements.
+ */
+ const domSampler_Array &getSampler_array() const { return elemSampler_array; }
+ /**
+ * Gets the channel element array.
+ * @return Returns a reference to the array of channel elements.
+ */
+ domChannel_Array &getChannel_array() { return elemChannel_array; }
+ /**
+ * Gets the channel element array.
+ * @return Returns a constant reference to the array of channel elements.
+ */
+ const domChannel_Array &getChannel_array() const { return elemChannel_array; }
+ /**
+ * Gets the animation element array.
+ * @return Returns a reference to the array of animation elements.
+ */
+ domAnimation_Array &getAnimation_array() { return elemAnimation_array; }
+ /**
+ * Gets the animation element array.
+ * @return Returns a constant reference to the array of animation elements.
+ */
+ const domAnimation_Array &getAnimation_array() const { return elemAnimation_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domAnimation(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemSource_array(), elemSampler_array(), elemChannel_array(), elemAnimation_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domAnimation() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAnimation &operator=( const domAnimation &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domAnimation_clip.h b/1.4.0/dom/include/1.4/dom/domAnimation_clip.h
new file mode 100644
index 0000000..deedc69
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domAnimation_clip.h
@@ -0,0 +1,177 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Animation_clip_h__
+#define __dom141Animation_clip_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domAsset.h>
+#include <1.4/dom/domExtra.h>
+#include <1.4/dom/domInstanceWithExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The animation_clip element defines a section of the animation curves to
+ * be used together as an animation clip.
+ */
+class domAnimation_clip : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ANIMATION_CLIP; }
+ static daeInt ID() { return 652; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+/**
+ * The start attribute is the time in seconds of the beginning of the clip.
+ * This time is the same as that used in the key-frame data and is used to
+ * determine which set of key-frames will be included in the clip. The start
+ * time does not specify when the clip will be played. If the time falls
+ * between two keyframes of a referenced animation, an interpolated value
+ * should be used. The default value is 0.0. Optional attribute.
+ */
+ xsDouble attrStart;
+/**
+ * The end attribute is the time in seconds of the end of the clip. This
+ * is used in the same way as the start time. If end is not specified, the
+ * value is taken to be the end time of the longest animation. Optional
+ * attribute.
+ */
+ xsDouble attrEnd;
+
+protected: // Elements
+/**
+ * The animation_clip element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * The animation_clip must instance at least one animation element. @see domInstance_animation
+ */
+ domInstanceWithExtra_Array elemInstance_animation_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the start attribute.
+ * @return Returns a xsDouble of the start attribute.
+ */
+ xsDouble getStart() const { return attrStart; }
+ /**
+ * Sets the start attribute.
+ * @param atStart The new value for the start attribute.
+ */
+ void setStart( xsDouble atStart ) { attrStart = atStart; _validAttributeArray[2] = true; }
+
+ /**
+ * Gets the end attribute.
+ * @return Returns a xsDouble of the end attribute.
+ */
+ xsDouble getEnd() const { return attrEnd; }
+ /**
+ * Sets the end attribute.
+ * @param atEnd The new value for the end attribute.
+ */
+ void setEnd( xsDouble atEnd ) { attrEnd = atEnd; _validAttributeArray[3] = true; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the instance_animation element array.
+ * @return Returns a reference to the array of instance_animation elements.
+ */
+ domInstanceWithExtra_Array &getInstance_animation_array() { return elemInstance_animation_array; }
+ /**
+ * Gets the instance_animation element array.
+ * @return Returns a constant reference to the array of instance_animation elements.
+ */
+ const domInstanceWithExtra_Array &getInstance_animation_array() const { return elemInstance_animation_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domAnimation_clip(DAE& dae) : daeElement(dae), attrId(), attrName(), attrStart(), attrEnd(), elemAsset(), elemInstance_animation_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domAnimation_clip() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAnimation_clip &operator=( const domAnimation_clip &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domAny.h b/1.4.0/dom/include/1.4/dom/domAny.h
new file mode 100644
index 0000000..ce42f66
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domAny.h
@@ -0,0 +1,171 @@
+/*
+ * Copyright 2006 Sony Computer Entertainment Inc.
+ *
+ * Licensed under the MIT Open Source License, for details please see license.txt or the website
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ */
+#ifndef __dom141Any_h__
+#define __dom141Any_h__
+
+#include <dae/daeElement.h>
+#include <dae/daeMetaElement.h>
+#include <dae/daeArray.h>
+#include <dae/daeURI.h>
+#include <dae/daeIDRef.h>
+#include <1.4/dom/domTypes.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The domAny class allows for weakly typed xml elements. This class is used anywhere in the
+ * COLLADA schema where an xs:any element appears. The content and type information for a domAny
+ * object is generated at runtime.
+ */
+class domAny : public daeElement
+{
+ friend class domAnyAttribute;
+protected: // Attribute
+ /**
+ * The array of daeStrings to hold attribute data for this element.
+ */
+ daeTArray<daeString> attrs;
+ /**
+ * The domString value of the text data of this element.
+ */
+ daeString _value;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+public:
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() {
+ return _contents;
+ }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const {
+ return _contents;
+ }
+
+ /**
+ * Gets the number of attributes this element has.
+ * @return Returns the number of attributes on this element.
+ */
+ daeUInt getAttributeCount() const {
+ return (daeUInt)_meta->getMetaAttributes().getCount();
+ }
+ /**
+ * Gets an attribute's name.
+ * @param index The index into the attribute list.
+ * @return Returns the attribute's name.
+ */
+ daeString getAttributeName( daeUInt index ) const {
+ return _meta->getMetaAttributes()[index]->getName();
+ }
+ /**
+ * Gets an attribute's value.
+ * @param index The index into the attribute list.
+ * @return Returns the attribute's value as a string.
+ */
+ daeString getAttributeValue( daeUInt index ) const {
+ return attrs[ index ];
+ }
+ /**
+ * Gets the value of this element.
+ * @return Returns a daeString of the value.
+ */
+ daeString getValue() const {
+ return _value;
+ }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( daeString val ) {
+ *(daeStringRef*)&_value = val;
+ }
+
+ /**
+ * Gets the element type.
+ * @return Returns the COLLADA_TYPE::TypeEnum value corresponding to this element's type.
+ */
+ virtual COLLADA_TYPE::TypeEnum getElementType() const {
+ return COLLADA_TYPE::ANY;
+ }
+
+ static daeInt ID() {
+ return colladaTypeCount()-1;
+ }
+ virtual daeInt typeID() const {
+ return colladaTypeCount()-1;
+ }
+
+protected:
+ /**
+ * Constructor
+ */
+ domAny() : _value() {
+ }
+ /**
+ * Destructor
+ */
+ virtual ~domAny();
+ /**
+ * Copy Constructor
+ */
+ domAny( const domAny &cpy ) : daeElement() {
+ (void)cpy;
+ }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAny &operator=( const domAny &cpy ) {
+ (void)cpy; return *this;
+ }
+
+public: //METHODS
+ /**
+ * Override of the Base class method. Creates and registers an attribute field with its meta
+ * and assigns its value as the <tt><i> attrValue </i></tt> String.
+ * @param attrName Attribute to set.
+ * @param attrValue String-based value to apply to the attribute.
+ * @return Returns true if the attribute was created and the value was set, false otherwise.
+ */
+ virtual DLLSPEC daeBool setAttribute(daeString attrName, daeString attrValue);
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * @return A daeMetaElement describing this COLLADA element.
+ * @remarks Unlike other dom* elements, domAny will always create a new daeMetaElement when this
+ * function is called.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+
+};
+
+typedef daeSmartRef<domAny> domAnyRef;
+typedef daeTArray<domAnyRef> domAny_Array;
+
+} // ColladaDOM141
+
+#endif
+
diff --git a/1.4.0/dom/include/1.4/dom/domAsset.h b/1.4.0/dom/include/1.4/dom/domAsset.h
new file mode 100644
index 0000000..c4a3dcb
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domAsset.h
@@ -0,0 +1,1104 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Asset_h__
+#define __dom141Asset_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The asset element defines asset management information regarding its parent
+ * element.
+ */
+class domAsset : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ASSET; }
+ static daeInt ID() { return 664; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domContributor;
+
+ typedef daeSmartRef<domContributor> domContributorRef;
+ typedef daeTArray<domContributorRef> domContributor_Array;
+
+/**
+ * The contributor element defines authoring information for asset management
+ */
+ class domContributor : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CONTRIBUTOR; }
+ static daeInt ID() { return 665; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domAuthor;
+
+ typedef daeSmartRef<domAuthor> domAuthorRef;
+ typedef daeTArray<domAuthorRef> domAuthor_Array;
+
+/**
+ * The author element contains a string with the author's name. There may
+ * be only one author element.
+ */
+ class domAuthor : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::AUTHOR; }
+ static daeInt ID() { return 666; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsString value of the text data of this element.
+ */
+ xsString _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsString of the value.
+ */
+ xsString getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsString val ) { *(daeStringRef*)&_value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domAuthor(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domAuthor() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAuthor &operator=( const domAuthor &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domAuthoring_tool;
+
+ typedef daeSmartRef<domAuthoring_tool> domAuthoring_toolRef;
+ typedef daeTArray<domAuthoring_toolRef> domAuthoring_tool_Array;
+
+/**
+ * The authoring_tool element contains a string with the authoring tool's
+ * name. There may be only one authoring_tool element.
+ */
+ class domAuthoring_tool : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::AUTHORING_TOOL; }
+ static daeInt ID() { return 667; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsString value of the text data of this element.
+ */
+ xsString _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsString of the value.
+ */
+ xsString getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsString val ) { *(daeStringRef*)&_value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domAuthoring_tool(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domAuthoring_tool() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAuthoring_tool &operator=( const domAuthoring_tool &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domComments;
+
+ typedef daeSmartRef<domComments> domCommentsRef;
+ typedef daeTArray<domCommentsRef> domComments_Array;
+
+/**
+ * The comments element contains a string with comments from this contributor.
+ * There may be only one comments element.
+ */
+ class domComments : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COMMENTS; }
+ static daeInt ID() { return 668; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsString value of the text data of this element.
+ */
+ xsString _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsString of the value.
+ */
+ xsString getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsString val ) { *(daeStringRef*)&_value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domComments(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domComments() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domComments &operator=( const domComments &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domCopyright;
+
+ typedef daeSmartRef<domCopyright> domCopyrightRef;
+ typedef daeTArray<domCopyrightRef> domCopyright_Array;
+
+/**
+ * The copyright element contains a string with copyright information. There
+ * may be only one copyright element.
+ */
+ class domCopyright : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COPYRIGHT; }
+ static daeInt ID() { return 669; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsString value of the text data of this element.
+ */
+ xsString _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsString of the value.
+ */
+ xsString getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsString val ) { *(daeStringRef*)&_value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domCopyright(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCopyright() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCopyright &operator=( const domCopyright &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domSource_data;
+
+ typedef daeSmartRef<domSource_data> domSource_dataRef;
+ typedef daeTArray<domSource_dataRef> domSource_data_Array;
+
+/**
+ * The source_data element contains a URI reference to the source data used
+ * for this asset. There may be only one source_data element.
+ */
+ class domSource_data : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SOURCE_DATA; }
+ static daeInt ID() { return 670; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsAnyURI value of the text data of this element.
+ */
+ xsAnyURI _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsAnyURI of the value.
+ */
+ xsAnyURI &getValue() { return _value; }
+ /**
+ * Gets the value of this element.
+ * @return Returns a constant xsAnyURI of the value.
+ */
+ const xsAnyURI &getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const xsAnyURI &val ) { _value = val; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsString val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSource_data(DAE& dae) : daeElement(dae), _value(dae, *this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domSource_data() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSource_data &operator=( const domSource_data &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+/**
+ * The author element contains a string with the author's name. There may
+ * be only one author element. @see domAuthor
+ */
+ domAuthorRef elemAuthor;
+/**
+ * The authoring_tool element contains a string with the authoring tool's
+ * name. There may be only one authoring_tool element. @see domAuthoring_tool
+ */
+ domAuthoring_toolRef elemAuthoring_tool;
+/**
+ * The comments element contains a string with comments from this contributor.
+ * There may be only one comments element. @see domComments
+ */
+ domCommentsRef elemComments;
+/**
+ * The copyright element contains a string with copyright information. There
+ * may be only one copyright element. @see domCopyright
+ */
+ domCopyrightRef elemCopyright;
+/**
+ * The source_data element contains a URI reference to the source data used
+ * for this asset. There may be only one source_data element. @see domSource_data
+ */
+ domSource_dataRef elemSource_data;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the author element.
+ * @return a daeSmartRef to the author element.
+ */
+ const domAuthorRef getAuthor() const { return elemAuthor; }
+ /**
+ * Gets the authoring_tool element.
+ * @return a daeSmartRef to the authoring_tool element.
+ */
+ const domAuthoring_toolRef getAuthoring_tool() const { return elemAuthoring_tool; }
+ /**
+ * Gets the comments element.
+ * @return a daeSmartRef to the comments element.
+ */
+ const domCommentsRef getComments() const { return elemComments; }
+ /**
+ * Gets the copyright element.
+ * @return a daeSmartRef to the copyright element.
+ */
+ const domCopyrightRef getCopyright() const { return elemCopyright; }
+ /**
+ * Gets the source_data element.
+ * @return a daeSmartRef to the source_data element.
+ */
+ const domSource_dataRef getSource_data() const { return elemSource_data; }
+ protected:
+ /**
+ * Constructor
+ */
+ domContributor(DAE& dae) : daeElement(dae), elemAuthor(), elemAuthoring_tool(), elemComments(), elemCopyright(), elemSource_data() {}
+ /**
+ * Destructor
+ */
+ virtual ~domContributor() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domContributor &operator=( const domContributor &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domCreated;
+
+ typedef daeSmartRef<domCreated> domCreatedRef;
+ typedef daeTArray<domCreatedRef> domCreated_Array;
+
+/**
+ * The created element contains the date and time that the parent element
+ * was created and is represented in an ISO 8601 format. The created element
+ * may appear zero or one time.
+ */
+ class domCreated : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CREATED; }
+ static daeInt ID() { return 671; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsDateTime value of the text data of this element.
+ */
+ xsDateTime _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsDateTime of the value.
+ */
+ xsDateTime getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsDateTime val ) { *(daeStringRef*)&_value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domCreated(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCreated() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCreated &operator=( const domCreated &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domKeywords;
+
+ typedef daeSmartRef<domKeywords> domKeywordsRef;
+ typedef daeTArray<domKeywordsRef> domKeywords_Array;
+
+/**
+ * The keywords element contains a list of words used as search criteria for
+ * the parent element. The keywords element may appear zero or more times.
+ */
+ class domKeywords : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::KEYWORDS; }
+ static daeInt ID() { return 672; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsString value of the text data of this element.
+ */
+ xsString _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsString of the value.
+ */
+ xsString getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsString val ) { *(daeStringRef*)&_value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domKeywords(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domKeywords() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domKeywords &operator=( const domKeywords &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domModified;
+
+ typedef daeSmartRef<domModified> domModifiedRef;
+ typedef daeTArray<domModifiedRef> domModified_Array;
+
+/**
+ * The modified element contains the date and time that the parent element
+ * was last modified and represented in an ISO 8601 format. The modified
+ * element may appear zero or one time.
+ */
+ class domModified : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MODIFIED; }
+ static daeInt ID() { return 673; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsDateTime value of the text data of this element.
+ */
+ xsDateTime _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsDateTime of the value.
+ */
+ xsDateTime getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsDateTime val ) { *(daeStringRef*)&_value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domModified(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domModified() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domModified &operator=( const domModified &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domRevision;
+
+ typedef daeSmartRef<domRevision> domRevisionRef;
+ typedef daeTArray<domRevisionRef> domRevision_Array;
+
+/**
+ * The revision element contains the revision information for the parent element.
+ * The revision element may appear zero or one time.
+ */
+ class domRevision : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::REVISION; }
+ static daeInt ID() { return 674; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsString value of the text data of this element.
+ */
+ xsString _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsString of the value.
+ */
+ xsString getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsString val ) { *(daeStringRef*)&_value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domRevision(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domRevision() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRevision &operator=( const domRevision &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domSubject;
+
+ typedef daeSmartRef<domSubject> domSubjectRef;
+ typedef daeTArray<domSubjectRef> domSubject_Array;
+
+/**
+ * The subject element contains a description of the topical subject of the
+ * parent element. The subject element may appear zero or one time.
+ */
+ class domSubject : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SUBJECT; }
+ static daeInt ID() { return 675; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsString value of the text data of this element.
+ */
+ xsString _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsString of the value.
+ */
+ xsString getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsString val ) { *(daeStringRef*)&_value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSubject(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSubject() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSubject &operator=( const domSubject &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domTitle;
+
+ typedef daeSmartRef<domTitle> domTitleRef;
+ typedef daeTArray<domTitleRef> domTitle_Array;
+
+/**
+ * The title element contains the title information for the parent element.
+ * The title element may appear zero or one time.
+ */
+ class domTitle : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TITLE; }
+ static daeInt ID() { return 676; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsString value of the text data of this element.
+ */
+ xsString _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsString of the value.
+ */
+ xsString getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsString val ) { *(daeStringRef*)&_value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTitle(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTitle() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTitle &operator=( const domTitle &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domUnit;
+
+ typedef daeSmartRef<domUnit> domUnitRef;
+ typedef daeTArray<domUnitRef> domUnit_Array;
+
+/**
+ * The unit element contains descriptive information about unit of measure.
+ * It has attributes for the name of the unit and the measurement with respect
+ * to the meter. The unit element may appear zero or one time.
+ */
+ class domUnit : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::UNIT; }
+ static daeInt ID() { return 677; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+/**
+ * The meter attribute specifies the measurement with respect to the meter.
+ * The default value for the meter attribute is “1.0”.
+ */
+ domFloat attrMeter;
+/**
+ * The name attribute specifies the name of the unit. The default value for
+ * the name attribute is “meter”.
+ */
+ xsNMTOKEN attrName;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the meter attribute.
+ * @return Returns a domFloat of the meter attribute.
+ */
+ domFloat getMeter() const { return attrMeter; }
+ /**
+ * Sets the meter attribute.
+ * @param atMeter The new value for the meter attribute.
+ */
+ void setMeter( domFloat atMeter ) { attrMeter = atMeter; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNMTOKEN of the name attribute.
+ */
+ xsNMTOKEN getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNMTOKEN atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domUnit(DAE& dae) : daeElement(dae), attrMeter(), attrName() {}
+ /**
+ * Destructor
+ */
+ virtual ~domUnit() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domUnit &operator=( const domUnit &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domUp_axis;
+
+ typedef daeSmartRef<domUp_axis> domUp_axisRef;
+ typedef daeTArray<domUp_axisRef> domUp_axis_Array;
+
+/**
+ * The up_axis element contains descriptive information about coordinate system
+ * of the geometric data. All coordinates are right-handed by definition.
+ * This element specifies which axis is considered up. The default is the
+ * Y-axis. The up_axis element may appear zero or one time.
+ */
+ class domUp_axis : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::UP_AXIS; }
+ static daeInt ID() { return 678; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domUpAxisType value of the text data of this element.
+ */
+ domUpAxisType _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domUpAxisType of the value.
+ */
+ domUpAxisType getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domUpAxisType val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domUp_axis(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domUp_axis() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domUp_axis &operator=( const domUp_axis &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+/**
+ * The contributor element defines authoring information for asset management
+ * @see domContributor
+ */
+ domContributor_Array elemContributor_array;
+/**
+ * The created element contains the date and time that the parent element
+ * was created and is represented in an ISO 8601 format. The created element
+ * may appear zero or one time. @see domCreated
+ */
+ domCreatedRef elemCreated;
+/**
+ * The keywords element contains a list of words used as search criteria for
+ * the parent element. The keywords element may appear zero or more times.
+ * @see domKeywords
+ */
+ domKeywordsRef elemKeywords;
+/**
+ * The modified element contains the date and time that the parent element
+ * was last modified and represented in an ISO 8601 format. The modified
+ * element may appear zero or one time. @see domModified
+ */
+ domModifiedRef elemModified;
+/**
+ * The revision element contains the revision information for the parent element.
+ * The revision element may appear zero or one time. @see domRevision
+ */
+ domRevisionRef elemRevision;
+/**
+ * The subject element contains a description of the topical subject of the
+ * parent element. The subject element may appear zero or one time. @see
+ * domSubject
+ */
+ domSubjectRef elemSubject;
+/**
+ * The title element contains the title information for the parent element.
+ * The title element may appear zero or one time. @see domTitle
+ */
+ domTitleRef elemTitle;
+/**
+ * The unit element contains descriptive information about unit of measure.
+ * It has attributes for the name of the unit and the measurement with respect
+ * to the meter. The unit element may appear zero or one time. @see domUnit
+ */
+ domUnitRef elemUnit;
+/**
+ * The up_axis element contains descriptive information about coordinate system
+ * of the geometric data. All coordinates are right-handed by definition.
+ * This element specifies which axis is considered up. The default is the
+ * Y-axis. The up_axis element may appear zero or one time. @see domUp_axis
+ */
+ domUp_axisRef elemUp_axis;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the contributor element array.
+ * @return Returns a reference to the array of contributor elements.
+ */
+ domContributor_Array &getContributor_array() { return elemContributor_array; }
+ /**
+ * Gets the contributor element array.
+ * @return Returns a constant reference to the array of contributor elements.
+ */
+ const domContributor_Array &getContributor_array() const { return elemContributor_array; }
+ /**
+ * Gets the created element.
+ * @return a daeSmartRef to the created element.
+ */
+ const domCreatedRef getCreated() const { return elemCreated; }
+ /**
+ * Gets the keywords element.
+ * @return a daeSmartRef to the keywords element.
+ */
+ const domKeywordsRef getKeywords() const { return elemKeywords; }
+ /**
+ * Gets the modified element.
+ * @return a daeSmartRef to the modified element.
+ */
+ const domModifiedRef getModified() const { return elemModified; }
+ /**
+ * Gets the revision element.
+ * @return a daeSmartRef to the revision element.
+ */
+ const domRevisionRef getRevision() const { return elemRevision; }
+ /**
+ * Gets the subject element.
+ * @return a daeSmartRef to the subject element.
+ */
+ const domSubjectRef getSubject() const { return elemSubject; }
+ /**
+ * Gets the title element.
+ * @return a daeSmartRef to the title element.
+ */
+ const domTitleRef getTitle() const { return elemTitle; }
+ /**
+ * Gets the unit element.
+ * @return a daeSmartRef to the unit element.
+ */
+ const domUnitRef getUnit() const { return elemUnit; }
+ /**
+ * Gets the up_axis element.
+ * @return a daeSmartRef to the up_axis element.
+ */
+ const domUp_axisRef getUp_axis() const { return elemUp_axis; }
+protected:
+ /**
+ * Constructor
+ */
+ domAsset(DAE& dae) : daeElement(dae), elemContributor_array(), elemCreated(), elemKeywords(), elemModified(), elemRevision(), elemSubject(), elemTitle(), elemUnit(), elemUp_axis() {}
+ /**
+ * Destructor
+ */
+ virtual ~domAsset() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAsset &operator=( const domAsset &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domBind_material.h b/1.4.0/dom/include/1.4/dom/domBind_material.h
new file mode 100644
index 0000000..78c9171
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domBind_material.h
@@ -0,0 +1,188 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Bind_material_h__
+#define __dom141Bind_material_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domParam.h>
+#include <1.4/dom/domTechnique.h>
+#include <1.4/dom/domExtra.h>
+#include <1.4/dom/domInstance_material.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * Bind a specific material to a piece of geometry, binding varying and uniform
+ * parameters at the same time.
+ */
+class domBind_material : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BIND_MATERIAL; }
+ static daeInt ID() { return 686; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domTechnique_common;
+
+ typedef daeSmartRef<domTechnique_common> domTechnique_commonRef;
+ typedef daeTArray<domTechnique_commonRef> domTechnique_common_Array;
+
+/**
+ * The technique_common element specifies the bind_material information for
+ * the common profile which all COLLADA implementations need to support.
+ */
+ class domTechnique_common : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TECHNIQUE_COMMON; }
+ static daeInt ID() { return 687; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Element
+/**
+ * The instance_material element specifies the information needed to bind
+ * a geometry to a material. This element must appear at least once. @see
+ * domInstance_material
+ */
+ domInstance_material_Array elemInstance_material_array;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the instance_material element array.
+ * @return Returns a reference to the array of instance_material elements.
+ */
+ domInstance_material_Array &getInstance_material_array() { return elemInstance_material_array; }
+ /**
+ * Gets the instance_material element array.
+ * @return Returns a constant reference to the array of instance_material elements.
+ */
+ const domInstance_material_Array &getInstance_material_array() const { return elemInstance_material_array; }
+ protected:
+ /**
+ * Constructor
+ */
+ domTechnique_common(DAE& dae) : daeElement(dae), elemInstance_material_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTechnique_common() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTechnique_common &operator=( const domTechnique_common &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+/**
+ * The bind_material element may contain any number of param elements. @see
+ * domParam
+ */
+ domParam_Array elemParam_array;
+/**
+ * The technique_common element specifies the bind_material information for
+ * the common profile which all COLLADA implementations need to support.
+ * @see domTechnique_common
+ */
+ domTechnique_commonRef elemTechnique_common;
+/**
+ * This element may contain any number of non-common profile techniques.
+ * @see domTechnique
+ */
+ domTechnique_Array elemTechnique_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the param element array.
+ * @return Returns a reference to the array of param elements.
+ */
+ domParam_Array &getParam_array() { return elemParam_array; }
+ /**
+ * Gets the param element array.
+ * @return Returns a constant reference to the array of param elements.
+ */
+ const domParam_Array &getParam_array() const { return elemParam_array; }
+ /**
+ * Gets the technique_common element.
+ * @return a daeSmartRef to the technique_common element.
+ */
+ const domTechnique_commonRef getTechnique_common() const { return elemTechnique_common; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a reference to the array of technique elements.
+ */
+ domTechnique_Array &getTechnique_array() { return elemTechnique_array; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a constant reference to the array of technique elements.
+ */
+ const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domBind_material(DAE& dae) : daeElement(dae), elemParam_array(), elemTechnique_common(), elemTechnique_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBind_material() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBind_material &operator=( const domBind_material &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domBool_array.h b/1.4.0/dom/include/1.4/dom/domBool_array.h
new file mode 100644
index 0000000..0bb1b62
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domBool_array.h
@@ -0,0 +1,135 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Bool_array_h__
+#define __dom141Bool_array_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The bool_array element declares the storage for a homogenous array of boolean
+ * values.
+ */
+class domBool_array : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL_ARRAY; }
+ static daeInt ID() { return 606; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+/**
+ * The count attribute indicates the number of values in the array. Required
+ * attribute.
+ */
+ domUint attrCount;
+
+protected: // Value
+ /**
+ * The domListOfBools value of the text data of this element.
+ */
+ domListOfBools _value;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the count attribute.
+ * @return Returns a domUint of the count attribute.
+ */
+ domUint getCount() const { return attrCount; }
+ /**
+ * Sets the count attribute.
+ * @param atCount The new value for the count attribute.
+ */
+ void setCount( domUint atCount ) { attrCount = atCount; _validAttributeArray[2] = true; }
+
+ /**
+ * Gets the _value array.
+ * @return Returns a domListOfBools reference of the _value array.
+ */
+ domListOfBools &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domListOfBools reference of the _value array.
+ */
+ const domListOfBools &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domListOfBools &val ) { _value = val; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domBool_array(DAE& dae) : daeElement(dae), attrId(), attrName(), attrCount(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool_array() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool_array &operator=( const domBool_array &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domBox.h b/1.4.0/dom/include/1.4/dom/domBox.h
new file mode 100644
index 0000000..e30784c
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domBox.h
@@ -0,0 +1,155 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Box_h__
+#define __dom141Box_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * An axis-aligned, centered box primitive.
+ */
+class domBox : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOX; }
+ static daeInt ID() { return 767; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domHalf_extents;
+
+ typedef daeSmartRef<domHalf_extents> domHalf_extentsRef;
+ typedef daeTArray<domHalf_extentsRef> domHalf_extents_Array;
+
+/**
+ * 3 float values that represent the extents of the box
+ */
+ class domHalf_extents : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HALF_EXTENTS; }
+ static daeInt ID() { return 768; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFloat3 value of the text data of this element.
+ */
+ domFloat3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domFloat3 reference of the _value array.
+ */
+ domFloat3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domFloat3 reference of the _value array.
+ */
+ const domFloat3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domFloat3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domHalf_extents(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHalf_extents() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHalf_extents &operator=( const domHalf_extents &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+/**
+ * 3 float values that represent the extents of the box @see domHalf_extents
+ */
+ domHalf_extentsRef elemHalf_extents;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the half_extents element.
+ * @return a daeSmartRef to the half_extents element.
+ */
+ const domHalf_extentsRef getHalf_extents() const { return elemHalf_extents; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domBox(DAE& dae) : daeElement(dae), elemHalf_extents(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBox() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBox &operator=( const domBox &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domCOLLADA.h b/1.4.0/dom/include/1.4/dom/domCOLLADA.h
new file mode 100644
index 0000000..697cc98
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domCOLLADA.h
@@ -0,0 +1,525 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141COLLADA_h__
+#define __dom141COLLADA_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domAsset.h>
+#include <1.4/dom/domLibrary_animations.h>
+#include <1.4/dom/domLibrary_animation_clips.h>
+#include <1.4/dom/domLibrary_cameras.h>
+#include <1.4/dom/domLibrary_controllers.h>
+#include <1.4/dom/domLibrary_geometries.h>
+#include <1.4/dom/domLibrary_effects.h>
+#include <1.4/dom/domLibrary_force_fields.h>
+#include <1.4/dom/domLibrary_images.h>
+#include <1.4/dom/domLibrary_lights.h>
+#include <1.4/dom/domLibrary_materials.h>
+#include <1.4/dom/domLibrary_nodes.h>
+#include <1.4/dom/domLibrary_physics_materials.h>
+#include <1.4/dom/domLibrary_physics_models.h>
+#include <1.4/dom/domLibrary_physics_scenes.h>
+#include <1.4/dom/domLibrary_visual_scenes.h>
+#include <1.4/dom/domExtra.h>
+#include <1.4/dom/domInstanceWithExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The COLLADA element declares the root of the document that comprises some
+ * of the content in the COLLADA schema.
+ */
+class domCOLLADA : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COLLADA; }
+ static daeInt ID() { return 602; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domScene;
+
+ typedef daeSmartRef<domScene> domSceneRef;
+ typedef daeTArray<domSceneRef> domScene_Array;
+
+/**
+ * The scene embodies the entire set of information that can be visualized
+ * from the contents of a COLLADA resource. The scene element declares the
+ * base of the scene hierarchy or scene graph. The scene contains elements
+ * that comprise much of the visual and transformational information content
+ * as created by the authoring tools.
+ */
+ class domScene : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SCENE; }
+ static daeInt ID() { return 603; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Elements
+/**
+ * The instance_physics_scene element declares the instantiation of a COLLADA
+ * physics_scene resource. The instance_physics_scene element may appear any
+ * number of times. @see domInstance_physics_scene
+ */
+ domInstanceWithExtra_Array elemInstance_physics_scene_array;
+/**
+ * The instance_visual_scene element declares the instantiation of a COLLADA
+ * visual_scene resource. The instance_visual_scene element may only appear
+ * once. @see domInstance_visual_scene
+ */
+ domInstanceWithExtraRef elemInstance_visual_scene;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the instance_physics_scene element array.
+ * @return Returns a reference to the array of instance_physics_scene elements.
+ */
+ domInstanceWithExtra_Array &getInstance_physics_scene_array() { return elemInstance_physics_scene_array; }
+ /**
+ * Gets the instance_physics_scene element array.
+ * @return Returns a constant reference to the array of instance_physics_scene elements.
+ */
+ const domInstanceWithExtra_Array &getInstance_physics_scene_array() const { return elemInstance_physics_scene_array; }
+ /**
+ * Gets the instance_visual_scene element.
+ * @return a daeSmartRef to the instance_visual_scene element.
+ */
+ const domInstanceWithExtraRef getInstance_visual_scene() const { return elemInstance_visual_scene; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ protected:
+ /**
+ * Constructor
+ */
+ domScene(DAE& dae) : daeElement(dae), elemInstance_physics_scene_array(), elemInstance_visual_scene(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domScene() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domScene &operator=( const domScene &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+ /**
+ * This element may specify its own xmlns.
+ */
+ xsAnyURI attrXmlns;
+/**
+ * The version attribute is the COLLADA schema revision with which the instance
+ * document conforms. Required Attribute.
+ */
+ domVersionType attrVersion;
+/**
+ * The xml:base attribute allows you to define the base URI for this COLLADA
+ * document. See http://www.w3.org/TR/xmlbase/ for more information.
+ */
+ xsAnyURI attrXml_base;
+
+protected: // Elements
+/**
+ * The COLLADA element must contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * The COLLADA element may contain any number of library_animations elements.
+ * @see domLibrary_animations
+ */
+ domLibrary_animations_Array elemLibrary_animations_array;
+/**
+ * The COLLADA element may contain any number of library_animation_clips
+ * elements. @see domLibrary_animation_clips
+ */
+ domLibrary_animation_clips_Array elemLibrary_animation_clips_array;
+/**
+ * The COLLADA element may contain any number of library_cameras elements.
+ * @see domLibrary_cameras
+ */
+ domLibrary_cameras_Array elemLibrary_cameras_array;
+/**
+ * The COLLADA element may contain any number of library_controllerss elements.
+ * @see domLibrary_controllers
+ */
+ domLibrary_controllers_Array elemLibrary_controllers_array;
+/**
+ * The COLLADA element may contain any number of library_geometriess elements.
+ * @see domLibrary_geometries
+ */
+ domLibrary_geometries_Array elemLibrary_geometries_array;
+/**
+ * The COLLADA element may contain any number of library_effects elements.
+ * @see domLibrary_effects
+ */
+ domLibrary_effects_Array elemLibrary_effects_array;
+/**
+ * The COLLADA element may contain any number of library_force_fields elements.
+ * @see domLibrary_force_fields
+ */
+ domLibrary_force_fields_Array elemLibrary_force_fields_array;
+/**
+ * The COLLADA element may contain any number of library_images elements.
+ * @see domLibrary_images
+ */
+ domLibrary_images_Array elemLibrary_images_array;
+/**
+ * The COLLADA element may contain any number of library_lights elements.
+ * @see domLibrary_lights
+ */
+ domLibrary_lights_Array elemLibrary_lights_array;
+/**
+ * The COLLADA element may contain any number of library_materials elements.
+ * @see domLibrary_materials
+ */
+ domLibrary_materials_Array elemLibrary_materials_array;
+/**
+ * The COLLADA element may contain any number of library_nodes elements.
+ * @see domLibrary_nodes
+ */
+ domLibrary_nodes_Array elemLibrary_nodes_array;
+/**
+ * The COLLADA element may contain any number of library_materials elements.
+ * @see domLibrary_physics_materials
+ */
+ domLibrary_physics_materials_Array elemLibrary_physics_materials_array;
+/**
+ * The COLLADA element may contain any number of library_physics_models elements.
+ * @see domLibrary_physics_models
+ */
+ domLibrary_physics_models_Array elemLibrary_physics_models_array;
+/**
+ * The COLLADA element may contain any number of library_physics_scenes elements.
+ * @see domLibrary_physics_scenes
+ */
+ domLibrary_physics_scenes_Array elemLibrary_physics_scenes_array;
+/**
+ * The COLLADA element may contain any number of library_visual_scenes elements.
+ * @see domLibrary_visual_scenes
+ */
+ domLibrary_visual_scenes_Array elemLibrary_visual_scenes_array;
+/**
+ * The scene embodies the entire set of information that can be visualized
+ * from the contents of a COLLADA resource. The scene element declares the
+ * base of the scene hierarchy or scene graph. The scene contains elements
+ * that comprise much of the visual and transformational information content
+ * as created by the authoring tools. @see domScene
+ */
+ domSceneRef elemScene;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the xmlns attribute.
+ * @return Returns a xsAnyURI reference of the xmlns attribute.
+ */
+ xsAnyURI &getXmlns() { return attrXmlns; }
+ /**
+ * Gets the xmlns attribute.
+ * @return Returns a constant xsAnyURI reference of the xmlns attribute.
+ */
+ const xsAnyURI &getXmlns() const { return attrXmlns; }
+ /**
+ * Sets the xmlns attribute.
+ * @param xmlns The new value for the xmlns attribute.
+ */
+ void setXmlns( const xsAnyURI &xmlns ) { attrXmlns = xmlns;
+ _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the version attribute.
+ * @return Returns a domVersionType of the version attribute.
+ */
+ domVersionType getVersion() const { return attrVersion; }
+ /**
+ * Sets the version attribute.
+ * @param atVersion The new value for the version attribute.
+ */
+ void setVersion( domVersionType atVersion ) { attrVersion = atVersion; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the xml_base attribute.
+ * @return Returns a xsAnyURI reference of the xml_base attribute.
+ */
+ xsAnyURI &getXml_base() { return attrXml_base; }
+ /**
+ * Gets the xml_base attribute.
+ * @return Returns a constant xsAnyURI reference of the xml_base attribute.
+ */
+ const xsAnyURI &getXml_base() const { return attrXml_base; }
+ /**
+ * Sets the xml_base attribute.
+ * @param atXml_base The new value for the xml_base attribute.
+ */
+ void setXml_base( const xsAnyURI &atXml_base ) { attrXml_base = atXml_base; _validAttributeArray[2] = true; }
+ /**
+ * Sets the xml_base attribute.
+ * @param atXml_base The new value for the xml_base attribute.
+ */
+ void setXml_base( xsString atXml_base ) { attrXml_base = atXml_base; _validAttributeArray[2] = true; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the library_animations element array.
+ * @return Returns a reference to the array of library_animations elements.
+ */
+ domLibrary_animations_Array &getLibrary_animations_array() { return elemLibrary_animations_array; }
+ /**
+ * Gets the library_animations element array.
+ * @return Returns a constant reference to the array of library_animations elements.
+ */
+ const domLibrary_animations_Array &getLibrary_animations_array() const { return elemLibrary_animations_array; }
+ /**
+ * Gets the library_animation_clips element array.
+ * @return Returns a reference to the array of library_animation_clips elements.
+ */
+ domLibrary_animation_clips_Array &getLibrary_animation_clips_array() { return elemLibrary_animation_clips_array; }
+ /**
+ * Gets the library_animation_clips element array.
+ * @return Returns a constant reference to the array of library_animation_clips elements.
+ */
+ const domLibrary_animation_clips_Array &getLibrary_animation_clips_array() const { return elemLibrary_animation_clips_array; }
+ /**
+ * Gets the library_cameras element array.
+ * @return Returns a reference to the array of library_cameras elements.
+ */
+ domLibrary_cameras_Array &getLibrary_cameras_array() { return elemLibrary_cameras_array; }
+ /**
+ * Gets the library_cameras element array.
+ * @return Returns a constant reference to the array of library_cameras elements.
+ */
+ const domLibrary_cameras_Array &getLibrary_cameras_array() const { return elemLibrary_cameras_array; }
+ /**
+ * Gets the library_controllers element array.
+ * @return Returns a reference to the array of library_controllers elements.
+ */
+ domLibrary_controllers_Array &getLibrary_controllers_array() { return elemLibrary_controllers_array; }
+ /**
+ * Gets the library_controllers element array.
+ * @return Returns a constant reference to the array of library_controllers elements.
+ */
+ const domLibrary_controllers_Array &getLibrary_controllers_array() const { return elemLibrary_controllers_array; }
+ /**
+ * Gets the library_geometries element array.
+ * @return Returns a reference to the array of library_geometries elements.
+ */
+ domLibrary_geometries_Array &getLibrary_geometries_array() { return elemLibrary_geometries_array; }
+ /**
+ * Gets the library_geometries element array.
+ * @return Returns a constant reference to the array of library_geometries elements.
+ */
+ const domLibrary_geometries_Array &getLibrary_geometries_array() const { return elemLibrary_geometries_array; }
+ /**
+ * Gets the library_effects element array.
+ * @return Returns a reference to the array of library_effects elements.
+ */
+ domLibrary_effects_Array &getLibrary_effects_array() { return elemLibrary_effects_array; }
+ /**
+ * Gets the library_effects element array.
+ * @return Returns a constant reference to the array of library_effects elements.
+ */
+ const domLibrary_effects_Array &getLibrary_effects_array() const { return elemLibrary_effects_array; }
+ /**
+ * Gets the library_force_fields element array.
+ * @return Returns a reference to the array of library_force_fields elements.
+ */
+ domLibrary_force_fields_Array &getLibrary_force_fields_array() { return elemLibrary_force_fields_array; }
+ /**
+ * Gets the library_force_fields element array.
+ * @return Returns a constant reference to the array of library_force_fields elements.
+ */
+ const domLibrary_force_fields_Array &getLibrary_force_fields_array() const { return elemLibrary_force_fields_array; }
+ /**
+ * Gets the library_images element array.
+ * @return Returns a reference to the array of library_images elements.
+ */
+ domLibrary_images_Array &getLibrary_images_array() { return elemLibrary_images_array; }
+ /**
+ * Gets the library_images element array.
+ * @return Returns a constant reference to the array of library_images elements.
+ */
+ const domLibrary_images_Array &getLibrary_images_array() const { return elemLibrary_images_array; }
+ /**
+ * Gets the library_lights element array.
+ * @return Returns a reference to the array of library_lights elements.
+ */
+ domLibrary_lights_Array &getLibrary_lights_array() { return elemLibrary_lights_array; }
+ /**
+ * Gets the library_lights element array.
+ * @return Returns a constant reference to the array of library_lights elements.
+ */
+ const domLibrary_lights_Array &getLibrary_lights_array() const { return elemLibrary_lights_array; }
+ /**
+ * Gets the library_materials element array.
+ * @return Returns a reference to the array of library_materials elements.
+ */
+ domLibrary_materials_Array &getLibrary_materials_array() { return elemLibrary_materials_array; }
+ /**
+ * Gets the library_materials element array.
+ * @return Returns a constant reference to the array of library_materials elements.
+ */
+ const domLibrary_materials_Array &getLibrary_materials_array() const { return elemLibrary_materials_array; }
+ /**
+ * Gets the library_nodes element array.
+ * @return Returns a reference to the array of library_nodes elements.
+ */
+ domLibrary_nodes_Array &getLibrary_nodes_array() { return elemLibrary_nodes_array; }
+ /**
+ * Gets the library_nodes element array.
+ * @return Returns a constant reference to the array of library_nodes elements.
+ */
+ const domLibrary_nodes_Array &getLibrary_nodes_array() const { return elemLibrary_nodes_array; }
+ /**
+ * Gets the library_physics_materials element array.
+ * @return Returns a reference to the array of library_physics_materials elements.
+ */
+ domLibrary_physics_materials_Array &getLibrary_physics_materials_array() { return elemLibrary_physics_materials_array; }
+ /**
+ * Gets the library_physics_materials element array.
+ * @return Returns a constant reference to the array of library_physics_materials elements.
+ */
+ const domLibrary_physics_materials_Array &getLibrary_physics_materials_array() const { return elemLibrary_physics_materials_array; }
+ /**
+ * Gets the library_physics_models element array.
+ * @return Returns a reference to the array of library_physics_models elements.
+ */
+ domLibrary_physics_models_Array &getLibrary_physics_models_array() { return elemLibrary_physics_models_array; }
+ /**
+ * Gets the library_physics_models element array.
+ * @return Returns a constant reference to the array of library_physics_models elements.
+ */
+ const domLibrary_physics_models_Array &getLibrary_physics_models_array() const { return elemLibrary_physics_models_array; }
+ /**
+ * Gets the library_physics_scenes element array.
+ * @return Returns a reference to the array of library_physics_scenes elements.
+ */
+ domLibrary_physics_scenes_Array &getLibrary_physics_scenes_array() { return elemLibrary_physics_scenes_array; }
+ /**
+ * Gets the library_physics_scenes element array.
+ * @return Returns a constant reference to the array of library_physics_scenes elements.
+ */
+ const domLibrary_physics_scenes_Array &getLibrary_physics_scenes_array() const { return elemLibrary_physics_scenes_array; }
+ /**
+ * Gets the library_visual_scenes element array.
+ * @return Returns a reference to the array of library_visual_scenes elements.
+ */
+ domLibrary_visual_scenes_Array &getLibrary_visual_scenes_array() { return elemLibrary_visual_scenes_array; }
+ /**
+ * Gets the library_visual_scenes element array.
+ * @return Returns a constant reference to the array of library_visual_scenes elements.
+ */
+ const domLibrary_visual_scenes_Array &getLibrary_visual_scenes_array() const { return elemLibrary_visual_scenes_array; }
+ /**
+ * Gets the scene element.
+ * @return a daeSmartRef to the scene element.
+ */
+ const domSceneRef getScene() const { return elemScene; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domCOLLADA(DAE& dae) : daeElement(dae), attrXmlns(dae, *this), attrVersion(), attrXml_base(dae, *this), elemAsset(), elemLibrary_animations_array(), elemLibrary_animation_clips_array(), elemLibrary_cameras_array(), elemLibrary_controllers_array(), elemLibrary_geometries_array(), elemLibrary_effects_array(), elemLibrary_force_fields_array(), elemLibrary_images_array(), elemLibrary_lights_array(), elemLibrary_materials_array(), elemLibrary_nodes_array(), elemLibrary_physics_materials_array(), elemLibrary_physics_models_array(), elemLibrary_physics_scenes_array(), elemLibrary_visual_scenes_array(), elemScene(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCOLLADA() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCOLLADA &operator=( const domCOLLADA &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domCamera.h b/1.4.0/dom/include/1.4/dom/domCamera.h
new file mode 100644
index 0000000..441dc4b
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domCamera.h
@@ -0,0 +1,656 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Camera_h__
+#define __dom141Camera_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domAsset.h>
+#include <1.4/dom/domExtra.h>
+#include <1.4/dom/domTechnique.h>
+#include <1.4/dom/domTargetableFloat.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The camera element declares a view into the scene hierarchy or scene graph.
+ * The camera contains elements that describe the camera’s optics and imager.
+ */
+class domCamera : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CAMERA; }
+ static daeInt ID() { return 645; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domOptics;
+
+ typedef daeSmartRef<domOptics> domOpticsRef;
+ typedef daeTArray<domOpticsRef> domOptics_Array;
+
+/**
+ * Optics represents the apparatus on a camera that projects the image onto
+ * the image sensor.
+ */
+ class domOptics : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::OPTICS; }
+ static daeInt ID() { return 646; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domTechnique_common;
+
+ typedef daeSmartRef<domTechnique_common> domTechnique_commonRef;
+ typedef daeTArray<domTechnique_commonRef> domTechnique_common_Array;
+
+/**
+ * The technique_common element specifies the optics information for the common
+ * profile which all COLLADA implementations need to support.
+ */
+ class domTechnique_common : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TECHNIQUE_COMMON; }
+ static daeInt ID() { return 647; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domOrthographic;
+
+ typedef daeSmartRef<domOrthographic> domOrthographicRef;
+ typedef daeTArray<domOrthographicRef> domOrthographic_Array;
+
+/**
+ * The orthographic element describes the field of view of an orthographic
+ * camera.
+ */
+ class domOrthographic : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ORTHOGRAPHIC; }
+ static daeInt ID() { return 648; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Elements
+/**
+ * The xmag element contains a floating point number describing the horizontal
+ * magnification of the view. @see domXmag
+ */
+ domTargetableFloatRef elemXmag;
+/**
+ * The ymag element contains a floating point number describing the vertical
+ * magnification of the view. It can also have a sid. @see domYmag
+ */
+ domTargetableFloatRef elemYmag;
+/**
+ * The aspect_ratio element contains a floating point number describing the
+ * aspect ratio of the field of view. If the aspect_ratio element is not
+ * present the aspect ratio is to be calculated from the xmag or ymag elements
+ * and the current viewport. @see domAspect_ratio
+ */
+ domTargetableFloatRef elemAspect_ratio;
+/**
+ * The znear element contains a floating point number that describes the distance
+ * to the near clipping plane. The znear element must occur exactly once.
+ * @see domZnear
+ */
+ domTargetableFloatRef elemZnear;
+/**
+ * The zfar element contains a floating point number that describes the distance
+ * to the far clipping plane. The zfar element must occur exactly once. @see
+ * domZfar
+ */
+ domTargetableFloatRef elemZfar;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the xmag element.
+ * @return a daeSmartRef to the xmag element.
+ */
+ const domTargetableFloatRef getXmag() const { return elemXmag; }
+ /**
+ * Gets the ymag element.
+ * @return a daeSmartRef to the ymag element.
+ */
+ const domTargetableFloatRef getYmag() const { return elemYmag; }
+ /**
+ * Gets the aspect_ratio element.
+ * @return a daeSmartRef to the aspect_ratio element.
+ */
+ const domTargetableFloatRef getAspect_ratio() const { return elemAspect_ratio; }
+ /**
+ * Gets the znear element.
+ * @return a daeSmartRef to the znear element.
+ */
+ const domTargetableFloatRef getZnear() const { return elemZnear; }
+ /**
+ * Gets the zfar element.
+ * @return a daeSmartRef to the zfar element.
+ */
+ const domTargetableFloatRef getZfar() const { return elemZfar; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domOrthographic(DAE& dae) : daeElement(dae), elemXmag(), elemYmag(), elemAspect_ratio(), elemZnear(), elemZfar() {}
+ /**
+ * Destructor
+ */
+ virtual ~domOrthographic() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domOrthographic &operator=( const domOrthographic &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPerspective;
+
+ typedef daeSmartRef<domPerspective> domPerspectiveRef;
+ typedef daeTArray<domPerspectiveRef> domPerspective_Array;
+
+/**
+ * The perspective element describes the optics of a perspective camera.
+ */
+ class domPerspective : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PERSPECTIVE; }
+ static daeInt ID() { return 649; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Elements
+/**
+ * The xfov element contains a floating point number describing the horizontal
+ * field of view in degrees. @see domXfov
+ */
+ domTargetableFloatRef elemXfov;
+/**
+ * The yfov element contains a floating point number describing the verticle
+ * field of view in degrees. @see domYfov
+ */
+ domTargetableFloatRef elemYfov;
+/**
+ * The aspect_ratio element contains a floating point number describing the
+ * aspect ratio of the field of view. If the aspect_ratio element is not
+ * present the aspect ratio is to be calculated from the xfov or yfov elements
+ * and the current viewport. @see domAspect_ratio
+ */
+ domTargetableFloatRef elemAspect_ratio;
+/**
+ * The znear element contains a floating point number that describes the distance
+ * to the near clipping plane. The znear element must occur exactly once.
+ * @see domZnear
+ */
+ domTargetableFloatRef elemZnear;
+/**
+ * The zfar element contains a floating point number that describes the distance
+ * to the far clipping plane. The zfar element must occur exactly once. @see
+ * domZfar
+ */
+ domTargetableFloatRef elemZfar;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the xfov element.
+ * @return a daeSmartRef to the xfov element.
+ */
+ const domTargetableFloatRef getXfov() const { return elemXfov; }
+ /**
+ * Gets the yfov element.
+ * @return a daeSmartRef to the yfov element.
+ */
+ const domTargetableFloatRef getYfov() const { return elemYfov; }
+ /**
+ * Gets the aspect_ratio element.
+ * @return a daeSmartRef to the aspect_ratio element.
+ */
+ const domTargetableFloatRef getAspect_ratio() const { return elemAspect_ratio; }
+ /**
+ * Gets the znear element.
+ * @return a daeSmartRef to the znear element.
+ */
+ const domTargetableFloatRef getZnear() const { return elemZnear; }
+ /**
+ * Gets the zfar element.
+ * @return a daeSmartRef to the zfar element.
+ */
+ const domTargetableFloatRef getZfar() const { return elemZfar; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPerspective(DAE& dae) : daeElement(dae), elemXfov(), elemYfov(), elemAspect_ratio(), elemZnear(), elemZfar() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPerspective() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPerspective &operator=( const domPerspective &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+/**
+ * The orthographic element describes the field of view of an orthographic
+ * camera. @see domOrthographic
+ */
+ domOrthographicRef elemOrthographic;
+/**
+ * The perspective element describes the optics of a perspective camera. @see
+ * domPerspective
+ */
+ domPerspectiveRef elemPerspective;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the orthographic element.
+ * @return a daeSmartRef to the orthographic element.
+ */
+ const domOrthographicRef getOrthographic() const { return elemOrthographic; }
+ /**
+ * Gets the perspective element.
+ * @return a daeSmartRef to the perspective element.
+ */
+ const domPerspectiveRef getPerspective() const { return elemPerspective; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTechnique_common(DAE& dae) : daeElement(dae), elemOrthographic(), elemPerspective() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTechnique_common() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTechnique_common &operator=( const domTechnique_common &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+/**
+ * The technique_common element specifies the optics information for the common
+ * profile which all COLLADA implementations need to support. @see domTechnique_common
+ */
+ domTechnique_commonRef elemTechnique_common;
+/**
+ * This element may contain any number of non-common profile techniques.
+ * @see domTechnique
+ */
+ domTechnique_Array elemTechnique_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the technique_common element.
+ * @return a daeSmartRef to the technique_common element.
+ */
+ const domTechnique_commonRef getTechnique_common() const { return elemTechnique_common; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a reference to the array of technique elements.
+ */
+ domTechnique_Array &getTechnique_array() { return elemTechnique_array; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a constant reference to the array of technique elements.
+ */
+ const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ protected:
+ /**
+ * Constructor
+ */
+ domOptics(DAE& dae) : daeElement(dae), elemTechnique_common(), elemTechnique_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domOptics() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domOptics &operator=( const domOptics &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domImager;
+
+ typedef daeSmartRef<domImager> domImagerRef;
+ typedef daeTArray<domImagerRef> domImager_Array;
+
+/**
+ * Imagers represent the image sensor of a camera (for example film or CCD).
+ */
+ class domImager : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::IMAGER; }
+ static daeInt ID() { return 650; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Elements
+/**
+ * This element may contain any number of non-common profile techniques.
+ * There is no common technique for imager. @see domTechnique
+ */
+ domTechnique_Array elemTechnique_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the technique element array.
+ * @return Returns a reference to the array of technique elements.
+ */
+ domTechnique_Array &getTechnique_array() { return elemTechnique_array; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a constant reference to the array of technique elements.
+ */
+ const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ protected:
+ /**
+ * Constructor
+ */
+ domImager(DAE& dae) : daeElement(dae), elemTechnique_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domImager() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domImager &operator=( const domImager &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+
+protected: // Elements
+/**
+ * The camera element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * Optics represents the apparatus on a camera that projects the image onto
+ * the image sensor. @see domOptics
+ */
+ domOpticsRef elemOptics;
+/**
+ * Imagers represent the image sensor of a camera (for example film or CCD).
+ * @see domImager
+ */
+ domImagerRef elemImager;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the optics element.
+ * @return a daeSmartRef to the optics element.
+ */
+ const domOpticsRef getOptics() const { return elemOptics; }
+ /**
+ * Gets the imager element.
+ * @return a daeSmartRef to the imager element.
+ */
+ const domImagerRef getImager() const { return elemImager; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domCamera(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemOptics(), elemImager(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCamera() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCamera &operator=( const domCamera &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domCapsule.h b/1.4.0/dom/include/1.4/dom/domCapsule.h
new file mode 100644
index 0000000..7b98f83
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domCapsule.h
@@ -0,0 +1,228 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Capsule_h__
+#define __dom141Capsule_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * A capsule primitive that is centered on and aligned with the local Y axis.
+ */
+class domCapsule : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CAPSULE; }
+ static daeInt ID() { return 782; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domHeight;
+
+ typedef daeSmartRef<domHeight> domHeightRef;
+ typedef daeTArray<domHeightRef> domHeight_Array;
+
+/**
+ * A float value that represents the length of the line segment connecting
+ * the centers of the capping hemispheres.
+ */
+ class domHeight : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HEIGHT; }
+ static daeInt ID() { return 783; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFloat value of the text data of this element.
+ */
+ domFloat _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFloat of the value.
+ */
+ domFloat getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFloat val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domHeight(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHeight() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHeight &operator=( const domHeight &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domRadius;
+
+ typedef daeSmartRef<domRadius> domRadiusRef;
+ typedef daeTArray<domRadiusRef> domRadius_Array;
+
+/**
+ * Two float values that represent the radii of the capsule (it may be elliptical)
+ */
+ class domRadius : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::RADIUS; }
+ static daeInt ID() { return 784; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFloat2 value of the text data of this element.
+ */
+ domFloat2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domFloat2 reference of the _value array.
+ */
+ domFloat2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domFloat2 reference of the _value array.
+ */
+ const domFloat2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domFloat2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domRadius(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domRadius() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRadius &operator=( const domRadius &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+/**
+ * A float value that represents the length of the line segment connecting
+ * the centers of the capping hemispheres. @see domHeight
+ */
+ domHeightRef elemHeight;
+/**
+ * Two float values that represent the radii of the capsule (it may be elliptical)
+ * @see domRadius
+ */
+ domRadiusRef elemRadius;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the height element.
+ * @return a daeSmartRef to the height element.
+ */
+ const domHeightRef getHeight() const { return elemHeight; }
+ /**
+ * Gets the radius element.
+ * @return a daeSmartRef to the radius element.
+ */
+ const domRadiusRef getRadius() const { return elemRadius; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domCapsule(DAE& dae) : daeElement(dae), elemHeight(), elemRadius(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCapsule() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCapsule &operator=( const domCapsule &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domCg_connect_param.h b/1.4.0/dom/include/1.4/dom/domCg_connect_param.h
new file mode 100644
index 0000000..1a93fa3
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domCg_connect_param.h
@@ -0,0 +1,108 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Cg_connect_param_h__
+#define __dom141Cg_connect_param_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * Creates a symbolic connection between two previously defined parameters.
+ */
+class domCg_connect_param_complexType
+{
+protected: // Attribute
+ domCg_identifier attrRef;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the ref attribute.
+ * @return Returns a domCg_identifier of the ref attribute.
+ */
+ domCg_identifier getRef() const { return attrRef; }
+ /**
+ * Sets the ref attribute.
+ * @param atRef The new value for the ref attribute.
+ */
+ void setRef( domCg_identifier atRef ) { attrRef = atRef; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domCg_connect_param_complexType(DAE& dae, daeElement* elt) : attrRef() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCg_connect_param_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCg_connect_param_complexType &operator=( const domCg_connect_param_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domCg_connect_param_complexType.
+ */
+class domCg_connect_param : public daeElement, public domCg_connect_param_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CG_CONNECT_PARAM; }
+ static daeInt ID() { return 133; }
+ virtual daeInt typeID() const { return ID(); }
+
+public: //Accessors and Mutators
+ /**
+ * Gets the ref attribute.
+ * @return Returns a domCg_identifier of the ref attribute.
+ */
+ domCg_identifier getRef() const { return attrRef; }
+ /**
+ * Sets the ref attribute.
+ * @param atRef The new value for the ref attribute.
+ */
+ void setRef( domCg_identifier atRef ) { attrRef = atRef; _validAttributeArray[0] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domCg_connect_param(DAE& dae) : daeElement(dae), domCg_connect_param_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domCg_connect_param() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCg_connect_param &operator=( const domCg_connect_param &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domCg_newarray_type.h b/1.4.0/dom/include/1.4/dom/domCg_newarray_type.h
new file mode 100644
index 0000000..be512ef
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domCg_newarray_type.h
@@ -0,0 +1,192 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Cg_newarray_type_h__
+#define __dom141Cg_newarray_type_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domCg_param_type.h>
+#include <1.4/dom/domCg_newarray_type.h>
+#include <1.4/dom/domCg_setuser_type.h>
+#include <1.4/dom/domCg_connect_param.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * Creates a parameter of a one-dimensional array type.
+ */
+class domCg_newarray_type_complexType
+{
+protected: // Attribute
+/**
+ * The length attribute specifies the length of the array.
+ */
+ xsPositiveInteger attrLength;
+
+protected: // Elements
+ domCg_param_type_Array elemCg_param_type_array;
+/**
+ * Nested array elements allow you to create multidemensional arrays. @see
+ * domArray
+ */
+ domCg_newarray_type_Array elemArray_array;
+/**
+ * The usertype element allows you to create arrays of usertypes. @see domUsertype
+ */
+ domCg_setuser_type_Array elemUsertype_array;
+ domCg_connect_param_Array elemConnect_param_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the length attribute.
+ * @return Returns a xsPositiveInteger of the length attribute.
+ */
+ xsPositiveInteger getLength() const { return attrLength; }
+ /**
+ * Sets the length attribute.
+ * @param atLength The new value for the length attribute.
+ */
+ void setLength( xsPositiveInteger atLength ) { attrLength = atLength; }
+
+ /**
+ * Gets the cg_param_type element array.
+ * @return Returns a reference to the array of cg_param_type elements.
+ */
+ domCg_param_type_Array &getCg_param_type_array() { return elemCg_param_type_array; }
+ /**
+ * Gets the cg_param_type element array.
+ * @return Returns a constant reference to the array of cg_param_type elements.
+ */
+ const domCg_param_type_Array &getCg_param_type_array() const { return elemCg_param_type_array; }
+ /**
+ * Gets the array element array.
+ * @return Returns a reference to the array of array elements.
+ */
+ domCg_newarray_type_Array &getArray_array() { return elemArray_array; }
+ /**
+ * Gets the array element array.
+ * @return Returns a constant reference to the array of array elements.
+ */
+ const domCg_newarray_type_Array &getArray_array() const { return elemArray_array; }
+ /**
+ * Gets the usertype element array.
+ * @return Returns a reference to the array of usertype elements.
+ */
+ domCg_setuser_type_Array &getUsertype_array() { return elemUsertype_array; }
+ /**
+ * Gets the usertype element array.
+ * @return Returns a constant reference to the array of usertype elements.
+ */
+ const domCg_setuser_type_Array &getUsertype_array() const { return elemUsertype_array; }
+ /**
+ * Gets the connect_param element array.
+ * @return Returns a reference to the array of connect_param elements.
+ */
+ domCg_connect_param_Array &getConnect_param_array() { return elemConnect_param_array; }
+ /**
+ * Gets the connect_param element array.
+ * @return Returns a constant reference to the array of connect_param elements.
+ */
+ const domCg_connect_param_Array &getConnect_param_array() const { return elemConnect_param_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domCg_newarray_type_complexType(DAE& dae, daeElement* elt) : attrLength(), elemCg_param_type_array(), elemArray_array(), elemUsertype_array(), elemConnect_param_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCg_newarray_type_complexType() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCg_newarray_type_complexType &operator=( const domCg_newarray_type_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domCg_newarray_type_complexType.
+ */
+class domCg_newarray_type : public daeElement, public domCg_newarray_type_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CG_NEWARRAY_TYPE; }
+ static daeInt ID() { return 134; }
+ virtual daeInt typeID() const { return ID(); }
+
+public: //Accessors and Mutators
+ /**
+ * Gets the length attribute.
+ * @return Returns a xsPositiveInteger of the length attribute.
+ */
+ xsPositiveInteger getLength() const { return attrLength; }
+ /**
+ * Sets the length attribute.
+ * @param atLength The new value for the length attribute.
+ */
+ void setLength( xsPositiveInteger atLength ) { attrLength = atLength; _validAttributeArray[0] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domCg_newarray_type(DAE& dae) : daeElement(dae), domCg_newarray_type_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domCg_newarray_type() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCg_newarray_type &operator=( const domCg_newarray_type &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domCg_newparam.h b/1.4.0/dom/include/1.4/dom/domCg_newparam.h
new file mode 100644
index 0000000..2e506ed
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domCg_newparam.h
@@ -0,0 +1,316 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Cg_newparam_h__
+#define __dom141Cg_newparam_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domCg_param_type.h>
+#include <1.4/dom/domFx_annotate_common.h>
+#include <1.4/dom/domCg_setuser_type.h>
+#include <1.4/dom/domCg_newarray_type.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * Create a new, named param object in the CG Runtime, assign it a type, an
+ * initial value, and additional attributes at declaration time.
+ */
+class domCg_newparam_complexType
+{
+public:
+ class domSemantic;
+
+ typedef daeSmartRef<domSemantic> domSemanticRef;
+ typedef daeTArray<domSemanticRef> domSemantic_Array;
+
+/**
+ * The semantic element allows you to specify a semantic for this new param.
+ */
+ class domSemantic : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SEMANTIC; }
+ static daeInt ID() { return 140; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsNCName value of the text data of this element.
+ */
+ xsNCName _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsNCName of the value.
+ */
+ xsNCName getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSemantic(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSemantic() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSemantic &operator=( const domSemantic &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domModifier;
+
+ typedef daeSmartRef<domModifier> domModifierRef;
+ typedef daeTArray<domModifierRef> domModifier_Array;
+
+/**
+ * The modifier element allows you to specify a modifier for this new param.
+ */
+ class domModifier : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MODIFIER; }
+ static daeInt ID() { return 141; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_modifier_enum_common value of the text data of this element.
+ */
+ domFx_modifier_enum_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_modifier_enum_common of the value.
+ */
+ domFx_modifier_enum_common getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFx_modifier_enum_common val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domModifier(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domModifier() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domModifier &operator=( const domModifier &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attribute
+ domCg_identifier attrSid;
+
+protected: // Elements
+/**
+ * The annotate element allows you to specify an annotation for this new param.
+ * @see domAnnotate
+ */
+ domFx_annotate_common_Array elemAnnotate_array;
+/**
+ * The semantic element allows you to specify a semantic for this new param.
+ * @see domSemantic
+ */
+ domSemanticRef elemSemantic;
+/**
+ * The modifier element allows you to specify a modifier for this new param.
+ * @see domModifier
+ */
+ domModifierRef elemModifier;
+ domCg_param_typeRef elemCg_param_type;
+ domCg_setuser_typeRef elemUsertype;
+ domCg_newarray_typeRef elemArray;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domCg_identifier of the sid attribute.
+ */
+ domCg_identifier getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domCg_identifier atSid ) { attrSid = atSid; }
+
+ /**
+ * Gets the annotate element array.
+ * @return Returns a reference to the array of annotate elements.
+ */
+ domFx_annotate_common_Array &getAnnotate_array() { return elemAnnotate_array; }
+ /**
+ * Gets the annotate element array.
+ * @return Returns a constant reference to the array of annotate elements.
+ */
+ const domFx_annotate_common_Array &getAnnotate_array() const { return elemAnnotate_array; }
+ /**
+ * Gets the semantic element.
+ * @return a daeSmartRef to the semantic element.
+ */
+ const domSemanticRef getSemantic() const { return elemSemantic; }
+ /**
+ * Gets the modifier element.
+ * @return a daeSmartRef to the modifier element.
+ */
+ const domModifierRef getModifier() const { return elemModifier; }
+ /**
+ * Gets the cg_param_type element.
+ * @return a daeSmartRef to the cg_param_type element.
+ */
+ const domCg_param_typeRef getCg_param_type() const { return elemCg_param_type; }
+ /**
+ * Gets the usertype element.
+ * @return a daeSmartRef to the usertype element.
+ */
+ const domCg_setuser_typeRef getUsertype() const { return elemUsertype; }
+ /**
+ * Gets the array element.
+ * @return a daeSmartRef to the array element.
+ */
+ const domCg_newarray_typeRef getArray() const { return elemArray; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domCg_newparam_complexType(DAE& dae, daeElement* elt) : attrSid(), elemAnnotate_array(), elemSemantic(), elemModifier(), elemCg_param_type(), elemUsertype(), elemArray() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCg_newparam_complexType() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCg_newparam_complexType &operator=( const domCg_newparam_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domCg_newparam_complexType.
+ */
+class domCg_newparam : public daeElement, public domCg_newparam_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CG_NEWPARAM; }
+ static daeInt ID() { return 142; }
+ virtual daeInt typeID() const { return ID(); }
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domCg_identifier of the sid attribute.
+ */
+ domCg_identifier getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domCg_identifier atSid ) { attrSid = atSid; _validAttributeArray[0] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domCg_newparam(DAE& dae) : daeElement(dae), domCg_newparam_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domCg_newparam() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCg_newparam &operator=( const domCg_newparam &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domCg_param_type.h b/1.4.0/dom/include/1.4/dom/domCg_param_type.h
new file mode 100644
index 0000000..52ed9be
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domCg_param_type.h
@@ -0,0 +1,7462 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Cg_param_type_h__
+#define __dom141Cg_param_type_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domCg_surface_type.h>
+#include <1.4/dom/domCg_sampler1D.h>
+#include <1.4/dom/domCg_sampler2D.h>
+#include <1.4/dom/domCg_sampler3D.h>
+#include <1.4/dom/domCg_samplerRECT.h>
+#include <1.4/dom/domCg_samplerCUBE.h>
+#include <1.4/dom/domCg_samplerDEPTH.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * A group that specifies the allowable types for CG profile parameters.
+ */
+class domCg_param_type : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CG_PARAM_TYPE; }
+ static daeInt ID() { return 380; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domBool;
+
+ typedef daeSmartRef<domBool> domBoolRef;
+ typedef daeTArray<domBoolRef> domBool_Array;
+
+ class domBool : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL; }
+ static daeInt ID() { return 381; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_bool value of the text data of this element.
+ */
+ domCg_bool _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domCg_bool of the value.
+ */
+ domCg_bool getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domCg_bool val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBool(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool &operator=( const domBool &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool1;
+
+ typedef daeSmartRef<domBool1> domBool1Ref;
+ typedef daeTArray<domBool1Ref> domBool1_Array;
+
+ class domBool1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL1; }
+ static daeInt ID() { return 382; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_bool1 value of the text data of this element.
+ */
+ domCg_bool1 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domCg_bool1 of the value.
+ */
+ domCg_bool1 getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domCg_bool1 val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBool1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool1 &operator=( const domBool1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool2;
+
+ typedef daeSmartRef<domBool2> domBool2Ref;
+ typedef daeTArray<domBool2Ref> domBool2_Array;
+
+ class domBool2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL2; }
+ static daeInt ID() { return 383; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_bool2 value of the text data of this element.
+ */
+ domCg_bool2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_bool2 reference of the _value array.
+ */
+ domCg_bool2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_bool2 reference of the _value array.
+ */
+ const domCg_bool2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_bool2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBool2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool2 &operator=( const domBool2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool3;
+
+ typedef daeSmartRef<domBool3> domBool3Ref;
+ typedef daeTArray<domBool3Ref> domBool3_Array;
+
+ class domBool3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL3; }
+ static daeInt ID() { return 384; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_bool3 value of the text data of this element.
+ */
+ domCg_bool3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_bool3 reference of the _value array.
+ */
+ domCg_bool3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_bool3 reference of the _value array.
+ */
+ const domCg_bool3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_bool3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBool3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool3 &operator=( const domBool3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool4;
+
+ typedef daeSmartRef<domBool4> domBool4Ref;
+ typedef daeTArray<domBool4Ref> domBool4_Array;
+
+ class domBool4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL4; }
+ static daeInt ID() { return 385; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_bool4 value of the text data of this element.
+ */
+ domCg_bool4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_bool4 reference of the _value array.
+ */
+ domCg_bool4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_bool4 reference of the _value array.
+ */
+ const domCg_bool4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_bool4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBool4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool4 &operator=( const domBool4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool1x1;
+
+ typedef daeSmartRef<domBool1x1> domBool1x1Ref;
+ typedef daeTArray<domBool1x1Ref> domBool1x1_Array;
+
+ class domBool1x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL1X1; }
+ static daeInt ID() { return 386; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_bool1x1 value of the text data of this element.
+ */
+ domCg_bool1x1 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_bool1x1 reference of the _value array.
+ */
+ domCg_bool1x1 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_bool1x1 reference of the _value array.
+ */
+ const domCg_bool1x1 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_bool1x1 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBool1x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool1x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool1x1 &operator=( const domBool1x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool1x2;
+
+ typedef daeSmartRef<domBool1x2> domBool1x2Ref;
+ typedef daeTArray<domBool1x2Ref> domBool1x2_Array;
+
+ class domBool1x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL1X2; }
+ static daeInt ID() { return 387; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_bool1x2 value of the text data of this element.
+ */
+ domCg_bool1x2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_bool1x2 reference of the _value array.
+ */
+ domCg_bool1x2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_bool1x2 reference of the _value array.
+ */
+ const domCg_bool1x2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_bool1x2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBool1x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool1x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool1x2 &operator=( const domBool1x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool1x3;
+
+ typedef daeSmartRef<domBool1x3> domBool1x3Ref;
+ typedef daeTArray<domBool1x3Ref> domBool1x3_Array;
+
+ class domBool1x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL1X3; }
+ static daeInt ID() { return 388; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_bool1x3 value of the text data of this element.
+ */
+ domCg_bool1x3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_bool1x3 reference of the _value array.
+ */
+ domCg_bool1x3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_bool1x3 reference of the _value array.
+ */
+ const domCg_bool1x3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_bool1x3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBool1x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool1x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool1x3 &operator=( const domBool1x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool1x4;
+
+ typedef daeSmartRef<domBool1x4> domBool1x4Ref;
+ typedef daeTArray<domBool1x4Ref> domBool1x4_Array;
+
+ class domBool1x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL1X4; }
+ static daeInt ID() { return 389; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_bool1x4 value of the text data of this element.
+ */
+ domCg_bool1x4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_bool1x4 reference of the _value array.
+ */
+ domCg_bool1x4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_bool1x4 reference of the _value array.
+ */
+ const domCg_bool1x4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_bool1x4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBool1x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool1x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool1x4 &operator=( const domBool1x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool2x1;
+
+ typedef daeSmartRef<domBool2x1> domBool2x1Ref;
+ typedef daeTArray<domBool2x1Ref> domBool2x1_Array;
+
+ class domBool2x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL2X1; }
+ static daeInt ID() { return 390; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_bool2x1 value of the text data of this element.
+ */
+ domCg_bool2x1 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_bool2x1 reference of the _value array.
+ */
+ domCg_bool2x1 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_bool2x1 reference of the _value array.
+ */
+ const domCg_bool2x1 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_bool2x1 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBool2x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool2x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool2x1 &operator=( const domBool2x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool2x2;
+
+ typedef daeSmartRef<domBool2x2> domBool2x2Ref;
+ typedef daeTArray<domBool2x2Ref> domBool2x2_Array;
+
+ class domBool2x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL2X2; }
+ static daeInt ID() { return 391; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_bool2x2 value of the text data of this element.
+ */
+ domCg_bool2x2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_bool2x2 reference of the _value array.
+ */
+ domCg_bool2x2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_bool2x2 reference of the _value array.
+ */
+ const domCg_bool2x2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_bool2x2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBool2x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool2x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool2x2 &operator=( const domBool2x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool2x3;
+
+ typedef daeSmartRef<domBool2x3> domBool2x3Ref;
+ typedef daeTArray<domBool2x3Ref> domBool2x3_Array;
+
+ class domBool2x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL2X3; }
+ static daeInt ID() { return 392; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_bool2x3 value of the text data of this element.
+ */
+ domCg_bool2x3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_bool2x3 reference of the _value array.
+ */
+ domCg_bool2x3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_bool2x3 reference of the _value array.
+ */
+ const domCg_bool2x3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_bool2x3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBool2x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool2x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool2x3 &operator=( const domBool2x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool2x4;
+
+ typedef daeSmartRef<domBool2x4> domBool2x4Ref;
+ typedef daeTArray<domBool2x4Ref> domBool2x4_Array;
+
+ class domBool2x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL2X4; }
+ static daeInt ID() { return 393; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_bool2x4 value of the text data of this element.
+ */
+ domCg_bool2x4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_bool2x4 reference of the _value array.
+ */
+ domCg_bool2x4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_bool2x4 reference of the _value array.
+ */
+ const domCg_bool2x4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_bool2x4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBool2x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool2x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool2x4 &operator=( const domBool2x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool3x1;
+
+ typedef daeSmartRef<domBool3x1> domBool3x1Ref;
+ typedef daeTArray<domBool3x1Ref> domBool3x1_Array;
+
+ class domBool3x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL3X1; }
+ static daeInt ID() { return 394; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_bool3x1 value of the text data of this element.
+ */
+ domCg_bool3x1 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_bool3x1 reference of the _value array.
+ */
+ domCg_bool3x1 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_bool3x1 reference of the _value array.
+ */
+ const domCg_bool3x1 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_bool3x1 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBool3x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool3x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool3x1 &operator=( const domBool3x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool3x2;
+
+ typedef daeSmartRef<domBool3x2> domBool3x2Ref;
+ typedef daeTArray<domBool3x2Ref> domBool3x2_Array;
+
+ class domBool3x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL3X2; }
+ static daeInt ID() { return 395; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_bool3x2 value of the text data of this element.
+ */
+ domCg_bool3x2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_bool3x2 reference of the _value array.
+ */
+ domCg_bool3x2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_bool3x2 reference of the _value array.
+ */
+ const domCg_bool3x2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_bool3x2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBool3x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool3x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool3x2 &operator=( const domBool3x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool3x3;
+
+ typedef daeSmartRef<domBool3x3> domBool3x3Ref;
+ typedef daeTArray<domBool3x3Ref> domBool3x3_Array;
+
+ class domBool3x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL3X3; }
+ static daeInt ID() { return 396; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_bool3x3 value of the text data of this element.
+ */
+ domCg_bool3x3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_bool3x3 reference of the _value array.
+ */
+ domCg_bool3x3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_bool3x3 reference of the _value array.
+ */
+ const domCg_bool3x3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_bool3x3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBool3x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool3x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool3x3 &operator=( const domBool3x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool3x4;
+
+ typedef daeSmartRef<domBool3x4> domBool3x4Ref;
+ typedef daeTArray<domBool3x4Ref> domBool3x4_Array;
+
+ class domBool3x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL3X4; }
+ static daeInt ID() { return 397; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_bool3x4 value of the text data of this element.
+ */
+ domCg_bool3x4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_bool3x4 reference of the _value array.
+ */
+ domCg_bool3x4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_bool3x4 reference of the _value array.
+ */
+ const domCg_bool3x4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_bool3x4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBool3x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool3x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool3x4 &operator=( const domBool3x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool4x1;
+
+ typedef daeSmartRef<domBool4x1> domBool4x1Ref;
+ typedef daeTArray<domBool4x1Ref> domBool4x1_Array;
+
+ class domBool4x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL4X1; }
+ static daeInt ID() { return 398; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_bool4x1 value of the text data of this element.
+ */
+ domCg_bool4x1 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_bool4x1 reference of the _value array.
+ */
+ domCg_bool4x1 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_bool4x1 reference of the _value array.
+ */
+ const domCg_bool4x1 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_bool4x1 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBool4x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool4x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool4x1 &operator=( const domBool4x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool4x2;
+
+ typedef daeSmartRef<domBool4x2> domBool4x2Ref;
+ typedef daeTArray<domBool4x2Ref> domBool4x2_Array;
+
+ class domBool4x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL4X2; }
+ static daeInt ID() { return 399; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_bool4x2 value of the text data of this element.
+ */
+ domCg_bool4x2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_bool4x2 reference of the _value array.
+ */
+ domCg_bool4x2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_bool4x2 reference of the _value array.
+ */
+ const domCg_bool4x2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_bool4x2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBool4x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool4x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool4x2 &operator=( const domBool4x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool4x3;
+
+ typedef daeSmartRef<domBool4x3> domBool4x3Ref;
+ typedef daeTArray<domBool4x3Ref> domBool4x3_Array;
+
+ class domBool4x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL4X3; }
+ static daeInt ID() { return 400; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_bool4x3 value of the text data of this element.
+ */
+ domCg_bool4x3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_bool4x3 reference of the _value array.
+ */
+ domCg_bool4x3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_bool4x3 reference of the _value array.
+ */
+ const domCg_bool4x3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_bool4x3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBool4x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool4x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool4x3 &operator=( const domBool4x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool4x4;
+
+ typedef daeSmartRef<domBool4x4> domBool4x4Ref;
+ typedef daeTArray<domBool4x4Ref> domBool4x4_Array;
+
+ class domBool4x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL4X4; }
+ static daeInt ID() { return 401; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_bool4x4 value of the text data of this element.
+ */
+ domCg_bool4x4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_bool4x4 reference of the _value array.
+ */
+ domCg_bool4x4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_bool4x4 reference of the _value array.
+ */
+ const domCg_bool4x4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_bool4x4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBool4x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool4x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool4x4 &operator=( const domBool4x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat;
+
+ typedef daeSmartRef<domFloat> domFloatRef;
+ typedef daeTArray<domFloatRef> domFloat_Array;
+
+ class domFloat : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT; }
+ static daeInt ID() { return 402; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_float value of the text data of this element.
+ */
+ domCg_float _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domCg_float of the value.
+ */
+ domCg_float getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domCg_float val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat &operator=( const domFloat &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat1;
+
+ typedef daeSmartRef<domFloat1> domFloat1Ref;
+ typedef daeTArray<domFloat1Ref> domFloat1_Array;
+
+ class domFloat1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT1; }
+ static daeInt ID() { return 403; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_float1 value of the text data of this element.
+ */
+ domCg_float1 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domCg_float1 of the value.
+ */
+ domCg_float1 getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domCg_float1 val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat1 &operator=( const domFloat1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat2;
+
+ typedef daeSmartRef<domFloat2> domFloat2Ref;
+ typedef daeTArray<domFloat2Ref> domFloat2_Array;
+
+ class domFloat2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2; }
+ static daeInt ID() { return 404; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_float2 value of the text data of this element.
+ */
+ domCg_float2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_float2 reference of the _value array.
+ */
+ domCg_float2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_float2 reference of the _value array.
+ */
+ const domCg_float2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_float2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat2 &operator=( const domFloat2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat3;
+
+ typedef daeSmartRef<domFloat3> domFloat3Ref;
+ typedef daeTArray<domFloat3Ref> domFloat3_Array;
+
+ class domFloat3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3; }
+ static daeInt ID() { return 405; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_float3 value of the text data of this element.
+ */
+ domCg_float3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_float3 reference of the _value array.
+ */
+ domCg_float3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_float3 reference of the _value array.
+ */
+ const domCg_float3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_float3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat3 &operator=( const domFloat3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat4;
+
+ typedef daeSmartRef<domFloat4> domFloat4Ref;
+ typedef daeTArray<domFloat4Ref> domFloat4_Array;
+
+ class domFloat4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4; }
+ static daeInt ID() { return 406; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_float4 value of the text data of this element.
+ */
+ domCg_float4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_float4 reference of the _value array.
+ */
+ domCg_float4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_float4 reference of the _value array.
+ */
+ const domCg_float4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_float4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat4 &operator=( const domFloat4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat1x1;
+
+ typedef daeSmartRef<domFloat1x1> domFloat1x1Ref;
+ typedef daeTArray<domFloat1x1Ref> domFloat1x1_Array;
+
+ class domFloat1x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT1X1; }
+ static daeInt ID() { return 407; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_float1x1 value of the text data of this element.
+ */
+ domCg_float1x1 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_float1x1 reference of the _value array.
+ */
+ domCg_float1x1 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_float1x1 reference of the _value array.
+ */
+ const domCg_float1x1 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_float1x1 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat1x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat1x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat1x1 &operator=( const domFloat1x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat1x2;
+
+ typedef daeSmartRef<domFloat1x2> domFloat1x2Ref;
+ typedef daeTArray<domFloat1x2Ref> domFloat1x2_Array;
+
+ class domFloat1x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT1X2; }
+ static daeInt ID() { return 408; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_float1x2 value of the text data of this element.
+ */
+ domCg_float1x2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_float1x2 reference of the _value array.
+ */
+ domCg_float1x2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_float1x2 reference of the _value array.
+ */
+ const domCg_float1x2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_float1x2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat1x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat1x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat1x2 &operator=( const domFloat1x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat1x3;
+
+ typedef daeSmartRef<domFloat1x3> domFloat1x3Ref;
+ typedef daeTArray<domFloat1x3Ref> domFloat1x3_Array;
+
+ class domFloat1x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT1X3; }
+ static daeInt ID() { return 409; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_float1x3 value of the text data of this element.
+ */
+ domCg_float1x3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_float1x3 reference of the _value array.
+ */
+ domCg_float1x3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_float1x3 reference of the _value array.
+ */
+ const domCg_float1x3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_float1x3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat1x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat1x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat1x3 &operator=( const domFloat1x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat1x4;
+
+ typedef daeSmartRef<domFloat1x4> domFloat1x4Ref;
+ typedef daeTArray<domFloat1x4Ref> domFloat1x4_Array;
+
+ class domFloat1x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT1X4; }
+ static daeInt ID() { return 410; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_float1x4 value of the text data of this element.
+ */
+ domCg_float1x4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_float1x4 reference of the _value array.
+ */
+ domCg_float1x4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_float1x4 reference of the _value array.
+ */
+ const domCg_float1x4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_float1x4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat1x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat1x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat1x4 &operator=( const domFloat1x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat2x1;
+
+ typedef daeSmartRef<domFloat2x1> domFloat2x1Ref;
+ typedef daeTArray<domFloat2x1Ref> domFloat2x1_Array;
+
+ class domFloat2x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2X1; }
+ static daeInt ID() { return 411; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_float2x1 value of the text data of this element.
+ */
+ domCg_float2x1 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_float2x1 reference of the _value array.
+ */
+ domCg_float2x1 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_float2x1 reference of the _value array.
+ */
+ const domCg_float2x1 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_float2x1 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat2x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat2x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat2x1 &operator=( const domFloat2x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat2x2;
+
+ typedef daeSmartRef<domFloat2x2> domFloat2x2Ref;
+ typedef daeTArray<domFloat2x2Ref> domFloat2x2_Array;
+
+ class domFloat2x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2X2; }
+ static daeInt ID() { return 412; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_float2x2 value of the text data of this element.
+ */
+ domCg_float2x2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_float2x2 reference of the _value array.
+ */
+ domCg_float2x2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_float2x2 reference of the _value array.
+ */
+ const domCg_float2x2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_float2x2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat2x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat2x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat2x2 &operator=( const domFloat2x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat2x3;
+
+ typedef daeSmartRef<domFloat2x3> domFloat2x3Ref;
+ typedef daeTArray<domFloat2x3Ref> domFloat2x3_Array;
+
+ class domFloat2x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2X3; }
+ static daeInt ID() { return 413; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_float2x3 value of the text data of this element.
+ */
+ domCg_float2x3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_float2x3 reference of the _value array.
+ */
+ domCg_float2x3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_float2x3 reference of the _value array.
+ */
+ const domCg_float2x3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_float2x3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat2x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat2x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat2x3 &operator=( const domFloat2x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat2x4;
+
+ typedef daeSmartRef<domFloat2x4> domFloat2x4Ref;
+ typedef daeTArray<domFloat2x4Ref> domFloat2x4_Array;
+
+ class domFloat2x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2X4; }
+ static daeInt ID() { return 414; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_float2x4 value of the text data of this element.
+ */
+ domCg_float2x4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_float2x4 reference of the _value array.
+ */
+ domCg_float2x4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_float2x4 reference of the _value array.
+ */
+ const domCg_float2x4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_float2x4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat2x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat2x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat2x4 &operator=( const domFloat2x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat3x1;
+
+ typedef daeSmartRef<domFloat3x1> domFloat3x1Ref;
+ typedef daeTArray<domFloat3x1Ref> domFloat3x1_Array;
+
+ class domFloat3x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3X1; }
+ static daeInt ID() { return 415; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_float3x1 value of the text data of this element.
+ */
+ domCg_float3x1 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_float3x1 reference of the _value array.
+ */
+ domCg_float3x1 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_float3x1 reference of the _value array.
+ */
+ const domCg_float3x1 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_float3x1 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat3x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat3x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat3x1 &operator=( const domFloat3x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat3x2;
+
+ typedef daeSmartRef<domFloat3x2> domFloat3x2Ref;
+ typedef daeTArray<domFloat3x2Ref> domFloat3x2_Array;
+
+ class domFloat3x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3X2; }
+ static daeInt ID() { return 416; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_float3x2 value of the text data of this element.
+ */
+ domCg_float3x2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_float3x2 reference of the _value array.
+ */
+ domCg_float3x2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_float3x2 reference of the _value array.
+ */
+ const domCg_float3x2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_float3x2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat3x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat3x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat3x2 &operator=( const domFloat3x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat3x3;
+
+ typedef daeSmartRef<domFloat3x3> domFloat3x3Ref;
+ typedef daeTArray<domFloat3x3Ref> domFloat3x3_Array;
+
+ class domFloat3x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3X3; }
+ static daeInt ID() { return 417; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_float3x3 value of the text data of this element.
+ */
+ domCg_float3x3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_float3x3 reference of the _value array.
+ */
+ domCg_float3x3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_float3x3 reference of the _value array.
+ */
+ const domCg_float3x3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_float3x3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat3x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat3x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat3x3 &operator=( const domFloat3x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat3x4;
+
+ typedef daeSmartRef<domFloat3x4> domFloat3x4Ref;
+ typedef daeTArray<domFloat3x4Ref> domFloat3x4_Array;
+
+ class domFloat3x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3X4; }
+ static daeInt ID() { return 418; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_float3x4 value of the text data of this element.
+ */
+ domCg_float3x4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_float3x4 reference of the _value array.
+ */
+ domCg_float3x4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_float3x4 reference of the _value array.
+ */
+ const domCg_float3x4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_float3x4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat3x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat3x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat3x4 &operator=( const domFloat3x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat4x1;
+
+ typedef daeSmartRef<domFloat4x1> domFloat4x1Ref;
+ typedef daeTArray<domFloat4x1Ref> domFloat4x1_Array;
+
+ class domFloat4x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4X1; }
+ static daeInt ID() { return 419; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_float4x1 value of the text data of this element.
+ */
+ domCg_float4x1 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_float4x1 reference of the _value array.
+ */
+ domCg_float4x1 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_float4x1 reference of the _value array.
+ */
+ const domCg_float4x1 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_float4x1 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat4x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat4x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat4x1 &operator=( const domFloat4x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat4x2;
+
+ typedef daeSmartRef<domFloat4x2> domFloat4x2Ref;
+ typedef daeTArray<domFloat4x2Ref> domFloat4x2_Array;
+
+ class domFloat4x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4X2; }
+ static daeInt ID() { return 420; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_float4x2 value of the text data of this element.
+ */
+ domCg_float4x2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_float4x2 reference of the _value array.
+ */
+ domCg_float4x2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_float4x2 reference of the _value array.
+ */
+ const domCg_float4x2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_float4x2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat4x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat4x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat4x2 &operator=( const domFloat4x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat4x3;
+
+ typedef daeSmartRef<domFloat4x3> domFloat4x3Ref;
+ typedef daeTArray<domFloat4x3Ref> domFloat4x3_Array;
+
+ class domFloat4x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4X3; }
+ static daeInt ID() { return 421; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_float4x3 value of the text data of this element.
+ */
+ domCg_float4x3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_float4x3 reference of the _value array.
+ */
+ domCg_float4x3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_float4x3 reference of the _value array.
+ */
+ const domCg_float4x3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_float4x3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat4x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat4x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat4x3 &operator=( const domFloat4x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat4x4;
+
+ typedef daeSmartRef<domFloat4x4> domFloat4x4Ref;
+ typedef daeTArray<domFloat4x4Ref> domFloat4x4_Array;
+
+ class domFloat4x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4X4; }
+ static daeInt ID() { return 422; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_float4x4 value of the text data of this element.
+ */
+ domCg_float4x4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_float4x4 reference of the _value array.
+ */
+ domCg_float4x4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_float4x4 reference of the _value array.
+ */
+ const domCg_float4x4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_float4x4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat4x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat4x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat4x4 &operator=( const domFloat4x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt;
+
+ typedef daeSmartRef<domInt> domIntRef;
+ typedef daeTArray<domIntRef> domInt_Array;
+
+ class domInt : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT; }
+ static daeInt ID() { return 423; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_int value of the text data of this element.
+ */
+ domCg_int _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domCg_int of the value.
+ */
+ domCg_int getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domCg_int val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domInt(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt &operator=( const domInt &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt1;
+
+ typedef daeSmartRef<domInt1> domInt1Ref;
+ typedef daeTArray<domInt1Ref> domInt1_Array;
+
+ class domInt1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT1; }
+ static daeInt ID() { return 424; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_int1 value of the text data of this element.
+ */
+ domCg_int1 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domCg_int1 of the value.
+ */
+ domCg_int1 getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domCg_int1 val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domInt1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt1 &operator=( const domInt1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt2;
+
+ typedef daeSmartRef<domInt2> domInt2Ref;
+ typedef daeTArray<domInt2Ref> domInt2_Array;
+
+ class domInt2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT2; }
+ static daeInt ID() { return 425; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_int2 value of the text data of this element.
+ */
+ domCg_int2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_int2 reference of the _value array.
+ */
+ domCg_int2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_int2 reference of the _value array.
+ */
+ const domCg_int2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_int2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domInt2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt2 &operator=( const domInt2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt3;
+
+ typedef daeSmartRef<domInt3> domInt3Ref;
+ typedef daeTArray<domInt3Ref> domInt3_Array;
+
+ class domInt3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT3; }
+ static daeInt ID() { return 426; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_int3 value of the text data of this element.
+ */
+ domCg_int3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_int3 reference of the _value array.
+ */
+ domCg_int3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_int3 reference of the _value array.
+ */
+ const domCg_int3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_int3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domInt3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt3 &operator=( const domInt3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt4;
+
+ typedef daeSmartRef<domInt4> domInt4Ref;
+ typedef daeTArray<domInt4Ref> domInt4_Array;
+
+ class domInt4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT4; }
+ static daeInt ID() { return 427; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_int4 value of the text data of this element.
+ */
+ domCg_int4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_int4 reference of the _value array.
+ */
+ domCg_int4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_int4 reference of the _value array.
+ */
+ const domCg_int4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_int4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domInt4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt4 &operator=( const domInt4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt1x1;
+
+ typedef daeSmartRef<domInt1x1> domInt1x1Ref;
+ typedef daeTArray<domInt1x1Ref> domInt1x1_Array;
+
+ class domInt1x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT1X1; }
+ static daeInt ID() { return 428; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_int1x1 value of the text data of this element.
+ */
+ domCg_int1x1 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_int1x1 reference of the _value array.
+ */
+ domCg_int1x1 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_int1x1 reference of the _value array.
+ */
+ const domCg_int1x1 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_int1x1 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domInt1x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt1x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt1x1 &operator=( const domInt1x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt1x2;
+
+ typedef daeSmartRef<domInt1x2> domInt1x2Ref;
+ typedef daeTArray<domInt1x2Ref> domInt1x2_Array;
+
+ class domInt1x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT1X2; }
+ static daeInt ID() { return 429; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_int1x2 value of the text data of this element.
+ */
+ domCg_int1x2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_int1x2 reference of the _value array.
+ */
+ domCg_int1x2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_int1x2 reference of the _value array.
+ */
+ const domCg_int1x2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_int1x2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domInt1x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt1x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt1x2 &operator=( const domInt1x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt1x3;
+
+ typedef daeSmartRef<domInt1x3> domInt1x3Ref;
+ typedef daeTArray<domInt1x3Ref> domInt1x3_Array;
+
+ class domInt1x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT1X3; }
+ static daeInt ID() { return 430; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_int1x3 value of the text data of this element.
+ */
+ domCg_int1x3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_int1x3 reference of the _value array.
+ */
+ domCg_int1x3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_int1x3 reference of the _value array.
+ */
+ const domCg_int1x3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_int1x3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domInt1x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt1x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt1x3 &operator=( const domInt1x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt1x4;
+
+ typedef daeSmartRef<domInt1x4> domInt1x4Ref;
+ typedef daeTArray<domInt1x4Ref> domInt1x4_Array;
+
+ class domInt1x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT1X4; }
+ static daeInt ID() { return 431; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_int1x4 value of the text data of this element.
+ */
+ domCg_int1x4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_int1x4 reference of the _value array.
+ */
+ domCg_int1x4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_int1x4 reference of the _value array.
+ */
+ const domCg_int1x4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_int1x4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domInt1x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt1x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt1x4 &operator=( const domInt1x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt2x1;
+
+ typedef daeSmartRef<domInt2x1> domInt2x1Ref;
+ typedef daeTArray<domInt2x1Ref> domInt2x1_Array;
+
+ class domInt2x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT2X1; }
+ static daeInt ID() { return 432; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_int2x1 value of the text data of this element.
+ */
+ domCg_int2x1 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_int2x1 reference of the _value array.
+ */
+ domCg_int2x1 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_int2x1 reference of the _value array.
+ */
+ const domCg_int2x1 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_int2x1 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domInt2x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt2x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt2x1 &operator=( const domInt2x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt2x2;
+
+ typedef daeSmartRef<domInt2x2> domInt2x2Ref;
+ typedef daeTArray<domInt2x2Ref> domInt2x2_Array;
+
+ class domInt2x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT2X2; }
+ static daeInt ID() { return 433; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_int2x2 value of the text data of this element.
+ */
+ domCg_int2x2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_int2x2 reference of the _value array.
+ */
+ domCg_int2x2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_int2x2 reference of the _value array.
+ */
+ const domCg_int2x2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_int2x2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domInt2x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt2x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt2x2 &operator=( const domInt2x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt2x3;
+
+ typedef daeSmartRef<domInt2x3> domInt2x3Ref;
+ typedef daeTArray<domInt2x3Ref> domInt2x3_Array;
+
+ class domInt2x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT2X3; }
+ static daeInt ID() { return 434; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_int2x3 value of the text data of this element.
+ */
+ domCg_int2x3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_int2x3 reference of the _value array.
+ */
+ domCg_int2x3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_int2x3 reference of the _value array.
+ */
+ const domCg_int2x3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_int2x3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domInt2x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt2x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt2x3 &operator=( const domInt2x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt2x4;
+
+ typedef daeSmartRef<domInt2x4> domInt2x4Ref;
+ typedef daeTArray<domInt2x4Ref> domInt2x4_Array;
+
+ class domInt2x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT2X4; }
+ static daeInt ID() { return 435; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_int2x4 value of the text data of this element.
+ */
+ domCg_int2x4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_int2x4 reference of the _value array.
+ */
+ domCg_int2x4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_int2x4 reference of the _value array.
+ */
+ const domCg_int2x4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_int2x4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domInt2x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt2x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt2x4 &operator=( const domInt2x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt3x1;
+
+ typedef daeSmartRef<domInt3x1> domInt3x1Ref;
+ typedef daeTArray<domInt3x1Ref> domInt3x1_Array;
+
+ class domInt3x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT3X1; }
+ static daeInt ID() { return 436; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_int3x1 value of the text data of this element.
+ */
+ domCg_int3x1 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_int3x1 reference of the _value array.
+ */
+ domCg_int3x1 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_int3x1 reference of the _value array.
+ */
+ const domCg_int3x1 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_int3x1 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domInt3x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt3x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt3x1 &operator=( const domInt3x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt3x2;
+
+ typedef daeSmartRef<domInt3x2> domInt3x2Ref;
+ typedef daeTArray<domInt3x2Ref> domInt3x2_Array;
+
+ class domInt3x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT3X2; }
+ static daeInt ID() { return 437; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_int3x2 value of the text data of this element.
+ */
+ domCg_int3x2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_int3x2 reference of the _value array.
+ */
+ domCg_int3x2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_int3x2 reference of the _value array.
+ */
+ const domCg_int3x2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_int3x2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domInt3x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt3x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt3x2 &operator=( const domInt3x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt3x3;
+
+ typedef daeSmartRef<domInt3x3> domInt3x3Ref;
+ typedef daeTArray<domInt3x3Ref> domInt3x3_Array;
+
+ class domInt3x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT3X3; }
+ static daeInt ID() { return 438; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_int3x3 value of the text data of this element.
+ */
+ domCg_int3x3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_int3x3 reference of the _value array.
+ */
+ domCg_int3x3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_int3x3 reference of the _value array.
+ */
+ const domCg_int3x3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_int3x3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domInt3x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt3x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt3x3 &operator=( const domInt3x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt3x4;
+
+ typedef daeSmartRef<domInt3x4> domInt3x4Ref;
+ typedef daeTArray<domInt3x4Ref> domInt3x4_Array;
+
+ class domInt3x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT3X4; }
+ static daeInt ID() { return 439; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_int3x4 value of the text data of this element.
+ */
+ domCg_int3x4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_int3x4 reference of the _value array.
+ */
+ domCg_int3x4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_int3x4 reference of the _value array.
+ */
+ const domCg_int3x4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_int3x4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domInt3x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt3x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt3x4 &operator=( const domInt3x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt4x1;
+
+ typedef daeSmartRef<domInt4x1> domInt4x1Ref;
+ typedef daeTArray<domInt4x1Ref> domInt4x1_Array;
+
+ class domInt4x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT4X1; }
+ static daeInt ID() { return 440; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_int4x1 value of the text data of this element.
+ */
+ domCg_int4x1 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_int4x1 reference of the _value array.
+ */
+ domCg_int4x1 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_int4x1 reference of the _value array.
+ */
+ const domCg_int4x1 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_int4x1 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domInt4x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt4x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt4x1 &operator=( const domInt4x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt4x2;
+
+ typedef daeSmartRef<domInt4x2> domInt4x2Ref;
+ typedef daeTArray<domInt4x2Ref> domInt4x2_Array;
+
+ class domInt4x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT4X2; }
+ static daeInt ID() { return 441; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_int4x2 value of the text data of this element.
+ */
+ domCg_int4x2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_int4x2 reference of the _value array.
+ */
+ domCg_int4x2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_int4x2 reference of the _value array.
+ */
+ const domCg_int4x2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_int4x2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domInt4x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt4x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt4x2 &operator=( const domInt4x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt4x3;
+
+ typedef daeSmartRef<domInt4x3> domInt4x3Ref;
+ typedef daeTArray<domInt4x3Ref> domInt4x3_Array;
+
+ class domInt4x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT4X3; }
+ static daeInt ID() { return 442; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_int4x3 value of the text data of this element.
+ */
+ domCg_int4x3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_int4x3 reference of the _value array.
+ */
+ domCg_int4x3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_int4x3 reference of the _value array.
+ */
+ const domCg_int4x3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_int4x3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domInt4x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt4x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt4x3 &operator=( const domInt4x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt4x4;
+
+ typedef daeSmartRef<domInt4x4> domInt4x4Ref;
+ typedef daeTArray<domInt4x4Ref> domInt4x4_Array;
+
+ class domInt4x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT4X4; }
+ static daeInt ID() { return 443; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_int4x4 value of the text data of this element.
+ */
+ domCg_int4x4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_int4x4 reference of the _value array.
+ */
+ domCg_int4x4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_int4x4 reference of the _value array.
+ */
+ const domCg_int4x4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_int4x4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domInt4x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt4x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt4x4 &operator=( const domInt4x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domHalf;
+
+ typedef daeSmartRef<domHalf> domHalfRef;
+ typedef daeTArray<domHalfRef> domHalf_Array;
+
+ class domHalf : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HALF; }
+ static daeInt ID() { return 444; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_half value of the text data of this element.
+ */
+ domCg_half _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domCg_half of the value.
+ */
+ domCg_half getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domCg_half val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domHalf(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHalf() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHalf &operator=( const domHalf &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domHalf1;
+
+ typedef daeSmartRef<domHalf1> domHalf1Ref;
+ typedef daeTArray<domHalf1Ref> domHalf1_Array;
+
+ class domHalf1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HALF1; }
+ static daeInt ID() { return 445; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_half1 value of the text data of this element.
+ */
+ domCg_half1 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domCg_half1 of the value.
+ */
+ domCg_half1 getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domCg_half1 val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domHalf1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHalf1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHalf1 &operator=( const domHalf1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domHalf2;
+
+ typedef daeSmartRef<domHalf2> domHalf2Ref;
+ typedef daeTArray<domHalf2Ref> domHalf2_Array;
+
+ class domHalf2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HALF2; }
+ static daeInt ID() { return 446; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_half2 value of the text data of this element.
+ */
+ domCg_half2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_half2 reference of the _value array.
+ */
+ domCg_half2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_half2 reference of the _value array.
+ */
+ const domCg_half2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_half2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domHalf2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHalf2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHalf2 &operator=( const domHalf2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domHalf3;
+
+ typedef daeSmartRef<domHalf3> domHalf3Ref;
+ typedef daeTArray<domHalf3Ref> domHalf3_Array;
+
+ class domHalf3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HALF3; }
+ static daeInt ID() { return 447; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_half3 value of the text data of this element.
+ */
+ domCg_half3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_half3 reference of the _value array.
+ */
+ domCg_half3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_half3 reference of the _value array.
+ */
+ const domCg_half3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_half3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domHalf3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHalf3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHalf3 &operator=( const domHalf3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domHalf4;
+
+ typedef daeSmartRef<domHalf4> domHalf4Ref;
+ typedef daeTArray<domHalf4Ref> domHalf4_Array;
+
+ class domHalf4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HALF4; }
+ static daeInt ID() { return 448; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_half4 value of the text data of this element.
+ */
+ domCg_half4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_half4 reference of the _value array.
+ */
+ domCg_half4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_half4 reference of the _value array.
+ */
+ const domCg_half4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_half4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domHalf4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHalf4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHalf4 &operator=( const domHalf4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domHalf1x1;
+
+ typedef daeSmartRef<domHalf1x1> domHalf1x1Ref;
+ typedef daeTArray<domHalf1x1Ref> domHalf1x1_Array;
+
+ class domHalf1x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HALF1X1; }
+ static daeInt ID() { return 449; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_half1x1 value of the text data of this element.
+ */
+ domCg_half1x1 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_half1x1 reference of the _value array.
+ */
+ domCg_half1x1 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_half1x1 reference of the _value array.
+ */
+ const domCg_half1x1 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_half1x1 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domHalf1x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHalf1x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHalf1x1 &operator=( const domHalf1x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domHalf1x2;
+
+ typedef daeSmartRef<domHalf1x2> domHalf1x2Ref;
+ typedef daeTArray<domHalf1x2Ref> domHalf1x2_Array;
+
+ class domHalf1x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HALF1X2; }
+ static daeInt ID() { return 450; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_half1x2 value of the text data of this element.
+ */
+ domCg_half1x2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_half1x2 reference of the _value array.
+ */
+ domCg_half1x2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_half1x2 reference of the _value array.
+ */
+ const domCg_half1x2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_half1x2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domHalf1x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHalf1x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHalf1x2 &operator=( const domHalf1x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domHalf1x3;
+
+ typedef daeSmartRef<domHalf1x3> domHalf1x3Ref;
+ typedef daeTArray<domHalf1x3Ref> domHalf1x3_Array;
+
+ class domHalf1x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HALF1X3; }
+ static daeInt ID() { return 451; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_half1x3 value of the text data of this element.
+ */
+ domCg_half1x3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_half1x3 reference of the _value array.
+ */
+ domCg_half1x3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_half1x3 reference of the _value array.
+ */
+ const domCg_half1x3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_half1x3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domHalf1x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHalf1x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHalf1x3 &operator=( const domHalf1x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domHalf1x4;
+
+ typedef daeSmartRef<domHalf1x4> domHalf1x4Ref;
+ typedef daeTArray<domHalf1x4Ref> domHalf1x4_Array;
+
+ class domHalf1x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HALF1X4; }
+ static daeInt ID() { return 452; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_half1x4 value of the text data of this element.
+ */
+ domCg_half1x4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_half1x4 reference of the _value array.
+ */
+ domCg_half1x4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_half1x4 reference of the _value array.
+ */
+ const domCg_half1x4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_half1x4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domHalf1x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHalf1x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHalf1x4 &operator=( const domHalf1x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domHalf2x1;
+
+ typedef daeSmartRef<domHalf2x1> domHalf2x1Ref;
+ typedef daeTArray<domHalf2x1Ref> domHalf2x1_Array;
+
+ class domHalf2x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HALF2X1; }
+ static daeInt ID() { return 453; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_half2x1 value of the text data of this element.
+ */
+ domCg_half2x1 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_half2x1 reference of the _value array.
+ */
+ domCg_half2x1 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_half2x1 reference of the _value array.
+ */
+ const domCg_half2x1 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_half2x1 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domHalf2x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHalf2x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHalf2x1 &operator=( const domHalf2x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domHalf2x2;
+
+ typedef daeSmartRef<domHalf2x2> domHalf2x2Ref;
+ typedef daeTArray<domHalf2x2Ref> domHalf2x2_Array;
+
+ class domHalf2x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HALF2X2; }
+ static daeInt ID() { return 454; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_half2x2 value of the text data of this element.
+ */
+ domCg_half2x2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_half2x2 reference of the _value array.
+ */
+ domCg_half2x2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_half2x2 reference of the _value array.
+ */
+ const domCg_half2x2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_half2x2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domHalf2x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHalf2x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHalf2x2 &operator=( const domHalf2x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domHalf2x3;
+
+ typedef daeSmartRef<domHalf2x3> domHalf2x3Ref;
+ typedef daeTArray<domHalf2x3Ref> domHalf2x3_Array;
+
+ class domHalf2x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HALF2X3; }
+ static daeInt ID() { return 455; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_half2x3 value of the text data of this element.
+ */
+ domCg_half2x3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_half2x3 reference of the _value array.
+ */
+ domCg_half2x3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_half2x3 reference of the _value array.
+ */
+ const domCg_half2x3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_half2x3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domHalf2x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHalf2x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHalf2x3 &operator=( const domHalf2x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domHalf2x4;
+
+ typedef daeSmartRef<domHalf2x4> domHalf2x4Ref;
+ typedef daeTArray<domHalf2x4Ref> domHalf2x4_Array;
+
+ class domHalf2x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HALF2X4; }
+ static daeInt ID() { return 456; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_half2x4 value of the text data of this element.
+ */
+ domCg_half2x4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_half2x4 reference of the _value array.
+ */
+ domCg_half2x4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_half2x4 reference of the _value array.
+ */
+ const domCg_half2x4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_half2x4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domHalf2x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHalf2x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHalf2x4 &operator=( const domHalf2x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domHalf3x1;
+
+ typedef daeSmartRef<domHalf3x1> domHalf3x1Ref;
+ typedef daeTArray<domHalf3x1Ref> domHalf3x1_Array;
+
+ class domHalf3x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HALF3X1; }
+ static daeInt ID() { return 457; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_half3x1 value of the text data of this element.
+ */
+ domCg_half3x1 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_half3x1 reference of the _value array.
+ */
+ domCg_half3x1 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_half3x1 reference of the _value array.
+ */
+ const domCg_half3x1 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_half3x1 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domHalf3x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHalf3x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHalf3x1 &operator=( const domHalf3x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domHalf3x2;
+
+ typedef daeSmartRef<domHalf3x2> domHalf3x2Ref;
+ typedef daeTArray<domHalf3x2Ref> domHalf3x2_Array;
+
+ class domHalf3x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HALF3X2; }
+ static daeInt ID() { return 458; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_half3x2 value of the text data of this element.
+ */
+ domCg_half3x2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_half3x2 reference of the _value array.
+ */
+ domCg_half3x2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_half3x2 reference of the _value array.
+ */
+ const domCg_half3x2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_half3x2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domHalf3x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHalf3x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHalf3x2 &operator=( const domHalf3x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domHalf3x3;
+
+ typedef daeSmartRef<domHalf3x3> domHalf3x3Ref;
+ typedef daeTArray<domHalf3x3Ref> domHalf3x3_Array;
+
+ class domHalf3x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HALF3X3; }
+ static daeInt ID() { return 459; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_half3x3 value of the text data of this element.
+ */
+ domCg_half3x3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_half3x3 reference of the _value array.
+ */
+ domCg_half3x3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_half3x3 reference of the _value array.
+ */
+ const domCg_half3x3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_half3x3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domHalf3x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHalf3x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHalf3x3 &operator=( const domHalf3x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domHalf3x4;
+
+ typedef daeSmartRef<domHalf3x4> domHalf3x4Ref;
+ typedef daeTArray<domHalf3x4Ref> domHalf3x4_Array;
+
+ class domHalf3x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HALF3X4; }
+ static daeInt ID() { return 460; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_half3x4 value of the text data of this element.
+ */
+ domCg_half3x4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_half3x4 reference of the _value array.
+ */
+ domCg_half3x4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_half3x4 reference of the _value array.
+ */
+ const domCg_half3x4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_half3x4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domHalf3x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHalf3x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHalf3x4 &operator=( const domHalf3x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domHalf4x1;
+
+ typedef daeSmartRef<domHalf4x1> domHalf4x1Ref;
+ typedef daeTArray<domHalf4x1Ref> domHalf4x1_Array;
+
+ class domHalf4x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HALF4X1; }
+ static daeInt ID() { return 461; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_half4x1 value of the text data of this element.
+ */
+ domCg_half4x1 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_half4x1 reference of the _value array.
+ */
+ domCg_half4x1 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_half4x1 reference of the _value array.
+ */
+ const domCg_half4x1 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_half4x1 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domHalf4x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHalf4x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHalf4x1 &operator=( const domHalf4x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domHalf4x2;
+
+ typedef daeSmartRef<domHalf4x2> domHalf4x2Ref;
+ typedef daeTArray<domHalf4x2Ref> domHalf4x2_Array;
+
+ class domHalf4x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HALF4X2; }
+ static daeInt ID() { return 462; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_half4x2 value of the text data of this element.
+ */
+ domCg_half4x2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_half4x2 reference of the _value array.
+ */
+ domCg_half4x2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_half4x2 reference of the _value array.
+ */
+ const domCg_half4x2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_half4x2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domHalf4x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHalf4x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHalf4x2 &operator=( const domHalf4x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domHalf4x3;
+
+ typedef daeSmartRef<domHalf4x3> domHalf4x3Ref;
+ typedef daeTArray<domHalf4x3Ref> domHalf4x3_Array;
+
+ class domHalf4x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HALF4X3; }
+ static daeInt ID() { return 463; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_half4x3 value of the text data of this element.
+ */
+ domCg_half4x3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_half4x3 reference of the _value array.
+ */
+ domCg_half4x3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_half4x3 reference of the _value array.
+ */
+ const domCg_half4x3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_half4x3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domHalf4x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHalf4x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHalf4x3 &operator=( const domHalf4x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domHalf4x4;
+
+ typedef daeSmartRef<domHalf4x4> domHalf4x4Ref;
+ typedef daeTArray<domHalf4x4Ref> domHalf4x4_Array;
+
+ class domHalf4x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HALF4X4; }
+ static daeInt ID() { return 464; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_half4x4 value of the text data of this element.
+ */
+ domCg_half4x4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_half4x4 reference of the _value array.
+ */
+ domCg_half4x4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_half4x4 reference of the _value array.
+ */
+ const domCg_half4x4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_half4x4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domHalf4x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHalf4x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHalf4x4 &operator=( const domHalf4x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFixed;
+
+ typedef daeSmartRef<domFixed> domFixedRef;
+ typedef daeTArray<domFixedRef> domFixed_Array;
+
+ class domFixed : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FIXED; }
+ static daeInt ID() { return 465; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_fixed value of the text data of this element.
+ */
+ domCg_fixed _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domCg_fixed of the value.
+ */
+ domCg_fixed getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domCg_fixed val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFixed(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFixed() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFixed &operator=( const domFixed &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFixed1;
+
+ typedef daeSmartRef<domFixed1> domFixed1Ref;
+ typedef daeTArray<domFixed1Ref> domFixed1_Array;
+
+ class domFixed1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FIXED1; }
+ static daeInt ID() { return 466; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_fixed1 value of the text data of this element.
+ */
+ domCg_fixed1 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domCg_fixed1 of the value.
+ */
+ domCg_fixed1 getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domCg_fixed1 val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFixed1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFixed1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFixed1 &operator=( const domFixed1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFixed2;
+
+ typedef daeSmartRef<domFixed2> domFixed2Ref;
+ typedef daeTArray<domFixed2Ref> domFixed2_Array;
+
+ class domFixed2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FIXED2; }
+ static daeInt ID() { return 467; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_fixed2 value of the text data of this element.
+ */
+ domCg_fixed2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_fixed2 reference of the _value array.
+ */
+ domCg_fixed2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_fixed2 reference of the _value array.
+ */
+ const domCg_fixed2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_fixed2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFixed2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFixed2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFixed2 &operator=( const domFixed2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFixed3;
+
+ typedef daeSmartRef<domFixed3> domFixed3Ref;
+ typedef daeTArray<domFixed3Ref> domFixed3_Array;
+
+ class domFixed3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FIXED3; }
+ static daeInt ID() { return 468; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_fixed3 value of the text data of this element.
+ */
+ domCg_fixed3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_fixed3 reference of the _value array.
+ */
+ domCg_fixed3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_fixed3 reference of the _value array.
+ */
+ const domCg_fixed3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_fixed3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFixed3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFixed3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFixed3 &operator=( const domFixed3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFixed4;
+
+ typedef daeSmartRef<domFixed4> domFixed4Ref;
+ typedef daeTArray<domFixed4Ref> domFixed4_Array;
+
+ class domFixed4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FIXED4; }
+ static daeInt ID() { return 469; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_fixed4 value of the text data of this element.
+ */
+ domCg_fixed4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_fixed4 reference of the _value array.
+ */
+ domCg_fixed4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_fixed4 reference of the _value array.
+ */
+ const domCg_fixed4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_fixed4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFixed4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFixed4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFixed4 &operator=( const domFixed4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFixed1x1;
+
+ typedef daeSmartRef<domFixed1x1> domFixed1x1Ref;
+ typedef daeTArray<domFixed1x1Ref> domFixed1x1_Array;
+
+ class domFixed1x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FIXED1X1; }
+ static daeInt ID() { return 470; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_fixed1x1 value of the text data of this element.
+ */
+ domCg_fixed1x1 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_fixed1x1 reference of the _value array.
+ */
+ domCg_fixed1x1 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_fixed1x1 reference of the _value array.
+ */
+ const domCg_fixed1x1 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_fixed1x1 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFixed1x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFixed1x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFixed1x1 &operator=( const domFixed1x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFixed1x2;
+
+ typedef daeSmartRef<domFixed1x2> domFixed1x2Ref;
+ typedef daeTArray<domFixed1x2Ref> domFixed1x2_Array;
+
+ class domFixed1x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FIXED1X2; }
+ static daeInt ID() { return 471; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_fixed1x2 value of the text data of this element.
+ */
+ domCg_fixed1x2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_fixed1x2 reference of the _value array.
+ */
+ domCg_fixed1x2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_fixed1x2 reference of the _value array.
+ */
+ const domCg_fixed1x2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_fixed1x2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFixed1x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFixed1x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFixed1x2 &operator=( const domFixed1x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFixed1x3;
+
+ typedef daeSmartRef<domFixed1x3> domFixed1x3Ref;
+ typedef daeTArray<domFixed1x3Ref> domFixed1x3_Array;
+
+ class domFixed1x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FIXED1X3; }
+ static daeInt ID() { return 472; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_fixed1x3 value of the text data of this element.
+ */
+ domCg_fixed1x3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_fixed1x3 reference of the _value array.
+ */
+ domCg_fixed1x3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_fixed1x3 reference of the _value array.
+ */
+ const domCg_fixed1x3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_fixed1x3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFixed1x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFixed1x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFixed1x3 &operator=( const domFixed1x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFixed1x4;
+
+ typedef daeSmartRef<domFixed1x4> domFixed1x4Ref;
+ typedef daeTArray<domFixed1x4Ref> domFixed1x4_Array;
+
+ class domFixed1x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FIXED1X4; }
+ static daeInt ID() { return 473; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_fixed1x4 value of the text data of this element.
+ */
+ domCg_fixed1x4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_fixed1x4 reference of the _value array.
+ */
+ domCg_fixed1x4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_fixed1x4 reference of the _value array.
+ */
+ const domCg_fixed1x4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_fixed1x4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFixed1x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFixed1x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFixed1x4 &operator=( const domFixed1x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFixed2x1;
+
+ typedef daeSmartRef<domFixed2x1> domFixed2x1Ref;
+ typedef daeTArray<domFixed2x1Ref> domFixed2x1_Array;
+
+ class domFixed2x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FIXED2X1; }
+ static daeInt ID() { return 474; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_fixed2x1 value of the text data of this element.
+ */
+ domCg_fixed2x1 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_fixed2x1 reference of the _value array.
+ */
+ domCg_fixed2x1 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_fixed2x1 reference of the _value array.
+ */
+ const domCg_fixed2x1 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_fixed2x1 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFixed2x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFixed2x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFixed2x1 &operator=( const domFixed2x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFixed2x2;
+
+ typedef daeSmartRef<domFixed2x2> domFixed2x2Ref;
+ typedef daeTArray<domFixed2x2Ref> domFixed2x2_Array;
+
+ class domFixed2x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FIXED2X2; }
+ static daeInt ID() { return 475; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_fixed2x2 value of the text data of this element.
+ */
+ domCg_fixed2x2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_fixed2x2 reference of the _value array.
+ */
+ domCg_fixed2x2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_fixed2x2 reference of the _value array.
+ */
+ const domCg_fixed2x2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_fixed2x2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFixed2x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFixed2x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFixed2x2 &operator=( const domFixed2x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFixed2x3;
+
+ typedef daeSmartRef<domFixed2x3> domFixed2x3Ref;
+ typedef daeTArray<domFixed2x3Ref> domFixed2x3_Array;
+
+ class domFixed2x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FIXED2X3; }
+ static daeInt ID() { return 476; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_fixed2x3 value of the text data of this element.
+ */
+ domCg_fixed2x3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_fixed2x3 reference of the _value array.
+ */
+ domCg_fixed2x3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_fixed2x3 reference of the _value array.
+ */
+ const domCg_fixed2x3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_fixed2x3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFixed2x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFixed2x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFixed2x3 &operator=( const domFixed2x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFixed2x4;
+
+ typedef daeSmartRef<domFixed2x4> domFixed2x4Ref;
+ typedef daeTArray<domFixed2x4Ref> domFixed2x4_Array;
+
+ class domFixed2x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FIXED2X4; }
+ static daeInt ID() { return 477; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_fixed2x4 value of the text data of this element.
+ */
+ domCg_fixed2x4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_fixed2x4 reference of the _value array.
+ */
+ domCg_fixed2x4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_fixed2x4 reference of the _value array.
+ */
+ const domCg_fixed2x4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_fixed2x4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFixed2x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFixed2x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFixed2x4 &operator=( const domFixed2x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFixed3x1;
+
+ typedef daeSmartRef<domFixed3x1> domFixed3x1Ref;
+ typedef daeTArray<domFixed3x1Ref> domFixed3x1_Array;
+
+ class domFixed3x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FIXED3X1; }
+ static daeInt ID() { return 478; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_fixed3x1 value of the text data of this element.
+ */
+ domCg_fixed3x1 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_fixed3x1 reference of the _value array.
+ */
+ domCg_fixed3x1 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_fixed3x1 reference of the _value array.
+ */
+ const domCg_fixed3x1 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_fixed3x1 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFixed3x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFixed3x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFixed3x1 &operator=( const domFixed3x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFixed3x2;
+
+ typedef daeSmartRef<domFixed3x2> domFixed3x2Ref;
+ typedef daeTArray<domFixed3x2Ref> domFixed3x2_Array;
+
+ class domFixed3x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FIXED3X2; }
+ static daeInt ID() { return 479; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_fixed3x2 value of the text data of this element.
+ */
+ domCg_fixed3x2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_fixed3x2 reference of the _value array.
+ */
+ domCg_fixed3x2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_fixed3x2 reference of the _value array.
+ */
+ const domCg_fixed3x2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_fixed3x2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFixed3x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFixed3x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFixed3x2 &operator=( const domFixed3x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFixed3x3;
+
+ typedef daeSmartRef<domFixed3x3> domFixed3x3Ref;
+ typedef daeTArray<domFixed3x3Ref> domFixed3x3_Array;
+
+ class domFixed3x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FIXED3X3; }
+ static daeInt ID() { return 480; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_fixed3x3 value of the text data of this element.
+ */
+ domCg_fixed3x3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_fixed3x3 reference of the _value array.
+ */
+ domCg_fixed3x3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_fixed3x3 reference of the _value array.
+ */
+ const domCg_fixed3x3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_fixed3x3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFixed3x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFixed3x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFixed3x3 &operator=( const domFixed3x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFixed3x4;
+
+ typedef daeSmartRef<domFixed3x4> domFixed3x4Ref;
+ typedef daeTArray<domFixed3x4Ref> domFixed3x4_Array;
+
+ class domFixed3x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FIXED3X4; }
+ static daeInt ID() { return 481; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_fixed3x4 value of the text data of this element.
+ */
+ domCg_fixed3x4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_fixed3x4 reference of the _value array.
+ */
+ domCg_fixed3x4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_fixed3x4 reference of the _value array.
+ */
+ const domCg_fixed3x4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_fixed3x4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFixed3x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFixed3x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFixed3x4 &operator=( const domFixed3x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFixed4x1;
+
+ typedef daeSmartRef<domFixed4x1> domFixed4x1Ref;
+ typedef daeTArray<domFixed4x1Ref> domFixed4x1_Array;
+
+ class domFixed4x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FIXED4X1; }
+ static daeInt ID() { return 482; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_fixed4x1 value of the text data of this element.
+ */
+ domCg_fixed4x1 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_fixed4x1 reference of the _value array.
+ */
+ domCg_fixed4x1 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_fixed4x1 reference of the _value array.
+ */
+ const domCg_fixed4x1 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_fixed4x1 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFixed4x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFixed4x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFixed4x1 &operator=( const domFixed4x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFixed4x2;
+
+ typedef daeSmartRef<domFixed4x2> domFixed4x2Ref;
+ typedef daeTArray<domFixed4x2Ref> domFixed4x2_Array;
+
+ class domFixed4x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FIXED4X2; }
+ static daeInt ID() { return 483; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_fixed4x2 value of the text data of this element.
+ */
+ domCg_fixed4x2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_fixed4x2 reference of the _value array.
+ */
+ domCg_fixed4x2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_fixed4x2 reference of the _value array.
+ */
+ const domCg_fixed4x2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_fixed4x2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFixed4x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFixed4x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFixed4x2 &operator=( const domFixed4x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFixed4x3;
+
+ typedef daeSmartRef<domFixed4x3> domFixed4x3Ref;
+ typedef daeTArray<domFixed4x3Ref> domFixed4x3_Array;
+
+ class domFixed4x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FIXED4X3; }
+ static daeInt ID() { return 484; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_fixed4x3 value of the text data of this element.
+ */
+ domCg_fixed4x3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_fixed4x3 reference of the _value array.
+ */
+ domCg_fixed4x3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_fixed4x3 reference of the _value array.
+ */
+ const domCg_fixed4x3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_fixed4x3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFixed4x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFixed4x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFixed4x3 &operator=( const domFixed4x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFixed4x4;
+
+ typedef daeSmartRef<domFixed4x4> domFixed4x4Ref;
+ typedef daeTArray<domFixed4x4Ref> domFixed4x4_Array;
+
+ class domFixed4x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FIXED4X4; }
+ static daeInt ID() { return 485; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domCg_fixed4x4 value of the text data of this element.
+ */
+ domCg_fixed4x4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domCg_fixed4x4 reference of the _value array.
+ */
+ domCg_fixed4x4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domCg_fixed4x4 reference of the _value array.
+ */
+ const domCg_fixed4x4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domCg_fixed4x4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFixed4x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFixed4x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFixed4x4 &operator=( const domFixed4x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domString;
+
+ typedef daeSmartRef<domString> domStringRef;
+ typedef daeTArray<domStringRef> domString_Array;
+
+ class domString : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::STRING; }
+ static daeInt ID() { return 486; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ::xsString value of the text data of this element.
+ */
+ ::xsString _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a ::xsString of the value.
+ */
+ ::xsString getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( ::xsString val ) { *(daeStringRef*)&_value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domString(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domString() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domString &operator=( const domString &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domEnum;
+
+ typedef daeSmartRef<domEnum> domEnumRef;
+ typedef daeTArray<domEnumRef> domEnum_Array;
+
+ class domEnum : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ENUM; }
+ static daeInt ID() { return 487; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domGl_enumeration value of the text data of this element.
+ */
+ domGl_enumeration _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domGl_enumeration of the value.
+ */
+ domGl_enumeration getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domGl_enumeration val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domEnum(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domEnum() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domEnum &operator=( const domEnum &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+ domBoolRef elemBool;
+ domBool1Ref elemBool1;
+ domBool2Ref elemBool2;
+ domBool3Ref elemBool3;
+ domBool4Ref elemBool4;
+ domBool1x1Ref elemBool1x1;
+ domBool1x2Ref elemBool1x2;
+ domBool1x3Ref elemBool1x3;
+ domBool1x4Ref elemBool1x4;
+ domBool2x1Ref elemBool2x1;
+ domBool2x2Ref elemBool2x2;
+ domBool2x3Ref elemBool2x3;
+ domBool2x4Ref elemBool2x4;
+ domBool3x1Ref elemBool3x1;
+ domBool3x2Ref elemBool3x2;
+ domBool3x3Ref elemBool3x3;
+ domBool3x4Ref elemBool3x4;
+ domBool4x1Ref elemBool4x1;
+ domBool4x2Ref elemBool4x2;
+ domBool4x3Ref elemBool4x3;
+ domBool4x4Ref elemBool4x4;
+ domFloatRef elemFloat;
+ domFloat1Ref elemFloat1;
+ domFloat2Ref elemFloat2;
+ domFloat3Ref elemFloat3;
+ domFloat4Ref elemFloat4;
+ domFloat1x1Ref elemFloat1x1;
+ domFloat1x2Ref elemFloat1x2;
+ domFloat1x3Ref elemFloat1x3;
+ domFloat1x4Ref elemFloat1x4;
+ domFloat2x1Ref elemFloat2x1;
+ domFloat2x2Ref elemFloat2x2;
+ domFloat2x3Ref elemFloat2x3;
+ domFloat2x4Ref elemFloat2x4;
+ domFloat3x1Ref elemFloat3x1;
+ domFloat3x2Ref elemFloat3x2;
+ domFloat3x3Ref elemFloat3x3;
+ domFloat3x4Ref elemFloat3x4;
+ domFloat4x1Ref elemFloat4x1;
+ domFloat4x2Ref elemFloat4x2;
+ domFloat4x3Ref elemFloat4x3;
+ domFloat4x4Ref elemFloat4x4;
+ domIntRef elemInt;
+ domInt1Ref elemInt1;
+ domInt2Ref elemInt2;
+ domInt3Ref elemInt3;
+ domInt4Ref elemInt4;
+ domInt1x1Ref elemInt1x1;
+ domInt1x2Ref elemInt1x2;
+ domInt1x3Ref elemInt1x3;
+ domInt1x4Ref elemInt1x4;
+ domInt2x1Ref elemInt2x1;
+ domInt2x2Ref elemInt2x2;
+ domInt2x3Ref elemInt2x3;
+ domInt2x4Ref elemInt2x4;
+ domInt3x1Ref elemInt3x1;
+ domInt3x2Ref elemInt3x2;
+ domInt3x3Ref elemInt3x3;
+ domInt3x4Ref elemInt3x4;
+ domInt4x1Ref elemInt4x1;
+ domInt4x2Ref elemInt4x2;
+ domInt4x3Ref elemInt4x3;
+ domInt4x4Ref elemInt4x4;
+ domHalfRef elemHalf;
+ domHalf1Ref elemHalf1;
+ domHalf2Ref elemHalf2;
+ domHalf3Ref elemHalf3;
+ domHalf4Ref elemHalf4;
+ domHalf1x1Ref elemHalf1x1;
+ domHalf1x2Ref elemHalf1x2;
+ domHalf1x3Ref elemHalf1x3;
+ domHalf1x4Ref elemHalf1x4;
+ domHalf2x1Ref elemHalf2x1;
+ domHalf2x2Ref elemHalf2x2;
+ domHalf2x3Ref elemHalf2x3;
+ domHalf2x4Ref elemHalf2x4;
+ domHalf3x1Ref elemHalf3x1;
+ domHalf3x2Ref elemHalf3x2;
+ domHalf3x3Ref elemHalf3x3;
+ domHalf3x4Ref elemHalf3x4;
+ domHalf4x1Ref elemHalf4x1;
+ domHalf4x2Ref elemHalf4x2;
+ domHalf4x3Ref elemHalf4x3;
+ domHalf4x4Ref elemHalf4x4;
+ domFixedRef elemFixed;
+ domFixed1Ref elemFixed1;
+ domFixed2Ref elemFixed2;
+ domFixed3Ref elemFixed3;
+ domFixed4Ref elemFixed4;
+ domFixed1x1Ref elemFixed1x1;
+ domFixed1x2Ref elemFixed1x2;
+ domFixed1x3Ref elemFixed1x3;
+ domFixed1x4Ref elemFixed1x4;
+ domFixed2x1Ref elemFixed2x1;
+ domFixed2x2Ref elemFixed2x2;
+ domFixed2x3Ref elemFixed2x3;
+ domFixed2x4Ref elemFixed2x4;
+ domFixed3x1Ref elemFixed3x1;
+ domFixed3x2Ref elemFixed3x2;
+ domFixed3x3Ref elemFixed3x3;
+ domFixed3x4Ref elemFixed3x4;
+ domFixed4x1Ref elemFixed4x1;
+ domFixed4x2Ref elemFixed4x2;
+ domFixed4x3Ref elemFixed4x3;
+ domFixed4x4Ref elemFixed4x4;
+ domCg_surface_typeRef elemSurface;
+ domCg_sampler1DRef elemSampler1D;
+ domCg_sampler2DRef elemSampler2D;
+ domCg_sampler3DRef elemSampler3D;
+ domCg_samplerRECTRef elemSamplerRECT;
+ domCg_samplerCUBERef elemSamplerCUBE;
+ domCg_samplerDEPTHRef elemSamplerDEPTH;
+ domStringRef elemString;
+ domEnumRef elemEnum;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the bool element.
+ * @return a daeSmartRef to the bool element.
+ */
+ const domBoolRef getBool() const { return elemBool; }
+ /**
+ * Gets the bool1 element.
+ * @return a daeSmartRef to the bool1 element.
+ */
+ const domBool1Ref getBool1() const { return elemBool1; }
+ /**
+ * Gets the bool2 element.
+ * @return a daeSmartRef to the bool2 element.
+ */
+ const domBool2Ref getBool2() const { return elemBool2; }
+ /**
+ * Gets the bool3 element.
+ * @return a daeSmartRef to the bool3 element.
+ */
+ const domBool3Ref getBool3() const { return elemBool3; }
+ /**
+ * Gets the bool4 element.
+ * @return a daeSmartRef to the bool4 element.
+ */
+ const domBool4Ref getBool4() const { return elemBool4; }
+ /**
+ * Gets the bool1x1 element.
+ * @return a daeSmartRef to the bool1x1 element.
+ */
+ const domBool1x1Ref getBool1x1() const { return elemBool1x1; }
+ /**
+ * Gets the bool1x2 element.
+ * @return a daeSmartRef to the bool1x2 element.
+ */
+ const domBool1x2Ref getBool1x2() const { return elemBool1x2; }
+ /**
+ * Gets the bool1x3 element.
+ * @return a daeSmartRef to the bool1x3 element.
+ */
+ const domBool1x3Ref getBool1x3() const { return elemBool1x3; }
+ /**
+ * Gets the bool1x4 element.
+ * @return a daeSmartRef to the bool1x4 element.
+ */
+ const domBool1x4Ref getBool1x4() const { return elemBool1x4; }
+ /**
+ * Gets the bool2x1 element.
+ * @return a daeSmartRef to the bool2x1 element.
+ */
+ const domBool2x1Ref getBool2x1() const { return elemBool2x1; }
+ /**
+ * Gets the bool2x2 element.
+ * @return a daeSmartRef to the bool2x2 element.
+ */
+ const domBool2x2Ref getBool2x2() const { return elemBool2x2; }
+ /**
+ * Gets the bool2x3 element.
+ * @return a daeSmartRef to the bool2x3 element.
+ */
+ const domBool2x3Ref getBool2x3() const { return elemBool2x3; }
+ /**
+ * Gets the bool2x4 element.
+ * @return a daeSmartRef to the bool2x4 element.
+ */
+ const domBool2x4Ref getBool2x4() const { return elemBool2x4; }
+ /**
+ * Gets the bool3x1 element.
+ * @return a daeSmartRef to the bool3x1 element.
+ */
+ const domBool3x1Ref getBool3x1() const { return elemBool3x1; }
+ /**
+ * Gets the bool3x2 element.
+ * @return a daeSmartRef to the bool3x2 element.
+ */
+ const domBool3x2Ref getBool3x2() const { return elemBool3x2; }
+ /**
+ * Gets the bool3x3 element.
+ * @return a daeSmartRef to the bool3x3 element.
+ */
+ const domBool3x3Ref getBool3x3() const { return elemBool3x3; }
+ /**
+ * Gets the bool3x4 element.
+ * @return a daeSmartRef to the bool3x4 element.
+ */
+ const domBool3x4Ref getBool3x4() const { return elemBool3x4; }
+ /**
+ * Gets the bool4x1 element.
+ * @return a daeSmartRef to the bool4x1 element.
+ */
+ const domBool4x1Ref getBool4x1() const { return elemBool4x1; }
+ /**
+ * Gets the bool4x2 element.
+ * @return a daeSmartRef to the bool4x2 element.
+ */
+ const domBool4x2Ref getBool4x2() const { return elemBool4x2; }
+ /**
+ * Gets the bool4x3 element.
+ * @return a daeSmartRef to the bool4x3 element.
+ */
+ const domBool4x3Ref getBool4x3() const { return elemBool4x3; }
+ /**
+ * Gets the bool4x4 element.
+ * @return a daeSmartRef to the bool4x4 element.
+ */
+ const domBool4x4Ref getBool4x4() const { return elemBool4x4; }
+ /**
+ * Gets the float element.
+ * @return a daeSmartRef to the float element.
+ */
+ const domFloatRef getFloat() const { return elemFloat; }
+ /**
+ * Gets the float1 element.
+ * @return a daeSmartRef to the float1 element.
+ */
+ const domFloat1Ref getFloat1() const { return elemFloat1; }
+ /**
+ * Gets the float2 element.
+ * @return a daeSmartRef to the float2 element.
+ */
+ const domFloat2Ref getFloat2() const { return elemFloat2; }
+ /**
+ * Gets the float3 element.
+ * @return a daeSmartRef to the float3 element.
+ */
+ const domFloat3Ref getFloat3() const { return elemFloat3; }
+ /**
+ * Gets the float4 element.
+ * @return a daeSmartRef to the float4 element.
+ */
+ const domFloat4Ref getFloat4() const { return elemFloat4; }
+ /**
+ * Gets the float1x1 element.
+ * @return a daeSmartRef to the float1x1 element.
+ */
+ const domFloat1x1Ref getFloat1x1() const { return elemFloat1x1; }
+ /**
+ * Gets the float1x2 element.
+ * @return a daeSmartRef to the float1x2 element.
+ */
+ const domFloat1x2Ref getFloat1x2() const { return elemFloat1x2; }
+ /**
+ * Gets the float1x3 element.
+ * @return a daeSmartRef to the float1x3 element.
+ */
+ const domFloat1x3Ref getFloat1x3() const { return elemFloat1x3; }
+ /**
+ * Gets the float1x4 element.
+ * @return a daeSmartRef to the float1x4 element.
+ */
+ const domFloat1x4Ref getFloat1x4() const { return elemFloat1x4; }
+ /**
+ * Gets the float2x1 element.
+ * @return a daeSmartRef to the float2x1 element.
+ */
+ const domFloat2x1Ref getFloat2x1() const { return elemFloat2x1; }
+ /**
+ * Gets the float2x2 element.
+ * @return a daeSmartRef to the float2x2 element.
+ */
+ const domFloat2x2Ref getFloat2x2() const { return elemFloat2x2; }
+ /**
+ * Gets the float2x3 element.
+ * @return a daeSmartRef to the float2x3 element.
+ */
+ const domFloat2x3Ref getFloat2x3() const { return elemFloat2x3; }
+ /**
+ * Gets the float2x4 element.
+ * @return a daeSmartRef to the float2x4 element.
+ */
+ const domFloat2x4Ref getFloat2x4() const { return elemFloat2x4; }
+ /**
+ * Gets the float3x1 element.
+ * @return a daeSmartRef to the float3x1 element.
+ */
+ const domFloat3x1Ref getFloat3x1() const { return elemFloat3x1; }
+ /**
+ * Gets the float3x2 element.
+ * @return a daeSmartRef to the float3x2 element.
+ */
+ const domFloat3x2Ref getFloat3x2() const { return elemFloat3x2; }
+ /**
+ * Gets the float3x3 element.
+ * @return a daeSmartRef to the float3x3 element.
+ */
+ const domFloat3x3Ref getFloat3x3() const { return elemFloat3x3; }
+ /**
+ * Gets the float3x4 element.
+ * @return a daeSmartRef to the float3x4 element.
+ */
+ const domFloat3x4Ref getFloat3x4() const { return elemFloat3x4; }
+ /**
+ * Gets the float4x1 element.
+ * @return a daeSmartRef to the float4x1 element.
+ */
+ const domFloat4x1Ref getFloat4x1() const { return elemFloat4x1; }
+ /**
+ * Gets the float4x2 element.
+ * @return a daeSmartRef to the float4x2 element.
+ */
+ const domFloat4x2Ref getFloat4x2() const { return elemFloat4x2; }
+ /**
+ * Gets the float4x3 element.
+ * @return a daeSmartRef to the float4x3 element.
+ */
+ const domFloat4x3Ref getFloat4x3() const { return elemFloat4x3; }
+ /**
+ * Gets the float4x4 element.
+ * @return a daeSmartRef to the float4x4 element.
+ */
+ const domFloat4x4Ref getFloat4x4() const { return elemFloat4x4; }
+ /**
+ * Gets the int element.
+ * @return a daeSmartRef to the int element.
+ */
+ const domIntRef getInt() const { return elemInt; }
+ /**
+ * Gets the int1 element.
+ * @return a daeSmartRef to the int1 element.
+ */
+ const domInt1Ref getInt1() const { return elemInt1; }
+ /**
+ * Gets the int2 element.
+ * @return a daeSmartRef to the int2 element.
+ */
+ const domInt2Ref getInt2() const { return elemInt2; }
+ /**
+ * Gets the int3 element.
+ * @return a daeSmartRef to the int3 element.
+ */
+ const domInt3Ref getInt3() const { return elemInt3; }
+ /**
+ * Gets the int4 element.
+ * @return a daeSmartRef to the int4 element.
+ */
+ const domInt4Ref getInt4() const { return elemInt4; }
+ /**
+ * Gets the int1x1 element.
+ * @return a daeSmartRef to the int1x1 element.
+ */
+ const domInt1x1Ref getInt1x1() const { return elemInt1x1; }
+ /**
+ * Gets the int1x2 element.
+ * @return a daeSmartRef to the int1x2 element.
+ */
+ const domInt1x2Ref getInt1x2() const { return elemInt1x2; }
+ /**
+ * Gets the int1x3 element.
+ * @return a daeSmartRef to the int1x3 element.
+ */
+ const domInt1x3Ref getInt1x3() const { return elemInt1x3; }
+ /**
+ * Gets the int1x4 element.
+ * @return a daeSmartRef to the int1x4 element.
+ */
+ const domInt1x4Ref getInt1x4() const { return elemInt1x4; }
+ /**
+ * Gets the int2x1 element.
+ * @return a daeSmartRef to the int2x1 element.
+ */
+ const domInt2x1Ref getInt2x1() const { return elemInt2x1; }
+ /**
+ * Gets the int2x2 element.
+ * @return a daeSmartRef to the int2x2 element.
+ */
+ const domInt2x2Ref getInt2x2() const { return elemInt2x2; }
+ /**
+ * Gets the int2x3 element.
+ * @return a daeSmartRef to the int2x3 element.
+ */
+ const domInt2x3Ref getInt2x3() const { return elemInt2x3; }
+ /**
+ * Gets the int2x4 element.
+ * @return a daeSmartRef to the int2x4 element.
+ */
+ const domInt2x4Ref getInt2x4() const { return elemInt2x4; }
+ /**
+ * Gets the int3x1 element.
+ * @return a daeSmartRef to the int3x1 element.
+ */
+ const domInt3x1Ref getInt3x1() const { return elemInt3x1; }
+ /**
+ * Gets the int3x2 element.
+ * @return a daeSmartRef to the int3x2 element.
+ */
+ const domInt3x2Ref getInt3x2() const { return elemInt3x2; }
+ /**
+ * Gets the int3x3 element.
+ * @return a daeSmartRef to the int3x3 element.
+ */
+ const domInt3x3Ref getInt3x3() const { return elemInt3x3; }
+ /**
+ * Gets the int3x4 element.
+ * @return a daeSmartRef to the int3x4 element.
+ */
+ const domInt3x4Ref getInt3x4() const { return elemInt3x4; }
+ /**
+ * Gets the int4x1 element.
+ * @return a daeSmartRef to the int4x1 element.
+ */
+ const domInt4x1Ref getInt4x1() const { return elemInt4x1; }
+ /**
+ * Gets the int4x2 element.
+ * @return a daeSmartRef to the int4x2 element.
+ */
+ const domInt4x2Ref getInt4x2() const { return elemInt4x2; }
+ /**
+ * Gets the int4x3 element.
+ * @return a daeSmartRef to the int4x3 element.
+ */
+ const domInt4x3Ref getInt4x3() const { return elemInt4x3; }
+ /**
+ * Gets the int4x4 element.
+ * @return a daeSmartRef to the int4x4 element.
+ */
+ const domInt4x4Ref getInt4x4() const { return elemInt4x4; }
+ /**
+ * Gets the half element.
+ * @return a daeSmartRef to the half element.
+ */
+ const domHalfRef getHalf() const { return elemHalf; }
+ /**
+ * Gets the half1 element.
+ * @return a daeSmartRef to the half1 element.
+ */
+ const domHalf1Ref getHalf1() const { return elemHalf1; }
+ /**
+ * Gets the half2 element.
+ * @return a daeSmartRef to the half2 element.
+ */
+ const domHalf2Ref getHalf2() const { return elemHalf2; }
+ /**
+ * Gets the half3 element.
+ * @return a daeSmartRef to the half3 element.
+ */
+ const domHalf3Ref getHalf3() const { return elemHalf3; }
+ /**
+ * Gets the half4 element.
+ * @return a daeSmartRef to the half4 element.
+ */
+ const domHalf4Ref getHalf4() const { return elemHalf4; }
+ /**
+ * Gets the half1x1 element.
+ * @return a daeSmartRef to the half1x1 element.
+ */
+ const domHalf1x1Ref getHalf1x1() const { return elemHalf1x1; }
+ /**
+ * Gets the half1x2 element.
+ * @return a daeSmartRef to the half1x2 element.
+ */
+ const domHalf1x2Ref getHalf1x2() const { return elemHalf1x2; }
+ /**
+ * Gets the half1x3 element.
+ * @return a daeSmartRef to the half1x3 element.
+ */
+ const domHalf1x3Ref getHalf1x3() const { return elemHalf1x3; }
+ /**
+ * Gets the half1x4 element.
+ * @return a daeSmartRef to the half1x4 element.
+ */
+ const domHalf1x4Ref getHalf1x4() const { return elemHalf1x4; }
+ /**
+ * Gets the half2x1 element.
+ * @return a daeSmartRef to the half2x1 element.
+ */
+ const domHalf2x1Ref getHalf2x1() const { return elemHalf2x1; }
+ /**
+ * Gets the half2x2 element.
+ * @return a daeSmartRef to the half2x2 element.
+ */
+ const domHalf2x2Ref getHalf2x2() const { return elemHalf2x2; }
+ /**
+ * Gets the half2x3 element.
+ * @return a daeSmartRef to the half2x3 element.
+ */
+ const domHalf2x3Ref getHalf2x3() const { return elemHalf2x3; }
+ /**
+ * Gets the half2x4 element.
+ * @return a daeSmartRef to the half2x4 element.
+ */
+ const domHalf2x4Ref getHalf2x4() const { return elemHalf2x4; }
+ /**
+ * Gets the half3x1 element.
+ * @return a daeSmartRef to the half3x1 element.
+ */
+ const domHalf3x1Ref getHalf3x1() const { return elemHalf3x1; }
+ /**
+ * Gets the half3x2 element.
+ * @return a daeSmartRef to the half3x2 element.
+ */
+ const domHalf3x2Ref getHalf3x2() const { return elemHalf3x2; }
+ /**
+ * Gets the half3x3 element.
+ * @return a daeSmartRef to the half3x3 element.
+ */
+ const domHalf3x3Ref getHalf3x3() const { return elemHalf3x3; }
+ /**
+ * Gets the half3x4 element.
+ * @return a daeSmartRef to the half3x4 element.
+ */
+ const domHalf3x4Ref getHalf3x4() const { return elemHalf3x4; }
+ /**
+ * Gets the half4x1 element.
+ * @return a daeSmartRef to the half4x1 element.
+ */
+ const domHalf4x1Ref getHalf4x1() const { return elemHalf4x1; }
+ /**
+ * Gets the half4x2 element.
+ * @return a daeSmartRef to the half4x2 element.
+ */
+ const domHalf4x2Ref getHalf4x2() const { return elemHalf4x2; }
+ /**
+ * Gets the half4x3 element.
+ * @return a daeSmartRef to the half4x3 element.
+ */
+ const domHalf4x3Ref getHalf4x3() const { return elemHalf4x3; }
+ /**
+ * Gets the half4x4 element.
+ * @return a daeSmartRef to the half4x4 element.
+ */
+ const domHalf4x4Ref getHalf4x4() const { return elemHalf4x4; }
+ /**
+ * Gets the fixed element.
+ * @return a daeSmartRef to the fixed element.
+ */
+ const domFixedRef getFixed() const { return elemFixed; }
+ /**
+ * Gets the fixed1 element.
+ * @return a daeSmartRef to the fixed1 element.
+ */
+ const domFixed1Ref getFixed1() const { return elemFixed1; }
+ /**
+ * Gets the fixed2 element.
+ * @return a daeSmartRef to the fixed2 element.
+ */
+ const domFixed2Ref getFixed2() const { return elemFixed2; }
+ /**
+ * Gets the fixed3 element.
+ * @return a daeSmartRef to the fixed3 element.
+ */
+ const domFixed3Ref getFixed3() const { return elemFixed3; }
+ /**
+ * Gets the fixed4 element.
+ * @return a daeSmartRef to the fixed4 element.
+ */
+ const domFixed4Ref getFixed4() const { return elemFixed4; }
+ /**
+ * Gets the fixed1x1 element.
+ * @return a daeSmartRef to the fixed1x1 element.
+ */
+ const domFixed1x1Ref getFixed1x1() const { return elemFixed1x1; }
+ /**
+ * Gets the fixed1x2 element.
+ * @return a daeSmartRef to the fixed1x2 element.
+ */
+ const domFixed1x2Ref getFixed1x2() const { return elemFixed1x2; }
+ /**
+ * Gets the fixed1x3 element.
+ * @return a daeSmartRef to the fixed1x3 element.
+ */
+ const domFixed1x3Ref getFixed1x3() const { return elemFixed1x3; }
+ /**
+ * Gets the fixed1x4 element.
+ * @return a daeSmartRef to the fixed1x4 element.
+ */
+ const domFixed1x4Ref getFixed1x4() const { return elemFixed1x4; }
+ /**
+ * Gets the fixed2x1 element.
+ * @return a daeSmartRef to the fixed2x1 element.
+ */
+ const domFixed2x1Ref getFixed2x1() const { return elemFixed2x1; }
+ /**
+ * Gets the fixed2x2 element.
+ * @return a daeSmartRef to the fixed2x2 element.
+ */
+ const domFixed2x2Ref getFixed2x2() const { return elemFixed2x2; }
+ /**
+ * Gets the fixed2x3 element.
+ * @return a daeSmartRef to the fixed2x3 element.
+ */
+ const domFixed2x3Ref getFixed2x3() const { return elemFixed2x3; }
+ /**
+ * Gets the fixed2x4 element.
+ * @return a daeSmartRef to the fixed2x4 element.
+ */
+ const domFixed2x4Ref getFixed2x4() const { return elemFixed2x4; }
+ /**
+ * Gets the fixed3x1 element.
+ * @return a daeSmartRef to the fixed3x1 element.
+ */
+ const domFixed3x1Ref getFixed3x1() const { return elemFixed3x1; }
+ /**
+ * Gets the fixed3x2 element.
+ * @return a daeSmartRef to the fixed3x2 element.
+ */
+ const domFixed3x2Ref getFixed3x2() const { return elemFixed3x2; }
+ /**
+ * Gets the fixed3x3 element.
+ * @return a daeSmartRef to the fixed3x3 element.
+ */
+ const domFixed3x3Ref getFixed3x3() const { return elemFixed3x3; }
+ /**
+ * Gets the fixed3x4 element.
+ * @return a daeSmartRef to the fixed3x4 element.
+ */
+ const domFixed3x4Ref getFixed3x4() const { return elemFixed3x4; }
+ /**
+ * Gets the fixed4x1 element.
+ * @return a daeSmartRef to the fixed4x1 element.
+ */
+ const domFixed4x1Ref getFixed4x1() const { return elemFixed4x1; }
+ /**
+ * Gets the fixed4x2 element.
+ * @return a daeSmartRef to the fixed4x2 element.
+ */
+ const domFixed4x2Ref getFixed4x2() const { return elemFixed4x2; }
+ /**
+ * Gets the fixed4x3 element.
+ * @return a daeSmartRef to the fixed4x3 element.
+ */
+ const domFixed4x3Ref getFixed4x3() const { return elemFixed4x3; }
+ /**
+ * Gets the fixed4x4 element.
+ * @return a daeSmartRef to the fixed4x4 element.
+ */
+ const domFixed4x4Ref getFixed4x4() const { return elemFixed4x4; }
+ /**
+ * Gets the surface element.
+ * @return a daeSmartRef to the surface element.
+ */
+ const domCg_surface_typeRef getSurface() const { return elemSurface; }
+ /**
+ * Gets the sampler1D element.
+ * @return a daeSmartRef to the sampler1D element.
+ */
+ const domCg_sampler1DRef getSampler1D() const { return elemSampler1D; }
+ /**
+ * Gets the sampler2D element.
+ * @return a daeSmartRef to the sampler2D element.
+ */
+ const domCg_sampler2DRef getSampler2D() const { return elemSampler2D; }
+ /**
+ * Gets the sampler3D element.
+ * @return a daeSmartRef to the sampler3D element.
+ */
+ const domCg_sampler3DRef getSampler3D() const { return elemSampler3D; }
+ /**
+ * Gets the samplerRECT element.
+ * @return a daeSmartRef to the samplerRECT element.
+ */
+ const domCg_samplerRECTRef getSamplerRECT() const { return elemSamplerRECT; }
+ /**
+ * Gets the samplerCUBE element.
+ * @return a daeSmartRef to the samplerCUBE element.
+ */
+ const domCg_samplerCUBERef getSamplerCUBE() const { return elemSamplerCUBE; }
+ /**
+ * Gets the samplerDEPTH element.
+ * @return a daeSmartRef to the samplerDEPTH element.
+ */
+ const domCg_samplerDEPTHRef getSamplerDEPTH() const { return elemSamplerDEPTH; }
+ /**
+ * Gets the string element.
+ * @return a daeSmartRef to the string element.
+ */
+ const domStringRef getString() const { return elemString; }
+ /**
+ * Gets the enum element.
+ * @return a daeSmartRef to the enum element.
+ */
+ const domEnumRef getEnum() const { return elemEnum; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domCg_param_type(DAE& dae) : daeElement(dae), elemBool(), elemBool1(), elemBool2(), elemBool3(), elemBool4(), elemBool1x1(), elemBool1x2(), elemBool1x3(), elemBool1x4(), elemBool2x1(), elemBool2x2(), elemBool2x3(), elemBool2x4(), elemBool3x1(), elemBool3x2(), elemBool3x3(), elemBool3x4(), elemBool4x1(), elemBool4x2(), elemBool4x3(), elemBool4x4(), elemFloat(), elemFloat1(), elemFloat2(), elemFloat3(), elemFloat4(), elemFloat1x1(), elemFloat1x2(), elemFloat1x3(), elemFloat1x4(), elemFloat2x1(), elemFloat2x2(), elemFloat2x3(), elemFloat2x4(), elemFloat3x1(), elemFloat3x2(), elemFloat3x3(), elemFloat3x4(), elemFloat4x1(), elemFloat4x2(), elemFloat4x3(), elemFloat4x4(), elemInt(), elemInt1(), elemInt2(), elemInt3(), elemInt4(), elemInt1x1(), elemInt1x2(), elemInt1x3(), elemInt1x4(), elemInt2x1(), elemInt2x2(), elemInt2x3(), elemInt2x4(), elemInt3x1(), elemInt3x2(), elemInt3x3(), elemInt3x4(), elemInt4x1(), elemInt4x2(), elemInt4x3(), elemInt4x4(), elemHalf(), elemHalf1(), elemHalf2(), elemHalf3(), elemHalf4(), elemHalf1x1(), elemHalf1x2(), elemHalf1x3(), elemHalf1x4(), elemHalf2x1(), elemHalf2x2(), elemHalf2x3(), elemHalf2x4(), elemHalf3x1(), elemHalf3x2(), elemHalf3x3(), elemHalf3x4(), elemHalf4x1(), elemHalf4x2(), elemHalf4x3(), elemHalf4x4(), elemFixed(), elemFixed1(), elemFixed2(), elemFixed3(), elemFixed4(), elemFixed1x1(), elemFixed1x2(), elemFixed1x3(), elemFixed1x4(), elemFixed2x1(), elemFixed2x2(), elemFixed2x3(), elemFixed2x4(), elemFixed3x1(), elemFixed3x2(), elemFixed3x3(), elemFixed3x4(), elemFixed4x1(), elemFixed4x2(), elemFixed4x3(), elemFixed4x4(), elemSurface(), elemSampler1D(), elemSampler2D(), elemSampler3D(), elemSamplerRECT(), elemSamplerCUBE(), elemSamplerDEPTH(), elemString(), elemEnum() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCg_param_type() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCg_param_type &operator=( const domCg_param_type &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domCg_sampler1D.h b/1.4.0/dom/include/1.4/dom/domCg_sampler1D.h
new file mode 100644
index 0000000..ba03973
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domCg_sampler1D.h
@@ -0,0 +1,78 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Cg_sampler1D_h__
+#define __dom141Cg_sampler1D_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domFx_sampler1D_common.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+class domCg_sampler1D_complexType : public domFx_sampler1D_common_complexType
+{
+
+protected:
+ /**
+ * Constructor
+ */
+ domCg_sampler1D_complexType(DAE& dae, daeElement* elt) : domFx_sampler1D_common_complexType(dae, elt) {}
+ /**
+ * Destructor
+ */
+ virtual ~domCg_sampler1D_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCg_sampler1D_complexType &operator=( const domCg_sampler1D_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domCg_sampler1D_complexType.
+ */
+class domCg_sampler1D : public daeElement, public domCg_sampler1D_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CG_SAMPLER1D; }
+ static daeInt ID() { return 127; }
+ virtual daeInt typeID() const { return ID(); }
+protected:
+ /**
+ * Constructor
+ */
+ domCg_sampler1D(DAE& dae) : daeElement(dae), domCg_sampler1D_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domCg_sampler1D() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCg_sampler1D &operator=( const domCg_sampler1D &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domCg_sampler2D.h b/1.4.0/dom/include/1.4/dom/domCg_sampler2D.h
new file mode 100644
index 0000000..ee138fb
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domCg_sampler2D.h
@@ -0,0 +1,78 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Cg_sampler2D_h__
+#define __dom141Cg_sampler2D_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domFx_sampler2D_common.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+class domCg_sampler2D_complexType : public domFx_sampler2D_common_complexType
+{
+
+protected:
+ /**
+ * Constructor
+ */
+ domCg_sampler2D_complexType(DAE& dae, daeElement* elt) : domFx_sampler2D_common_complexType(dae, elt) {}
+ /**
+ * Destructor
+ */
+ virtual ~domCg_sampler2D_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCg_sampler2D_complexType &operator=( const domCg_sampler2D_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domCg_sampler2D_complexType.
+ */
+class domCg_sampler2D : public daeElement, public domCg_sampler2D_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CG_SAMPLER2D; }
+ static daeInt ID() { return 128; }
+ virtual daeInt typeID() const { return ID(); }
+protected:
+ /**
+ * Constructor
+ */
+ domCg_sampler2D(DAE& dae) : daeElement(dae), domCg_sampler2D_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domCg_sampler2D() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCg_sampler2D &operator=( const domCg_sampler2D &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domCg_sampler3D.h b/1.4.0/dom/include/1.4/dom/domCg_sampler3D.h
new file mode 100644
index 0000000..a2e8211
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domCg_sampler3D.h
@@ -0,0 +1,78 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Cg_sampler3D_h__
+#define __dom141Cg_sampler3D_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domFx_sampler3D_common.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+class domCg_sampler3D_complexType : public domFx_sampler3D_common_complexType
+{
+
+protected:
+ /**
+ * Constructor
+ */
+ domCg_sampler3D_complexType(DAE& dae, daeElement* elt) : domFx_sampler3D_common_complexType(dae, elt) {}
+ /**
+ * Destructor
+ */
+ virtual ~domCg_sampler3D_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCg_sampler3D_complexType &operator=( const domCg_sampler3D_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domCg_sampler3D_complexType.
+ */
+class domCg_sampler3D : public daeElement, public domCg_sampler3D_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CG_SAMPLER3D; }
+ static daeInt ID() { return 129; }
+ virtual daeInt typeID() const { return ID(); }
+protected:
+ /**
+ * Constructor
+ */
+ domCg_sampler3D(DAE& dae) : daeElement(dae), domCg_sampler3D_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domCg_sampler3D() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCg_sampler3D &operator=( const domCg_sampler3D &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domCg_samplerCUBE.h b/1.4.0/dom/include/1.4/dom/domCg_samplerCUBE.h
new file mode 100644
index 0000000..bb03357
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domCg_samplerCUBE.h
@@ -0,0 +1,78 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Cg_samplerCUBE_h__
+#define __dom141Cg_samplerCUBE_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domFx_samplerCUBE_common.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+class domCg_samplerCUBE_complexType : public domFx_samplerCUBE_common_complexType
+{
+
+protected:
+ /**
+ * Constructor
+ */
+ domCg_samplerCUBE_complexType(DAE& dae, daeElement* elt) : domFx_samplerCUBE_common_complexType(dae, elt) {}
+ /**
+ * Destructor
+ */
+ virtual ~domCg_samplerCUBE_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCg_samplerCUBE_complexType &operator=( const domCg_samplerCUBE_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domCg_samplerCUBE_complexType.
+ */
+class domCg_samplerCUBE : public daeElement, public domCg_samplerCUBE_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CG_SAMPLERCUBE; }
+ static daeInt ID() { return 130; }
+ virtual daeInt typeID() const { return ID(); }
+protected:
+ /**
+ * Constructor
+ */
+ domCg_samplerCUBE(DAE& dae) : daeElement(dae), domCg_samplerCUBE_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domCg_samplerCUBE() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCg_samplerCUBE &operator=( const domCg_samplerCUBE &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domCg_samplerDEPTH.h b/1.4.0/dom/include/1.4/dom/domCg_samplerDEPTH.h
new file mode 100644
index 0000000..22f08b0
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domCg_samplerDEPTH.h
@@ -0,0 +1,78 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Cg_samplerDEPTH_h__
+#define __dom141Cg_samplerDEPTH_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domFx_samplerDEPTH_common.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+class domCg_samplerDEPTH_complexType : public domFx_samplerDEPTH_common_complexType
+{
+
+protected:
+ /**
+ * Constructor
+ */
+ domCg_samplerDEPTH_complexType(DAE& dae, daeElement* elt) : domFx_samplerDEPTH_common_complexType(dae, elt) {}
+ /**
+ * Destructor
+ */
+ virtual ~domCg_samplerDEPTH_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCg_samplerDEPTH_complexType &operator=( const domCg_samplerDEPTH_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domCg_samplerDEPTH_complexType.
+ */
+class domCg_samplerDEPTH : public daeElement, public domCg_samplerDEPTH_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CG_SAMPLERDEPTH; }
+ static daeInt ID() { return 132; }
+ virtual daeInt typeID() const { return ID(); }
+protected:
+ /**
+ * Constructor
+ */
+ domCg_samplerDEPTH(DAE& dae) : daeElement(dae), domCg_samplerDEPTH_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domCg_samplerDEPTH() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCg_samplerDEPTH &operator=( const domCg_samplerDEPTH &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domCg_samplerRECT.h b/1.4.0/dom/include/1.4/dom/domCg_samplerRECT.h
new file mode 100644
index 0000000..19e8a64
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domCg_samplerRECT.h
@@ -0,0 +1,78 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Cg_samplerRECT_h__
+#define __dom141Cg_samplerRECT_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domFx_samplerRECT_common.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+class domCg_samplerRECT_complexType : public domFx_samplerRECT_common_complexType
+{
+
+protected:
+ /**
+ * Constructor
+ */
+ domCg_samplerRECT_complexType(DAE& dae, daeElement* elt) : domFx_samplerRECT_common_complexType(dae, elt) {}
+ /**
+ * Destructor
+ */
+ virtual ~domCg_samplerRECT_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCg_samplerRECT_complexType &operator=( const domCg_samplerRECT_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domCg_samplerRECT_complexType.
+ */
+class domCg_samplerRECT : public daeElement, public domCg_samplerRECT_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CG_SAMPLERRECT; }
+ static daeInt ID() { return 131; }
+ virtual daeInt typeID() const { return ID(); }
+protected:
+ /**
+ * Constructor
+ */
+ domCg_samplerRECT(DAE& dae) : daeElement(dae), domCg_samplerRECT_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domCg_samplerRECT() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCg_samplerRECT &operator=( const domCg_samplerRECT &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domCg_setarray_type.h b/1.4.0/dom/include/1.4/dom/domCg_setarray_type.h
new file mode 100644
index 0000000..8268da9
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domCg_setarray_type.h
@@ -0,0 +1,180 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Cg_setarray_type_h__
+#define __dom141Cg_setarray_type_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domCg_param_type.h>
+#include <1.4/dom/domCg_setarray_type.h>
+#include <1.4/dom/domCg_setuser_type.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * Creates a parameter of a one-dimensional array type.
+ */
+class domCg_setarray_type_complexType
+{
+protected: // Attribute
+/**
+ * The length attribute specifies the length of the array.
+ */
+ xsPositiveInteger attrLength;
+
+protected: // Elements
+ domCg_param_type_Array elemCg_param_type_array;
+/**
+ * Nested array elements allow you to create multidemensional arrays. @see
+ * domArray
+ */
+ domCg_setarray_type_Array elemArray_array;
+/**
+ * The usertype element allows you to create arrays of usertypes. @see domUsertype
+ */
+ domCg_setuser_type_Array elemUsertype_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the length attribute.
+ * @return Returns a xsPositiveInteger of the length attribute.
+ */
+ xsPositiveInteger getLength() const { return attrLength; }
+ /**
+ * Sets the length attribute.
+ * @param atLength The new value for the length attribute.
+ */
+ void setLength( xsPositiveInteger atLength ) { attrLength = atLength; }
+
+ /**
+ * Gets the cg_param_type element array.
+ * @return Returns a reference to the array of cg_param_type elements.
+ */
+ domCg_param_type_Array &getCg_param_type_array() { return elemCg_param_type_array; }
+ /**
+ * Gets the cg_param_type element array.
+ * @return Returns a constant reference to the array of cg_param_type elements.
+ */
+ const domCg_param_type_Array &getCg_param_type_array() const { return elemCg_param_type_array; }
+ /**
+ * Gets the array element array.
+ * @return Returns a reference to the array of array elements.
+ */
+ domCg_setarray_type_Array &getArray_array() { return elemArray_array; }
+ /**
+ * Gets the array element array.
+ * @return Returns a constant reference to the array of array elements.
+ */
+ const domCg_setarray_type_Array &getArray_array() const { return elemArray_array; }
+ /**
+ * Gets the usertype element array.
+ * @return Returns a reference to the array of usertype elements.
+ */
+ domCg_setuser_type_Array &getUsertype_array() { return elemUsertype_array; }
+ /**
+ * Gets the usertype element array.
+ * @return Returns a constant reference to the array of usertype elements.
+ */
+ const domCg_setuser_type_Array &getUsertype_array() const { return elemUsertype_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domCg_setarray_type_complexType(DAE& dae, daeElement* elt) : attrLength(), elemCg_param_type_array(), elemArray_array(), elemUsertype_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCg_setarray_type_complexType() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCg_setarray_type_complexType &operator=( const domCg_setarray_type_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domCg_setarray_type_complexType.
+ */
+class domCg_setarray_type : public daeElement, public domCg_setarray_type_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CG_SETARRAY_TYPE; }
+ static daeInt ID() { return 135; }
+ virtual daeInt typeID() const { return ID(); }
+
+public: //Accessors and Mutators
+ /**
+ * Gets the length attribute.
+ * @return Returns a xsPositiveInteger of the length attribute.
+ */
+ xsPositiveInteger getLength() const { return attrLength; }
+ /**
+ * Sets the length attribute.
+ * @param atLength The new value for the length attribute.
+ */
+ void setLength( xsPositiveInteger atLength ) { attrLength = atLength; _validAttributeArray[0] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domCg_setarray_type(DAE& dae) : daeElement(dae), domCg_setarray_type_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domCg_setarray_type() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCg_setarray_type &operator=( const domCg_setarray_type &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domCg_setparam.h b/1.4.0/dom/include/1.4/dom/domCg_setparam.h
new file mode 100644
index 0000000..71ee068
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domCg_setparam.h
@@ -0,0 +1,185 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Cg_setparam_h__
+#define __dom141Cg_setparam_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domCg_param_type.h>
+#include <1.4/dom/domCg_setuser_type.h>
+#include <1.4/dom/domCg_setarray_type.h>
+#include <1.4/dom/domCg_connect_param.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * Assigns a new value to a previously defined parameter.
+ */
+class domCg_setparam_complexType
+{
+protected: // Attributes
+ domCg_identifier attrRef;
+ xsNCName attrProgram;
+
+protected: // Elements
+ domCg_param_typeRef elemCg_param_type;
+ domCg_setuser_typeRef elemUsertype;
+ domCg_setarray_typeRef elemArray;
+ domCg_connect_paramRef elemConnect_param;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the ref attribute.
+ * @return Returns a domCg_identifier of the ref attribute.
+ */
+ domCg_identifier getRef() const { return attrRef; }
+ /**
+ * Sets the ref attribute.
+ * @param atRef The new value for the ref attribute.
+ */
+ void setRef( domCg_identifier atRef ) { attrRef = atRef; }
+
+ /**
+ * Gets the program attribute.
+ * @return Returns a xsNCName of the program attribute.
+ */
+ xsNCName getProgram() const { return attrProgram; }
+ /**
+ * Sets the program attribute.
+ * @param atProgram The new value for the program attribute.
+ */
+ void setProgram( xsNCName atProgram ) { *(daeStringRef*)&attrProgram = atProgram;}
+
+ /**
+ * Gets the cg_param_type element.
+ * @return a daeSmartRef to the cg_param_type element.
+ */
+ const domCg_param_typeRef getCg_param_type() const { return elemCg_param_type; }
+ /**
+ * Gets the usertype element.
+ * @return a daeSmartRef to the usertype element.
+ */
+ const domCg_setuser_typeRef getUsertype() const { return elemUsertype; }
+ /**
+ * Gets the array element.
+ * @return a daeSmartRef to the array element.
+ */
+ const domCg_setarray_typeRef getArray() const { return elemArray; }
+ /**
+ * Gets the connect_param element.
+ * @return a daeSmartRef to the connect_param element.
+ */
+ const domCg_connect_paramRef getConnect_param() const { return elemConnect_param; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domCg_setparam_complexType(DAE& dae, daeElement* elt) : attrRef(), attrProgram(), elemCg_param_type(), elemUsertype(), elemArray(), elemConnect_param() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCg_setparam_complexType() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCg_setparam_complexType &operator=( const domCg_setparam_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domCg_setparam_complexType.
+ */
+class domCg_setparam : public daeElement, public domCg_setparam_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CG_SETPARAM; }
+ static daeInt ID() { return 144; }
+ virtual daeInt typeID() const { return ID(); }
+
+public: //Accessors and Mutators
+ /**
+ * Gets the ref attribute.
+ * @return Returns a domCg_identifier of the ref attribute.
+ */
+ domCg_identifier getRef() const { return attrRef; }
+ /**
+ * Sets the ref attribute.
+ * @param atRef The new value for the ref attribute.
+ */
+ void setRef( domCg_identifier atRef ) { attrRef = atRef; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the program attribute.
+ * @return Returns a xsNCName of the program attribute.
+ */
+ xsNCName getProgram() const { return attrProgram; }
+ /**
+ * Sets the program attribute.
+ * @param atProgram The new value for the program attribute.
+ */
+ void setProgram( xsNCName atProgram ) { *(daeStringRef*)&attrProgram = atProgram; _validAttributeArray[1] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domCg_setparam(DAE& dae) : daeElement(dae), domCg_setparam_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domCg_setparam() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCg_setparam &operator=( const domCg_setparam &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domCg_setparam_simple.h b/1.4.0/dom/include/1.4/dom/domCg_setparam_simple.h
new file mode 100644
index 0000000..90d023f
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domCg_setparam_simple.h
@@ -0,0 +1,125 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Cg_setparam_simple_h__
+#define __dom141Cg_setparam_simple_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domCg_param_type.h>
+#include <1.4/dom/domFx_annotate_common.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+class domCg_setparam_simple_complexType
+{
+protected: // Attribute
+ domCg_identifier attrRef;
+
+protected: // Elements
+ domFx_annotate_common_Array elemAnnotate_array;
+ domCg_param_typeRef elemCg_param_type;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the ref attribute.
+ * @return Returns a domCg_identifier of the ref attribute.
+ */
+ domCg_identifier getRef() const { return attrRef; }
+ /**
+ * Sets the ref attribute.
+ * @param atRef The new value for the ref attribute.
+ */
+ void setRef( domCg_identifier atRef ) { attrRef = atRef; }
+
+ /**
+ * Gets the annotate element array.
+ * @return Returns a reference to the array of annotate elements.
+ */
+ domFx_annotate_common_Array &getAnnotate_array() { return elemAnnotate_array; }
+ /**
+ * Gets the annotate element array.
+ * @return Returns a constant reference to the array of annotate elements.
+ */
+ const domFx_annotate_common_Array &getAnnotate_array() const { return elemAnnotate_array; }
+ /**
+ * Gets the cg_param_type element.
+ * @return a daeSmartRef to the cg_param_type element.
+ */
+ const domCg_param_typeRef getCg_param_type() const { return elemCg_param_type; }
+protected:
+ /**
+ * Constructor
+ */
+ domCg_setparam_simple_complexType(DAE& dae, daeElement* elt) : attrRef(), elemAnnotate_array(), elemCg_param_type() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCg_setparam_simple_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCg_setparam_simple_complexType &operator=( const domCg_setparam_simple_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domCg_setparam_simple_complexType.
+ */
+class domCg_setparam_simple : public daeElement, public domCg_setparam_simple_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CG_SETPARAM_SIMPLE; }
+ static daeInt ID() { return 143; }
+ virtual daeInt typeID() const { return ID(); }
+
+public: //Accessors and Mutators
+ /**
+ * Gets the ref attribute.
+ * @return Returns a domCg_identifier of the ref attribute.
+ */
+ domCg_identifier getRef() const { return attrRef; }
+ /**
+ * Sets the ref attribute.
+ * @param atRef The new value for the ref attribute.
+ */
+ void setRef( domCg_identifier atRef ) { attrRef = atRef; _validAttributeArray[0] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domCg_setparam_simple(DAE& dae) : daeElement(dae), domCg_setparam_simple_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domCg_setparam_simple() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCg_setparam_simple &operator=( const domCg_setparam_simple &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domCg_setuser_type.h b/1.4.0/dom/include/1.4/dom/domCg_setuser_type.h
new file mode 100644
index 0000000..d733486
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domCg_setuser_type.h
@@ -0,0 +1,224 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Cg_setuser_type_h__
+#define __dom141Cg_setuser_type_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domCg_param_type.h>
+#include <1.4/dom/domCg_setarray_type.h>
+#include <1.4/dom/domCg_setuser_type.h>
+#include <1.4/dom/domCg_connect_param.h>
+#include <1.4/dom/domCg_setparam.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * Creates an instance of a structured class.
+ */
+class domCg_setuser_type_complexType
+{
+protected: // Attributes
+ domCg_identifier attrName;
+/**
+ * Reference a code or include element which defines the usertype
+ */
+ xsNCName attrSource;
+
+protected: // Elements
+ domCg_param_type_Array elemCg_param_type_array;
+ domCg_setarray_type_Array elemArray_array;
+ domCg_setuser_type_Array elemUsertype_array;
+ domCg_connect_param_Array elemConnect_param_array;
+/**
+ * Use a series of these to set the members by name. The ref attribute will
+ * be relative to the usertype you are in right now. @see domSetparam
+ */
+ domCg_setparam_Array elemSetparam_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the name attribute.
+ * @return Returns a domCg_identifier of the name attribute.
+ */
+ domCg_identifier getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( domCg_identifier atName ) { attrName = atName; }
+
+ /**
+ * Gets the source attribute.
+ * @return Returns a xsNCName of the source attribute.
+ */
+ xsNCName getSource() const { return attrSource; }
+ /**
+ * Sets the source attribute.
+ * @param atSource The new value for the source attribute.
+ */
+ void setSource( xsNCName atSource ) { *(daeStringRef*)&attrSource = atSource;}
+
+ /**
+ * Gets the cg_param_type element array.
+ * @return Returns a reference to the array of cg_param_type elements.
+ */
+ domCg_param_type_Array &getCg_param_type_array() { return elemCg_param_type_array; }
+ /**
+ * Gets the cg_param_type element array.
+ * @return Returns a constant reference to the array of cg_param_type elements.
+ */
+ const domCg_param_type_Array &getCg_param_type_array() const { return elemCg_param_type_array; }
+ /**
+ * Gets the array element array.
+ * @return Returns a reference to the array of array elements.
+ */
+ domCg_setarray_type_Array &getArray_array() { return elemArray_array; }
+ /**
+ * Gets the array element array.
+ * @return Returns a constant reference to the array of array elements.
+ */
+ const domCg_setarray_type_Array &getArray_array() const { return elemArray_array; }
+ /**
+ * Gets the usertype element array.
+ * @return Returns a reference to the array of usertype elements.
+ */
+ domCg_setuser_type_Array &getUsertype_array() { return elemUsertype_array; }
+ /**
+ * Gets the usertype element array.
+ * @return Returns a constant reference to the array of usertype elements.
+ */
+ const domCg_setuser_type_Array &getUsertype_array() const { return elemUsertype_array; }
+ /**
+ * Gets the connect_param element array.
+ * @return Returns a reference to the array of connect_param elements.
+ */
+ domCg_connect_param_Array &getConnect_param_array() { return elemConnect_param_array; }
+ /**
+ * Gets the connect_param element array.
+ * @return Returns a constant reference to the array of connect_param elements.
+ */
+ const domCg_connect_param_Array &getConnect_param_array() const { return elemConnect_param_array; }
+ /**
+ * Gets the setparam element array.
+ * @return Returns a reference to the array of setparam elements.
+ */
+ domCg_setparam_Array &getSetparam_array() { return elemSetparam_array; }
+ /**
+ * Gets the setparam element array.
+ * @return Returns a constant reference to the array of setparam elements.
+ */
+ const domCg_setparam_Array &getSetparam_array() const { return elemSetparam_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domCg_setuser_type_complexType(DAE& dae, daeElement* elt) : attrName(), attrSource(), elemCg_param_type_array(), elemArray_array(), elemUsertype_array(), elemConnect_param_array(), elemSetparam_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCg_setuser_type_complexType() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCg_setuser_type_complexType &operator=( const domCg_setuser_type_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domCg_setuser_type_complexType.
+ */
+class domCg_setuser_type : public daeElement, public domCg_setuser_type_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CG_SETUSER_TYPE; }
+ static daeInt ID() { return 136; }
+ virtual daeInt typeID() const { return ID(); }
+
+public: //Accessors and Mutators
+ /**
+ * Gets the name attribute.
+ * @return Returns a domCg_identifier of the name attribute.
+ */
+ domCg_identifier getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( domCg_identifier atName ) { attrName = atName; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the source attribute.
+ * @return Returns a xsNCName of the source attribute.
+ */
+ xsNCName getSource() const { return attrSource; }
+ /**
+ * Sets the source attribute.
+ * @param atSource The new value for the source attribute.
+ */
+ void setSource( xsNCName atSource ) { *(daeStringRef*)&attrSource = atSource; _validAttributeArray[1] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domCg_setuser_type(DAE& dae) : daeElement(dae), domCg_setuser_type_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domCg_setuser_type() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCg_setuser_type &operator=( const domCg_setuser_type &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domCg_surface_type.h b/1.4.0/dom/include/1.4/dom/domCg_surface_type.h
new file mode 100644
index 0000000..046921f
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domCg_surface_type.h
@@ -0,0 +1,315 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Cg_surface_type_h__
+#define __dom141Cg_surface_type_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domFx_surface_common.h>
+#include <1.4/dom/domFx_annotate_common.h>
+#include <1.4/dom/domFx_code_profile.h>
+#include <1.4/dom/domFx_include_common.h>
+#include <1.4/dom/domCg_setparam_simple.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * Declares a resource that can be used both as the source for texture samples
+ * and as the target of a rendering pass.
+ */
+class domCg_surface_type_complexType : public domFx_surface_common_complexType
+{
+public:
+ class domGenerator;
+
+ typedef daeSmartRef<domGenerator> domGeneratorRef;
+ typedef daeTArray<domGeneratorRef> domGenerator_Array;
+
+/**
+ * A procedural surface generator for the cg profile.
+ */
+ class domGenerator : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GENERATOR; }
+ static daeInt ID() { return 137; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domName;
+
+ typedef daeSmartRef<domName> domNameRef;
+ typedef daeTArray<domNameRef> domName_Array;
+
+/**
+ * The entry symbol for the shader function.
+ */
+ class domName : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::NAME; }
+ static daeInt ID() { return 138; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+ xsNCName attrSource;
+
+ protected: // Value
+ /**
+ * The xsNCName value of the text data of this element.
+ */
+ xsNCName _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the source attribute.
+ * @return Returns a xsNCName of the source attribute.
+ */
+ xsNCName getSource() const { return attrSource; }
+ /**
+ * Sets the source attribute.
+ * @param atSource The new value for the source attribute.
+ */
+ void setSource( xsNCName atSource ) { *(daeStringRef*)&attrSource = atSource; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsNCName of the value.
+ */
+ xsNCName getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domName(DAE& dae) : daeElement(dae), attrSource(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domName() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domName &operator=( const domName &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+/**
+ * The annotate element allows you to specify an annotation for this generator.
+ * @see domAnnotate
+ */
+ domFx_annotate_common_Array elemAnnotate_array;
+/**
+ * The code element allows you to embed cg sourcecode for the surface generator.
+ * @see domCode
+ */
+ domFx_code_profile_Array elemCode_array;
+/**
+ * The include element imports cg source code or precompiled binary shaders
+ * into the FX Runtime by referencing an external resource. @see domInclude
+ */
+ domFx_include_common_Array elemInclude_array;
+/**
+ * The entry symbol for the shader function. @see domName
+ */
+ domNameRef elemName;
+/**
+ * Assigns a new value to a previously defined parameter. @see domSetparam
+ */
+ domCg_setparam_simple_Array elemSetparam_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the annotate element array.
+ * @return Returns a reference to the array of annotate elements.
+ */
+ domFx_annotate_common_Array &getAnnotate_array() { return elemAnnotate_array; }
+ /**
+ * Gets the annotate element array.
+ * @return Returns a constant reference to the array of annotate elements.
+ */
+ const domFx_annotate_common_Array &getAnnotate_array() const { return elemAnnotate_array; }
+ /**
+ * Gets the code element array.
+ * @return Returns a reference to the array of code elements.
+ */
+ domFx_code_profile_Array &getCode_array() { return elemCode_array; }
+ /**
+ * Gets the code element array.
+ * @return Returns a constant reference to the array of code elements.
+ */
+ const domFx_code_profile_Array &getCode_array() const { return elemCode_array; }
+ /**
+ * Gets the include element array.
+ * @return Returns a reference to the array of include elements.
+ */
+ domFx_include_common_Array &getInclude_array() { return elemInclude_array; }
+ /**
+ * Gets the include element array.
+ * @return Returns a constant reference to the array of include elements.
+ */
+ const domFx_include_common_Array &getInclude_array() const { return elemInclude_array; }
+ /**
+ * Gets the name element.
+ * @return a daeSmartRef to the name element.
+ */
+ const domNameRef getName() const { return elemName; }
+ /**
+ * Gets the setparam element array.
+ * @return Returns a reference to the array of setparam elements.
+ */
+ domCg_setparam_simple_Array &getSetparam_array() { return elemSetparam_array; }
+ /**
+ * Gets the setparam element array.
+ * @return Returns a constant reference to the array of setparam elements.
+ */
+ const domCg_setparam_simple_Array &getSetparam_array() const { return elemSetparam_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domGenerator(DAE& dae) : daeElement(dae), elemAnnotate_array(), elemCode_array(), elemInclude_array(), elemName(), elemSetparam_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGenerator() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGenerator &operator=( const domGenerator &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Element
+/**
+ * A procedural surface generator for the cg profile. @see domGenerator
+ */
+ domGeneratorRef elemGenerator;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the generator element.
+ * @return a daeSmartRef to the generator element.
+ */
+ const domGeneratorRef getGenerator() const { return elemGenerator; }
+protected:
+ /**
+ * Constructor
+ */
+ domCg_surface_type_complexType(DAE& dae, daeElement* elt) : domFx_surface_common_complexType(dae, elt), elemGenerator() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCg_surface_type_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCg_surface_type_complexType &operator=( const domCg_surface_type_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domCg_surface_type_complexType.
+ */
+class domCg_surface_type : public daeElement, public domCg_surface_type_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CG_SURFACE_TYPE; }
+ static daeInt ID() { return 139; }
+ virtual daeInt typeID() const { return ID(); }
+protected:
+ /**
+ * Constructor
+ */
+ domCg_surface_type(DAE& dae) : daeElement(dae), domCg_surface_type_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domCg_surface_type() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCg_surface_type &operator=( const domCg_surface_type &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domChannel.h b/1.4.0/dom/include/1.4/dom/domChannel.h
new file mode 100644
index 0000000..b4fabad
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domChannel.h
@@ -0,0 +1,107 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Channel_h__
+#define __dom141Channel_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The channel element declares an output channel of an animation.
+ */
+class domChannel : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CHANNEL; }
+ static daeInt ID() { return 653; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The source attribute indicates the location of the sampler using a URL
+ * expression. The sampler must be declared within the same document. Required
+ * attribute.
+ */
+ domURIFragmentType attrSource;
+/**
+ * The target attribute indicates the location of the element bound to the
+ * output of the sampler. This text string is a path-name following a simple
+ * syntax described in Address Syntax. Required attribute.
+ */
+ xsToken attrTarget;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the source attribute.
+ * @return Returns a domURIFragmentType reference of the source attribute.
+ */
+ domURIFragmentType &getSource() { return attrSource; }
+ /**
+ * Gets the source attribute.
+ * @return Returns a constant domURIFragmentType reference of the source attribute.
+ */
+ const domURIFragmentType &getSource() const { return attrSource; }
+ /**
+ * Sets the source attribute.
+ * @param atSource The new value for the source attribute.
+ */
+ void setSource( const domURIFragmentType &atSource ) { attrSource = atSource; _validAttributeArray[0] = true; }
+ /**
+ * Sets the source attribute.
+ * @param atSource The new value for the source attribute.
+ */
+ void setSource( xsString atSource ) { attrSource = atSource; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the target attribute.
+ * @return Returns a xsToken of the target attribute.
+ */
+ xsToken getTarget() const { return attrTarget; }
+ /**
+ * Sets the target attribute.
+ * @param atTarget The new value for the target attribute.
+ */
+ void setTarget( xsToken atTarget ) { *(daeStringRef*)&attrTarget = atTarget; _validAttributeArray[1] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domChannel(DAE& dae) : daeElement(dae), attrSource(dae, *this), attrTarget() {}
+ /**
+ * Destructor
+ */
+ virtual ~domChannel() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domChannel &operator=( const domChannel &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domCommon_color_or_texture_type.h b/1.4.0/dom/include/1.4/dom/domCommon_color_or_texture_type.h
new file mode 100644
index 0000000..9a47ebf
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domCommon_color_or_texture_type.h
@@ -0,0 +1,331 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Common_color_or_texture_type_h__
+#define __dom141Common_color_or_texture_type_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+class domCommon_color_or_texture_type_complexType
+{
+public:
+ class domColor;
+
+ typedef daeSmartRef<domColor> domColorRef;
+ typedef daeTArray<domColorRef> domColor_Array;
+
+ class domColor : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COLOR; }
+ static daeInt ID() { return 116; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+ xsNCName attrSid;
+
+ protected: // Value
+ /**
+ * The domFx_color_common value of the text data of this element.
+ */
+ domFx_color_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the _value array.
+ * @return Returns a domFx_color_common reference of the _value array.
+ */
+ domFx_color_common &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domFx_color_common reference of the _value array.
+ */
+ const domFx_color_common &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domFx_color_common &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domColor(DAE& dae) : daeElement(dae), attrSid(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domColor() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domColor &operator=( const domColor &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domParam;
+
+ typedef daeSmartRef<domParam> domParamRef;
+ typedef daeTArray<domParamRef> domParam_Array;
+
+ class domParam : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PARAM; }
+ static daeInt ID() { return 117; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+ xsNCName attrRef;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the ref attribute.
+ * @return Returns a xsNCName of the ref attribute.
+ */
+ xsNCName getRef() const { return attrRef; }
+ /**
+ * Sets the ref attribute.
+ * @param atRef The new value for the ref attribute.
+ */
+ void setRef( xsNCName atRef ) { *(daeStringRef*)&attrRef = atRef; _validAttributeArray[0] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domParam(DAE& dae) : daeElement(dae), attrRef() {}
+ /**
+ * Destructor
+ */
+ virtual ~domParam() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domParam &operator=( const domParam &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domTexture;
+
+ typedef daeSmartRef<domTexture> domTextureRef;
+ typedef daeTArray<domTextureRef> domTexture_Array;
+
+ class domTexture : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TEXTURE; }
+ static daeInt ID() { return 118; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsNCName attrTexture;
+ xsNCName attrTexcoord;
+
+ protected: // Element
+ domExtraRef elemExtra;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the texture attribute.
+ * @return Returns a xsNCName of the texture attribute.
+ */
+ xsNCName getTexture() const { return attrTexture; }
+ /**
+ * Sets the texture attribute.
+ * @param atTexture The new value for the texture attribute.
+ */
+ void setTexture( xsNCName atTexture ) { *(daeStringRef*)&attrTexture = atTexture; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the texcoord attribute.
+ * @return Returns a xsNCName of the texcoord attribute.
+ */
+ xsNCName getTexcoord() const { return attrTexcoord; }
+ /**
+ * Sets the texcoord attribute.
+ * @param atTexcoord The new value for the texcoord attribute.
+ */
+ void setTexcoord( xsNCName atTexcoord ) { *(daeStringRef*)&attrTexcoord = atTexcoord; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the extra element.
+ * @return a daeSmartRef to the extra element.
+ */
+ const domExtraRef getExtra() const { return elemExtra; }
+ protected:
+ /**
+ * Constructor
+ */
+ domTexture(DAE& dae) : daeElement(dae), attrTexture(), attrTexcoord(), elemExtra() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTexture() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTexture &operator=( const domTexture &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+ domColorRef elemColor;
+ domParamRef elemParam;
+ domTextureRef elemTexture;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the color element.
+ * @return a daeSmartRef to the color element.
+ */
+ const domColorRef getColor() const { return elemColor; }
+ /**
+ * Gets the param element.
+ * @return a daeSmartRef to the param element.
+ */
+ const domParamRef getParam() const { return elemParam; }
+ /**
+ * Gets the texture element.
+ * @return a daeSmartRef to the texture element.
+ */
+ const domTextureRef getTexture() const { return elemTexture; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domCommon_color_or_texture_type_complexType(DAE& dae, daeElement* elt) : elemColor(), elemParam(), elemTexture() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCommon_color_or_texture_type_complexType() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCommon_color_or_texture_type_complexType &operator=( const domCommon_color_or_texture_type_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domCommon_color_or_texture_type_complexType.
+ */
+class domCommon_color_or_texture_type : public daeElement, public domCommon_color_or_texture_type_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COMMON_COLOR_OR_TEXTURE_TYPE; }
+ static daeInt ID() { return 119; }
+ virtual daeInt typeID() const { return ID(); }
+protected:
+ /**
+ * Constructor
+ */
+ domCommon_color_or_texture_type(DAE& dae) : daeElement(dae), domCommon_color_or_texture_type_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domCommon_color_or_texture_type() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCommon_color_or_texture_type &operator=( const domCommon_color_or_texture_type &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domCommon_float_or_param_type.h b/1.4.0/dom/include/1.4/dom/domCommon_float_or_param_type.h
new file mode 100644
index 0000000..d793a88
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domCommon_float_or_param_type.h
@@ -0,0 +1,245 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Common_float_or_param_type_h__
+#define __dom141Common_float_or_param_type_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM141 {
+
+class domCommon_float_or_param_type_complexType
+{
+public:
+ class domFloat;
+
+ typedef daeSmartRef<domFloat> domFloatRef;
+ typedef daeTArray<domFloatRef> domFloat_Array;
+
+ class domFloat : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT; }
+ static daeInt ID() { return 113; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+ xsNCName attrSid;
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat value of the text data of this element.
+ */
+ ColladaDOM141::domFloat _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM141::domFloat of the value.
+ */
+ ColladaDOM141::domFloat getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( ColladaDOM141::domFloat val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat(DAE& dae) : daeElement(dae), attrSid(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat &operator=( const domFloat &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domParam;
+
+ typedef daeSmartRef<domParam> domParamRef;
+ typedef daeTArray<domParamRef> domParam_Array;
+
+ class domParam : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PARAM; }
+ static daeInt ID() { return 114; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+ xsNCName attrRef;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the ref attribute.
+ * @return Returns a xsNCName of the ref attribute.
+ */
+ xsNCName getRef() const { return attrRef; }
+ /**
+ * Sets the ref attribute.
+ * @param atRef The new value for the ref attribute.
+ */
+ void setRef( xsNCName atRef ) { *(daeStringRef*)&attrRef = atRef; _validAttributeArray[0] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domParam(DAE& dae) : daeElement(dae), attrRef() {}
+ /**
+ * Destructor
+ */
+ virtual ~domParam() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domParam &operator=( const domParam &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+ domFloatRef elemFloat;
+ domParamRef elemParam;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the float element.
+ * @return a daeSmartRef to the float element.
+ */
+ const domFloatRef getFloat() const { return elemFloat; }
+ /**
+ * Gets the param element.
+ * @return a daeSmartRef to the param element.
+ */
+ const domParamRef getParam() const { return elemParam; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domCommon_float_or_param_type_complexType(DAE& dae, daeElement* elt) : elemFloat(), elemParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCommon_float_or_param_type_complexType() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCommon_float_or_param_type_complexType &operator=( const domCommon_float_or_param_type_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domCommon_float_or_param_type_complexType.
+ */
+class domCommon_float_or_param_type : public daeElement, public domCommon_float_or_param_type_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COMMON_FLOAT_OR_PARAM_TYPE; }
+ static daeInt ID() { return 115; }
+ virtual daeInt typeID() const { return ID(); }
+protected:
+ /**
+ * Constructor
+ */
+ domCommon_float_or_param_type(DAE& dae) : daeElement(dae), domCommon_float_or_param_type_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domCommon_float_or_param_type() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCommon_float_or_param_type &operator=( const domCommon_float_or_param_type &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domCommon_newparam_type.h b/1.4.0/dom/include/1.4/dom/domCommon_newparam_type.h
new file mode 100644
index 0000000..6a05e1d
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domCommon_newparam_type.h
@@ -0,0 +1,487 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Common_newparam_type_h__
+#define __dom141Common_newparam_type_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domFx_surface_common.h>
+#include <1.4/dom/domFx_sampler2D_common.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+class domCommon_newparam_type_complexType
+{
+public:
+ class domSemantic;
+
+ typedef daeSmartRef<domSemantic> domSemanticRef;
+ typedef daeTArray<domSemanticRef> domSemantic_Array;
+
+ class domSemantic : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SEMANTIC; }
+ static daeInt ID() { return 121; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsNCName value of the text data of this element.
+ */
+ xsNCName _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsNCName of the value.
+ */
+ xsNCName getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSemantic(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSemantic() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSemantic &operator=( const domSemantic &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat;
+
+ typedef daeSmartRef<domFloat> domFloatRef;
+ typedef daeTArray<domFloatRef> domFloat_Array;
+
+ class domFloat : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT; }
+ static daeInt ID() { return 122; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat value of the text data of this element.
+ */
+ ColladaDOM141::domFloat _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM141::domFloat of the value.
+ */
+ ColladaDOM141::domFloat getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( ColladaDOM141::domFloat val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat &operator=( const domFloat &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat2;
+
+ typedef daeSmartRef<domFloat2> domFloat2Ref;
+ typedef daeTArray<domFloat2Ref> domFloat2_Array;
+
+ class domFloat2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2; }
+ static daeInt ID() { return 123; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat2 value of the text data of this element.
+ */
+ ColladaDOM141::domFloat2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domFloat2 reference of the _value array.
+ */
+ ColladaDOM141::domFloat2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domFloat2 reference of the _value array.
+ */
+ const ColladaDOM141::domFloat2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domFloat2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat2 &operator=( const domFloat2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat3;
+
+ typedef daeSmartRef<domFloat3> domFloat3Ref;
+ typedef daeTArray<domFloat3Ref> domFloat3_Array;
+
+ class domFloat3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3; }
+ static daeInt ID() { return 124; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat3 value of the text data of this element.
+ */
+ ColladaDOM141::domFloat3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domFloat3 reference of the _value array.
+ */
+ ColladaDOM141::domFloat3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domFloat3 reference of the _value array.
+ */
+ const ColladaDOM141::domFloat3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domFloat3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat3 &operator=( const domFloat3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat4;
+
+ typedef daeSmartRef<domFloat4> domFloat4Ref;
+ typedef daeTArray<domFloat4Ref> domFloat4_Array;
+
+ class domFloat4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4; }
+ static daeInt ID() { return 125; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat4 value of the text data of this element.
+ */
+ ColladaDOM141::domFloat4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domFloat4 reference of the _value array.
+ */
+ ColladaDOM141::domFloat4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domFloat4 reference of the _value array.
+ */
+ const ColladaDOM141::domFloat4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domFloat4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat4 &operator=( const domFloat4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attribute
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ xsNCName attrSid;
+
+protected: // Elements
+ domSemanticRef elemSemantic;
+ domFloatRef elemFloat;
+ domFloat2Ref elemFloat2;
+ domFloat3Ref elemFloat3;
+ domFloat4Ref elemFloat4;
+ domFx_surface_commonRef elemSurface;
+ domFx_sampler2D_commonRef elemSampler2D;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the semantic element.
+ * @return a daeSmartRef to the semantic element.
+ */
+ const domSemanticRef getSemantic() const { return elemSemantic; }
+ /**
+ * Gets the float element.
+ * @return a daeSmartRef to the float element.
+ */
+ const domFloatRef getFloat() const { return elemFloat; }
+ /**
+ * Gets the float2 element.
+ * @return a daeSmartRef to the float2 element.
+ */
+ const domFloat2Ref getFloat2() const { return elemFloat2; }
+ /**
+ * Gets the float3 element.
+ * @return a daeSmartRef to the float3 element.
+ */
+ const domFloat3Ref getFloat3() const { return elemFloat3; }
+ /**
+ * Gets the float4 element.
+ * @return a daeSmartRef to the float4 element.
+ */
+ const domFloat4Ref getFloat4() const { return elemFloat4; }
+ /**
+ * Gets the surface element.
+ * @return a daeSmartRef to the surface element.
+ */
+ const domFx_surface_commonRef getSurface() const { return elemSurface; }
+ /**
+ * Gets the sampler2D element.
+ * @return a daeSmartRef to the sampler2D element.
+ */
+ const domFx_sampler2D_commonRef getSampler2D() const { return elemSampler2D; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domCommon_newparam_type_complexType(DAE& dae, daeElement* elt) : attrSid(), elemSemantic(), elemFloat(), elemFloat2(), elemFloat3(), elemFloat4(), elemSurface(), elemSampler2D() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCommon_newparam_type_complexType() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCommon_newparam_type_complexType &operator=( const domCommon_newparam_type_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domCommon_newparam_type_complexType.
+ */
+class domCommon_newparam_type : public daeElement, public domCommon_newparam_type_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COMMON_NEWPARAM_TYPE; }
+ static daeInt ID() { return 126; }
+ virtual daeInt typeID() const { return ID(); }
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domCommon_newparam_type(DAE& dae) : daeElement(dae), domCommon_newparam_type_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domCommon_newparam_type() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCommon_newparam_type &operator=( const domCommon_newparam_type &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domCommon_transparent_type.h b/1.4.0/dom/include/1.4/dom/domCommon_transparent_type.h
new file mode 100644
index 0000000..5855671
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domCommon_transparent_type.h
@@ -0,0 +1,106 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Common_transparent_type_h__
+#define __dom141Common_transparent_type_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domCommon_color_or_texture_type.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+class domCommon_transparent_type_complexType : public domCommon_color_or_texture_type_complexType
+{
+protected: // Attribute
+ domFx_opaque_enum attrOpaque;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the opaque attribute.
+ * @return Returns a domFx_opaque_enum of the opaque attribute.
+ */
+ domFx_opaque_enum getOpaque() const { return attrOpaque; }
+ /**
+ * Sets the opaque attribute.
+ * @param atOpaque The new value for the opaque attribute.
+ */
+ void setOpaque( domFx_opaque_enum atOpaque ) { attrOpaque = atOpaque; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domCommon_transparent_type_complexType(DAE& dae, daeElement* elt) : domCommon_color_or_texture_type_complexType(dae, elt), attrOpaque() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCommon_transparent_type_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCommon_transparent_type_complexType &operator=( const domCommon_transparent_type_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domCommon_transparent_type_complexType.
+ */
+class domCommon_transparent_type : public daeElement, public domCommon_transparent_type_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COMMON_TRANSPARENT_TYPE; }
+ static daeInt ID() { return 120; }
+ virtual daeInt typeID() const { return ID(); }
+
+public: //Accessors and Mutators
+ /**
+ * Gets the opaque attribute.
+ * @return Returns a domFx_opaque_enum of the opaque attribute.
+ */
+ domFx_opaque_enum getOpaque() const { return attrOpaque; }
+ /**
+ * Sets the opaque attribute.
+ * @param atOpaque The new value for the opaque attribute.
+ */
+ void setOpaque( domFx_opaque_enum atOpaque ) { attrOpaque = atOpaque; _validAttributeArray[0] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domCommon_transparent_type(DAE& dae) : daeElement(dae), domCommon_transparent_type_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domCommon_transparent_type() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCommon_transparent_type &operator=( const domCommon_transparent_type &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domConstants.h b/1.4.0/dom/include/1.4/dom/domConstants.h
new file mode 100644
index 0000000..5ca02d7
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domConstants.h
@@ -0,0 +1,1093 @@
+/*
+ * Copyright 2006 Sony Computer Entertainment Inc.
+ *
+ * Licensed under the MIT Open Source License, for details please see license.txt or the website
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ */
+
+#ifndef __DOM141_CONSTANTS_H__
+#define __DOM141_CONSTANTS_H__
+
+#include <dae/daeDomTypes.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+extern DLLSPEC daeString COLLADA_VERSION;
+extern DLLSPEC daeString COLLADA_NAMESPACE;
+extern DLLSPEC daeString COMMON_PROFILE_INPUT_BINORMAL;
+extern DLLSPEC daeString COMMON_PROFILE_INPUT_COLOR;
+extern DLLSPEC daeString COMMON_PROFILE_INPUT_CONTINUITY;
+extern DLLSPEC daeString COMMON_PROFILE_INPUT_IMAGE;
+extern DLLSPEC daeString COMMON_PROFILE_INPUT_IN_TANGENT;
+extern DLLSPEC daeString COMMON_PROFILE_INPUT_INPUT;
+extern DLLSPEC daeString COMMON_PROFILE_INPUT_INTERPOLATION;
+extern DLLSPEC daeString COMMON_PROFILE_INPUT_INV_BIND_MATRIX;
+extern DLLSPEC daeString COMMON_PROFILE_INPUT_JOINT;
+extern DLLSPEC daeString COMMON_PROFILE_INPUT_LINEAR_STEPS;
+extern DLLSPEC daeString COMMON_PROFILE_INPUT_MORPH_TARGET;
+extern DLLSPEC daeString COMMON_PROFILE_INPUT_MORPH_WEIGHT;
+extern DLLSPEC daeString COMMON_PROFILE_INPUT_NORMAL;
+extern DLLSPEC daeString COMMON_PROFILE_INPUT_OUTPUT;
+extern DLLSPEC daeString COMMON_PROFILE_INPUT_OUT_TANGENT;
+extern DLLSPEC daeString COMMON_PROFILE_INPUT_POSITION;
+extern DLLSPEC daeString COMMON_PROFILE_INPUT_TANGENT;
+extern DLLSPEC daeString COMMON_PROFILE_INPUT_TEXBINORMAL;
+extern DLLSPEC daeString COMMON_PROFILE_INPUT_TEXCOORD;
+extern DLLSPEC daeString COMMON_PROFILE_INPUT_TEXTANGENT;
+extern DLLSPEC daeString COMMON_PROFILE_INPUT_UV;
+extern DLLSPEC daeString COMMON_PROFILE_INPUT_VERTEX;
+extern DLLSPEC daeString COMMON_PROFILE_INPUT_WEIGHT;
+
+extern DLLSPEC daeString COMMON_PROFILE_PARAM_A;
+extern DLLSPEC daeString COMMON_PROFILE_PARAM_ANGLE;
+extern DLLSPEC daeString COMMON_PROFILE_PARAM_B;
+extern DLLSPEC daeString COMMON_PROFILE_PARAM_DOUBLE_SIDED;
+extern DLLSPEC daeString COMMON_PROFILE_PARAM_G;
+extern DLLSPEC daeString COMMON_PROFILE_PARAM_P;
+extern DLLSPEC daeString COMMON_PROFILE_PARAM_Q;
+extern DLLSPEC daeString COMMON_PROFILE_PARAM_R;
+extern DLLSPEC daeString COMMON_PROFILE_PARAM_S;
+extern DLLSPEC daeString COMMON_PROFILE_PARAM_T;
+extern DLLSPEC daeString COMMON_PROFILE_PARAM_TIME;
+extern DLLSPEC daeString COMMON_PROFILE_PARAM_U;
+extern DLLSPEC daeString COMMON_PROFILE_PARAM_V;
+extern DLLSPEC daeString COMMON_PROFILE_PARAM_W;
+extern DLLSPEC daeString COMMON_PROFILE_PARAM_X;
+extern DLLSPEC daeString COMMON_PROFILE_PARAM_Y;
+extern DLLSPEC daeString COMMON_PROFILE_PARAM_Z;
+
+
+extern DLLSPEC daeString COLLADA_TYPE_INPUTGLOBAL;
+extern DLLSPEC daeString COLLADA_TYPE_INPUTLOCAL;
+extern DLLSPEC daeString COLLADA_TYPE_INPUTLOCALOFFSET;
+extern DLLSPEC daeString COLLADA_TYPE_INSTANCEWITHEXTRA;
+extern DLLSPEC daeString COLLADA_TYPE_TARGETABLEFLOAT;
+extern DLLSPEC daeString COLLADA_TYPE_TARGETABLEFLOAT3;
+extern DLLSPEC daeString COLLADA_TYPE_FX_SURFACE_FORMAT_HINT_COMMON;
+extern DLLSPEC daeString COLLADA_TYPE_CHANNELS;
+extern DLLSPEC daeString COLLADA_TYPE_RANGE;
+extern DLLSPEC daeString COLLADA_TYPE_PRECISION;
+extern DLLSPEC daeString COLLADA_TYPE_OPTION;
+extern DLLSPEC daeString COLLADA_TYPE_FX_SURFACE_INIT_PLANAR_COMMON;
+extern DLLSPEC daeString COLLADA_TYPE_ALL;
+extern DLLSPEC daeString COLLADA_TYPE_FX_SURFACE_INIT_VOLUME_COMMON;
+extern DLLSPEC daeString COLLADA_TYPE_PRIMARY;
+extern DLLSPEC daeString COLLADA_TYPE_FX_SURFACE_INIT_CUBE_COMMON;
+extern DLLSPEC daeString COLLADA_TYPE_ORDER;
+extern DLLSPEC daeString COLLADA_TYPE_FACE;
+extern DLLSPEC daeString COLLADA_TYPE_FX_SURFACE_INIT_FROM_COMMON;
+extern DLLSPEC daeString COLLADA_TYPE_FX_SURFACE_COMMON;
+extern DLLSPEC daeString COLLADA_TYPE_FORMAT;
+extern DLLSPEC daeString COLLADA_TYPE_SIZE;
+extern DLLSPEC daeString COLLADA_TYPE_VIEWPORT_RATIO;
+extern DLLSPEC daeString COLLADA_TYPE_MIP_LEVELS;
+extern DLLSPEC daeString COLLADA_TYPE_MIPMAP_GENERATE;
+extern DLLSPEC daeString COLLADA_TYPE_FX_SAMPLER1D_COMMON;
+extern DLLSPEC daeString COLLADA_TYPE_SOURCE;
+extern DLLSPEC daeString COLLADA_TYPE_WRAP_S;
+extern DLLSPEC daeString COLLADA_TYPE_MINFILTER;
+extern DLLSPEC daeString COLLADA_TYPE_MAGFILTER;
+extern DLLSPEC daeString COLLADA_TYPE_MIPFILTER;
+extern DLLSPEC daeString COLLADA_TYPE_BORDER_COLOR;
+extern DLLSPEC daeString COLLADA_TYPE_MIPMAP_MAXLEVEL;
+extern DLLSPEC daeString COLLADA_TYPE_MIPMAP_BIAS;
+extern DLLSPEC daeString COLLADA_TYPE_FX_SAMPLER2D_COMMON;
+extern DLLSPEC daeString COLLADA_TYPE_WRAP_T;
+extern DLLSPEC daeString COLLADA_TYPE_FX_SAMPLER3D_COMMON;
+extern DLLSPEC daeString COLLADA_TYPE_WRAP_P;
+extern DLLSPEC daeString COLLADA_TYPE_FX_SAMPLERCUBE_COMMON;
+extern DLLSPEC daeString COLLADA_TYPE_FX_SAMPLERRECT_COMMON;
+extern DLLSPEC daeString COLLADA_TYPE_FX_SAMPLERDEPTH_COMMON;
+extern DLLSPEC daeString COLLADA_TYPE_FX_COLORTARGET_COMMON;
+extern DLLSPEC daeString COLLADA_TYPE_FX_DEPTHTARGET_COMMON;
+extern DLLSPEC daeString COLLADA_TYPE_FX_STENCILTARGET_COMMON;
+extern DLLSPEC daeString COLLADA_TYPE_FX_CLEARCOLOR_COMMON;
+extern DLLSPEC daeString COLLADA_TYPE_FX_CLEARDEPTH_COMMON;
+extern DLLSPEC daeString COLLADA_TYPE_FX_CLEARSTENCIL_COMMON;
+extern DLLSPEC daeString COLLADA_TYPE_FX_ANNOTATE_COMMON;
+extern DLLSPEC daeString COLLADA_TYPE_FX_INCLUDE_COMMON;
+extern DLLSPEC daeString COLLADA_TYPE_FX_NEWPARAM_COMMON;
+extern DLLSPEC daeString COLLADA_TYPE_SEMANTIC;
+extern DLLSPEC daeString COLLADA_TYPE_MODIFIER;
+extern DLLSPEC daeString COLLADA_TYPE_FX_CODE_PROFILE;
+extern DLLSPEC daeString COLLADA_TYPE_GL_SAMPLER1D;
+extern DLLSPEC daeString COLLADA_TYPE_GL_SAMPLER2D;
+extern DLLSPEC daeString COLLADA_TYPE_GL_SAMPLER3D;
+extern DLLSPEC daeString COLLADA_TYPE_GL_SAMPLERCUBE;
+extern DLLSPEC daeString COLLADA_TYPE_GL_SAMPLERRECT;
+extern DLLSPEC daeString COLLADA_TYPE_GL_SAMPLERDEPTH;
+extern DLLSPEC daeString COLLADA_TYPE_GLSL_NEWARRAY_TYPE;
+extern DLLSPEC daeString COLLADA_TYPE_GLSL_SETARRAY_TYPE;
+extern DLLSPEC daeString COLLADA_TYPE_GLSL_SURFACE_TYPE;
+extern DLLSPEC daeString COLLADA_TYPE_GENERATOR;
+extern DLLSPEC daeString COLLADA_TYPE_NAME;
+extern DLLSPEC daeString COLLADA_TYPE_GLSL_NEWPARAM;
+extern DLLSPEC daeString COLLADA_TYPE_GLSL_SETPARAM_SIMPLE;
+extern DLLSPEC daeString COLLADA_TYPE_GLSL_SETPARAM;
+extern DLLSPEC daeString COLLADA_TYPE_COMMON_FLOAT_OR_PARAM_TYPE;
+extern DLLSPEC daeString COLLADA_TYPE_FLOAT;
+extern DLLSPEC daeString COLLADA_TYPE_PARAM;
+extern DLLSPEC daeString COLLADA_TYPE_COMMON_COLOR_OR_TEXTURE_TYPE;
+extern DLLSPEC daeString COLLADA_TYPE_COLOR;
+extern DLLSPEC daeString COLLADA_TYPE_TEXTURE;
+extern DLLSPEC daeString COLLADA_TYPE_COMMON_TRANSPARENT_TYPE;
+extern DLLSPEC daeString COLLADA_TYPE_COMMON_NEWPARAM_TYPE;
+extern DLLSPEC daeString COLLADA_TYPE_FLOAT2;
+extern DLLSPEC daeString COLLADA_TYPE_FLOAT3;
+extern DLLSPEC daeString COLLADA_TYPE_FLOAT4;
+extern DLLSPEC daeString COLLADA_TYPE_CG_SAMPLER1D;
+extern DLLSPEC daeString COLLADA_TYPE_CG_SAMPLER2D;
+extern DLLSPEC daeString COLLADA_TYPE_CG_SAMPLER3D;
+extern DLLSPEC daeString COLLADA_TYPE_CG_SAMPLERCUBE;
+extern DLLSPEC daeString COLLADA_TYPE_CG_SAMPLERRECT;
+extern DLLSPEC daeString COLLADA_TYPE_CG_SAMPLERDEPTH;
+extern DLLSPEC daeString COLLADA_TYPE_CG_CONNECT_PARAM;
+extern DLLSPEC daeString COLLADA_TYPE_CG_NEWARRAY_TYPE;
+extern DLLSPEC daeString COLLADA_TYPE_CG_SETARRAY_TYPE;
+extern DLLSPEC daeString COLLADA_TYPE_CG_SETUSER_TYPE;
+extern DLLSPEC daeString COLLADA_TYPE_CG_SURFACE_TYPE;
+extern DLLSPEC daeString COLLADA_TYPE_CG_NEWPARAM;
+extern DLLSPEC daeString COLLADA_TYPE_CG_SETPARAM_SIMPLE;
+extern DLLSPEC daeString COLLADA_TYPE_CG_SETPARAM;
+extern DLLSPEC daeString COLLADA_TYPE_GLES_TEXTURE_CONSTANT_TYPE;
+extern DLLSPEC daeString COLLADA_TYPE_GLES_TEXENV_COMMAND_TYPE;
+extern DLLSPEC daeString COLLADA_TYPE_GLES_TEXCOMBINER_ARGUMENTRGB_TYPE;
+extern DLLSPEC daeString COLLADA_TYPE_GLES_TEXCOMBINER_ARGUMENTALPHA_TYPE;
+extern DLLSPEC daeString COLLADA_TYPE_GLES_TEXCOMBINER_COMMANDRGB_TYPE;
+extern DLLSPEC daeString COLLADA_TYPE_GLES_TEXCOMBINER_COMMANDALPHA_TYPE;
+extern DLLSPEC daeString COLLADA_TYPE_GLES_TEXCOMBINER_COMMAND_TYPE;
+extern DLLSPEC daeString COLLADA_TYPE_GLES_TEXTURE_PIPELINE;
+extern DLLSPEC daeString COLLADA_TYPE_GLES_TEXTURE_UNIT;
+extern DLLSPEC daeString COLLADA_TYPE_SURFACE;
+extern DLLSPEC daeString COLLADA_TYPE_SAMPLER_STATE;
+extern DLLSPEC daeString COLLADA_TYPE_TEXCOORD;
+extern DLLSPEC daeString COLLADA_TYPE_GLES_SAMPLER_STATE;
+extern DLLSPEC daeString COLLADA_TYPE_GLES_NEWPARAM;
+extern DLLSPEC daeString COLLADA_TYPE_FX_SURFACE_INIT_COMMON;
+extern DLLSPEC daeString COLLADA_TYPE_INIT_AS_NULL;
+extern DLLSPEC daeString COLLADA_TYPE_INIT_AS_TARGET;
+extern DLLSPEC daeString COLLADA_TYPE_FX_ANNOTATE_TYPE_COMMON;
+extern DLLSPEC daeString COLLADA_TYPE_BOOL;
+extern DLLSPEC daeString COLLADA_TYPE_BOOL2;
+extern DLLSPEC daeString COLLADA_TYPE_BOOL3;
+extern DLLSPEC daeString COLLADA_TYPE_BOOL4;
+extern DLLSPEC daeString COLLADA_TYPE_INT;
+extern DLLSPEC daeString COLLADA_TYPE_INT2;
+extern DLLSPEC daeString COLLADA_TYPE_INT3;
+extern DLLSPEC daeString COLLADA_TYPE_INT4;
+extern DLLSPEC daeString COLLADA_TYPE_FLOAT2X2;
+extern DLLSPEC daeString COLLADA_TYPE_FLOAT3X3;
+extern DLLSPEC daeString COLLADA_TYPE_FLOAT4X4;
+extern DLLSPEC daeString COLLADA_TYPE_STRING;
+extern DLLSPEC daeString COLLADA_TYPE_FX_BASIC_TYPE_COMMON;
+extern DLLSPEC daeString COLLADA_TYPE_FLOAT1X1;
+extern DLLSPEC daeString COLLADA_TYPE_FLOAT1X2;
+extern DLLSPEC daeString COLLADA_TYPE_FLOAT1X3;
+extern DLLSPEC daeString COLLADA_TYPE_FLOAT1X4;
+extern DLLSPEC daeString COLLADA_TYPE_FLOAT2X1;
+extern DLLSPEC daeString COLLADA_TYPE_FLOAT2X3;
+extern DLLSPEC daeString COLLADA_TYPE_FLOAT2X4;
+extern DLLSPEC daeString COLLADA_TYPE_FLOAT3X1;
+extern DLLSPEC daeString COLLADA_TYPE_FLOAT3X2;
+extern DLLSPEC daeString COLLADA_TYPE_FLOAT3X4;
+extern DLLSPEC daeString COLLADA_TYPE_FLOAT4X1;
+extern DLLSPEC daeString COLLADA_TYPE_FLOAT4X2;
+extern DLLSPEC daeString COLLADA_TYPE_FLOAT4X3;
+extern DLLSPEC daeString COLLADA_TYPE_ENUM;
+extern DLLSPEC daeString COLLADA_TYPE_GL_PIPELINE_SETTINGS;
+extern DLLSPEC daeString COLLADA_TYPE_ALPHA_FUNC;
+extern DLLSPEC daeString COLLADA_TYPE_FUNC;
+extern DLLSPEC daeString COLLADA_TYPE_VALUE;
+extern DLLSPEC daeString COLLADA_TYPE_BLEND_FUNC;
+extern DLLSPEC daeString COLLADA_TYPE_SRC;
+extern DLLSPEC daeString COLLADA_TYPE_DEST;
+extern DLLSPEC daeString COLLADA_TYPE_BLEND_FUNC_SEPARATE;
+extern DLLSPEC daeString COLLADA_TYPE_SRC_RGB;
+extern DLLSPEC daeString COLLADA_TYPE_DEST_RGB;
+extern DLLSPEC daeString COLLADA_TYPE_SRC_ALPHA;
+extern DLLSPEC daeString COLLADA_TYPE_DEST_ALPHA;
+extern DLLSPEC daeString COLLADA_TYPE_BLEND_EQUATION;
+extern DLLSPEC daeString COLLADA_TYPE_BLEND_EQUATION_SEPARATE;
+extern DLLSPEC daeString COLLADA_TYPE_RGB;
+extern DLLSPEC daeString COLLADA_TYPE_ALPHA;
+extern DLLSPEC daeString COLLADA_TYPE_COLOR_MATERIAL;
+extern DLLSPEC daeString COLLADA_TYPE_MODE;
+extern DLLSPEC daeString COLLADA_TYPE_CULL_FACE;
+extern DLLSPEC daeString COLLADA_TYPE_DEPTH_FUNC;
+extern DLLSPEC daeString COLLADA_TYPE_FOG_MODE;
+extern DLLSPEC daeString COLLADA_TYPE_FOG_COORD_SRC;
+extern DLLSPEC daeString COLLADA_TYPE_FRONT_FACE;
+extern DLLSPEC daeString COLLADA_TYPE_LIGHT_MODEL_COLOR_CONTROL;
+extern DLLSPEC daeString COLLADA_TYPE_LOGIC_OP;
+extern DLLSPEC daeString COLLADA_TYPE_POLYGON_MODE;
+extern DLLSPEC daeString COLLADA_TYPE_SHADE_MODEL;
+extern DLLSPEC daeString COLLADA_TYPE_STENCIL_FUNC;
+extern DLLSPEC daeString COLLADA_TYPE_REF;
+extern DLLSPEC daeString COLLADA_TYPE_MASK;
+extern DLLSPEC daeString COLLADA_TYPE_STENCIL_OP;
+extern DLLSPEC daeString COLLADA_TYPE_FAIL;
+extern DLLSPEC daeString COLLADA_TYPE_ZFAIL;
+extern DLLSPEC daeString COLLADA_TYPE_ZPASS;
+extern DLLSPEC daeString COLLADA_TYPE_STENCIL_FUNC_SEPARATE;
+extern DLLSPEC daeString COLLADA_TYPE_FRONT;
+extern DLLSPEC daeString COLLADA_TYPE_BACK;
+extern DLLSPEC daeString COLLADA_TYPE_STENCIL_OP_SEPARATE;
+extern DLLSPEC daeString COLLADA_TYPE_STENCIL_MASK_SEPARATE;
+extern DLLSPEC daeString COLLADA_TYPE_LIGHT_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_LIGHT_AMBIENT;
+extern DLLSPEC daeString COLLADA_TYPE_LIGHT_DIFFUSE;
+extern DLLSPEC daeString COLLADA_TYPE_LIGHT_SPECULAR;
+extern DLLSPEC daeString COLLADA_TYPE_LIGHT_POSITION;
+extern DLLSPEC daeString COLLADA_TYPE_LIGHT_CONSTANT_ATTENUATION;
+extern DLLSPEC daeString COLLADA_TYPE_LIGHT_LINEAR_ATTENUATION;
+extern DLLSPEC daeString COLLADA_TYPE_LIGHT_QUADRATIC_ATTENUATION;
+extern DLLSPEC daeString COLLADA_TYPE_LIGHT_SPOT_CUTOFF;
+extern DLLSPEC daeString COLLADA_TYPE_LIGHT_SPOT_DIRECTION;
+extern DLLSPEC daeString COLLADA_TYPE_LIGHT_SPOT_EXPONENT;
+extern DLLSPEC daeString COLLADA_TYPE_TEXTURE1D;
+extern DLLSPEC daeString COLLADA_TYPE_TEXTURE2D;
+extern DLLSPEC daeString COLLADA_TYPE_TEXTURE3D;
+extern DLLSPEC daeString COLLADA_TYPE_TEXTURECUBE;
+extern DLLSPEC daeString COLLADA_TYPE_TEXTURERECT;
+extern DLLSPEC daeString COLLADA_TYPE_TEXTUREDEPTH;
+extern DLLSPEC daeString COLLADA_TYPE_TEXTURE1D_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_TEXTURE2D_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_TEXTURE3D_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_TEXTURECUBE_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_TEXTURERECT_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_TEXTUREDEPTH_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_TEXTURE_ENV_COLOR;
+extern DLLSPEC daeString COLLADA_TYPE_TEXTURE_ENV_MODE;
+extern DLLSPEC daeString COLLADA_TYPE_CLIP_PLANE;
+extern DLLSPEC daeString COLLADA_TYPE_CLIP_PLANE_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_BLEND_COLOR;
+extern DLLSPEC daeString COLLADA_TYPE_CLEAR_COLOR;
+extern DLLSPEC daeString COLLADA_TYPE_CLEAR_STENCIL;
+extern DLLSPEC daeString COLLADA_TYPE_CLEAR_DEPTH;
+extern DLLSPEC daeString COLLADA_TYPE_COLOR_MASK;
+extern DLLSPEC daeString COLLADA_TYPE_DEPTH_BOUNDS;
+extern DLLSPEC daeString COLLADA_TYPE_DEPTH_MASK;
+extern DLLSPEC daeString COLLADA_TYPE_DEPTH_RANGE;
+extern DLLSPEC daeString COLLADA_TYPE_FOG_DENSITY;
+extern DLLSPEC daeString COLLADA_TYPE_FOG_START;
+extern DLLSPEC daeString COLLADA_TYPE_FOG_END;
+extern DLLSPEC daeString COLLADA_TYPE_FOG_COLOR;
+extern DLLSPEC daeString COLLADA_TYPE_LIGHT_MODEL_AMBIENT;
+extern DLLSPEC daeString COLLADA_TYPE_LIGHTING_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_LINE_STIPPLE;
+extern DLLSPEC daeString COLLADA_TYPE_LINE_WIDTH;
+extern DLLSPEC daeString COLLADA_TYPE_MATERIAL_AMBIENT;
+extern DLLSPEC daeString COLLADA_TYPE_MATERIAL_DIFFUSE;
+extern DLLSPEC daeString COLLADA_TYPE_MATERIAL_EMISSION;
+extern DLLSPEC daeString COLLADA_TYPE_MATERIAL_SHININESS;
+extern DLLSPEC daeString COLLADA_TYPE_MATERIAL_SPECULAR;
+extern DLLSPEC daeString COLLADA_TYPE_MODEL_VIEW_MATRIX;
+extern DLLSPEC daeString COLLADA_TYPE_POINT_DISTANCE_ATTENUATION;
+extern DLLSPEC daeString COLLADA_TYPE_POINT_FADE_THRESHOLD_SIZE;
+extern DLLSPEC daeString COLLADA_TYPE_POINT_SIZE;
+extern DLLSPEC daeString COLLADA_TYPE_POINT_SIZE_MIN;
+extern DLLSPEC daeString COLLADA_TYPE_POINT_SIZE_MAX;
+extern DLLSPEC daeString COLLADA_TYPE_POLYGON_OFFSET;
+extern DLLSPEC daeString COLLADA_TYPE_PROJECTION_MATRIX;
+extern DLLSPEC daeString COLLADA_TYPE_SCISSOR;
+extern DLLSPEC daeString COLLADA_TYPE_STENCIL_MASK;
+extern DLLSPEC daeString COLLADA_TYPE_ALPHA_TEST_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_AUTO_NORMAL_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_BLEND_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_COLOR_LOGIC_OP_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_COLOR_MATERIAL_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_CULL_FACE_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_DEPTH_BOUNDS_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_DEPTH_CLAMP_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_DEPTH_TEST_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_DITHER_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_FOG_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_LIGHT_MODEL_LOCAL_VIEWER_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_LIGHT_MODEL_TWO_SIDE_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_LINE_SMOOTH_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_LINE_STIPPLE_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_LOGIC_OP_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_MULTISAMPLE_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_NORMALIZE_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_POINT_SMOOTH_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_POLYGON_OFFSET_FILL_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_POLYGON_OFFSET_LINE_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_POLYGON_OFFSET_POINT_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_POLYGON_SMOOTH_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_POLYGON_STIPPLE_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_RESCALE_NORMAL_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_SAMPLE_ALPHA_TO_COVERAGE_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_SAMPLE_ALPHA_TO_ONE_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_SAMPLE_COVERAGE_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_SCISSOR_TEST_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_STENCIL_TEST_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_GLSL_PARAM_TYPE;
+extern DLLSPEC daeString COLLADA_TYPE_CG_PARAM_TYPE;
+extern DLLSPEC daeString COLLADA_TYPE_BOOL1;
+extern DLLSPEC daeString COLLADA_TYPE_BOOL1X1;
+extern DLLSPEC daeString COLLADA_TYPE_BOOL1X2;
+extern DLLSPEC daeString COLLADA_TYPE_BOOL1X3;
+extern DLLSPEC daeString COLLADA_TYPE_BOOL1X4;
+extern DLLSPEC daeString COLLADA_TYPE_BOOL2X1;
+extern DLLSPEC daeString COLLADA_TYPE_BOOL2X2;
+extern DLLSPEC daeString COLLADA_TYPE_BOOL2X3;
+extern DLLSPEC daeString COLLADA_TYPE_BOOL2X4;
+extern DLLSPEC daeString COLLADA_TYPE_BOOL3X1;
+extern DLLSPEC daeString COLLADA_TYPE_BOOL3X2;
+extern DLLSPEC daeString COLLADA_TYPE_BOOL3X3;
+extern DLLSPEC daeString COLLADA_TYPE_BOOL3X4;
+extern DLLSPEC daeString COLLADA_TYPE_BOOL4X1;
+extern DLLSPEC daeString COLLADA_TYPE_BOOL4X2;
+extern DLLSPEC daeString COLLADA_TYPE_BOOL4X3;
+extern DLLSPEC daeString COLLADA_TYPE_BOOL4X4;
+extern DLLSPEC daeString COLLADA_TYPE_FLOAT1;
+extern DLLSPEC daeString COLLADA_TYPE_INT1;
+extern DLLSPEC daeString COLLADA_TYPE_INT1X1;
+extern DLLSPEC daeString COLLADA_TYPE_INT1X2;
+extern DLLSPEC daeString COLLADA_TYPE_INT1X3;
+extern DLLSPEC daeString COLLADA_TYPE_INT1X4;
+extern DLLSPEC daeString COLLADA_TYPE_INT2X1;
+extern DLLSPEC daeString COLLADA_TYPE_INT2X2;
+extern DLLSPEC daeString COLLADA_TYPE_INT2X3;
+extern DLLSPEC daeString COLLADA_TYPE_INT2X4;
+extern DLLSPEC daeString COLLADA_TYPE_INT3X1;
+extern DLLSPEC daeString COLLADA_TYPE_INT3X2;
+extern DLLSPEC daeString COLLADA_TYPE_INT3X3;
+extern DLLSPEC daeString COLLADA_TYPE_INT3X4;
+extern DLLSPEC daeString COLLADA_TYPE_INT4X1;
+extern DLLSPEC daeString COLLADA_TYPE_INT4X2;
+extern DLLSPEC daeString COLLADA_TYPE_INT4X3;
+extern DLLSPEC daeString COLLADA_TYPE_INT4X4;
+extern DLLSPEC daeString COLLADA_TYPE_HALF;
+extern DLLSPEC daeString COLLADA_TYPE_HALF1;
+extern DLLSPEC daeString COLLADA_TYPE_HALF2;
+extern DLLSPEC daeString COLLADA_TYPE_HALF3;
+extern DLLSPEC daeString COLLADA_TYPE_HALF4;
+extern DLLSPEC daeString COLLADA_TYPE_HALF1X1;
+extern DLLSPEC daeString COLLADA_TYPE_HALF1X2;
+extern DLLSPEC daeString COLLADA_TYPE_HALF1X3;
+extern DLLSPEC daeString COLLADA_TYPE_HALF1X4;
+extern DLLSPEC daeString COLLADA_TYPE_HALF2X1;
+extern DLLSPEC daeString COLLADA_TYPE_HALF2X2;
+extern DLLSPEC daeString COLLADA_TYPE_HALF2X3;
+extern DLLSPEC daeString COLLADA_TYPE_HALF2X4;
+extern DLLSPEC daeString COLLADA_TYPE_HALF3X1;
+extern DLLSPEC daeString COLLADA_TYPE_HALF3X2;
+extern DLLSPEC daeString COLLADA_TYPE_HALF3X3;
+extern DLLSPEC daeString COLLADA_TYPE_HALF3X4;
+extern DLLSPEC daeString COLLADA_TYPE_HALF4X1;
+extern DLLSPEC daeString COLLADA_TYPE_HALF4X2;
+extern DLLSPEC daeString COLLADA_TYPE_HALF4X3;
+extern DLLSPEC daeString COLLADA_TYPE_HALF4X4;
+extern DLLSPEC daeString COLLADA_TYPE_FIXED;
+extern DLLSPEC daeString COLLADA_TYPE_FIXED1;
+extern DLLSPEC daeString COLLADA_TYPE_FIXED2;
+extern DLLSPEC daeString COLLADA_TYPE_FIXED3;
+extern DLLSPEC daeString COLLADA_TYPE_FIXED4;
+extern DLLSPEC daeString COLLADA_TYPE_FIXED1X1;
+extern DLLSPEC daeString COLLADA_TYPE_FIXED1X2;
+extern DLLSPEC daeString COLLADA_TYPE_FIXED1X3;
+extern DLLSPEC daeString COLLADA_TYPE_FIXED1X4;
+extern DLLSPEC daeString COLLADA_TYPE_FIXED2X1;
+extern DLLSPEC daeString COLLADA_TYPE_FIXED2X2;
+extern DLLSPEC daeString COLLADA_TYPE_FIXED2X3;
+extern DLLSPEC daeString COLLADA_TYPE_FIXED2X4;
+extern DLLSPEC daeString COLLADA_TYPE_FIXED3X1;
+extern DLLSPEC daeString COLLADA_TYPE_FIXED3X2;
+extern DLLSPEC daeString COLLADA_TYPE_FIXED3X3;
+extern DLLSPEC daeString COLLADA_TYPE_FIXED3X4;
+extern DLLSPEC daeString COLLADA_TYPE_FIXED4X1;
+extern DLLSPEC daeString COLLADA_TYPE_FIXED4X2;
+extern DLLSPEC daeString COLLADA_TYPE_FIXED4X3;
+extern DLLSPEC daeString COLLADA_TYPE_FIXED4X4;
+extern DLLSPEC daeString COLLADA_TYPE_GLES_PIPELINE_SETTINGS;
+extern DLLSPEC daeString COLLADA_TYPE_TEXTURE_PIPELINE;
+extern DLLSPEC daeString COLLADA_TYPE_LIGHT_LINEAR_ATTENUTATION;
+extern DLLSPEC daeString COLLADA_TYPE_TEXTURE_PIPELINE_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_GLES_BASIC_TYPE_COMMON;
+extern DLLSPEC daeString COLLADA_TYPE_COLLADA;
+extern DLLSPEC daeString COLLADA_TYPE_SCENE;
+extern DLLSPEC daeString COLLADA_TYPE_IDREF_ARRAY;
+extern DLLSPEC daeString COLLADA_TYPE_NAME_ARRAY;
+extern DLLSPEC daeString COLLADA_TYPE_BOOL_ARRAY;
+extern DLLSPEC daeString COLLADA_TYPE_FLOAT_ARRAY;
+extern DLLSPEC daeString COLLADA_TYPE_INT_ARRAY;
+extern DLLSPEC daeString COLLADA_TYPE_ACCESSOR;
+extern DLLSPEC daeString COLLADA_TYPE_TECHNIQUE_COMMON;
+extern DLLSPEC daeString COLLADA_TYPE_GEOMETRY;
+extern DLLSPEC daeString COLLADA_TYPE_MESH;
+extern DLLSPEC daeString COLLADA_TYPE_SPLINE;
+extern DLLSPEC daeString COLLADA_TYPE_CONTROL_VERTICES;
+extern DLLSPEC daeString COLLADA_TYPE_P;
+extern DLLSPEC daeString COLLADA_TYPE_LINES;
+extern DLLSPEC daeString COLLADA_TYPE_LINESTRIPS;
+extern DLLSPEC daeString COLLADA_TYPE_POLYGONS;
+extern DLLSPEC daeString COLLADA_TYPE_PH;
+extern DLLSPEC daeString COLLADA_TYPE_H;
+extern DLLSPEC daeString COLLADA_TYPE_POLYLIST;
+extern DLLSPEC daeString COLLADA_TYPE_VCOUNT;
+extern DLLSPEC daeString COLLADA_TYPE_TRIANGLES;
+extern DLLSPEC daeString COLLADA_TYPE_TRIFANS;
+extern DLLSPEC daeString COLLADA_TYPE_TRISTRIPS;
+extern DLLSPEC daeString COLLADA_TYPE_VERTICES;
+extern DLLSPEC daeString COLLADA_TYPE_LOOKAT;
+extern DLLSPEC daeString COLLADA_TYPE_MATRIX;
+extern DLLSPEC daeString COLLADA_TYPE_ROTATE;
+extern DLLSPEC daeString COLLADA_TYPE_SCALE;
+extern DLLSPEC daeString COLLADA_TYPE_SKEW;
+extern DLLSPEC daeString COLLADA_TYPE_TRANSLATE;
+extern DLLSPEC daeString COLLADA_TYPE_IMAGE;
+extern DLLSPEC daeString COLLADA_TYPE_DATA;
+extern DLLSPEC daeString COLLADA_TYPE_INIT_FROM;
+extern DLLSPEC daeString COLLADA_TYPE_LIGHT;
+extern DLLSPEC daeString COLLADA_TYPE_AMBIENT;
+extern DLLSPEC daeString COLLADA_TYPE_DIRECTIONAL;
+extern DLLSPEC daeString COLLADA_TYPE_POINT;
+extern DLLSPEC daeString COLLADA_TYPE_SPOT;
+extern DLLSPEC daeString COLLADA_TYPE_MATERIAL;
+extern DLLSPEC daeString COLLADA_TYPE_CAMERA;
+extern DLLSPEC daeString COLLADA_TYPE_OPTICS;
+extern DLLSPEC daeString COLLADA_TYPE_ORTHOGRAPHIC;
+extern DLLSPEC daeString COLLADA_TYPE_PERSPECTIVE;
+extern DLLSPEC daeString COLLADA_TYPE_IMAGER;
+extern DLLSPEC daeString COLLADA_TYPE_ANIMATION;
+extern DLLSPEC daeString COLLADA_TYPE_ANIMATION_CLIP;
+extern DLLSPEC daeString COLLADA_TYPE_CHANNEL;
+extern DLLSPEC daeString COLLADA_TYPE_SAMPLER;
+extern DLLSPEC daeString COLLADA_TYPE_CONTROLLER;
+extern DLLSPEC daeString COLLADA_TYPE_SKIN;
+extern DLLSPEC daeString COLLADA_TYPE_BIND_SHAPE_MATRIX;
+extern DLLSPEC daeString COLLADA_TYPE_JOINTS;
+extern DLLSPEC daeString COLLADA_TYPE_VERTEX_WEIGHTS;
+extern DLLSPEC daeString COLLADA_TYPE_V;
+extern DLLSPEC daeString COLLADA_TYPE_MORPH;
+extern DLLSPEC daeString COLLADA_TYPE_TARGETS;
+extern DLLSPEC daeString COLLADA_TYPE_ASSET;
+extern DLLSPEC daeString COLLADA_TYPE_CONTRIBUTOR;
+extern DLLSPEC daeString COLLADA_TYPE_AUTHOR;
+extern DLLSPEC daeString COLLADA_TYPE_AUTHORING_TOOL;
+extern DLLSPEC daeString COLLADA_TYPE_COMMENTS;
+extern DLLSPEC daeString COLLADA_TYPE_COPYRIGHT;
+extern DLLSPEC daeString COLLADA_TYPE_SOURCE_DATA;
+extern DLLSPEC daeString COLLADA_TYPE_CREATED;
+extern DLLSPEC daeString COLLADA_TYPE_KEYWORDS;
+extern DLLSPEC daeString COLLADA_TYPE_MODIFIED;
+extern DLLSPEC daeString COLLADA_TYPE_REVISION;
+extern DLLSPEC daeString COLLADA_TYPE_SUBJECT;
+extern DLLSPEC daeString COLLADA_TYPE_TITLE;
+extern DLLSPEC daeString COLLADA_TYPE_UNIT;
+extern DLLSPEC daeString COLLADA_TYPE_UP_AXIS;
+extern DLLSPEC daeString COLLADA_TYPE_EXTRA;
+extern DLLSPEC daeString COLLADA_TYPE_TECHNIQUE;
+extern DLLSPEC daeString COLLADA_TYPE_NODE;
+extern DLLSPEC daeString COLLADA_TYPE_VISUAL_SCENE;
+extern DLLSPEC daeString COLLADA_TYPE_EVALUATE_SCENE;
+extern DLLSPEC daeString COLLADA_TYPE_RENDER;
+extern DLLSPEC daeString COLLADA_TYPE_LAYER;
+extern DLLSPEC daeString COLLADA_TYPE_BIND_MATERIAL;
+extern DLLSPEC daeString COLLADA_TYPE_INSTANCE_CAMERA;
+extern DLLSPEC daeString COLLADA_TYPE_INSTANCE_CONTROLLER;
+extern DLLSPEC daeString COLLADA_TYPE_SKELETON;
+extern DLLSPEC daeString COLLADA_TYPE_INSTANCE_EFFECT;
+extern DLLSPEC daeString COLLADA_TYPE_TECHNIQUE_HINT;
+extern DLLSPEC daeString COLLADA_TYPE_SETPARAM;
+extern DLLSPEC daeString COLLADA_TYPE_INSTANCE_FORCE_FIELD;
+extern DLLSPEC daeString COLLADA_TYPE_INSTANCE_GEOMETRY;
+extern DLLSPEC daeString COLLADA_TYPE_INSTANCE_LIGHT;
+extern DLLSPEC daeString COLLADA_TYPE_INSTANCE_MATERIAL;
+extern DLLSPEC daeString COLLADA_TYPE_BIND;
+extern DLLSPEC daeString COLLADA_TYPE_BIND_VERTEX_INPUT;
+extern DLLSPEC daeString COLLADA_TYPE_INSTANCE_NODE;
+extern DLLSPEC daeString COLLADA_TYPE_INSTANCE_PHYSICS_MATERIAL;
+extern DLLSPEC daeString COLLADA_TYPE_INSTANCE_PHYSICS_MODEL;
+extern DLLSPEC daeString COLLADA_TYPE_INSTANCE_RIGID_BODY;
+extern DLLSPEC daeString COLLADA_TYPE_ANGULAR_VELOCITY;
+extern DLLSPEC daeString COLLADA_TYPE_VELOCITY;
+extern DLLSPEC daeString COLLADA_TYPE_DYNAMIC;
+extern DLLSPEC daeString COLLADA_TYPE_MASS_FRAME;
+extern DLLSPEC daeString COLLADA_TYPE_SHAPE;
+extern DLLSPEC daeString COLLADA_TYPE_HOLLOW;
+extern DLLSPEC daeString COLLADA_TYPE_INSTANCE_RIGID_CONSTRAINT;
+extern DLLSPEC daeString COLLADA_TYPE_LIBRARY_ANIMATIONS;
+extern DLLSPEC daeString COLLADA_TYPE_LIBRARY_ANIMATION_CLIPS;
+extern DLLSPEC daeString COLLADA_TYPE_LIBRARY_CAMERAS;
+extern DLLSPEC daeString COLLADA_TYPE_LIBRARY_CONTROLLERS;
+extern DLLSPEC daeString COLLADA_TYPE_LIBRARY_GEOMETRIES;
+extern DLLSPEC daeString COLLADA_TYPE_LIBRARY_EFFECTS;
+extern DLLSPEC daeString COLLADA_TYPE_LIBRARY_FORCE_FIELDS;
+extern DLLSPEC daeString COLLADA_TYPE_LIBRARY_IMAGES;
+extern DLLSPEC daeString COLLADA_TYPE_LIBRARY_LIGHTS;
+extern DLLSPEC daeString COLLADA_TYPE_LIBRARY_MATERIALS;
+extern DLLSPEC daeString COLLADA_TYPE_LIBRARY_NODES;
+extern DLLSPEC daeString COLLADA_TYPE_LIBRARY_PHYSICS_MATERIALS;
+extern DLLSPEC daeString COLLADA_TYPE_LIBRARY_PHYSICS_MODELS;
+extern DLLSPEC daeString COLLADA_TYPE_LIBRARY_PHYSICS_SCENES;
+extern DLLSPEC daeString COLLADA_TYPE_LIBRARY_VISUAL_SCENES;
+extern DLLSPEC daeString COLLADA_TYPE_FX_PROFILE_ABSTRACT;
+extern DLLSPEC daeString COLLADA_TYPE_EFFECT;
+extern DLLSPEC daeString COLLADA_TYPE_GL_HOOK_ABSTRACT;
+extern DLLSPEC daeString COLLADA_TYPE_PROFILE_GLSL;
+extern DLLSPEC daeString COLLADA_TYPE_PASS;
+extern DLLSPEC daeString COLLADA_TYPE_DRAW;
+extern DLLSPEC daeString COLLADA_TYPE_SHADER;
+extern DLLSPEC daeString COLLADA_TYPE_COMPILER_TARGET;
+extern DLLSPEC daeString COLLADA_TYPE_COMPILER_OPTIONS;
+extern DLLSPEC daeString COLLADA_TYPE_PROFILE_COMMON;
+extern DLLSPEC daeString COLLADA_TYPE_CONSTANT;
+extern DLLSPEC daeString COLLADA_TYPE_LAMBERT;
+extern DLLSPEC daeString COLLADA_TYPE_PHONG;
+extern DLLSPEC daeString COLLADA_TYPE_BLINN;
+extern DLLSPEC daeString COLLADA_TYPE_PROFILE_CG;
+extern DLLSPEC daeString COLLADA_TYPE_PROFILE_GLES;
+extern DLLSPEC daeString COLLADA_TYPE_COLOR_TARGET;
+extern DLLSPEC daeString COLLADA_TYPE_DEPTH_TARGET;
+extern DLLSPEC daeString COLLADA_TYPE_STENCIL_TARGET;
+extern DLLSPEC daeString COLLADA_TYPE_COLOR_CLEAR;
+extern DLLSPEC daeString COLLADA_TYPE_DEPTH_CLEAR;
+extern DLLSPEC daeString COLLADA_TYPE_STENCIL_CLEAR;
+extern DLLSPEC daeString COLLADA_TYPE_BOX;
+extern DLLSPEC daeString COLLADA_TYPE_HALF_EXTENTS;
+extern DLLSPEC daeString COLLADA_TYPE_PLANE;
+extern DLLSPEC daeString COLLADA_TYPE_EQUATION;
+extern DLLSPEC daeString COLLADA_TYPE_SPHERE;
+extern DLLSPEC daeString COLLADA_TYPE_RADIUS;
+extern DLLSPEC daeString COLLADA_TYPE_ELLIPSOID;
+extern DLLSPEC daeString COLLADA_TYPE_CYLINDER;
+extern DLLSPEC daeString COLLADA_TYPE_HEIGHT;
+extern DLLSPEC daeString COLLADA_TYPE_TAPERED_CYLINDER;
+extern DLLSPEC daeString COLLADA_TYPE_RADIUS1;
+extern DLLSPEC daeString COLLADA_TYPE_RADIUS2;
+extern DLLSPEC daeString COLLADA_TYPE_CAPSULE;
+extern DLLSPEC daeString COLLADA_TYPE_TAPERED_CAPSULE;
+extern DLLSPEC daeString COLLADA_TYPE_CONVEX_MESH;
+extern DLLSPEC daeString COLLADA_TYPE_FORCE_FIELD;
+extern DLLSPEC daeString COLLADA_TYPE_PHYSICS_MATERIAL;
+extern DLLSPEC daeString COLLADA_TYPE_PHYSICS_SCENE;
+extern DLLSPEC daeString COLLADA_TYPE_RIGID_BODY;
+extern DLLSPEC daeString COLLADA_TYPE_RIGID_CONSTRAINT;
+extern DLLSPEC daeString COLLADA_TYPE_REF_ATTACHMENT;
+extern DLLSPEC daeString COLLADA_TYPE_ATTACHMENT;
+extern DLLSPEC daeString COLLADA_TYPE_ENABLED;
+extern DLLSPEC daeString COLLADA_TYPE_INTERPENETRATE;
+extern DLLSPEC daeString COLLADA_TYPE_LIMITS;
+extern DLLSPEC daeString COLLADA_TYPE_SWING_CONE_AND_TWIST;
+extern DLLSPEC daeString COLLADA_TYPE_LINEAR;
+extern DLLSPEC daeString COLLADA_TYPE_SPRING;
+extern DLLSPEC daeString COLLADA_TYPE_ANGULAR;
+extern DLLSPEC daeString COLLADA_TYPE_PHYSICS_MODEL;
+
+extern DLLSPEC daeString COLLADA_ELEMENT_COLLADA;
+extern DLLSPEC daeString COLLADA_ELEMENT_EXTRA;
+extern DLLSPEC daeString COLLADA_ELEMENT_CHANNELS;
+extern DLLSPEC daeString COLLADA_ELEMENT_RANGE;
+extern DLLSPEC daeString COLLADA_ELEMENT_PRECISION;
+extern DLLSPEC daeString COLLADA_ELEMENT_OPTION;
+extern DLLSPEC daeString COLLADA_ELEMENT_ALL;
+extern DLLSPEC daeString COLLADA_ELEMENT_PRIMARY;
+extern DLLSPEC daeString COLLADA_ELEMENT_FACE;
+extern DLLSPEC daeString COLLADA_ELEMENT_ORDER;
+extern DLLSPEC daeString COLLADA_ELEMENT_FX_SURFACE_INIT_COMMON;
+extern DLLSPEC daeString COLLADA_ELEMENT_FORMAT;
+extern DLLSPEC daeString COLLADA_ELEMENT_FORMAT_HINT;
+extern DLLSPEC daeString COLLADA_ELEMENT_SIZE;
+extern DLLSPEC daeString COLLADA_ELEMENT_VIEWPORT_RATIO;
+extern DLLSPEC daeString COLLADA_ELEMENT_MIP_LEVELS;
+extern DLLSPEC daeString COLLADA_ELEMENT_MIPMAP_GENERATE;
+extern DLLSPEC daeString COLLADA_ELEMENT_SOURCE;
+extern DLLSPEC daeString COLLADA_ELEMENT_WRAP_S;
+extern DLLSPEC daeString COLLADA_ELEMENT_MINFILTER;
+extern DLLSPEC daeString COLLADA_ELEMENT_MAGFILTER;
+extern DLLSPEC daeString COLLADA_ELEMENT_MIPFILTER;
+extern DLLSPEC daeString COLLADA_ELEMENT_BORDER_COLOR;
+extern DLLSPEC daeString COLLADA_ELEMENT_MIPMAP_MAXLEVEL;
+extern DLLSPEC daeString COLLADA_ELEMENT_MIPMAP_BIAS;
+extern DLLSPEC daeString COLLADA_ELEMENT_WRAP_T;
+extern DLLSPEC daeString COLLADA_ELEMENT_WRAP_P;
+extern DLLSPEC daeString COLLADA_ELEMENT_FX_ANNOTATE_TYPE_COMMON;
+extern DLLSPEC daeString COLLADA_ELEMENT_ANNOTATE;
+extern DLLSPEC daeString COLLADA_ELEMENT_SEMANTIC;
+extern DLLSPEC daeString COLLADA_ELEMENT_MODIFIER;
+extern DLLSPEC daeString COLLADA_ELEMENT_FX_BASIC_TYPE_COMMON;
+extern DLLSPEC daeString COLLADA_ELEMENT_GLSL_PARAM_TYPE;
+extern DLLSPEC daeString COLLADA_ELEMENT_ARRAY;
+extern DLLSPEC daeString COLLADA_ELEMENT_GENERATOR;
+extern DLLSPEC daeString COLLADA_ELEMENT_CODE;
+extern DLLSPEC daeString COLLADA_ELEMENT_INCLUDE;
+extern DLLSPEC daeString COLLADA_ELEMENT_NAME;
+extern DLLSPEC daeString COLLADA_ELEMENT_SETPARAM;
+extern DLLSPEC daeString COLLADA_ELEMENT_FLOAT;
+extern DLLSPEC daeString COLLADA_ELEMENT_PARAM;
+extern DLLSPEC daeString COLLADA_ELEMENT_COLOR;
+extern DLLSPEC daeString COLLADA_ELEMENT_TEXTURE;
+extern DLLSPEC daeString COLLADA_ELEMENT_FLOAT2;
+extern DLLSPEC daeString COLLADA_ELEMENT_FLOAT3;
+extern DLLSPEC daeString COLLADA_ELEMENT_FLOAT4;
+extern DLLSPEC daeString COLLADA_ELEMENT_SURFACE;
+extern DLLSPEC daeString COLLADA_ELEMENT_SAMPLER2D;
+extern DLLSPEC daeString COLLADA_ELEMENT_CG_PARAM_TYPE;
+extern DLLSPEC daeString COLLADA_ELEMENT_USERTYPE;
+extern DLLSPEC daeString COLLADA_ELEMENT_CONNECT_PARAM;
+extern DLLSPEC daeString COLLADA_ELEMENT_CONSTANT;
+extern DLLSPEC daeString COLLADA_ELEMENT_ARGUMENT;
+extern DLLSPEC daeString COLLADA_ELEMENT_RGB;
+extern DLLSPEC daeString COLLADA_ELEMENT_ALPHA;
+extern DLLSPEC daeString COLLADA_ELEMENT_TEXCOMBINER;
+extern DLLSPEC daeString COLLADA_ELEMENT_TEXENV;
+extern DLLSPEC daeString COLLADA_ELEMENT_SAMPLER_STATE;
+extern DLLSPEC daeString COLLADA_ELEMENT_TEXCOORD;
+extern DLLSPEC daeString COLLADA_ELEMENT_GLES_BASIC_TYPE_COMMON;
+extern DLLSPEC daeString COLLADA_ELEMENT_INIT_AS_NULL;
+extern DLLSPEC daeString COLLADA_ELEMENT_INIT_AS_TARGET;
+extern DLLSPEC daeString COLLADA_ELEMENT_INIT_CUBE;
+extern DLLSPEC daeString COLLADA_ELEMENT_INIT_VOLUME;
+extern DLLSPEC daeString COLLADA_ELEMENT_INIT_PLANAR;
+extern DLLSPEC daeString COLLADA_ELEMENT_INIT_FROM;
+extern DLLSPEC daeString COLLADA_ELEMENT_BOOL;
+extern DLLSPEC daeString COLLADA_ELEMENT_BOOL2;
+extern DLLSPEC daeString COLLADA_ELEMENT_BOOL3;
+extern DLLSPEC daeString COLLADA_ELEMENT_BOOL4;
+extern DLLSPEC daeString COLLADA_ELEMENT_INT;
+extern DLLSPEC daeString COLLADA_ELEMENT_INT2;
+extern DLLSPEC daeString COLLADA_ELEMENT_INT3;
+extern DLLSPEC daeString COLLADA_ELEMENT_INT4;
+extern DLLSPEC daeString COLLADA_ELEMENT_FLOAT2X2;
+extern DLLSPEC daeString COLLADA_ELEMENT_FLOAT3X3;
+extern DLLSPEC daeString COLLADA_ELEMENT_FLOAT4X4;
+extern DLLSPEC daeString COLLADA_ELEMENT_STRING;
+extern DLLSPEC daeString COLLADA_ELEMENT_FLOAT1X1;
+extern DLLSPEC daeString COLLADA_ELEMENT_FLOAT1X2;
+extern DLLSPEC daeString COLLADA_ELEMENT_FLOAT1X3;
+extern DLLSPEC daeString COLLADA_ELEMENT_FLOAT1X4;
+extern DLLSPEC daeString COLLADA_ELEMENT_FLOAT2X1;
+extern DLLSPEC daeString COLLADA_ELEMENT_FLOAT2X3;
+extern DLLSPEC daeString COLLADA_ELEMENT_FLOAT2X4;
+extern DLLSPEC daeString COLLADA_ELEMENT_FLOAT3X1;
+extern DLLSPEC daeString COLLADA_ELEMENT_FLOAT3X2;
+extern DLLSPEC daeString COLLADA_ELEMENT_FLOAT3X4;
+extern DLLSPEC daeString COLLADA_ELEMENT_FLOAT4X1;
+extern DLLSPEC daeString COLLADA_ELEMENT_FLOAT4X2;
+extern DLLSPEC daeString COLLADA_ELEMENT_FLOAT4X3;
+extern DLLSPEC daeString COLLADA_ELEMENT_SAMPLER1D;
+extern DLLSPEC daeString COLLADA_ELEMENT_SAMPLER3D;
+extern DLLSPEC daeString COLLADA_ELEMENT_SAMPLERCUBE;
+extern DLLSPEC daeString COLLADA_ELEMENT_SAMPLERRECT;
+extern DLLSPEC daeString COLLADA_ELEMENT_SAMPLERDEPTH;
+extern DLLSPEC daeString COLLADA_ELEMENT_ENUM;
+extern DLLSPEC daeString COLLADA_ELEMENT_ALPHA_FUNC;
+extern DLLSPEC daeString COLLADA_ELEMENT_BLEND_FUNC;
+extern DLLSPEC daeString COLLADA_ELEMENT_BLEND_FUNC_SEPARATE;
+extern DLLSPEC daeString COLLADA_ELEMENT_BLEND_EQUATION;
+extern DLLSPEC daeString COLLADA_ELEMENT_BLEND_EQUATION_SEPARATE;
+extern DLLSPEC daeString COLLADA_ELEMENT_COLOR_MATERIAL;
+extern DLLSPEC daeString COLLADA_ELEMENT_CULL_FACE;
+extern DLLSPEC daeString COLLADA_ELEMENT_DEPTH_FUNC;
+extern DLLSPEC daeString COLLADA_ELEMENT_FOG_MODE;
+extern DLLSPEC daeString COLLADA_ELEMENT_FOG_COORD_SRC;
+extern DLLSPEC daeString COLLADA_ELEMENT_FRONT_FACE;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIGHT_MODEL_COLOR_CONTROL;
+extern DLLSPEC daeString COLLADA_ELEMENT_LOGIC_OP;
+extern DLLSPEC daeString COLLADA_ELEMENT_POLYGON_MODE;
+extern DLLSPEC daeString COLLADA_ELEMENT_SHADE_MODEL;
+extern DLLSPEC daeString COLLADA_ELEMENT_STENCIL_FUNC;
+extern DLLSPEC daeString COLLADA_ELEMENT_STENCIL_OP;
+extern DLLSPEC daeString COLLADA_ELEMENT_STENCIL_FUNC_SEPARATE;
+extern DLLSPEC daeString COLLADA_ELEMENT_STENCIL_OP_SEPARATE;
+extern DLLSPEC daeString COLLADA_ELEMENT_STENCIL_MASK_SEPARATE;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIGHT_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIGHT_AMBIENT;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIGHT_DIFFUSE;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIGHT_SPECULAR;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIGHT_POSITION;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIGHT_CONSTANT_ATTENUATION;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIGHT_LINEAR_ATTENUATION;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIGHT_QUADRATIC_ATTENUATION;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIGHT_SPOT_CUTOFF;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIGHT_SPOT_DIRECTION;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIGHT_SPOT_EXPONENT;
+extern DLLSPEC daeString COLLADA_ELEMENT_TEXTURE1D;
+extern DLLSPEC daeString COLLADA_ELEMENT_TEXTURE2D;
+extern DLLSPEC daeString COLLADA_ELEMENT_TEXTURE3D;
+extern DLLSPEC daeString COLLADA_ELEMENT_TEXTURECUBE;
+extern DLLSPEC daeString COLLADA_ELEMENT_TEXTURERECT;
+extern DLLSPEC daeString COLLADA_ELEMENT_TEXTUREDEPTH;
+extern DLLSPEC daeString COLLADA_ELEMENT_TEXTURE1D_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_TEXTURE2D_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_TEXTURE3D_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_TEXTURECUBE_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_TEXTURERECT_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_TEXTUREDEPTH_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_TEXTURE_ENV_COLOR;
+extern DLLSPEC daeString COLLADA_ELEMENT_TEXTURE_ENV_MODE;
+extern DLLSPEC daeString COLLADA_ELEMENT_CLIP_PLANE;
+extern DLLSPEC daeString COLLADA_ELEMENT_CLIP_PLANE_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_BLEND_COLOR;
+extern DLLSPEC daeString COLLADA_ELEMENT_CLEAR_COLOR;
+extern DLLSPEC daeString COLLADA_ELEMENT_CLEAR_STENCIL;
+extern DLLSPEC daeString COLLADA_ELEMENT_CLEAR_DEPTH;
+extern DLLSPEC daeString COLLADA_ELEMENT_COLOR_MASK;
+extern DLLSPEC daeString COLLADA_ELEMENT_DEPTH_BOUNDS;
+extern DLLSPEC daeString COLLADA_ELEMENT_DEPTH_MASK;
+extern DLLSPEC daeString COLLADA_ELEMENT_DEPTH_RANGE;
+extern DLLSPEC daeString COLLADA_ELEMENT_FOG_DENSITY;
+extern DLLSPEC daeString COLLADA_ELEMENT_FOG_START;
+extern DLLSPEC daeString COLLADA_ELEMENT_FOG_END;
+extern DLLSPEC daeString COLLADA_ELEMENT_FOG_COLOR;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIGHT_MODEL_AMBIENT;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIGHTING_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_LINE_STIPPLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_LINE_WIDTH;
+extern DLLSPEC daeString COLLADA_ELEMENT_MATERIAL_AMBIENT;
+extern DLLSPEC daeString COLLADA_ELEMENT_MATERIAL_DIFFUSE;
+extern DLLSPEC daeString COLLADA_ELEMENT_MATERIAL_EMISSION;
+extern DLLSPEC daeString COLLADA_ELEMENT_MATERIAL_SHININESS;
+extern DLLSPEC daeString COLLADA_ELEMENT_MATERIAL_SPECULAR;
+extern DLLSPEC daeString COLLADA_ELEMENT_MODEL_VIEW_MATRIX;
+extern DLLSPEC daeString COLLADA_ELEMENT_POINT_DISTANCE_ATTENUATION;
+extern DLLSPEC daeString COLLADA_ELEMENT_POINT_FADE_THRESHOLD_SIZE;
+extern DLLSPEC daeString COLLADA_ELEMENT_POINT_SIZE;
+extern DLLSPEC daeString COLLADA_ELEMENT_POINT_SIZE_MIN;
+extern DLLSPEC daeString COLLADA_ELEMENT_POINT_SIZE_MAX;
+extern DLLSPEC daeString COLLADA_ELEMENT_POLYGON_OFFSET;
+extern DLLSPEC daeString COLLADA_ELEMENT_PROJECTION_MATRIX;
+extern DLLSPEC daeString COLLADA_ELEMENT_SCISSOR;
+extern DLLSPEC daeString COLLADA_ELEMENT_STENCIL_MASK;
+extern DLLSPEC daeString COLLADA_ELEMENT_ALPHA_TEST_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_AUTO_NORMAL_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_BLEND_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_COLOR_LOGIC_OP_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_COLOR_MATERIAL_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_CULL_FACE_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_DEPTH_BOUNDS_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_DEPTH_CLAMP_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_DEPTH_TEST_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_DITHER_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_FOG_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_LINE_SMOOTH_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_LINE_STIPPLE_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_LOGIC_OP_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_MULTISAMPLE_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_NORMALIZE_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_POINT_SMOOTH_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_POLYGON_OFFSET_FILL_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_POLYGON_OFFSET_LINE_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_POLYGON_OFFSET_POINT_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_POLYGON_SMOOTH_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_POLYGON_STIPPLE_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_RESCALE_NORMAL_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_SAMPLE_COVERAGE_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_SCISSOR_TEST_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_STENCIL_TEST_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_GL_HOOK_ABSTRACT;
+extern DLLSPEC daeString COLLADA_ELEMENT_FUNC;
+extern DLLSPEC daeString COLLADA_ELEMENT_VALUE;
+extern DLLSPEC daeString COLLADA_ELEMENT_SRC;
+extern DLLSPEC daeString COLLADA_ELEMENT_DEST;
+extern DLLSPEC daeString COLLADA_ELEMENT_SRC_RGB;
+extern DLLSPEC daeString COLLADA_ELEMENT_DEST_RGB;
+extern DLLSPEC daeString COLLADA_ELEMENT_SRC_ALPHA;
+extern DLLSPEC daeString COLLADA_ELEMENT_DEST_ALPHA;
+extern DLLSPEC daeString COLLADA_ELEMENT_rgb;
+extern DLLSPEC daeString COLLADA_ELEMENT_MODE;
+extern DLLSPEC daeString COLLADA_ELEMENT_REF;
+extern DLLSPEC daeString COLLADA_ELEMENT_MASK;
+extern DLLSPEC daeString COLLADA_ELEMENT_FAIL;
+extern DLLSPEC daeString COLLADA_ELEMENT_ZFAIL;
+extern DLLSPEC daeString COLLADA_ELEMENT_ZPASS;
+extern DLLSPEC daeString COLLADA_ELEMENT_FRONT;
+extern DLLSPEC daeString COLLADA_ELEMENT_BACK;
+extern DLLSPEC daeString COLLADA_ELEMENT_BOOL1;
+extern DLLSPEC daeString COLLADA_ELEMENT_BOOL1X1;
+extern DLLSPEC daeString COLLADA_ELEMENT_BOOL1X2;
+extern DLLSPEC daeString COLLADA_ELEMENT_BOOL1X3;
+extern DLLSPEC daeString COLLADA_ELEMENT_BOOL1X4;
+extern DLLSPEC daeString COLLADA_ELEMENT_BOOL2X1;
+extern DLLSPEC daeString COLLADA_ELEMENT_BOOL2X2;
+extern DLLSPEC daeString COLLADA_ELEMENT_BOOL2X3;
+extern DLLSPEC daeString COLLADA_ELEMENT_BOOL2X4;
+extern DLLSPEC daeString COLLADA_ELEMENT_BOOL3X1;
+extern DLLSPEC daeString COLLADA_ELEMENT_BOOL3X2;
+extern DLLSPEC daeString COLLADA_ELEMENT_BOOL3X3;
+extern DLLSPEC daeString COLLADA_ELEMENT_BOOL3X4;
+extern DLLSPEC daeString COLLADA_ELEMENT_BOOL4X1;
+extern DLLSPEC daeString COLLADA_ELEMENT_BOOL4X2;
+extern DLLSPEC daeString COLLADA_ELEMENT_BOOL4X3;
+extern DLLSPEC daeString COLLADA_ELEMENT_BOOL4X4;
+extern DLLSPEC daeString COLLADA_ELEMENT_FLOAT1;
+extern DLLSPEC daeString COLLADA_ELEMENT_INT1;
+extern DLLSPEC daeString COLLADA_ELEMENT_INT1X1;
+extern DLLSPEC daeString COLLADA_ELEMENT_INT1X2;
+extern DLLSPEC daeString COLLADA_ELEMENT_INT1X3;
+extern DLLSPEC daeString COLLADA_ELEMENT_INT1X4;
+extern DLLSPEC daeString COLLADA_ELEMENT_INT2X1;
+extern DLLSPEC daeString COLLADA_ELEMENT_INT2X2;
+extern DLLSPEC daeString COLLADA_ELEMENT_INT2X3;
+extern DLLSPEC daeString COLLADA_ELEMENT_INT2X4;
+extern DLLSPEC daeString COLLADA_ELEMENT_INT3X1;
+extern DLLSPEC daeString COLLADA_ELEMENT_INT3X2;
+extern DLLSPEC daeString COLLADA_ELEMENT_INT3X3;
+extern DLLSPEC daeString COLLADA_ELEMENT_INT3X4;
+extern DLLSPEC daeString COLLADA_ELEMENT_INT4X1;
+extern DLLSPEC daeString COLLADA_ELEMENT_INT4X2;
+extern DLLSPEC daeString COLLADA_ELEMENT_INT4X3;
+extern DLLSPEC daeString COLLADA_ELEMENT_INT4X4;
+extern DLLSPEC daeString COLLADA_ELEMENT_HALF;
+extern DLLSPEC daeString COLLADA_ELEMENT_HALF1;
+extern DLLSPEC daeString COLLADA_ELEMENT_HALF2;
+extern DLLSPEC daeString COLLADA_ELEMENT_HALF3;
+extern DLLSPEC daeString COLLADA_ELEMENT_HALF4;
+extern DLLSPEC daeString COLLADA_ELEMENT_HALF1X1;
+extern DLLSPEC daeString COLLADA_ELEMENT_HALF1X2;
+extern DLLSPEC daeString COLLADA_ELEMENT_HALF1X3;
+extern DLLSPEC daeString COLLADA_ELEMENT_HALF1X4;
+extern DLLSPEC daeString COLLADA_ELEMENT_HALF2X1;
+extern DLLSPEC daeString COLLADA_ELEMENT_HALF2X2;
+extern DLLSPEC daeString COLLADA_ELEMENT_HALF2X3;
+extern DLLSPEC daeString COLLADA_ELEMENT_HALF2X4;
+extern DLLSPEC daeString COLLADA_ELEMENT_HALF3X1;
+extern DLLSPEC daeString COLLADA_ELEMENT_HALF3X2;
+extern DLLSPEC daeString COLLADA_ELEMENT_HALF3X3;
+extern DLLSPEC daeString COLLADA_ELEMENT_HALF3X4;
+extern DLLSPEC daeString COLLADA_ELEMENT_HALF4X1;
+extern DLLSPEC daeString COLLADA_ELEMENT_HALF4X2;
+extern DLLSPEC daeString COLLADA_ELEMENT_HALF4X3;
+extern DLLSPEC daeString COLLADA_ELEMENT_HALF4X4;
+extern DLLSPEC daeString COLLADA_ELEMENT_FIXED;
+extern DLLSPEC daeString COLLADA_ELEMENT_FIXED1;
+extern DLLSPEC daeString COLLADA_ELEMENT_FIXED2;
+extern DLLSPEC daeString COLLADA_ELEMENT_FIXED3;
+extern DLLSPEC daeString COLLADA_ELEMENT_FIXED4;
+extern DLLSPEC daeString COLLADA_ELEMENT_FIXED1X1;
+extern DLLSPEC daeString COLLADA_ELEMENT_FIXED1X2;
+extern DLLSPEC daeString COLLADA_ELEMENT_FIXED1X3;
+extern DLLSPEC daeString COLLADA_ELEMENT_FIXED1X4;
+extern DLLSPEC daeString COLLADA_ELEMENT_FIXED2X1;
+extern DLLSPEC daeString COLLADA_ELEMENT_FIXED2X2;
+extern DLLSPEC daeString COLLADA_ELEMENT_FIXED2X3;
+extern DLLSPEC daeString COLLADA_ELEMENT_FIXED2X4;
+extern DLLSPEC daeString COLLADA_ELEMENT_FIXED3X1;
+extern DLLSPEC daeString COLLADA_ELEMENT_FIXED3X2;
+extern DLLSPEC daeString COLLADA_ELEMENT_FIXED3X3;
+extern DLLSPEC daeString COLLADA_ELEMENT_FIXED3X4;
+extern DLLSPEC daeString COLLADA_ELEMENT_FIXED4X1;
+extern DLLSPEC daeString COLLADA_ELEMENT_FIXED4X2;
+extern DLLSPEC daeString COLLADA_ELEMENT_FIXED4X3;
+extern DLLSPEC daeString COLLADA_ELEMENT_FIXED4X4;
+extern DLLSPEC daeString COLLADA_ELEMENT_TEXTURE_PIPELINE;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIGHT_LINEAR_ATTENUTATION;
+extern DLLSPEC daeString COLLADA_ELEMENT_TEXTURE_PIPELINE_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_TEXTURE_UNIT;
+extern DLLSPEC daeString COLLADA_ELEMENT_ASSET;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_ANIMATIONS;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_ANIMATION_CLIPS;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_CAMERAS;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_CONTROLLERS;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_GEOMETRIES;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_EFFECTS;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_FORCE_FIELDS;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_IMAGES;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_LIGHTS;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_MATERIALS;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_NODES;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_PHYSICS_MATERIALS;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_PHYSICS_MODELS;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_PHYSICS_SCENES;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_VISUAL_SCENES;
+extern DLLSPEC daeString COLLADA_ELEMENT_SCENE;
+extern DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_PHYSICS_SCENE;
+extern DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_VISUAL_SCENE;
+extern DLLSPEC daeString COLLADA_ELEMENT_IDREF_ARRAY;
+extern DLLSPEC daeString COLLADA_ELEMENT_NAME_ARRAY;
+extern DLLSPEC daeString COLLADA_ELEMENT_BOOL_ARRAY;
+extern DLLSPEC daeString COLLADA_ELEMENT_FLOAT_ARRAY;
+extern DLLSPEC daeString COLLADA_ELEMENT_INT_ARRAY;
+extern DLLSPEC daeString COLLADA_ELEMENT_TECHNIQUE_COMMON;
+extern DLLSPEC daeString COLLADA_ELEMENT_TECHNIQUE;
+extern DLLSPEC daeString COLLADA_ELEMENT_ACCESSOR;
+extern DLLSPEC daeString COLLADA_ELEMENT_CONVEX_MESH;
+extern DLLSPEC daeString COLLADA_ELEMENT_MESH;
+extern DLLSPEC daeString COLLADA_ELEMENT_SPLINE;
+extern DLLSPEC daeString COLLADA_ELEMENT_VERTICES;
+extern DLLSPEC daeString COLLADA_ELEMENT_LINES;
+extern DLLSPEC daeString COLLADA_ELEMENT_LINESTRIPS;
+extern DLLSPEC daeString COLLADA_ELEMENT_POLYGONS;
+extern DLLSPEC daeString COLLADA_ELEMENT_POLYLIST;
+extern DLLSPEC daeString COLLADA_ELEMENT_TRIANGLES;
+extern DLLSPEC daeString COLLADA_ELEMENT_TRIFANS;
+extern DLLSPEC daeString COLLADA_ELEMENT_TRISTRIPS;
+extern DLLSPEC daeString COLLADA_ELEMENT_CONTROL_VERTICES;
+extern DLLSPEC daeString COLLADA_ELEMENT_INPUT;
+extern DLLSPEC daeString COLLADA_ELEMENT_P;
+extern DLLSPEC daeString COLLADA_ELEMENT_PH;
+extern DLLSPEC daeString COLLADA_ELEMENT_H;
+extern DLLSPEC daeString COLLADA_ELEMENT_VCOUNT;
+extern DLLSPEC daeString COLLADA_ELEMENT_DATA;
+extern DLLSPEC daeString COLLADA_ELEMENT_AMBIENT;
+extern DLLSPEC daeString COLLADA_ELEMENT_DIRECTIONAL;
+extern DLLSPEC daeString COLLADA_ELEMENT_POINT;
+extern DLLSPEC daeString COLLADA_ELEMENT_SPOT;
+extern DLLSPEC daeString COLLADA_ELEMENT_CONSTANT_ATTENUATION;
+extern DLLSPEC daeString COLLADA_ELEMENT_LINEAR_ATTENUATION;
+extern DLLSPEC daeString COLLADA_ELEMENT_QUADRATIC_ATTENUATION;
+extern DLLSPEC daeString COLLADA_ELEMENT_FALLOFF_ANGLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_FALLOFF_EXPONENT;
+extern DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_EFFECT;
+extern DLLSPEC daeString COLLADA_ELEMENT_OPTICS;
+extern DLLSPEC daeString COLLADA_ELEMENT_IMAGER;
+extern DLLSPEC daeString COLLADA_ELEMENT_ORTHOGRAPHIC;
+extern DLLSPEC daeString COLLADA_ELEMENT_PERSPECTIVE;
+extern DLLSPEC daeString COLLADA_ELEMENT_XMAG;
+extern DLLSPEC daeString COLLADA_ELEMENT_YMAG;
+extern DLLSPEC daeString COLLADA_ELEMENT_ASPECT_RATIO;
+extern DLLSPEC daeString COLLADA_ELEMENT_ZNEAR;
+extern DLLSPEC daeString COLLADA_ELEMENT_ZFAR;
+extern DLLSPEC daeString COLLADA_ELEMENT_XFOV;
+extern DLLSPEC daeString COLLADA_ELEMENT_YFOV;
+extern DLLSPEC daeString COLLADA_ELEMENT_SAMPLER;
+extern DLLSPEC daeString COLLADA_ELEMENT_CHANNEL;
+extern DLLSPEC daeString COLLADA_ELEMENT_ANIMATION;
+extern DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_ANIMATION;
+extern DLLSPEC daeString COLLADA_ELEMENT_SKIN;
+extern DLLSPEC daeString COLLADA_ELEMENT_MORPH;
+extern DLLSPEC daeString COLLADA_ELEMENT_BIND_SHAPE_MATRIX;
+extern DLLSPEC daeString COLLADA_ELEMENT_JOINTS;
+extern DLLSPEC daeString COLLADA_ELEMENT_VERTEX_WEIGHTS;
+extern DLLSPEC daeString COLLADA_ELEMENT_V;
+extern DLLSPEC daeString COLLADA_ELEMENT_TARGETS;
+extern DLLSPEC daeString COLLADA_ELEMENT_CONTRIBUTOR;
+extern DLLSPEC daeString COLLADA_ELEMENT_CREATED;
+extern DLLSPEC daeString COLLADA_ELEMENT_KEYWORDS;
+extern DLLSPEC daeString COLLADA_ELEMENT_MODIFIED;
+extern DLLSPEC daeString COLLADA_ELEMENT_REVISION;
+extern DLLSPEC daeString COLLADA_ELEMENT_SUBJECT;
+extern DLLSPEC daeString COLLADA_ELEMENT_TITLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_UNIT;
+extern DLLSPEC daeString COLLADA_ELEMENT_UP_AXIS;
+extern DLLSPEC daeString COLLADA_ELEMENT_AUTHOR;
+extern DLLSPEC daeString COLLADA_ELEMENT_AUTHORING_TOOL;
+extern DLLSPEC daeString COLLADA_ELEMENT_COMMENTS;
+extern DLLSPEC daeString COLLADA_ELEMENT_COPYRIGHT;
+extern DLLSPEC daeString COLLADA_ELEMENT_SOURCE_DATA;
+extern DLLSPEC daeString COLLADA_ELEMENT_LOOKAT;
+extern DLLSPEC daeString COLLADA_ELEMENT_MATRIX;
+extern DLLSPEC daeString COLLADA_ELEMENT_ROTATE;
+extern DLLSPEC daeString COLLADA_ELEMENT_SCALE;
+extern DLLSPEC daeString COLLADA_ELEMENT_SKEW;
+extern DLLSPEC daeString COLLADA_ELEMENT_TRANSLATE;
+extern DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_CAMERA;
+extern DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_CONTROLLER;
+extern DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_GEOMETRY;
+extern DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_LIGHT;
+extern DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_NODE;
+extern DLLSPEC daeString COLLADA_ELEMENT_NODE;
+extern DLLSPEC daeString COLLADA_ELEMENT_EVALUATE_SCENE;
+extern DLLSPEC daeString COLLADA_ELEMENT_RENDER;
+extern DLLSPEC daeString COLLADA_ELEMENT_LAYER;
+extern DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_MATERIAL;
+extern DLLSPEC daeString COLLADA_ELEMENT_SKELETON;
+extern DLLSPEC daeString COLLADA_ELEMENT_BIND_MATERIAL;
+extern DLLSPEC daeString COLLADA_ELEMENT_TECHNIQUE_HINT;
+extern DLLSPEC daeString COLLADA_ELEMENT_BIND;
+extern DLLSPEC daeString COLLADA_ELEMENT_BIND_VERTEX_INPUT;
+extern DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_FORCE_FIELD;
+extern DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_RIGID_BODY;
+extern DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_RIGID_CONSTRAINT;
+extern DLLSPEC daeString COLLADA_ELEMENT_ANGULAR_VELOCITY;
+extern DLLSPEC daeString COLLADA_ELEMENT_VELOCITY;
+extern DLLSPEC daeString COLLADA_ELEMENT_DYNAMIC;
+extern DLLSPEC daeString COLLADA_ELEMENT_MASS;
+extern DLLSPEC daeString COLLADA_ELEMENT_MASS_FRAME;
+extern DLLSPEC daeString COLLADA_ELEMENT_INERTIA;
+extern DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_PHYSICS_MATERIAL;
+extern DLLSPEC daeString COLLADA_ELEMENT_PHYSICS_MATERIAL;
+extern DLLSPEC daeString COLLADA_ELEMENT_SHAPE;
+extern DLLSPEC daeString COLLADA_ELEMENT_HOLLOW;
+extern DLLSPEC daeString COLLADA_ELEMENT_DENSITY;
+extern DLLSPEC daeString COLLADA_ELEMENT_PLANE;
+extern DLLSPEC daeString COLLADA_ELEMENT_BOX;
+extern DLLSPEC daeString COLLADA_ELEMENT_SPHERE;
+extern DLLSPEC daeString COLLADA_ELEMENT_CYLINDER;
+extern DLLSPEC daeString COLLADA_ELEMENT_TAPERED_CYLINDER;
+extern DLLSPEC daeString COLLADA_ELEMENT_CAPSULE;
+extern DLLSPEC daeString COLLADA_ELEMENT_TAPERED_CAPSULE;
+extern DLLSPEC daeString COLLADA_ELEMENT_ANIMATION_CLIP;
+extern DLLSPEC daeString COLLADA_ELEMENT_CAMERA;
+extern DLLSPEC daeString COLLADA_ELEMENT_CONTROLLER;
+extern DLLSPEC daeString COLLADA_ELEMENT_GEOMETRY;
+extern DLLSPEC daeString COLLADA_ELEMENT_EFFECT;
+extern DLLSPEC daeString COLLADA_ELEMENT_FORCE_FIELD;
+extern DLLSPEC daeString COLLADA_ELEMENT_IMAGE;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIGHT;
+extern DLLSPEC daeString COLLADA_ELEMENT_MATERIAL;
+extern DLLSPEC daeString COLLADA_ELEMENT_PHYSICS_MODEL;
+extern DLLSPEC daeString COLLADA_ELEMENT_PHYSICS_SCENE;
+extern DLLSPEC daeString COLLADA_ELEMENT_VISUAL_SCENE;
+extern DLLSPEC daeString COLLADA_ELEMENT_NEWPARAM;
+extern DLLSPEC daeString COLLADA_ELEMENT_FX_PROFILE_ABSTRACT;
+extern DLLSPEC daeString COLLADA_ELEMENT_PROFILE_GLSL;
+extern DLLSPEC daeString COLLADA_ELEMENT_PASS;
+extern DLLSPEC daeString COLLADA_ELEMENT_COLOR_TARGET;
+extern DLLSPEC daeString COLLADA_ELEMENT_DEPTH_TARGET;
+extern DLLSPEC daeString COLLADA_ELEMENT_STENCIL_TARGET;
+extern DLLSPEC daeString COLLADA_ELEMENT_COLOR_CLEAR;
+extern DLLSPEC daeString COLLADA_ELEMENT_DEPTH_CLEAR;
+extern DLLSPEC daeString COLLADA_ELEMENT_STENCIL_CLEAR;
+extern DLLSPEC daeString COLLADA_ELEMENT_DRAW;
+extern DLLSPEC daeString COLLADA_ELEMENT_GL_PIPELINE_SETTINGS;
+extern DLLSPEC daeString COLLADA_ELEMENT_SHADER;
+extern DLLSPEC daeString COLLADA_ELEMENT_COMPILER_TARGET;
+extern DLLSPEC daeString COLLADA_ELEMENT_COMPILER_OPTIONS;
+extern DLLSPEC daeString COLLADA_ELEMENT_PROFILE_COMMON;
+extern DLLSPEC daeString COLLADA_ELEMENT_LAMBERT;
+extern DLLSPEC daeString COLLADA_ELEMENT_PHONG;
+extern DLLSPEC daeString COLLADA_ELEMENT_BLINN;
+extern DLLSPEC daeString COLLADA_ELEMENT_EMISSION;
+extern DLLSPEC daeString COLLADA_ELEMENT_REFLECTIVE;
+extern DLLSPEC daeString COLLADA_ELEMENT_REFLECTIVITY;
+extern DLLSPEC daeString COLLADA_ELEMENT_TRANSPARENT;
+extern DLLSPEC daeString COLLADA_ELEMENT_TRANSPARENCY;
+extern DLLSPEC daeString COLLADA_ELEMENT_INDEX_OF_REFRACTION;
+extern DLLSPEC daeString COLLADA_ELEMENT_DIFFUSE;
+extern DLLSPEC daeString COLLADA_ELEMENT_SPECULAR;
+extern DLLSPEC daeString COLLADA_ELEMENT_SHININESS;
+extern DLLSPEC daeString COLLADA_ELEMENT_PROFILE_CG;
+extern DLLSPEC daeString COLLADA_ELEMENT_PROFILE_GLES;
+extern DLLSPEC daeString COLLADA_ELEMENT_GLES_PIPELINE_SETTINGS;
+extern DLLSPEC daeString COLLADA_ELEMENT_HALF_EXTENTS;
+extern DLLSPEC daeString COLLADA_ELEMENT_EQUATION;
+extern DLLSPEC daeString COLLADA_ELEMENT_RADIUS;
+extern DLLSPEC daeString COLLADA_ELEMENT_HEIGHT;
+extern DLLSPEC daeString COLLADA_ELEMENT_RADIUS1;
+extern DLLSPEC daeString COLLADA_ELEMENT_RADIUS2;
+extern DLLSPEC daeString COLLADA_ELEMENT_DYNAMIC_FRICTION;
+extern DLLSPEC daeString COLLADA_ELEMENT_RESTITUTION;
+extern DLLSPEC daeString COLLADA_ELEMENT_STATIC_FRICTION;
+extern DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_PHYSICS_MODEL;
+extern DLLSPEC daeString COLLADA_ELEMENT_GRAVITY;
+extern DLLSPEC daeString COLLADA_ELEMENT_TIME_STEP;
+extern DLLSPEC daeString COLLADA_ELEMENT_REF_ATTACHMENT;
+extern DLLSPEC daeString COLLADA_ELEMENT_ATTACHMENT;
+extern DLLSPEC daeString COLLADA_ELEMENT_ENABLED;
+extern DLLSPEC daeString COLLADA_ELEMENT_INTERPENETRATE;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIMITS;
+extern DLLSPEC daeString COLLADA_ELEMENT_SPRING;
+extern DLLSPEC daeString COLLADA_ELEMENT_SWING_CONE_AND_TWIST;
+extern DLLSPEC daeString COLLADA_ELEMENT_LINEAR;
+extern DLLSPEC daeString COLLADA_ELEMENT_MIN;
+extern DLLSPEC daeString COLLADA_ELEMENT_MAX;
+extern DLLSPEC daeString COLLADA_ELEMENT_ANGULAR;
+extern DLLSPEC daeString COLLADA_ELEMENT_STIFFNESS;
+extern DLLSPEC daeString COLLADA_ELEMENT_DAMPING;
+extern DLLSPEC daeString COLLADA_ELEMENT_TARGET_VALUE;
+extern DLLSPEC daeString COLLADA_ELEMENT_RIGID_BODY;
+extern DLLSPEC daeString COLLADA_ELEMENT_RIGID_CONSTRAINT;
+
+} // ColladaDOM141
+
+#endif //__DOM_CONSTANTS_H__
+
diff --git a/1.4.0/dom/include/1.4/dom/domController.h b/1.4.0/dom/include/1.4/dom/domController.h
new file mode 100644
index 0000000..0dc0e2e
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domController.h
@@ -0,0 +1,172 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Controller_h__
+#define __dom141Controller_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domAsset.h>
+#include <1.4/dom/domSkin.h>
+#include <1.4/dom/domMorph.h>
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The controller element categorizes the declaration of generic control information.
+ * A controller is a device or mechanism that manages and directs the operations
+ * of another object.
+ */
+class domController : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CONTROLLER; }
+ static daeInt ID() { return 655; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+
+protected: // Elements
+/**
+ * The controller element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * The controller element may contain either a skin element or a morph element.
+ * @see domSkin
+ */
+ domSkinRef elemSkin;
+/**
+ * The controller element may contain either a skin element or a morph element.
+ * @see domMorph
+ */
+ domMorphRef elemMorph;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the skin element.
+ * @return a daeSmartRef to the skin element.
+ */
+ const domSkinRef getSkin() const { return elemSkin; }
+ /**
+ * Gets the morph element.
+ * @return a daeSmartRef to the morph element.
+ */
+ const domMorphRef getMorph() const { return elemMorph; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domController(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemSkin(), elemMorph(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domController() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domController &operator=( const domController &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domConvex_mesh.h b/1.4.0/dom/include/1.4/dom/domConvex_mesh.h
new file mode 100644
index 0000000..9d85514
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domConvex_mesh.h
@@ -0,0 +1,237 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Convex_mesh_h__
+#define __dom141Convex_mesh_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domSource.h>
+#include <1.4/dom/domVertices.h>
+#include <1.4/dom/domLines.h>
+#include <1.4/dom/domLinestrips.h>
+#include <1.4/dom/domPolygons.h>
+#include <1.4/dom/domPolylist.h>
+#include <1.4/dom/domTriangles.h>
+#include <1.4/dom/domTrifans.h>
+#include <1.4/dom/domTristrips.h>
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The definition of the convex_mesh element is identical to the mesh element
+ * with the exception that instead of a complete description (source, vertices,
+ * polygons etc.), it may simply point to another geometry to derive its
+ * shape. The latter case means that the convex hull of that geometry should
+ * be computed and is indicated by the optional “convex_hull_of” attribute.
+ */
+class domConvex_mesh : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CONVEX_MESH; }
+ static daeInt ID() { return 789; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attribute
+/**
+ * The convex_hull_of attribute is a URI string of geometry to compute the
+ * convex hull of. Optional attribute.
+ */
+ xsAnyURI attrConvex_hull_of;
+
+protected: // Elements
+ domSource_Array elemSource_array;
+ domVerticesRef elemVertices;
+ domLines_Array elemLines_array;
+ domLinestrips_Array elemLinestrips_array;
+ domPolygons_Array elemPolygons_array;
+ domPolylist_Array elemPolylist_array;
+ domTriangles_Array elemTriangles_array;
+ domTrifans_Array elemTrifans_array;
+ domTristrips_Array elemTristrips_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the convex_hull_of attribute.
+ * @return Returns a xsAnyURI reference of the convex_hull_of attribute.
+ */
+ xsAnyURI &getConvex_hull_of() { return attrConvex_hull_of; }
+ /**
+ * Gets the convex_hull_of attribute.
+ * @return Returns a constant xsAnyURI reference of the convex_hull_of attribute.
+ */
+ const xsAnyURI &getConvex_hull_of() const { return attrConvex_hull_of; }
+ /**
+ * Sets the convex_hull_of attribute.
+ * @param atConvex_hull_of The new value for the convex_hull_of attribute.
+ */
+ void setConvex_hull_of( const xsAnyURI &atConvex_hull_of ) { attrConvex_hull_of = atConvex_hull_of; _validAttributeArray[0] = true; }
+ /**
+ * Sets the convex_hull_of attribute.
+ * @param atConvex_hull_of The new value for the convex_hull_of attribute.
+ */
+ void setConvex_hull_of( xsString atConvex_hull_of ) { attrConvex_hull_of = atConvex_hull_of; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the source element array.
+ * @return Returns a reference to the array of source elements.
+ */
+ domSource_Array &getSource_array() { return elemSource_array; }
+ /**
+ * Gets the source element array.
+ * @return Returns a constant reference to the array of source elements.
+ */
+ const domSource_Array &getSource_array() const { return elemSource_array; }
+ /**
+ * Gets the vertices element.
+ * @return a daeSmartRef to the vertices element.
+ */
+ const domVerticesRef getVertices() const { return elemVertices; }
+ /**
+ * Gets the lines element array.
+ * @return Returns a reference to the array of lines elements.
+ */
+ domLines_Array &getLines_array() { return elemLines_array; }
+ /**
+ * Gets the lines element array.
+ * @return Returns a constant reference to the array of lines elements.
+ */
+ const domLines_Array &getLines_array() const { return elemLines_array; }
+ /**
+ * Gets the linestrips element array.
+ * @return Returns a reference to the array of linestrips elements.
+ */
+ domLinestrips_Array &getLinestrips_array() { return elemLinestrips_array; }
+ /**
+ * Gets the linestrips element array.
+ * @return Returns a constant reference to the array of linestrips elements.
+ */
+ const domLinestrips_Array &getLinestrips_array() const { return elemLinestrips_array; }
+ /**
+ * Gets the polygons element array.
+ * @return Returns a reference to the array of polygons elements.
+ */
+ domPolygons_Array &getPolygons_array() { return elemPolygons_array; }
+ /**
+ * Gets the polygons element array.
+ * @return Returns a constant reference to the array of polygons elements.
+ */
+ const domPolygons_Array &getPolygons_array() const { return elemPolygons_array; }
+ /**
+ * Gets the polylist element array.
+ * @return Returns a reference to the array of polylist elements.
+ */
+ domPolylist_Array &getPolylist_array() { return elemPolylist_array; }
+ /**
+ * Gets the polylist element array.
+ * @return Returns a constant reference to the array of polylist elements.
+ */
+ const domPolylist_Array &getPolylist_array() const { return elemPolylist_array; }
+ /**
+ * Gets the triangles element array.
+ * @return Returns a reference to the array of triangles elements.
+ */
+ domTriangles_Array &getTriangles_array() { return elemTriangles_array; }
+ /**
+ * Gets the triangles element array.
+ * @return Returns a constant reference to the array of triangles elements.
+ */
+ const domTriangles_Array &getTriangles_array() const { return elemTriangles_array; }
+ /**
+ * Gets the trifans element array.
+ * @return Returns a reference to the array of trifans elements.
+ */
+ domTrifans_Array &getTrifans_array() { return elemTrifans_array; }
+ /**
+ * Gets the trifans element array.
+ * @return Returns a constant reference to the array of trifans elements.
+ */
+ const domTrifans_Array &getTrifans_array() const { return elemTrifans_array; }
+ /**
+ * Gets the tristrips element array.
+ * @return Returns a reference to the array of tristrips elements.
+ */
+ domTristrips_Array &getTristrips_array() { return elemTristrips_array; }
+ /**
+ * Gets the tristrips element array.
+ * @return Returns a constant reference to the array of tristrips elements.
+ */
+ const domTristrips_Array &getTristrips_array() const { return elemTristrips_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domConvex_mesh(DAE& dae) : daeElement(dae), attrConvex_hull_of(dae, *this), elemSource_array(), elemVertices(), elemLines_array(), elemLinestrips_array(), elemPolygons_array(), elemPolylist_array(), elemTriangles_array(), elemTrifans_array(), elemTristrips_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domConvex_mesh() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domConvex_mesh &operator=( const domConvex_mesh &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domCylinder.h b/1.4.0/dom/include/1.4/dom/domCylinder.h
new file mode 100644
index 0000000..3b2682e
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domCylinder.h
@@ -0,0 +1,227 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Cylinder_h__
+#define __dom141Cylinder_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * A cylinder primitive that is centered on, and aligned with. the local Y
+ * axis.
+ */
+class domCylinder : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CYLINDER; }
+ static daeInt ID() { return 775; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domHeight;
+
+ typedef daeSmartRef<domHeight> domHeightRef;
+ typedef daeTArray<domHeightRef> domHeight_Array;
+
+/**
+ * A float value that represents the length of the cylinder along the Y axis.
+ */
+ class domHeight : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HEIGHT; }
+ static daeInt ID() { return 776; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFloat value of the text data of this element.
+ */
+ domFloat _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFloat of the value.
+ */
+ domFloat getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFloat val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domHeight(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHeight() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHeight &operator=( const domHeight &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domRadius;
+
+ typedef daeSmartRef<domRadius> domRadiusRef;
+ typedef daeTArray<domRadiusRef> domRadius_Array;
+
+/**
+ * float2 values that represent the radii of the cylinder.
+ */
+ class domRadius : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::RADIUS; }
+ static daeInt ID() { return 777; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFloat2 value of the text data of this element.
+ */
+ domFloat2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domFloat2 reference of the _value array.
+ */
+ domFloat2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domFloat2 reference of the _value array.
+ */
+ const domFloat2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domFloat2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domRadius(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domRadius() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRadius &operator=( const domRadius &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+/**
+ * A float value that represents the length of the cylinder along the Y axis.
+ * @see domHeight
+ */
+ domHeightRef elemHeight;
+/**
+ * float2 values that represent the radii of the cylinder. @see domRadius
+ */
+ domRadiusRef elemRadius;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the height element.
+ * @return a daeSmartRef to the height element.
+ */
+ const domHeightRef getHeight() const { return elemHeight; }
+ /**
+ * Gets the radius element.
+ * @return a daeSmartRef to the radius element.
+ */
+ const domRadiusRef getRadius() const { return elemRadius; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domCylinder(DAE& dae) : daeElement(dae), elemHeight(), elemRadius(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCylinder() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCylinder &operator=( const domCylinder &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domEffect.h b/1.4.0/dom/include/1.4/dom/domEffect.h
new file mode 100644
index 0000000..5be039b
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domEffect.h
@@ -0,0 +1,207 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Effect_h__
+#define __dom141Effect_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domAsset.h>
+#include <1.4/dom/domImage.h>
+#include <1.4/dom/domFx_profile_abstract.h>
+#include <1.4/dom/domExtra.h>
+#include <1.4/dom/domFx_annotate_common.h>
+#include <1.4/dom/domFx_newparam_common.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * A self contained description of a shader effect.
+ */
+class domEffect : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::EFFECT; }
+ static daeInt ID() { return 728; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+
+protected: // Elements
+/**
+ * The effect element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * The annotate element allows you to specify an annotation on this effect.
+ * @see domAnnotate
+ */
+ domFx_annotate_common_Array elemAnnotate_array;
+/**
+ * The image element allows you to create image resources which can be shared
+ * by multipe profiles. @see domImage
+ */
+ domImage_Array elemImage_array;
+/**
+ * The newparam element allows you to create new effect parameters which can
+ * be shared by multipe profiles. @see domNewparam
+ */
+ domFx_newparam_common_Array elemNewparam_array;
+/**
+ * This is the substituion group hook which allows you to swap in other COLLADA
+ * FX profiles. @see domFx_profile_abstract
+ */
+ domFx_profile_abstract_Array elemFx_profile_abstract_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the annotate element array.
+ * @return Returns a reference to the array of annotate elements.
+ */
+ domFx_annotate_common_Array &getAnnotate_array() { return elemAnnotate_array; }
+ /**
+ * Gets the annotate element array.
+ * @return Returns a constant reference to the array of annotate elements.
+ */
+ const domFx_annotate_common_Array &getAnnotate_array() const { return elemAnnotate_array; }
+ /**
+ * Gets the image element array.
+ * @return Returns a reference to the array of image elements.
+ */
+ domImage_Array &getImage_array() { return elemImage_array; }
+ /**
+ * Gets the image element array.
+ * @return Returns a constant reference to the array of image elements.
+ */
+ const domImage_Array &getImage_array() const { return elemImage_array; }
+ /**
+ * Gets the newparam element array.
+ * @return Returns a reference to the array of newparam elements.
+ */
+ domFx_newparam_common_Array &getNewparam_array() { return elemNewparam_array; }
+ /**
+ * Gets the newparam element array.
+ * @return Returns a constant reference to the array of newparam elements.
+ */
+ const domFx_newparam_common_Array &getNewparam_array() const { return elemNewparam_array; }
+ /**
+ * Gets the fx_profile_abstract element array.
+ * @return Returns a reference to the array of fx_profile_abstract elements.
+ */
+ domFx_profile_abstract_Array &getFx_profile_abstract_array() { return elemFx_profile_abstract_array; }
+ /**
+ * Gets the fx_profile_abstract element array.
+ * @return Returns a constant reference to the array of fx_profile_abstract elements.
+ */
+ const domFx_profile_abstract_Array &getFx_profile_abstract_array() const { return elemFx_profile_abstract_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domEffect(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemAnnotate_array(), elemImage_array(), elemNewparam_array(), elemFx_profile_abstract_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domEffect() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domEffect &operator=( const domEffect &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domElements.h b/1.4.0/dom/include/1.4/dom/domElements.h
new file mode 100644
index 0000000..dbf199e
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domElements.h
@@ -0,0 +1,870 @@
+/*
+ * Copyright 2006 Sony Computer Entertainment Inc.
+ *
+ * Licensed under the MIT Open Source License, for details please see license.txt or the website
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ */
+
+#ifndef __DOM141_ELEMENTS_H__
+#define __DOM141_ELEMENTS_H__
+
+#include <1.4/dom/domTypes.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+class domInputGlobal;
+
+typedef daeSmartRef<domInputGlobal> domInputGlobalRef;
+typedef daeTArray<domInputGlobalRef> domInputGlobal_Array;
+
+class domInputLocal;
+
+typedef daeSmartRef<domInputLocal> domInputLocalRef;
+typedef daeTArray<domInputLocalRef> domInputLocal_Array;
+
+class domInputLocalOffset;
+
+typedef daeSmartRef<domInputLocalOffset> domInputLocalOffsetRef;
+typedef daeTArray<domInputLocalOffsetRef> domInputLocalOffset_Array;
+
+class domInstanceWithExtra;
+
+typedef daeSmartRef<domInstanceWithExtra> domInstanceWithExtraRef;
+typedef daeTArray<domInstanceWithExtraRef> domInstanceWithExtra_Array;
+
+class domTargetableFloat;
+
+typedef daeSmartRef<domTargetableFloat> domTargetableFloatRef;
+typedef daeTArray<domTargetableFloatRef> domTargetableFloat_Array;
+
+class domTargetableFloat3;
+
+typedef daeSmartRef<domTargetableFloat3> domTargetableFloat3Ref;
+typedef daeTArray<domTargetableFloat3Ref> domTargetableFloat3_Array;
+
+class domFx_surface_format_hint_common;
+
+typedef daeSmartRef<domFx_surface_format_hint_common> domFx_surface_format_hint_commonRef;
+typedef daeTArray<domFx_surface_format_hint_commonRef> domFx_surface_format_hint_common_Array;
+
+class domFx_surface_init_planar_common;
+
+typedef daeSmartRef<domFx_surface_init_planar_common> domFx_surface_init_planar_commonRef;
+typedef daeTArray<domFx_surface_init_planar_commonRef> domFx_surface_init_planar_common_Array;
+
+class domFx_surface_init_volume_common;
+
+typedef daeSmartRef<domFx_surface_init_volume_common> domFx_surface_init_volume_commonRef;
+typedef daeTArray<domFx_surface_init_volume_commonRef> domFx_surface_init_volume_common_Array;
+
+class domFx_surface_init_cube_common;
+
+typedef daeSmartRef<domFx_surface_init_cube_common> domFx_surface_init_cube_commonRef;
+typedef daeTArray<domFx_surface_init_cube_commonRef> domFx_surface_init_cube_common_Array;
+
+class domFx_surface_init_from_common;
+
+typedef daeSmartRef<domFx_surface_init_from_common> domFx_surface_init_from_commonRef;
+typedef daeTArray<domFx_surface_init_from_commonRef> domFx_surface_init_from_common_Array;
+
+class domFx_surface_common;
+
+typedef daeSmartRef<domFx_surface_common> domFx_surface_commonRef;
+typedef daeTArray<domFx_surface_commonRef> domFx_surface_common_Array;
+
+class domFx_sampler1D_common;
+
+typedef daeSmartRef<domFx_sampler1D_common> domFx_sampler1D_commonRef;
+typedef daeTArray<domFx_sampler1D_commonRef> domFx_sampler1D_common_Array;
+
+class domFx_sampler2D_common;
+
+typedef daeSmartRef<domFx_sampler2D_common> domFx_sampler2D_commonRef;
+typedef daeTArray<domFx_sampler2D_commonRef> domFx_sampler2D_common_Array;
+
+class domFx_sampler3D_common;
+
+typedef daeSmartRef<domFx_sampler3D_common> domFx_sampler3D_commonRef;
+typedef daeTArray<domFx_sampler3D_commonRef> domFx_sampler3D_common_Array;
+
+class domFx_samplerCUBE_common;
+
+typedef daeSmartRef<domFx_samplerCUBE_common> domFx_samplerCUBE_commonRef;
+typedef daeTArray<domFx_samplerCUBE_commonRef> domFx_samplerCUBE_common_Array;
+
+class domFx_samplerRECT_common;
+
+typedef daeSmartRef<domFx_samplerRECT_common> domFx_samplerRECT_commonRef;
+typedef daeTArray<domFx_samplerRECT_commonRef> domFx_samplerRECT_common_Array;
+
+class domFx_samplerDEPTH_common;
+
+typedef daeSmartRef<domFx_samplerDEPTH_common> domFx_samplerDEPTH_commonRef;
+typedef daeTArray<domFx_samplerDEPTH_commonRef> domFx_samplerDEPTH_common_Array;
+
+class domFx_colortarget_common;
+
+typedef daeSmartRef<domFx_colortarget_common> domFx_colortarget_commonRef;
+typedef daeTArray<domFx_colortarget_commonRef> domFx_colortarget_common_Array;
+
+class domFx_depthtarget_common;
+
+typedef daeSmartRef<domFx_depthtarget_common> domFx_depthtarget_commonRef;
+typedef daeTArray<domFx_depthtarget_commonRef> domFx_depthtarget_common_Array;
+
+class domFx_stenciltarget_common;
+
+typedef daeSmartRef<domFx_stenciltarget_common> domFx_stenciltarget_commonRef;
+typedef daeTArray<domFx_stenciltarget_commonRef> domFx_stenciltarget_common_Array;
+
+class domFx_clearcolor_common;
+
+typedef daeSmartRef<domFx_clearcolor_common> domFx_clearcolor_commonRef;
+typedef daeTArray<domFx_clearcolor_commonRef> domFx_clearcolor_common_Array;
+
+class domFx_cleardepth_common;
+
+typedef daeSmartRef<domFx_cleardepth_common> domFx_cleardepth_commonRef;
+typedef daeTArray<domFx_cleardepth_commonRef> domFx_cleardepth_common_Array;
+
+class domFx_clearstencil_common;
+
+typedef daeSmartRef<domFx_clearstencil_common> domFx_clearstencil_commonRef;
+typedef daeTArray<domFx_clearstencil_commonRef> domFx_clearstencil_common_Array;
+
+class domFx_annotate_common;
+
+typedef daeSmartRef<domFx_annotate_common> domFx_annotate_commonRef;
+typedef daeTArray<domFx_annotate_commonRef> domFx_annotate_common_Array;
+
+class domFx_include_common;
+
+typedef daeSmartRef<domFx_include_common> domFx_include_commonRef;
+typedef daeTArray<domFx_include_commonRef> domFx_include_common_Array;
+
+class domFx_newparam_common;
+
+typedef daeSmartRef<domFx_newparam_common> domFx_newparam_commonRef;
+typedef daeTArray<domFx_newparam_commonRef> domFx_newparam_common_Array;
+
+class domFx_code_profile;
+
+typedef daeSmartRef<domFx_code_profile> domFx_code_profileRef;
+typedef daeTArray<domFx_code_profileRef> domFx_code_profile_Array;
+
+class domGl_sampler1D;
+
+typedef daeSmartRef<domGl_sampler1D> domGl_sampler1DRef;
+typedef daeTArray<domGl_sampler1DRef> domGl_sampler1D_Array;
+
+class domGl_sampler2D;
+
+typedef daeSmartRef<domGl_sampler2D> domGl_sampler2DRef;
+typedef daeTArray<domGl_sampler2DRef> domGl_sampler2D_Array;
+
+class domGl_sampler3D;
+
+typedef daeSmartRef<domGl_sampler3D> domGl_sampler3DRef;
+typedef daeTArray<domGl_sampler3DRef> domGl_sampler3D_Array;
+
+class domGl_samplerCUBE;
+
+typedef daeSmartRef<domGl_samplerCUBE> domGl_samplerCUBERef;
+typedef daeTArray<domGl_samplerCUBERef> domGl_samplerCUBE_Array;
+
+class domGl_samplerRECT;
+
+typedef daeSmartRef<domGl_samplerRECT> domGl_samplerRECTRef;
+typedef daeTArray<domGl_samplerRECTRef> domGl_samplerRECT_Array;
+
+class domGl_samplerDEPTH;
+
+typedef daeSmartRef<domGl_samplerDEPTH> domGl_samplerDEPTHRef;
+typedef daeTArray<domGl_samplerDEPTHRef> domGl_samplerDEPTH_Array;
+
+class domGlsl_newarray_type;
+
+typedef daeSmartRef<domGlsl_newarray_type> domGlsl_newarray_typeRef;
+typedef daeTArray<domGlsl_newarray_typeRef> domGlsl_newarray_type_Array;
+
+class domGlsl_setarray_type;
+
+typedef daeSmartRef<domGlsl_setarray_type> domGlsl_setarray_typeRef;
+typedef daeTArray<domGlsl_setarray_typeRef> domGlsl_setarray_type_Array;
+
+class domGlsl_surface_type;
+
+typedef daeSmartRef<domGlsl_surface_type> domGlsl_surface_typeRef;
+typedef daeTArray<domGlsl_surface_typeRef> domGlsl_surface_type_Array;
+
+class domGlsl_newparam;
+
+typedef daeSmartRef<domGlsl_newparam> domGlsl_newparamRef;
+typedef daeTArray<domGlsl_newparamRef> domGlsl_newparam_Array;
+
+class domGlsl_setparam_simple;
+
+typedef daeSmartRef<domGlsl_setparam_simple> domGlsl_setparam_simpleRef;
+typedef daeTArray<domGlsl_setparam_simpleRef> domGlsl_setparam_simple_Array;
+
+class domGlsl_setparam;
+
+typedef daeSmartRef<domGlsl_setparam> domGlsl_setparamRef;
+typedef daeTArray<domGlsl_setparamRef> domGlsl_setparam_Array;
+
+class domCommon_float_or_param_type;
+
+typedef daeSmartRef<domCommon_float_or_param_type> domCommon_float_or_param_typeRef;
+typedef daeTArray<domCommon_float_or_param_typeRef> domCommon_float_or_param_type_Array;
+
+class domCommon_color_or_texture_type;
+
+typedef daeSmartRef<domCommon_color_or_texture_type> domCommon_color_or_texture_typeRef;
+typedef daeTArray<domCommon_color_or_texture_typeRef> domCommon_color_or_texture_type_Array;
+
+class domCommon_transparent_type;
+
+typedef daeSmartRef<domCommon_transparent_type> domCommon_transparent_typeRef;
+typedef daeTArray<domCommon_transparent_typeRef> domCommon_transparent_type_Array;
+
+class domCommon_newparam_type;
+
+typedef daeSmartRef<domCommon_newparam_type> domCommon_newparam_typeRef;
+typedef daeTArray<domCommon_newparam_typeRef> domCommon_newparam_type_Array;
+
+class domCg_sampler1D;
+
+typedef daeSmartRef<domCg_sampler1D> domCg_sampler1DRef;
+typedef daeTArray<domCg_sampler1DRef> domCg_sampler1D_Array;
+
+class domCg_sampler2D;
+
+typedef daeSmartRef<domCg_sampler2D> domCg_sampler2DRef;
+typedef daeTArray<domCg_sampler2DRef> domCg_sampler2D_Array;
+
+class domCg_sampler3D;
+
+typedef daeSmartRef<domCg_sampler3D> domCg_sampler3DRef;
+typedef daeTArray<domCg_sampler3DRef> domCg_sampler3D_Array;
+
+class domCg_samplerCUBE;
+
+typedef daeSmartRef<domCg_samplerCUBE> domCg_samplerCUBERef;
+typedef daeTArray<domCg_samplerCUBERef> domCg_samplerCUBE_Array;
+
+class domCg_samplerRECT;
+
+typedef daeSmartRef<domCg_samplerRECT> domCg_samplerRECTRef;
+typedef daeTArray<domCg_samplerRECTRef> domCg_samplerRECT_Array;
+
+class domCg_samplerDEPTH;
+
+typedef daeSmartRef<domCg_samplerDEPTH> domCg_samplerDEPTHRef;
+typedef daeTArray<domCg_samplerDEPTHRef> domCg_samplerDEPTH_Array;
+
+class domCg_connect_param;
+
+typedef daeSmartRef<domCg_connect_param> domCg_connect_paramRef;
+typedef daeTArray<domCg_connect_paramRef> domCg_connect_param_Array;
+
+class domCg_newarray_type;
+
+typedef daeSmartRef<domCg_newarray_type> domCg_newarray_typeRef;
+typedef daeTArray<domCg_newarray_typeRef> domCg_newarray_type_Array;
+
+class domCg_setarray_type;
+
+typedef daeSmartRef<domCg_setarray_type> domCg_setarray_typeRef;
+typedef daeTArray<domCg_setarray_typeRef> domCg_setarray_type_Array;
+
+class domCg_setuser_type;
+
+typedef daeSmartRef<domCg_setuser_type> domCg_setuser_typeRef;
+typedef daeTArray<domCg_setuser_typeRef> domCg_setuser_type_Array;
+
+class domCg_surface_type;
+
+typedef daeSmartRef<domCg_surface_type> domCg_surface_typeRef;
+typedef daeTArray<domCg_surface_typeRef> domCg_surface_type_Array;
+
+class domCg_newparam;
+
+typedef daeSmartRef<domCg_newparam> domCg_newparamRef;
+typedef daeTArray<domCg_newparamRef> domCg_newparam_Array;
+
+class domCg_setparam_simple;
+
+typedef daeSmartRef<domCg_setparam_simple> domCg_setparam_simpleRef;
+typedef daeTArray<domCg_setparam_simpleRef> domCg_setparam_simple_Array;
+
+class domCg_setparam;
+
+typedef daeSmartRef<domCg_setparam> domCg_setparamRef;
+typedef daeTArray<domCg_setparamRef> domCg_setparam_Array;
+
+class domGles_texture_constant_type;
+
+typedef daeSmartRef<domGles_texture_constant_type> domGles_texture_constant_typeRef;
+typedef daeTArray<domGles_texture_constant_typeRef> domGles_texture_constant_type_Array;
+
+class domGles_texenv_command_type;
+
+typedef daeSmartRef<domGles_texenv_command_type> domGles_texenv_command_typeRef;
+typedef daeTArray<domGles_texenv_command_typeRef> domGles_texenv_command_type_Array;
+
+class domGles_texcombiner_argumentRGB_type;
+
+typedef daeSmartRef<domGles_texcombiner_argumentRGB_type> domGles_texcombiner_argumentRGB_typeRef;
+typedef daeTArray<domGles_texcombiner_argumentRGB_typeRef> domGles_texcombiner_argumentRGB_type_Array;
+
+class domGles_texcombiner_argumentAlpha_type;
+
+typedef daeSmartRef<domGles_texcombiner_argumentAlpha_type> domGles_texcombiner_argumentAlpha_typeRef;
+typedef daeTArray<domGles_texcombiner_argumentAlpha_typeRef> domGles_texcombiner_argumentAlpha_type_Array;
+
+class domGles_texcombiner_commandRGB_type;
+
+typedef daeSmartRef<domGles_texcombiner_commandRGB_type> domGles_texcombiner_commandRGB_typeRef;
+typedef daeTArray<domGles_texcombiner_commandRGB_typeRef> domGles_texcombiner_commandRGB_type_Array;
+
+class domGles_texcombiner_commandAlpha_type;
+
+typedef daeSmartRef<domGles_texcombiner_commandAlpha_type> domGles_texcombiner_commandAlpha_typeRef;
+typedef daeTArray<domGles_texcombiner_commandAlpha_typeRef> domGles_texcombiner_commandAlpha_type_Array;
+
+class domGles_texcombiner_command_type;
+
+typedef daeSmartRef<domGles_texcombiner_command_type> domGles_texcombiner_command_typeRef;
+typedef daeTArray<domGles_texcombiner_command_typeRef> domGles_texcombiner_command_type_Array;
+
+class domGles_texture_pipeline;
+
+typedef daeSmartRef<domGles_texture_pipeline> domGles_texture_pipelineRef;
+typedef daeTArray<domGles_texture_pipelineRef> domGles_texture_pipeline_Array;
+
+class domGles_texture_unit;
+
+typedef daeSmartRef<domGles_texture_unit> domGles_texture_unitRef;
+typedef daeTArray<domGles_texture_unitRef> domGles_texture_unit_Array;
+
+class domGles_sampler_state;
+
+typedef daeSmartRef<domGles_sampler_state> domGles_sampler_stateRef;
+typedef daeTArray<domGles_sampler_stateRef> domGles_sampler_state_Array;
+
+class domGles_newparam;
+
+typedef daeSmartRef<domGles_newparam> domGles_newparamRef;
+typedef daeTArray<domGles_newparamRef> domGles_newparam_Array;
+
+class domFx_surface_init_common;
+
+typedef daeSmartRef<domFx_surface_init_common> domFx_surface_init_commonRef;
+typedef daeTArray<domFx_surface_init_commonRef> domFx_surface_init_common_Array;
+
+class domFx_annotate_type_common;
+
+typedef daeSmartRef<domFx_annotate_type_common> domFx_annotate_type_commonRef;
+typedef daeTArray<domFx_annotate_type_commonRef> domFx_annotate_type_common_Array;
+
+class domFx_basic_type_common;
+
+typedef daeSmartRef<domFx_basic_type_common> domFx_basic_type_commonRef;
+typedef daeTArray<domFx_basic_type_commonRef> domFx_basic_type_common_Array;
+
+class domGl_pipeline_settings;
+
+typedef daeSmartRef<domGl_pipeline_settings> domGl_pipeline_settingsRef;
+typedef daeTArray<domGl_pipeline_settingsRef> domGl_pipeline_settings_Array;
+
+class domGlsl_param_type;
+
+typedef daeSmartRef<domGlsl_param_type> domGlsl_param_typeRef;
+typedef daeTArray<domGlsl_param_typeRef> domGlsl_param_type_Array;
+
+class domCg_param_type;
+
+typedef daeSmartRef<domCg_param_type> domCg_param_typeRef;
+typedef daeTArray<domCg_param_typeRef> domCg_param_type_Array;
+
+class domGles_pipeline_settings;
+
+typedef daeSmartRef<domGles_pipeline_settings> domGles_pipeline_settingsRef;
+typedef daeTArray<domGles_pipeline_settingsRef> domGles_pipeline_settings_Array;
+
+class domGles_basic_type_common;
+
+typedef daeSmartRef<domGles_basic_type_common> domGles_basic_type_commonRef;
+typedef daeTArray<domGles_basic_type_commonRef> domGles_basic_type_common_Array;
+
+class domCOLLADA;
+
+typedef daeSmartRef<domCOLLADA> domCOLLADARef;
+typedef daeTArray<domCOLLADARef> domCOLLADA_Array;
+
+class domIDREF_array;
+
+typedef daeSmartRef<domIDREF_array> domIDREF_arrayRef;
+typedef daeTArray<domIDREF_arrayRef> domIDREF_array_Array;
+
+class domName_array;
+
+typedef daeSmartRef<domName_array> domName_arrayRef;
+typedef daeTArray<domName_arrayRef> domName_array_Array;
+
+class domBool_array;
+
+typedef daeSmartRef<domBool_array> domBool_arrayRef;
+typedef daeTArray<domBool_arrayRef> domBool_array_Array;
+
+class domFloat_array;
+
+typedef daeSmartRef<domFloat_array> domFloat_arrayRef;
+typedef daeTArray<domFloat_arrayRef> domFloat_array_Array;
+
+class domInt_array;
+
+typedef daeSmartRef<domInt_array> domInt_arrayRef;
+typedef daeTArray<domInt_arrayRef> domInt_array_Array;
+
+class domAccessor;
+
+typedef daeSmartRef<domAccessor> domAccessorRef;
+typedef daeTArray<domAccessorRef> domAccessor_Array;
+
+class domParam;
+
+typedef daeSmartRef<domParam> domParamRef;
+typedef daeTArray<domParamRef> domParam_Array;
+
+class domSource;
+
+typedef daeSmartRef<domSource> domSourceRef;
+typedef daeTArray<domSourceRef> domSource_Array;
+
+class domGeometry;
+
+typedef daeSmartRef<domGeometry> domGeometryRef;
+typedef daeTArray<domGeometryRef> domGeometry_Array;
+
+class domMesh;
+
+typedef daeSmartRef<domMesh> domMeshRef;
+typedef daeTArray<domMeshRef> domMesh_Array;
+
+class domSpline;
+
+typedef daeSmartRef<domSpline> domSplineRef;
+typedef daeTArray<domSplineRef> domSpline_Array;
+
+class domP;
+
+typedef daeSmartRef<domP> domPRef;
+typedef daeTArray<domPRef> domP_Array;
+
+class domLines;
+
+typedef daeSmartRef<domLines> domLinesRef;
+typedef daeTArray<domLinesRef> domLines_Array;
+
+class domLinestrips;
+
+typedef daeSmartRef<domLinestrips> domLinestripsRef;
+typedef daeTArray<domLinestripsRef> domLinestrips_Array;
+
+class domPolygons;
+
+typedef daeSmartRef<domPolygons> domPolygonsRef;
+typedef daeTArray<domPolygonsRef> domPolygons_Array;
+
+class domPolylist;
+
+typedef daeSmartRef<domPolylist> domPolylistRef;
+typedef daeTArray<domPolylistRef> domPolylist_Array;
+
+class domTriangles;
+
+typedef daeSmartRef<domTriangles> domTrianglesRef;
+typedef daeTArray<domTrianglesRef> domTriangles_Array;
+
+class domTrifans;
+
+typedef daeSmartRef<domTrifans> domTrifansRef;
+typedef daeTArray<domTrifansRef> domTrifans_Array;
+
+class domTristrips;
+
+typedef daeSmartRef<domTristrips> domTristripsRef;
+typedef daeTArray<domTristripsRef> domTristrips_Array;
+
+class domVertices;
+
+typedef daeSmartRef<domVertices> domVerticesRef;
+typedef daeTArray<domVerticesRef> domVertices_Array;
+
+class domLookat;
+
+typedef daeSmartRef<domLookat> domLookatRef;
+typedef daeTArray<domLookatRef> domLookat_Array;
+
+class domMatrix;
+
+typedef daeSmartRef<domMatrix> domMatrixRef;
+typedef daeTArray<domMatrixRef> domMatrix_Array;
+
+class domRotate;
+
+typedef daeSmartRef<domRotate> domRotateRef;
+typedef daeTArray<domRotateRef> domRotate_Array;
+
+class domScale;
+
+typedef daeSmartRef<domScale> domScaleRef;
+typedef daeTArray<domScaleRef> domScale_Array;
+
+class domSkew;
+
+typedef daeSmartRef<domSkew> domSkewRef;
+typedef daeTArray<domSkewRef> domSkew_Array;
+
+class domTranslate;
+
+typedef daeSmartRef<domTranslate> domTranslateRef;
+typedef daeTArray<domTranslateRef> domTranslate_Array;
+
+class domImage;
+
+typedef daeSmartRef<domImage> domImageRef;
+typedef daeTArray<domImageRef> domImage_Array;
+
+class domLight;
+
+typedef daeSmartRef<domLight> domLightRef;
+typedef daeTArray<domLightRef> domLight_Array;
+
+class domMaterial;
+
+typedef daeSmartRef<domMaterial> domMaterialRef;
+typedef daeTArray<domMaterialRef> domMaterial_Array;
+
+class domCamera;
+
+typedef daeSmartRef<domCamera> domCameraRef;
+typedef daeTArray<domCameraRef> domCamera_Array;
+
+class domAnimation;
+
+typedef daeSmartRef<domAnimation> domAnimationRef;
+typedef daeTArray<domAnimationRef> domAnimation_Array;
+
+class domAnimation_clip;
+
+typedef daeSmartRef<domAnimation_clip> domAnimation_clipRef;
+typedef daeTArray<domAnimation_clipRef> domAnimation_clip_Array;
+
+class domChannel;
+
+typedef daeSmartRef<domChannel> domChannelRef;
+typedef daeTArray<domChannelRef> domChannel_Array;
+
+class domSampler;
+
+typedef daeSmartRef<domSampler> domSamplerRef;
+typedef daeTArray<domSamplerRef> domSampler_Array;
+
+class domController;
+
+typedef daeSmartRef<domController> domControllerRef;
+typedef daeTArray<domControllerRef> domController_Array;
+
+class domSkin;
+
+typedef daeSmartRef<domSkin> domSkinRef;
+typedef daeTArray<domSkinRef> domSkin_Array;
+
+class domMorph;
+
+typedef daeSmartRef<domMorph> domMorphRef;
+typedef daeTArray<domMorphRef> domMorph_Array;
+
+class domAsset;
+
+typedef daeSmartRef<domAsset> domAssetRef;
+typedef daeTArray<domAssetRef> domAsset_Array;
+
+class domExtra;
+
+typedef daeSmartRef<domExtra> domExtraRef;
+typedef daeTArray<domExtraRef> domExtra_Array;
+
+class domTechnique;
+
+typedef daeSmartRef<domTechnique> domTechniqueRef;
+typedef daeTArray<domTechniqueRef> domTechnique_Array;
+
+class domNode;
+
+typedef daeSmartRef<domNode> domNodeRef;
+typedef daeTArray<domNodeRef> domNode_Array;
+
+class domVisual_scene;
+
+typedef daeSmartRef<domVisual_scene> domVisual_sceneRef;
+typedef daeTArray<domVisual_sceneRef> domVisual_scene_Array;
+
+class domBind_material;
+
+typedef daeSmartRef<domBind_material> domBind_materialRef;
+typedef daeTArray<domBind_materialRef> domBind_material_Array;
+
+class domInstance_camera;
+
+typedef daeSmartRef<domInstance_camera> domInstance_cameraRef;
+typedef daeTArray<domInstance_cameraRef> domInstance_camera_Array;
+
+class domInstance_controller;
+
+typedef daeSmartRef<domInstance_controller> domInstance_controllerRef;
+typedef daeTArray<domInstance_controllerRef> domInstance_controller_Array;
+
+class domInstance_effect;
+
+typedef daeSmartRef<domInstance_effect> domInstance_effectRef;
+typedef daeTArray<domInstance_effectRef> domInstance_effect_Array;
+
+class domInstance_force_field;
+
+typedef daeSmartRef<domInstance_force_field> domInstance_force_fieldRef;
+typedef daeTArray<domInstance_force_fieldRef> domInstance_force_field_Array;
+
+class domInstance_geometry;
+
+typedef daeSmartRef<domInstance_geometry> domInstance_geometryRef;
+typedef daeTArray<domInstance_geometryRef> domInstance_geometry_Array;
+
+class domInstance_light;
+
+typedef daeSmartRef<domInstance_light> domInstance_lightRef;
+typedef daeTArray<domInstance_lightRef> domInstance_light_Array;
+
+class domInstance_material;
+
+typedef daeSmartRef<domInstance_material> domInstance_materialRef;
+typedef daeTArray<domInstance_materialRef> domInstance_material_Array;
+
+class domInstance_node;
+
+typedef daeSmartRef<domInstance_node> domInstance_nodeRef;
+typedef daeTArray<domInstance_nodeRef> domInstance_node_Array;
+
+class domInstance_physics_material;
+
+typedef daeSmartRef<domInstance_physics_material> domInstance_physics_materialRef;
+typedef daeTArray<domInstance_physics_materialRef> domInstance_physics_material_Array;
+
+class domInstance_physics_model;
+
+typedef daeSmartRef<domInstance_physics_model> domInstance_physics_modelRef;
+typedef daeTArray<domInstance_physics_modelRef> domInstance_physics_model_Array;
+
+class domInstance_rigid_body;
+
+typedef daeSmartRef<domInstance_rigid_body> domInstance_rigid_bodyRef;
+typedef daeTArray<domInstance_rigid_bodyRef> domInstance_rigid_body_Array;
+
+class domInstance_rigid_constraint;
+
+typedef daeSmartRef<domInstance_rigid_constraint> domInstance_rigid_constraintRef;
+typedef daeTArray<domInstance_rigid_constraintRef> domInstance_rigid_constraint_Array;
+
+class domLibrary_animations;
+
+typedef daeSmartRef<domLibrary_animations> domLibrary_animationsRef;
+typedef daeTArray<domLibrary_animationsRef> domLibrary_animations_Array;
+
+class domLibrary_animation_clips;
+
+typedef daeSmartRef<domLibrary_animation_clips> domLibrary_animation_clipsRef;
+typedef daeTArray<domLibrary_animation_clipsRef> domLibrary_animation_clips_Array;
+
+class domLibrary_cameras;
+
+typedef daeSmartRef<domLibrary_cameras> domLibrary_camerasRef;
+typedef daeTArray<domLibrary_camerasRef> domLibrary_cameras_Array;
+
+class domLibrary_controllers;
+
+typedef daeSmartRef<domLibrary_controllers> domLibrary_controllersRef;
+typedef daeTArray<domLibrary_controllersRef> domLibrary_controllers_Array;
+
+class domLibrary_geometries;
+
+typedef daeSmartRef<domLibrary_geometries> domLibrary_geometriesRef;
+typedef daeTArray<domLibrary_geometriesRef> domLibrary_geometries_Array;
+
+class domLibrary_effects;
+
+typedef daeSmartRef<domLibrary_effects> domLibrary_effectsRef;
+typedef daeTArray<domLibrary_effectsRef> domLibrary_effects_Array;
+
+class domLibrary_force_fields;
+
+typedef daeSmartRef<domLibrary_force_fields> domLibrary_force_fieldsRef;
+typedef daeTArray<domLibrary_force_fieldsRef> domLibrary_force_fields_Array;
+
+class domLibrary_images;
+
+typedef daeSmartRef<domLibrary_images> domLibrary_imagesRef;
+typedef daeTArray<domLibrary_imagesRef> domLibrary_images_Array;
+
+class domLibrary_lights;
+
+typedef daeSmartRef<domLibrary_lights> domLibrary_lightsRef;
+typedef daeTArray<domLibrary_lightsRef> domLibrary_lights_Array;
+
+class domLibrary_materials;
+
+typedef daeSmartRef<domLibrary_materials> domLibrary_materialsRef;
+typedef daeTArray<domLibrary_materialsRef> domLibrary_materials_Array;
+
+class domLibrary_nodes;
+
+typedef daeSmartRef<domLibrary_nodes> domLibrary_nodesRef;
+typedef daeTArray<domLibrary_nodesRef> domLibrary_nodes_Array;
+
+class domLibrary_physics_materials;
+
+typedef daeSmartRef<domLibrary_physics_materials> domLibrary_physics_materialsRef;
+typedef daeTArray<domLibrary_physics_materialsRef> domLibrary_physics_materials_Array;
+
+class domLibrary_physics_models;
+
+typedef daeSmartRef<domLibrary_physics_models> domLibrary_physics_modelsRef;
+typedef daeTArray<domLibrary_physics_modelsRef> domLibrary_physics_models_Array;
+
+class domLibrary_physics_scenes;
+
+typedef daeSmartRef<domLibrary_physics_scenes> domLibrary_physics_scenesRef;
+typedef daeTArray<domLibrary_physics_scenesRef> domLibrary_physics_scenes_Array;
+
+class domLibrary_visual_scenes;
+
+typedef daeSmartRef<domLibrary_visual_scenes> domLibrary_visual_scenesRef;
+typedef daeTArray<domLibrary_visual_scenesRef> domLibrary_visual_scenes_Array;
+
+class domFx_profile_abstract;
+
+typedef daeSmartRef<domFx_profile_abstract> domFx_profile_abstractRef;
+typedef daeTArray<domFx_profile_abstractRef> domFx_profile_abstract_Array;
+
+class domEffect;
+
+typedef daeSmartRef<domEffect> domEffectRef;
+typedef daeTArray<domEffectRef> domEffect_Array;
+
+class domGl_hook_abstract;
+
+typedef daeSmartRef<domGl_hook_abstract> domGl_hook_abstractRef;
+typedef daeTArray<domGl_hook_abstractRef> domGl_hook_abstract_Array;
+
+class domProfile_GLSL;
+
+typedef daeSmartRef<domProfile_GLSL> domProfile_GLSLRef;
+typedef daeTArray<domProfile_GLSLRef> domProfile_GLSL_Array;
+
+class domProfile_COMMON;
+
+typedef daeSmartRef<domProfile_COMMON> domProfile_COMMONRef;
+typedef daeTArray<domProfile_COMMONRef> domProfile_COMMON_Array;
+
+class domProfile_CG;
+
+typedef daeSmartRef<domProfile_CG> domProfile_CGRef;
+typedef daeTArray<domProfile_CGRef> domProfile_CG_Array;
+
+class domProfile_GLES;
+
+typedef daeSmartRef<domProfile_GLES> domProfile_GLESRef;
+typedef daeTArray<domProfile_GLESRef> domProfile_GLES_Array;
+
+class domBox;
+
+typedef daeSmartRef<domBox> domBoxRef;
+typedef daeTArray<domBoxRef> domBox_Array;
+
+class domPlane;
+
+typedef daeSmartRef<domPlane> domPlaneRef;
+typedef daeTArray<domPlaneRef> domPlane_Array;
+
+class domSphere;
+
+typedef daeSmartRef<domSphere> domSphereRef;
+typedef daeTArray<domSphereRef> domSphere_Array;
+
+class domEllipsoid;
+
+typedef daeSmartRef<domEllipsoid> domEllipsoidRef;
+typedef daeTArray<domEllipsoidRef> domEllipsoid_Array;
+
+class domCylinder;
+
+typedef daeSmartRef<domCylinder> domCylinderRef;
+typedef daeTArray<domCylinderRef> domCylinder_Array;
+
+class domTapered_cylinder;
+
+typedef daeSmartRef<domTapered_cylinder> domTapered_cylinderRef;
+typedef daeTArray<domTapered_cylinderRef> domTapered_cylinder_Array;
+
+class domCapsule;
+
+typedef daeSmartRef<domCapsule> domCapsuleRef;
+typedef daeTArray<domCapsuleRef> domCapsule_Array;
+
+class domTapered_capsule;
+
+typedef daeSmartRef<domTapered_capsule> domTapered_capsuleRef;
+typedef daeTArray<domTapered_capsuleRef> domTapered_capsule_Array;
+
+class domConvex_mesh;
+
+typedef daeSmartRef<domConvex_mesh> domConvex_meshRef;
+typedef daeTArray<domConvex_meshRef> domConvex_mesh_Array;
+
+class domForce_field;
+
+typedef daeSmartRef<domForce_field> domForce_fieldRef;
+typedef daeTArray<domForce_fieldRef> domForce_field_Array;
+
+class domPhysics_material;
+
+typedef daeSmartRef<domPhysics_material> domPhysics_materialRef;
+typedef daeTArray<domPhysics_materialRef> domPhysics_material_Array;
+
+class domPhysics_scene;
+
+typedef daeSmartRef<domPhysics_scene> domPhysics_sceneRef;
+typedef daeTArray<domPhysics_sceneRef> domPhysics_scene_Array;
+
+class domRigid_body;
+
+typedef daeSmartRef<domRigid_body> domRigid_bodyRef;
+typedef daeTArray<domRigid_bodyRef> domRigid_body_Array;
+
+class domRigid_constraint;
+
+typedef daeSmartRef<domRigid_constraint> domRigid_constraintRef;
+typedef daeTArray<domRigid_constraintRef> domRigid_constraint_Array;
+
+class domPhysics_model;
+
+typedef daeSmartRef<domPhysics_model> domPhysics_modelRef;
+typedef daeTArray<domPhysics_modelRef> domPhysics_model_Array;
+
+} // ColladaDOM141
+
+#endif //__DOM_ELEMENTS_H__
+
diff --git a/1.4.0/dom/include/1.4/dom/domEllipsoid.h b/1.4.0/dom/include/1.4/dom/domEllipsoid.h
new file mode 100644
index 0000000..de8681e
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domEllipsoid.h
@@ -0,0 +1,131 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Ellipsoid_h__
+#define __dom141Ellipsoid_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM141 {
+
+class domEllipsoid : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ELLIPSOID; }
+ static daeInt ID() { return 773; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domSize;
+
+ typedef daeSmartRef<domSize> domSizeRef;
+ typedef daeTArray<domSizeRef> domSize_Array;
+
+ class domSize : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SIZE; }
+ static daeInt ID() { return 774; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFloat3 value of the text data of this element.
+ */
+ domFloat3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domFloat3 reference of the _value array.
+ */
+ domFloat3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domFloat3 reference of the _value array.
+ */
+ const domFloat3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domFloat3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSize(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSize() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSize &operator=( const domSize &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Element
+ domSizeRef elemSize;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the size element.
+ * @return a daeSmartRef to the size element.
+ */
+ const domSizeRef getSize() const { return elemSize; }
+protected:
+ /**
+ * Constructor
+ */
+ domEllipsoid(DAE& dae) : daeElement(dae), elemSize() {}
+ /**
+ * Destructor
+ */
+ virtual ~domEllipsoid() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domEllipsoid &operator=( const domEllipsoid &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domExtra.h b/1.4.0/dom/include/1.4/dom/domExtra.h
new file mode 100644
index 0000000..8762303
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domExtra.h
@@ -0,0 +1,141 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Extra_h__
+#define __dom141Extra_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domAsset.h>
+#include <1.4/dom/domTechnique.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The extra element declares additional information regarding its parent
+ * element.
+ */
+class domExtra : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::EXTRA; }
+ static daeInt ID() { return 679; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+/**
+ * The type attribute indicates the type of the value data. This text string
+ * must be understood by the application. Optional attribute.
+ */
+ xsNMTOKEN attrType;
+
+protected: // Elements
+/**
+ * The extra element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * This element must contain at least one non-common profile technique.
+ * @see domTechnique
+ */
+ domTechnique_Array elemTechnique_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the type attribute.
+ * @return Returns a xsNMTOKEN of the type attribute.
+ */
+ xsNMTOKEN getType() const { return attrType; }
+ /**
+ * Sets the type attribute.
+ * @param atType The new value for the type attribute.
+ */
+ void setType( xsNMTOKEN atType ) { *(daeStringRef*)&attrType = atType; _validAttributeArray[2] = true; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a reference to the array of technique elements.
+ */
+ domTechnique_Array &getTechnique_array() { return elemTechnique_array; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a constant reference to the array of technique elements.
+ */
+ const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domExtra(DAE& dae) : daeElement(dae), attrId(), attrName(), attrType(), elemAsset(), elemTechnique_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domExtra() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domExtra &operator=( const domExtra &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domFloat_array.h b/1.4.0/dom/include/1.4/dom/domFloat_array.h
new file mode 100644
index 0000000..b22062c
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domFloat_array.h
@@ -0,0 +1,169 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Float_array_h__
+#define __dom141Float_array_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The float_array element declares the storage for a homogenous array of
+ * floating point values.
+ */
+class domFloat_array : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT_ARRAY; }
+ static daeInt ID() { return 607; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+/**
+ * The count attribute indicates the number of values in the array. Required
+ * attribute.
+ */
+ domUint attrCount;
+/**
+ * The digits attribute indicates the number of significant decimal digits
+ * of the float values that can be contained in the array. The default value
+ * is 6. Optional attribute.
+ */
+ xsShort attrDigits;
+/**
+ * The magnitude attribute indicates the largest exponent of the float values
+ * that can be contained in the array. The default value is 38. Optional
+ * attribute.
+ */
+ xsShort attrMagnitude;
+
+protected: // Value
+ /**
+ * The domListOfFloats value of the text data of this element.
+ */
+ domListOfFloats _value;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the count attribute.
+ * @return Returns a domUint of the count attribute.
+ */
+ domUint getCount() const { return attrCount; }
+ /**
+ * Sets the count attribute.
+ * @param atCount The new value for the count attribute.
+ */
+ void setCount( domUint atCount ) { attrCount = atCount; _validAttributeArray[2] = true; }
+
+ /**
+ * Gets the digits attribute.
+ * @return Returns a xsShort of the digits attribute.
+ */
+ xsShort getDigits() const { return attrDigits; }
+ /**
+ * Sets the digits attribute.
+ * @param atDigits The new value for the digits attribute.
+ */
+ void setDigits( xsShort atDigits ) { attrDigits = atDigits; _validAttributeArray[3] = true; }
+
+ /**
+ * Gets the magnitude attribute.
+ * @return Returns a xsShort of the magnitude attribute.
+ */
+ xsShort getMagnitude() const { return attrMagnitude; }
+ /**
+ * Sets the magnitude attribute.
+ * @param atMagnitude The new value for the magnitude attribute.
+ */
+ void setMagnitude( xsShort atMagnitude ) { attrMagnitude = atMagnitude; _validAttributeArray[4] = true; }
+
+ /**
+ * Gets the _value array.
+ * @return Returns a domListOfFloats reference of the _value array.
+ */
+ domListOfFloats &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domListOfFloats reference of the _value array.
+ */
+ const domListOfFloats &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domListOfFloats &val ) { _value = val; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFloat_array(DAE& dae) : daeElement(dae), attrId(), attrName(), attrCount(), attrDigits(), attrMagnitude(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat_array() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat_array &operator=( const domFloat_array &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domForce_field.h b/1.4.0/dom/include/1.4/dom/domForce_field.h
new file mode 100644
index 0000000..9b70128
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domForce_field.h
@@ -0,0 +1,140 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Force_field_h__
+#define __dom141Force_field_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domAsset.h>
+#include <1.4/dom/domTechnique.h>
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * A general container for force-fields. At the moment, it only has techniques
+ * and extra elements.
+ */
+class domForce_field : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FORCE_FIELD; }
+ static daeInt ID() { return 790; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+
+protected: // Elements
+/**
+ * The force_field element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * This element must contain at least one non-common profile technique.
+ * @see domTechnique
+ */
+ domTechnique_Array elemTechnique_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a reference to the array of technique elements.
+ */
+ domTechnique_Array &getTechnique_array() { return elemTechnique_array; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a constant reference to the array of technique elements.
+ */
+ const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domForce_field(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemTechnique_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domForce_field() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domForce_field &operator=( const domForce_field &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domFx_annotate_common.h b/1.4.0/dom/include/1.4/dom/domFx_annotate_common.h
new file mode 100644
index 0000000..5a4e3ad
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domFx_annotate_common.h
@@ -0,0 +1,113 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Fx_annotate_common_h__
+#define __dom141Fx_annotate_common_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domFx_annotate_type_common.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+class domFx_annotate_common_complexType
+{
+protected: // Attribute
+ xsNCName attrName;
+
+protected: // Element
+ domFx_annotate_type_commonRef elemFx_annotate_type_common;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the fx_annotate_type_common element.
+ * @return a daeSmartRef to the fx_annotate_type_common element.
+ */
+ const domFx_annotate_type_commonRef getFx_annotate_type_common() const { return elemFx_annotate_type_common; }
+protected:
+ /**
+ * Constructor
+ */
+ domFx_annotate_common_complexType(DAE& dae, daeElement* elt) : attrName(), elemFx_annotate_type_common() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_annotate_common_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_annotate_common_complexType &operator=( const domFx_annotate_common_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domFx_annotate_common_complexType.
+ */
+class domFx_annotate_common : public daeElement, public domFx_annotate_common_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_ANNOTATE_COMMON; }
+ static daeInt ID() { return 91; }
+ virtual daeInt typeID() const { return ID(); }
+
+public: //Accessors and Mutators
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[0] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_annotate_common(DAE& dae) : daeElement(dae), domFx_annotate_common_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_annotate_common() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_annotate_common &operator=( const domFx_annotate_common &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domFx_annotate_type_common.h b/1.4.0/dom/include/1.4/dom/domFx_annotate_type_common.h
new file mode 100644
index 0000000..a107561
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domFx_annotate_type_common.h
@@ -0,0 +1,1174 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Fx_annotate_type_common_h__
+#define __dom141Fx_annotate_type_common_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * A group that specifies the allowable types for an annotation.
+ */
+class domFx_annotate_type_common : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_ANNOTATE_TYPE_COMMON; }
+ static daeInt ID() { return 171; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domBool;
+
+ typedef daeSmartRef<domBool> domBoolRef;
+ typedef daeTArray<domBoolRef> domBool_Array;
+
+ class domBool : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL; }
+ static daeInt ID() { return 172; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domBool value of the text data of this element.
+ */
+ ColladaDOM141::domBool _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM141::domBool of the value.
+ */
+ ColladaDOM141::domBool getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( ColladaDOM141::domBool val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBool(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool &operator=( const domBool &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool2;
+
+ typedef daeSmartRef<domBool2> domBool2Ref;
+ typedef daeTArray<domBool2Ref> domBool2_Array;
+
+ class domBool2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL2; }
+ static daeInt ID() { return 173; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domBool2 value of the text data of this element.
+ */
+ ColladaDOM141::domBool2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domBool2 reference of the _value array.
+ */
+ ColladaDOM141::domBool2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domBool2 reference of the _value array.
+ */
+ const ColladaDOM141::domBool2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domBool2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBool2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool2 &operator=( const domBool2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool3;
+
+ typedef daeSmartRef<domBool3> domBool3Ref;
+ typedef daeTArray<domBool3Ref> domBool3_Array;
+
+ class domBool3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL3; }
+ static daeInt ID() { return 174; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domBool3 value of the text data of this element.
+ */
+ ColladaDOM141::domBool3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domBool3 reference of the _value array.
+ */
+ ColladaDOM141::domBool3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domBool3 reference of the _value array.
+ */
+ const ColladaDOM141::domBool3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domBool3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBool3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool3 &operator=( const domBool3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool4;
+
+ typedef daeSmartRef<domBool4> domBool4Ref;
+ typedef daeTArray<domBool4Ref> domBool4_Array;
+
+ class domBool4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL4; }
+ static daeInt ID() { return 175; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domBool4 value of the text data of this element.
+ */
+ ColladaDOM141::domBool4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domBool4 reference of the _value array.
+ */
+ ColladaDOM141::domBool4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domBool4 reference of the _value array.
+ */
+ const ColladaDOM141::domBool4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domBool4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBool4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool4 &operator=( const domBool4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt;
+
+ typedef daeSmartRef<domInt> domIntRef;
+ typedef daeTArray<domIntRef> domInt_Array;
+
+ class domInt : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT; }
+ static daeInt ID() { return 176; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domInt value of the text data of this element.
+ */
+ ColladaDOM141::domInt _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM141::domInt of the value.
+ */
+ ColladaDOM141::domInt getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( ColladaDOM141::domInt val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domInt(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt &operator=( const domInt &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt2;
+
+ typedef daeSmartRef<domInt2> domInt2Ref;
+ typedef daeTArray<domInt2Ref> domInt2_Array;
+
+ class domInt2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT2; }
+ static daeInt ID() { return 177; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domInt2 value of the text data of this element.
+ */
+ ColladaDOM141::domInt2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domInt2 reference of the _value array.
+ */
+ ColladaDOM141::domInt2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domInt2 reference of the _value array.
+ */
+ const ColladaDOM141::domInt2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domInt2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domInt2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt2 &operator=( const domInt2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt3;
+
+ typedef daeSmartRef<domInt3> domInt3Ref;
+ typedef daeTArray<domInt3Ref> domInt3_Array;
+
+ class domInt3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT3; }
+ static daeInt ID() { return 178; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domInt3 value of the text data of this element.
+ */
+ ColladaDOM141::domInt3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domInt3 reference of the _value array.
+ */
+ ColladaDOM141::domInt3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domInt3 reference of the _value array.
+ */
+ const ColladaDOM141::domInt3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domInt3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domInt3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt3 &operator=( const domInt3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt4;
+
+ typedef daeSmartRef<domInt4> domInt4Ref;
+ typedef daeTArray<domInt4Ref> domInt4_Array;
+
+ class domInt4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT4; }
+ static daeInt ID() { return 179; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domInt4 value of the text data of this element.
+ */
+ ColladaDOM141::domInt4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domInt4 reference of the _value array.
+ */
+ ColladaDOM141::domInt4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domInt4 reference of the _value array.
+ */
+ const ColladaDOM141::domInt4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domInt4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domInt4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt4 &operator=( const domInt4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat;
+
+ typedef daeSmartRef<domFloat> domFloatRef;
+ typedef daeTArray<domFloatRef> domFloat_Array;
+
+ class domFloat : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT; }
+ static daeInt ID() { return 180; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat value of the text data of this element.
+ */
+ ColladaDOM141::domFloat _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM141::domFloat of the value.
+ */
+ ColladaDOM141::domFloat getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( ColladaDOM141::domFloat val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat &operator=( const domFloat &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat2;
+
+ typedef daeSmartRef<domFloat2> domFloat2Ref;
+ typedef daeTArray<domFloat2Ref> domFloat2_Array;
+
+ class domFloat2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2; }
+ static daeInt ID() { return 181; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat2 value of the text data of this element.
+ */
+ ColladaDOM141::domFloat2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domFloat2 reference of the _value array.
+ */
+ ColladaDOM141::domFloat2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domFloat2 reference of the _value array.
+ */
+ const ColladaDOM141::domFloat2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domFloat2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat2 &operator=( const domFloat2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat3;
+
+ typedef daeSmartRef<domFloat3> domFloat3Ref;
+ typedef daeTArray<domFloat3Ref> domFloat3_Array;
+
+ class domFloat3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3; }
+ static daeInt ID() { return 182; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat3 value of the text data of this element.
+ */
+ ColladaDOM141::domFloat3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domFloat3 reference of the _value array.
+ */
+ ColladaDOM141::domFloat3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domFloat3 reference of the _value array.
+ */
+ const ColladaDOM141::domFloat3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domFloat3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat3 &operator=( const domFloat3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat4;
+
+ typedef daeSmartRef<domFloat4> domFloat4Ref;
+ typedef daeTArray<domFloat4Ref> domFloat4_Array;
+
+ class domFloat4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4; }
+ static daeInt ID() { return 183; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat4 value of the text data of this element.
+ */
+ ColladaDOM141::domFloat4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domFloat4 reference of the _value array.
+ */
+ ColladaDOM141::domFloat4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domFloat4 reference of the _value array.
+ */
+ const ColladaDOM141::domFloat4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domFloat4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat4 &operator=( const domFloat4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat2x2;
+
+ typedef daeSmartRef<domFloat2x2> domFloat2x2Ref;
+ typedef daeTArray<domFloat2x2Ref> domFloat2x2_Array;
+
+ class domFloat2x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2X2; }
+ static daeInt ID() { return 184; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat2x2 value of the text data of this element.
+ */
+ ColladaDOM141::domFloat2x2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domFloat2x2 reference of the _value array.
+ */
+ ColladaDOM141::domFloat2x2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domFloat2x2 reference of the _value array.
+ */
+ const ColladaDOM141::domFloat2x2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domFloat2x2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat2x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat2x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat2x2 &operator=( const domFloat2x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat3x3;
+
+ typedef daeSmartRef<domFloat3x3> domFloat3x3Ref;
+ typedef daeTArray<domFloat3x3Ref> domFloat3x3_Array;
+
+ class domFloat3x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3X3; }
+ static daeInt ID() { return 185; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat3x3 value of the text data of this element.
+ */
+ ColladaDOM141::domFloat3x3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domFloat3x3 reference of the _value array.
+ */
+ ColladaDOM141::domFloat3x3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domFloat3x3 reference of the _value array.
+ */
+ const ColladaDOM141::domFloat3x3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domFloat3x3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat3x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat3x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat3x3 &operator=( const domFloat3x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat4x4;
+
+ typedef daeSmartRef<domFloat4x4> domFloat4x4Ref;
+ typedef daeTArray<domFloat4x4Ref> domFloat4x4_Array;
+
+ class domFloat4x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4X4; }
+ static daeInt ID() { return 186; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat4x4 value of the text data of this element.
+ */
+ ColladaDOM141::domFloat4x4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domFloat4x4 reference of the _value array.
+ */
+ ColladaDOM141::domFloat4x4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domFloat4x4 reference of the _value array.
+ */
+ const ColladaDOM141::domFloat4x4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domFloat4x4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat4x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat4x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat4x4 &operator=( const domFloat4x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domString;
+
+ typedef daeSmartRef<domString> domStringRef;
+ typedef daeTArray<domStringRef> domString_Array;
+
+ class domString : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::STRING; }
+ static daeInt ID() { return 187; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ::xsString value of the text data of this element.
+ */
+ ::xsString _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a ::xsString of the value.
+ */
+ ::xsString getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( ::xsString val ) { *(daeStringRef*)&_value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domString(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domString() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domString &operator=( const domString &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+ domBoolRef elemBool;
+ domBool2Ref elemBool2;
+ domBool3Ref elemBool3;
+ domBool4Ref elemBool4;
+ domIntRef elemInt;
+ domInt2Ref elemInt2;
+ domInt3Ref elemInt3;
+ domInt4Ref elemInt4;
+ domFloatRef elemFloat;
+ domFloat2Ref elemFloat2;
+ domFloat3Ref elemFloat3;
+ domFloat4Ref elemFloat4;
+ domFloat2x2Ref elemFloat2x2;
+ domFloat3x3Ref elemFloat3x3;
+ domFloat4x4Ref elemFloat4x4;
+ domStringRef elemString;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the bool element.
+ * @return a daeSmartRef to the bool element.
+ */
+ const domBoolRef getBool() const { return elemBool; }
+ /**
+ * Gets the bool2 element.
+ * @return a daeSmartRef to the bool2 element.
+ */
+ const domBool2Ref getBool2() const { return elemBool2; }
+ /**
+ * Gets the bool3 element.
+ * @return a daeSmartRef to the bool3 element.
+ */
+ const domBool3Ref getBool3() const { return elemBool3; }
+ /**
+ * Gets the bool4 element.
+ * @return a daeSmartRef to the bool4 element.
+ */
+ const domBool4Ref getBool4() const { return elemBool4; }
+ /**
+ * Gets the int element.
+ * @return a daeSmartRef to the int element.
+ */
+ const domIntRef getInt() const { return elemInt; }
+ /**
+ * Gets the int2 element.
+ * @return a daeSmartRef to the int2 element.
+ */
+ const domInt2Ref getInt2() const { return elemInt2; }
+ /**
+ * Gets the int3 element.
+ * @return a daeSmartRef to the int3 element.
+ */
+ const domInt3Ref getInt3() const { return elemInt3; }
+ /**
+ * Gets the int4 element.
+ * @return a daeSmartRef to the int4 element.
+ */
+ const domInt4Ref getInt4() const { return elemInt4; }
+ /**
+ * Gets the float element.
+ * @return a daeSmartRef to the float element.
+ */
+ const domFloatRef getFloat() const { return elemFloat; }
+ /**
+ * Gets the float2 element.
+ * @return a daeSmartRef to the float2 element.
+ */
+ const domFloat2Ref getFloat2() const { return elemFloat2; }
+ /**
+ * Gets the float3 element.
+ * @return a daeSmartRef to the float3 element.
+ */
+ const domFloat3Ref getFloat3() const { return elemFloat3; }
+ /**
+ * Gets the float4 element.
+ * @return a daeSmartRef to the float4 element.
+ */
+ const domFloat4Ref getFloat4() const { return elemFloat4; }
+ /**
+ * Gets the float2x2 element.
+ * @return a daeSmartRef to the float2x2 element.
+ */
+ const domFloat2x2Ref getFloat2x2() const { return elemFloat2x2; }
+ /**
+ * Gets the float3x3 element.
+ * @return a daeSmartRef to the float3x3 element.
+ */
+ const domFloat3x3Ref getFloat3x3() const { return elemFloat3x3; }
+ /**
+ * Gets the float4x4 element.
+ * @return a daeSmartRef to the float4x4 element.
+ */
+ const domFloat4x4Ref getFloat4x4() const { return elemFloat4x4; }
+ /**
+ * Gets the string element.
+ * @return a daeSmartRef to the string element.
+ */
+ const domStringRef getString() const { return elemString; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_annotate_type_common(DAE& dae) : daeElement(dae), elemBool(), elemBool2(), elemBool3(), elemBool4(), elemInt(), elemInt2(), elemInt3(), elemInt4(), elemFloat(), elemFloat2(), elemFloat3(), elemFloat4(), elemFloat2x2(), elemFloat3x3(), elemFloat4x4(), elemString() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_annotate_type_common() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_annotate_type_common &operator=( const domFx_annotate_type_common &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domFx_basic_type_common.h b/1.4.0/dom/include/1.4/dom/domFx_basic_type_common.h
new file mode 100644
index 0000000..cdcbf6e
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domFx_basic_type_common.h
@@ -0,0 +1,2115 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Fx_basic_type_common_h__
+#define __dom141Fx_basic_type_common_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domFx_surface_common.h>
+#include <1.4/dom/domFx_sampler1D_common.h>
+#include <1.4/dom/domFx_sampler2D_common.h>
+#include <1.4/dom/domFx_sampler3D_common.h>
+#include <1.4/dom/domFx_samplerCUBE_common.h>
+#include <1.4/dom/domFx_samplerRECT_common.h>
+#include <1.4/dom/domFx_samplerDEPTH_common.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * A group that specifies the allowable types for effect scoped parameters.
+ */
+class domFx_basic_type_common : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_BASIC_TYPE_COMMON; }
+ static daeInt ID() { return 188; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domBool;
+
+ typedef daeSmartRef<domBool> domBoolRef;
+ typedef daeTArray<domBoolRef> domBool_Array;
+
+ class domBool : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL; }
+ static daeInt ID() { return 189; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domBool value of the text data of this element.
+ */
+ ColladaDOM141::domBool _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM141::domBool of the value.
+ */
+ ColladaDOM141::domBool getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( ColladaDOM141::domBool val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBool(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool &operator=( const domBool &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool2;
+
+ typedef daeSmartRef<domBool2> domBool2Ref;
+ typedef daeTArray<domBool2Ref> domBool2_Array;
+
+ class domBool2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL2; }
+ static daeInt ID() { return 190; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domBool2 value of the text data of this element.
+ */
+ ColladaDOM141::domBool2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domBool2 reference of the _value array.
+ */
+ ColladaDOM141::domBool2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domBool2 reference of the _value array.
+ */
+ const ColladaDOM141::domBool2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domBool2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBool2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool2 &operator=( const domBool2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool3;
+
+ typedef daeSmartRef<domBool3> domBool3Ref;
+ typedef daeTArray<domBool3Ref> domBool3_Array;
+
+ class domBool3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL3; }
+ static daeInt ID() { return 191; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domBool3 value of the text data of this element.
+ */
+ ColladaDOM141::domBool3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domBool3 reference of the _value array.
+ */
+ ColladaDOM141::domBool3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domBool3 reference of the _value array.
+ */
+ const ColladaDOM141::domBool3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domBool3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBool3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool3 &operator=( const domBool3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool4;
+
+ typedef daeSmartRef<domBool4> domBool4Ref;
+ typedef daeTArray<domBool4Ref> domBool4_Array;
+
+ class domBool4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL4; }
+ static daeInt ID() { return 192; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domBool4 value of the text data of this element.
+ */
+ ColladaDOM141::domBool4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domBool4 reference of the _value array.
+ */
+ ColladaDOM141::domBool4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domBool4 reference of the _value array.
+ */
+ const ColladaDOM141::domBool4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domBool4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBool4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool4 &operator=( const domBool4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt;
+
+ typedef daeSmartRef<domInt> domIntRef;
+ typedef daeTArray<domIntRef> domInt_Array;
+
+ class domInt : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT; }
+ static daeInt ID() { return 193; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domInt value of the text data of this element.
+ */
+ ColladaDOM141::domInt _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM141::domInt of the value.
+ */
+ ColladaDOM141::domInt getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( ColladaDOM141::domInt val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domInt(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt &operator=( const domInt &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt2;
+
+ typedef daeSmartRef<domInt2> domInt2Ref;
+ typedef daeTArray<domInt2Ref> domInt2_Array;
+
+ class domInt2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT2; }
+ static daeInt ID() { return 194; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domInt2 value of the text data of this element.
+ */
+ ColladaDOM141::domInt2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domInt2 reference of the _value array.
+ */
+ ColladaDOM141::domInt2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domInt2 reference of the _value array.
+ */
+ const ColladaDOM141::domInt2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domInt2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domInt2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt2 &operator=( const domInt2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt3;
+
+ typedef daeSmartRef<domInt3> domInt3Ref;
+ typedef daeTArray<domInt3Ref> domInt3_Array;
+
+ class domInt3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT3; }
+ static daeInt ID() { return 195; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domInt3 value of the text data of this element.
+ */
+ ColladaDOM141::domInt3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domInt3 reference of the _value array.
+ */
+ ColladaDOM141::domInt3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domInt3 reference of the _value array.
+ */
+ const ColladaDOM141::domInt3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domInt3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domInt3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt3 &operator=( const domInt3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt4;
+
+ typedef daeSmartRef<domInt4> domInt4Ref;
+ typedef daeTArray<domInt4Ref> domInt4_Array;
+
+ class domInt4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT4; }
+ static daeInt ID() { return 196; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domInt4 value of the text data of this element.
+ */
+ ColladaDOM141::domInt4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domInt4 reference of the _value array.
+ */
+ ColladaDOM141::domInt4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domInt4 reference of the _value array.
+ */
+ const ColladaDOM141::domInt4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domInt4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domInt4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt4 &operator=( const domInt4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat;
+
+ typedef daeSmartRef<domFloat> domFloatRef;
+ typedef daeTArray<domFloatRef> domFloat_Array;
+
+ class domFloat : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT; }
+ static daeInt ID() { return 197; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat value of the text data of this element.
+ */
+ ColladaDOM141::domFloat _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM141::domFloat of the value.
+ */
+ ColladaDOM141::domFloat getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( ColladaDOM141::domFloat val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat &operator=( const domFloat &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat2;
+
+ typedef daeSmartRef<domFloat2> domFloat2Ref;
+ typedef daeTArray<domFloat2Ref> domFloat2_Array;
+
+ class domFloat2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2; }
+ static daeInt ID() { return 198; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat2 value of the text data of this element.
+ */
+ ColladaDOM141::domFloat2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domFloat2 reference of the _value array.
+ */
+ ColladaDOM141::domFloat2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domFloat2 reference of the _value array.
+ */
+ const ColladaDOM141::domFloat2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domFloat2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat2 &operator=( const domFloat2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat3;
+
+ typedef daeSmartRef<domFloat3> domFloat3Ref;
+ typedef daeTArray<domFloat3Ref> domFloat3_Array;
+
+ class domFloat3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3; }
+ static daeInt ID() { return 199; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat3 value of the text data of this element.
+ */
+ ColladaDOM141::domFloat3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domFloat3 reference of the _value array.
+ */
+ ColladaDOM141::domFloat3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domFloat3 reference of the _value array.
+ */
+ const ColladaDOM141::domFloat3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domFloat3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat3 &operator=( const domFloat3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat4;
+
+ typedef daeSmartRef<domFloat4> domFloat4Ref;
+ typedef daeTArray<domFloat4Ref> domFloat4_Array;
+
+ class domFloat4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4; }
+ static daeInt ID() { return 200; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat4 value of the text data of this element.
+ */
+ ColladaDOM141::domFloat4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domFloat4 reference of the _value array.
+ */
+ ColladaDOM141::domFloat4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domFloat4 reference of the _value array.
+ */
+ const ColladaDOM141::domFloat4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domFloat4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat4 &operator=( const domFloat4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat1x1;
+
+ typedef daeSmartRef<domFloat1x1> domFloat1x1Ref;
+ typedef daeTArray<domFloat1x1Ref> domFloat1x1_Array;
+
+ class domFloat1x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT1X1; }
+ static daeInt ID() { return 201; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat value of the text data of this element.
+ */
+ ColladaDOM141::domFloat _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM141::domFloat of the value.
+ */
+ ColladaDOM141::domFloat getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( ColladaDOM141::domFloat val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat1x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat1x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat1x1 &operator=( const domFloat1x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat1x2;
+
+ typedef daeSmartRef<domFloat1x2> domFloat1x2Ref;
+ typedef daeTArray<domFloat1x2Ref> domFloat1x2_Array;
+
+ class domFloat1x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT1X2; }
+ static daeInt ID() { return 202; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat2 value of the text data of this element.
+ */
+ ColladaDOM141::domFloat2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domFloat2 reference of the _value array.
+ */
+ ColladaDOM141::domFloat2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domFloat2 reference of the _value array.
+ */
+ const ColladaDOM141::domFloat2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domFloat2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat1x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat1x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat1x2 &operator=( const domFloat1x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat1x3;
+
+ typedef daeSmartRef<domFloat1x3> domFloat1x3Ref;
+ typedef daeTArray<domFloat1x3Ref> domFloat1x3_Array;
+
+ class domFloat1x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT1X3; }
+ static daeInt ID() { return 203; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat3 value of the text data of this element.
+ */
+ ColladaDOM141::domFloat3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domFloat3 reference of the _value array.
+ */
+ ColladaDOM141::domFloat3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domFloat3 reference of the _value array.
+ */
+ const ColladaDOM141::domFloat3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domFloat3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat1x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat1x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat1x3 &operator=( const domFloat1x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat1x4;
+
+ typedef daeSmartRef<domFloat1x4> domFloat1x4Ref;
+ typedef daeTArray<domFloat1x4Ref> domFloat1x4_Array;
+
+ class domFloat1x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT1X4; }
+ static daeInt ID() { return 204; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat4 value of the text data of this element.
+ */
+ ColladaDOM141::domFloat4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domFloat4 reference of the _value array.
+ */
+ ColladaDOM141::domFloat4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domFloat4 reference of the _value array.
+ */
+ const ColladaDOM141::domFloat4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domFloat4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat1x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat1x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat1x4 &operator=( const domFloat1x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat2x1;
+
+ typedef daeSmartRef<domFloat2x1> domFloat2x1Ref;
+ typedef daeTArray<domFloat2x1Ref> domFloat2x1_Array;
+
+ class domFloat2x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2X1; }
+ static daeInt ID() { return 205; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat2 value of the text data of this element.
+ */
+ ColladaDOM141::domFloat2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domFloat2 reference of the _value array.
+ */
+ ColladaDOM141::domFloat2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domFloat2 reference of the _value array.
+ */
+ const ColladaDOM141::domFloat2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domFloat2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat2x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat2x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat2x1 &operator=( const domFloat2x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat2x2;
+
+ typedef daeSmartRef<domFloat2x2> domFloat2x2Ref;
+ typedef daeTArray<domFloat2x2Ref> domFloat2x2_Array;
+
+ class domFloat2x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2X2; }
+ static daeInt ID() { return 206; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat2x2 value of the text data of this element.
+ */
+ ColladaDOM141::domFloat2x2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domFloat2x2 reference of the _value array.
+ */
+ ColladaDOM141::domFloat2x2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domFloat2x2 reference of the _value array.
+ */
+ const ColladaDOM141::domFloat2x2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domFloat2x2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat2x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat2x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat2x2 &operator=( const domFloat2x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat2x3;
+
+ typedef daeSmartRef<domFloat2x3> domFloat2x3Ref;
+ typedef daeTArray<domFloat2x3Ref> domFloat2x3_Array;
+
+ class domFloat2x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2X3; }
+ static daeInt ID() { return 207; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat2x3 value of the text data of this element.
+ */
+ ColladaDOM141::domFloat2x3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domFloat2x3 reference of the _value array.
+ */
+ ColladaDOM141::domFloat2x3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domFloat2x3 reference of the _value array.
+ */
+ const ColladaDOM141::domFloat2x3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domFloat2x3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat2x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat2x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat2x3 &operator=( const domFloat2x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat2x4;
+
+ typedef daeSmartRef<domFloat2x4> domFloat2x4Ref;
+ typedef daeTArray<domFloat2x4Ref> domFloat2x4_Array;
+
+ class domFloat2x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2X4; }
+ static daeInt ID() { return 208; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat2x4 value of the text data of this element.
+ */
+ ColladaDOM141::domFloat2x4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domFloat2x4 reference of the _value array.
+ */
+ ColladaDOM141::domFloat2x4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domFloat2x4 reference of the _value array.
+ */
+ const ColladaDOM141::domFloat2x4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domFloat2x4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat2x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat2x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat2x4 &operator=( const domFloat2x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat3x1;
+
+ typedef daeSmartRef<domFloat3x1> domFloat3x1Ref;
+ typedef daeTArray<domFloat3x1Ref> domFloat3x1_Array;
+
+ class domFloat3x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3X1; }
+ static daeInt ID() { return 209; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat3 value of the text data of this element.
+ */
+ ColladaDOM141::domFloat3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domFloat3 reference of the _value array.
+ */
+ ColladaDOM141::domFloat3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domFloat3 reference of the _value array.
+ */
+ const ColladaDOM141::domFloat3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domFloat3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat3x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat3x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat3x1 &operator=( const domFloat3x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat3x2;
+
+ typedef daeSmartRef<domFloat3x2> domFloat3x2Ref;
+ typedef daeTArray<domFloat3x2Ref> domFloat3x2_Array;
+
+ class domFloat3x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3X2; }
+ static daeInt ID() { return 210; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat3x2 value of the text data of this element.
+ */
+ ColladaDOM141::domFloat3x2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domFloat3x2 reference of the _value array.
+ */
+ ColladaDOM141::domFloat3x2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domFloat3x2 reference of the _value array.
+ */
+ const ColladaDOM141::domFloat3x2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domFloat3x2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat3x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat3x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat3x2 &operator=( const domFloat3x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat3x3;
+
+ typedef daeSmartRef<domFloat3x3> domFloat3x3Ref;
+ typedef daeTArray<domFloat3x3Ref> domFloat3x3_Array;
+
+ class domFloat3x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3X3; }
+ static daeInt ID() { return 211; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat3x3 value of the text data of this element.
+ */
+ ColladaDOM141::domFloat3x3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domFloat3x3 reference of the _value array.
+ */
+ ColladaDOM141::domFloat3x3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domFloat3x3 reference of the _value array.
+ */
+ const ColladaDOM141::domFloat3x3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domFloat3x3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat3x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat3x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat3x3 &operator=( const domFloat3x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat3x4;
+
+ typedef daeSmartRef<domFloat3x4> domFloat3x4Ref;
+ typedef daeTArray<domFloat3x4Ref> domFloat3x4_Array;
+
+ class domFloat3x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3X4; }
+ static daeInt ID() { return 212; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat3x4 value of the text data of this element.
+ */
+ ColladaDOM141::domFloat3x4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domFloat3x4 reference of the _value array.
+ */
+ ColladaDOM141::domFloat3x4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domFloat3x4 reference of the _value array.
+ */
+ const ColladaDOM141::domFloat3x4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domFloat3x4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat3x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat3x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat3x4 &operator=( const domFloat3x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat4x1;
+
+ typedef daeSmartRef<domFloat4x1> domFloat4x1Ref;
+ typedef daeTArray<domFloat4x1Ref> domFloat4x1_Array;
+
+ class domFloat4x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4X1; }
+ static daeInt ID() { return 213; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat4 value of the text data of this element.
+ */
+ ColladaDOM141::domFloat4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domFloat4 reference of the _value array.
+ */
+ ColladaDOM141::domFloat4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domFloat4 reference of the _value array.
+ */
+ const ColladaDOM141::domFloat4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domFloat4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat4x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat4x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat4x1 &operator=( const domFloat4x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat4x2;
+
+ typedef daeSmartRef<domFloat4x2> domFloat4x2Ref;
+ typedef daeTArray<domFloat4x2Ref> domFloat4x2_Array;
+
+ class domFloat4x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4X2; }
+ static daeInt ID() { return 214; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat4x2 value of the text data of this element.
+ */
+ ColladaDOM141::domFloat4x2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domFloat4x2 reference of the _value array.
+ */
+ ColladaDOM141::domFloat4x2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domFloat4x2 reference of the _value array.
+ */
+ const ColladaDOM141::domFloat4x2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domFloat4x2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat4x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat4x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat4x2 &operator=( const domFloat4x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat4x3;
+
+ typedef daeSmartRef<domFloat4x3> domFloat4x3Ref;
+ typedef daeTArray<domFloat4x3Ref> domFloat4x3_Array;
+
+ class domFloat4x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4X3; }
+ static daeInt ID() { return 215; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat4x3 value of the text data of this element.
+ */
+ ColladaDOM141::domFloat4x3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domFloat4x3 reference of the _value array.
+ */
+ ColladaDOM141::domFloat4x3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domFloat4x3 reference of the _value array.
+ */
+ const ColladaDOM141::domFloat4x3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domFloat4x3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat4x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat4x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat4x3 &operator=( const domFloat4x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat4x4;
+
+ typedef daeSmartRef<domFloat4x4> domFloat4x4Ref;
+ typedef daeTArray<domFloat4x4Ref> domFloat4x4_Array;
+
+ class domFloat4x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4X4; }
+ static daeInt ID() { return 216; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat4x4 value of the text data of this element.
+ */
+ ColladaDOM141::domFloat4x4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domFloat4x4 reference of the _value array.
+ */
+ ColladaDOM141::domFloat4x4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domFloat4x4 reference of the _value array.
+ */
+ const ColladaDOM141::domFloat4x4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domFloat4x4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat4x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat4x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat4x4 &operator=( const domFloat4x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domEnum;
+
+ typedef daeSmartRef<domEnum> domEnumRef;
+ typedef daeTArray<domEnumRef> domEnum_Array;
+
+ class domEnum : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ENUM; }
+ static daeInt ID() { return 217; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsString value of the text data of this element.
+ */
+ xsString _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsString of the value.
+ */
+ xsString getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsString val ) { *(daeStringRef*)&_value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domEnum(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domEnum() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domEnum &operator=( const domEnum &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+ domBoolRef elemBool;
+ domBool2Ref elemBool2;
+ domBool3Ref elemBool3;
+ domBool4Ref elemBool4;
+ domIntRef elemInt;
+ domInt2Ref elemInt2;
+ domInt3Ref elemInt3;
+ domInt4Ref elemInt4;
+ domFloatRef elemFloat;
+ domFloat2Ref elemFloat2;
+ domFloat3Ref elemFloat3;
+ domFloat4Ref elemFloat4;
+ domFloat1x1Ref elemFloat1x1;
+ domFloat1x2Ref elemFloat1x2;
+ domFloat1x3Ref elemFloat1x3;
+ domFloat1x4Ref elemFloat1x4;
+ domFloat2x1Ref elemFloat2x1;
+ domFloat2x2Ref elemFloat2x2;
+ domFloat2x3Ref elemFloat2x3;
+ domFloat2x4Ref elemFloat2x4;
+ domFloat3x1Ref elemFloat3x1;
+ domFloat3x2Ref elemFloat3x2;
+ domFloat3x3Ref elemFloat3x3;
+ domFloat3x4Ref elemFloat3x4;
+ domFloat4x1Ref elemFloat4x1;
+ domFloat4x2Ref elemFloat4x2;
+ domFloat4x3Ref elemFloat4x3;
+ domFloat4x4Ref elemFloat4x4;
+ domFx_surface_commonRef elemSurface;
+ domFx_sampler1D_commonRef elemSampler1D;
+ domFx_sampler2D_commonRef elemSampler2D;
+ domFx_sampler3D_commonRef elemSampler3D;
+ domFx_samplerCUBE_commonRef elemSamplerCUBE;
+ domFx_samplerRECT_commonRef elemSamplerRECT;
+ domFx_samplerDEPTH_commonRef elemSamplerDEPTH;
+ domEnumRef elemEnum;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the bool element.
+ * @return a daeSmartRef to the bool element.
+ */
+ const domBoolRef getBool() const { return elemBool; }
+ /**
+ * Gets the bool2 element.
+ * @return a daeSmartRef to the bool2 element.
+ */
+ const domBool2Ref getBool2() const { return elemBool2; }
+ /**
+ * Gets the bool3 element.
+ * @return a daeSmartRef to the bool3 element.
+ */
+ const domBool3Ref getBool3() const { return elemBool3; }
+ /**
+ * Gets the bool4 element.
+ * @return a daeSmartRef to the bool4 element.
+ */
+ const domBool4Ref getBool4() const { return elemBool4; }
+ /**
+ * Gets the int element.
+ * @return a daeSmartRef to the int element.
+ */
+ const domIntRef getInt() const { return elemInt; }
+ /**
+ * Gets the int2 element.
+ * @return a daeSmartRef to the int2 element.
+ */
+ const domInt2Ref getInt2() const { return elemInt2; }
+ /**
+ * Gets the int3 element.
+ * @return a daeSmartRef to the int3 element.
+ */
+ const domInt3Ref getInt3() const { return elemInt3; }
+ /**
+ * Gets the int4 element.
+ * @return a daeSmartRef to the int4 element.
+ */
+ const domInt4Ref getInt4() const { return elemInt4; }
+ /**
+ * Gets the float element.
+ * @return a daeSmartRef to the float element.
+ */
+ const domFloatRef getFloat() const { return elemFloat; }
+ /**
+ * Gets the float2 element.
+ * @return a daeSmartRef to the float2 element.
+ */
+ const domFloat2Ref getFloat2() const { return elemFloat2; }
+ /**
+ * Gets the float3 element.
+ * @return a daeSmartRef to the float3 element.
+ */
+ const domFloat3Ref getFloat3() const { return elemFloat3; }
+ /**
+ * Gets the float4 element.
+ * @return a daeSmartRef to the float4 element.
+ */
+ const domFloat4Ref getFloat4() const { return elemFloat4; }
+ /**
+ * Gets the float1x1 element.
+ * @return a daeSmartRef to the float1x1 element.
+ */
+ const domFloat1x1Ref getFloat1x1() const { return elemFloat1x1; }
+ /**
+ * Gets the float1x2 element.
+ * @return a daeSmartRef to the float1x2 element.
+ */
+ const domFloat1x2Ref getFloat1x2() const { return elemFloat1x2; }
+ /**
+ * Gets the float1x3 element.
+ * @return a daeSmartRef to the float1x3 element.
+ */
+ const domFloat1x3Ref getFloat1x3() const { return elemFloat1x3; }
+ /**
+ * Gets the float1x4 element.
+ * @return a daeSmartRef to the float1x4 element.
+ */
+ const domFloat1x4Ref getFloat1x4() const { return elemFloat1x4; }
+ /**
+ * Gets the float2x1 element.
+ * @return a daeSmartRef to the float2x1 element.
+ */
+ const domFloat2x1Ref getFloat2x1() const { return elemFloat2x1; }
+ /**
+ * Gets the float2x2 element.
+ * @return a daeSmartRef to the float2x2 element.
+ */
+ const domFloat2x2Ref getFloat2x2() const { return elemFloat2x2; }
+ /**
+ * Gets the float2x3 element.
+ * @return a daeSmartRef to the float2x3 element.
+ */
+ const domFloat2x3Ref getFloat2x3() const { return elemFloat2x3; }
+ /**
+ * Gets the float2x4 element.
+ * @return a daeSmartRef to the float2x4 element.
+ */
+ const domFloat2x4Ref getFloat2x4() const { return elemFloat2x4; }
+ /**
+ * Gets the float3x1 element.
+ * @return a daeSmartRef to the float3x1 element.
+ */
+ const domFloat3x1Ref getFloat3x1() const { return elemFloat3x1; }
+ /**
+ * Gets the float3x2 element.
+ * @return a daeSmartRef to the float3x2 element.
+ */
+ const domFloat3x2Ref getFloat3x2() const { return elemFloat3x2; }
+ /**
+ * Gets the float3x3 element.
+ * @return a daeSmartRef to the float3x3 element.
+ */
+ const domFloat3x3Ref getFloat3x3() const { return elemFloat3x3; }
+ /**
+ * Gets the float3x4 element.
+ * @return a daeSmartRef to the float3x4 element.
+ */
+ const domFloat3x4Ref getFloat3x4() const { return elemFloat3x4; }
+ /**
+ * Gets the float4x1 element.
+ * @return a daeSmartRef to the float4x1 element.
+ */
+ const domFloat4x1Ref getFloat4x1() const { return elemFloat4x1; }
+ /**
+ * Gets the float4x2 element.
+ * @return a daeSmartRef to the float4x2 element.
+ */
+ const domFloat4x2Ref getFloat4x2() const { return elemFloat4x2; }
+ /**
+ * Gets the float4x3 element.
+ * @return a daeSmartRef to the float4x3 element.
+ */
+ const domFloat4x3Ref getFloat4x3() const { return elemFloat4x3; }
+ /**
+ * Gets the float4x4 element.
+ * @return a daeSmartRef to the float4x4 element.
+ */
+ const domFloat4x4Ref getFloat4x4() const { return elemFloat4x4; }
+ /**
+ * Gets the surface element.
+ * @return a daeSmartRef to the surface element.
+ */
+ const domFx_surface_commonRef getSurface() const { return elemSurface; }
+ /**
+ * Gets the sampler1D element.
+ * @return a daeSmartRef to the sampler1D element.
+ */
+ const domFx_sampler1D_commonRef getSampler1D() const { return elemSampler1D; }
+ /**
+ * Gets the sampler2D element.
+ * @return a daeSmartRef to the sampler2D element.
+ */
+ const domFx_sampler2D_commonRef getSampler2D() const { return elemSampler2D; }
+ /**
+ * Gets the sampler3D element.
+ * @return a daeSmartRef to the sampler3D element.
+ */
+ const domFx_sampler3D_commonRef getSampler3D() const { return elemSampler3D; }
+ /**
+ * Gets the samplerCUBE element.
+ * @return a daeSmartRef to the samplerCUBE element.
+ */
+ const domFx_samplerCUBE_commonRef getSamplerCUBE() const { return elemSamplerCUBE; }
+ /**
+ * Gets the samplerRECT element.
+ * @return a daeSmartRef to the samplerRECT element.
+ */
+ const domFx_samplerRECT_commonRef getSamplerRECT() const { return elemSamplerRECT; }
+ /**
+ * Gets the samplerDEPTH element.
+ * @return a daeSmartRef to the samplerDEPTH element.
+ */
+ const domFx_samplerDEPTH_commonRef getSamplerDEPTH() const { return elemSamplerDEPTH; }
+ /**
+ * Gets the enum element.
+ * @return a daeSmartRef to the enum element.
+ */
+ const domEnumRef getEnum() const { return elemEnum; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_basic_type_common(DAE& dae) : daeElement(dae), elemBool(), elemBool2(), elemBool3(), elemBool4(), elemInt(), elemInt2(), elemInt3(), elemInt4(), elemFloat(), elemFloat2(), elemFloat3(), elemFloat4(), elemFloat1x1(), elemFloat1x2(), elemFloat1x3(), elemFloat1x4(), elemFloat2x1(), elemFloat2x2(), elemFloat2x3(), elemFloat2x4(), elemFloat3x1(), elemFloat3x2(), elemFloat3x3(), elemFloat3x4(), elemFloat4x1(), elemFloat4x2(), elemFloat4x3(), elemFloat4x4(), elemSurface(), elemSampler1D(), elemSampler2D(), elemSampler3D(), elemSamplerCUBE(), elemSamplerRECT(), elemSamplerDEPTH(), elemEnum() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_basic_type_common() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_basic_type_common &operator=( const domFx_basic_type_common &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domFx_clearcolor_common.h b/1.4.0/dom/include/1.4/dom/domFx_clearcolor_common.h
new file mode 100644
index 0000000..f6c1ca7
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domFx_clearcolor_common.h
@@ -0,0 +1,126 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Fx_clearcolor_common_h__
+#define __dom141Fx_clearcolor_common_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM141 {
+
+class domFx_clearcolor_common_complexType
+{
+protected: // Attribute
+ xsNonNegativeInteger attrIndex;
+
+protected: // Value
+ /**
+ * The domFx_color_common value of the text data of this element.
+ */
+ domFx_color_common _value;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the index attribute.
+ * @return Returns a xsNonNegativeInteger of the index attribute.
+ */
+ xsNonNegativeInteger getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( xsNonNegativeInteger atIndex ) { attrIndex = atIndex; }
+
+ /**
+ * Gets the _value array.
+ * @return Returns a domFx_color_common reference of the _value array.
+ */
+ domFx_color_common &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domFx_color_common reference of the _value array.
+ */
+ const domFx_color_common &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domFx_color_common &val ) { _value = val; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_clearcolor_common_complexType(DAE& dae, daeElement* elt) : attrIndex(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_clearcolor_common_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_clearcolor_common_complexType &operator=( const domFx_clearcolor_common_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domFx_clearcolor_common_complexType.
+ */
+class domFx_clearcolor_common : public daeElement, public domFx_clearcolor_common_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_CLEARCOLOR_COMMON; }
+ static daeInt ID() { return 88; }
+ virtual daeInt typeID() const { return ID(); }
+
+public: //Accessors and Mutators
+ /**
+ * Gets the index attribute.
+ * @return Returns a xsNonNegativeInteger of the index attribute.
+ */
+ xsNonNegativeInteger getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( xsNonNegativeInteger atIndex ) { attrIndex = atIndex; _validAttributeArray[0] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_clearcolor_common(DAE& dae) : daeElement(dae), domFx_clearcolor_common_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_clearcolor_common() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_clearcolor_common &operator=( const domFx_clearcolor_common &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domFx_cleardepth_common.h b/1.4.0/dom/include/1.4/dom/domFx_cleardepth_common.h
new file mode 100644
index 0000000..6c207ba
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domFx_cleardepth_common.h
@@ -0,0 +1,121 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Fx_cleardepth_common_h__
+#define __dom141Fx_cleardepth_common_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM141 {
+
+class domFx_cleardepth_common_complexType
+{
+protected: // Attribute
+ xsNonNegativeInteger attrIndex;
+
+protected: // Value
+ /**
+ * The domFloat value of the text data of this element.
+ */
+ domFloat _value;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the index attribute.
+ * @return Returns a xsNonNegativeInteger of the index attribute.
+ */
+ xsNonNegativeInteger getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( xsNonNegativeInteger atIndex ) { attrIndex = atIndex; }
+
+ /**
+ * Gets the value of this element.
+ * @return a domFloat of the value.
+ */
+ domFloat getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFloat val ) { _value = val; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_cleardepth_common_complexType(DAE& dae, daeElement* elt) : attrIndex(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_cleardepth_common_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_cleardepth_common_complexType &operator=( const domFx_cleardepth_common_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domFx_cleardepth_common_complexType.
+ */
+class domFx_cleardepth_common : public daeElement, public domFx_cleardepth_common_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_CLEARDEPTH_COMMON; }
+ static daeInt ID() { return 89; }
+ virtual daeInt typeID() const { return ID(); }
+
+public: //Accessors and Mutators
+ /**
+ * Gets the index attribute.
+ * @return Returns a xsNonNegativeInteger of the index attribute.
+ */
+ xsNonNegativeInteger getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( xsNonNegativeInteger atIndex ) { attrIndex = atIndex; _validAttributeArray[0] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_cleardepth_common(DAE& dae) : daeElement(dae), domFx_cleardepth_common_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_cleardepth_common() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_cleardepth_common &operator=( const domFx_cleardepth_common &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domFx_clearstencil_common.h b/1.4.0/dom/include/1.4/dom/domFx_clearstencil_common.h
new file mode 100644
index 0000000..c574228
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domFx_clearstencil_common.h
@@ -0,0 +1,121 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Fx_clearstencil_common_h__
+#define __dom141Fx_clearstencil_common_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM141 {
+
+class domFx_clearstencil_common_complexType
+{
+protected: // Attribute
+ xsNonNegativeInteger attrIndex;
+
+protected: // Value
+ /**
+ * The xsByte value of the text data of this element.
+ */
+ xsByte _value;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the index attribute.
+ * @return Returns a xsNonNegativeInteger of the index attribute.
+ */
+ xsNonNegativeInteger getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( xsNonNegativeInteger atIndex ) { attrIndex = atIndex; }
+
+ /**
+ * Gets the value of this element.
+ * @return a xsByte of the value.
+ */
+ xsByte getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsByte val ) { _value = val; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_clearstencil_common_complexType(DAE& dae, daeElement* elt) : attrIndex(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_clearstencil_common_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_clearstencil_common_complexType &operator=( const domFx_clearstencil_common_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domFx_clearstencil_common_complexType.
+ */
+class domFx_clearstencil_common : public daeElement, public domFx_clearstencil_common_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_CLEARSTENCIL_COMMON; }
+ static daeInt ID() { return 90; }
+ virtual daeInt typeID() const { return ID(); }
+
+public: //Accessors and Mutators
+ /**
+ * Gets the index attribute.
+ * @return Returns a xsNonNegativeInteger of the index attribute.
+ */
+ xsNonNegativeInteger getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( xsNonNegativeInteger atIndex ) { attrIndex = atIndex; _validAttributeArray[0] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_clearstencil_common(DAE& dae) : daeElement(dae), domFx_clearstencil_common_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_clearstencil_common() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_clearstencil_common &operator=( const domFx_clearstencil_common &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domFx_code_profile.h b/1.4.0/dom/include/1.4/dom/domFx_code_profile.h
new file mode 100644
index 0000000..41ee029
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domFx_code_profile.h
@@ -0,0 +1,130 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Fx_code_profile_h__
+#define __dom141Fx_code_profile_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The fx_code_profile type allows you to specify an inline block of source
+ * code.
+ */
+class domFx_code_profile_complexType
+{
+protected: // Attribute
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ xsNCName attrSid;
+
+protected: // Value
+ /**
+ * The xsString value of the text data of this element.
+ */
+ xsString _value;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsString of the value.
+ */
+ xsString getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsString val ) { *(daeStringRef*)&_value = val; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_code_profile_complexType(DAE& dae, daeElement* elt) : attrSid(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_code_profile_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_code_profile_complexType &operator=( const domFx_code_profile_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domFx_code_profile_complexType.
+ */
+class domFx_code_profile : public daeElement, public domFx_code_profile_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_CODE_PROFILE; }
+ static daeInt ID() { return 96; }
+ virtual daeInt typeID() const { return ID(); }
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_code_profile(DAE& dae) : daeElement(dae), domFx_code_profile_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_code_profile() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_code_profile &operator=( const domFx_code_profile &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domFx_colortarget_common.h b/1.4.0/dom/include/1.4/dom/domFx_colortarget_common.h
new file mode 100644
index 0000000..36cfcda
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domFx_colortarget_common.h
@@ -0,0 +1,190 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Fx_colortarget_common_h__
+#define __dom141Fx_colortarget_common_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM141 {
+
+class domFx_colortarget_common_complexType
+{
+protected: // Attributes
+ xsNonNegativeInteger attrIndex;
+ domFx_surface_face_enum attrFace;
+ xsNonNegativeInteger attrMip;
+ xsNonNegativeInteger attrSlice;
+
+protected: // Value
+ /**
+ * The xsNCName value of the text data of this element.
+ */
+ xsNCName _value;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the index attribute.
+ * @return Returns a xsNonNegativeInteger of the index attribute.
+ */
+ xsNonNegativeInteger getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( xsNonNegativeInteger atIndex ) { attrIndex = atIndex; }
+
+ /**
+ * Gets the face attribute.
+ * @return Returns a domFx_surface_face_enum of the face attribute.
+ */
+ domFx_surface_face_enum getFace() const { return attrFace; }
+ /**
+ * Sets the face attribute.
+ * @param atFace The new value for the face attribute.
+ */
+ void setFace( domFx_surface_face_enum atFace ) { attrFace = atFace; }
+
+ /**
+ * Gets the mip attribute.
+ * @return Returns a xsNonNegativeInteger of the mip attribute.
+ */
+ xsNonNegativeInteger getMip() const { return attrMip; }
+ /**
+ * Sets the mip attribute.
+ * @param atMip The new value for the mip attribute.
+ */
+ void setMip( xsNonNegativeInteger atMip ) { attrMip = atMip; }
+
+ /**
+ * Gets the slice attribute.
+ * @return Returns a xsNonNegativeInteger of the slice attribute.
+ */
+ xsNonNegativeInteger getSlice() const { return attrSlice; }
+ /**
+ * Sets the slice attribute.
+ * @param atSlice The new value for the slice attribute.
+ */
+ void setSlice( xsNonNegativeInteger atSlice ) { attrSlice = atSlice; }
+
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsNCName of the value.
+ */
+ xsNCName getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_colortarget_common_complexType(DAE& dae, daeElement* elt) : attrIndex(), attrFace(), attrMip(), attrSlice(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_colortarget_common_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_colortarget_common_complexType &operator=( const domFx_colortarget_common_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domFx_colortarget_common_complexType.
+ */
+class domFx_colortarget_common : public daeElement, public domFx_colortarget_common_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_COLORTARGET_COMMON; }
+ static daeInt ID() { return 85; }
+ virtual daeInt typeID() const { return ID(); }
+
+public: //Accessors and Mutators
+ /**
+ * Gets the index attribute.
+ * @return Returns a xsNonNegativeInteger of the index attribute.
+ */
+ xsNonNegativeInteger getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( xsNonNegativeInteger atIndex ) { attrIndex = atIndex; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the face attribute.
+ * @return Returns a domFx_surface_face_enum of the face attribute.
+ */
+ domFx_surface_face_enum getFace() const { return attrFace; }
+ /**
+ * Sets the face attribute.
+ * @param atFace The new value for the face attribute.
+ */
+ void setFace( domFx_surface_face_enum atFace ) { attrFace = atFace; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the mip attribute.
+ * @return Returns a xsNonNegativeInteger of the mip attribute.
+ */
+ xsNonNegativeInteger getMip() const { return attrMip; }
+ /**
+ * Sets the mip attribute.
+ * @param atMip The new value for the mip attribute.
+ */
+ void setMip( xsNonNegativeInteger atMip ) { attrMip = atMip; _validAttributeArray[2] = true; }
+
+ /**
+ * Gets the slice attribute.
+ * @return Returns a xsNonNegativeInteger of the slice attribute.
+ */
+ xsNonNegativeInteger getSlice() const { return attrSlice; }
+ /**
+ * Sets the slice attribute.
+ * @param atSlice The new value for the slice attribute.
+ */
+ void setSlice( xsNonNegativeInteger atSlice ) { attrSlice = atSlice; _validAttributeArray[3] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_colortarget_common(DAE& dae) : daeElement(dae), domFx_colortarget_common_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_colortarget_common() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_colortarget_common &operator=( const domFx_colortarget_common &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domFx_depthtarget_common.h b/1.4.0/dom/include/1.4/dom/domFx_depthtarget_common.h
new file mode 100644
index 0000000..08ea31a
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domFx_depthtarget_common.h
@@ -0,0 +1,190 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Fx_depthtarget_common_h__
+#define __dom141Fx_depthtarget_common_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM141 {
+
+class domFx_depthtarget_common_complexType
+{
+protected: // Attributes
+ xsNonNegativeInteger attrIndex;
+ domFx_surface_face_enum attrFace;
+ xsNonNegativeInteger attrMip;
+ xsNonNegativeInteger attrSlice;
+
+protected: // Value
+ /**
+ * The xsNCName value of the text data of this element.
+ */
+ xsNCName _value;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the index attribute.
+ * @return Returns a xsNonNegativeInteger of the index attribute.
+ */
+ xsNonNegativeInteger getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( xsNonNegativeInteger atIndex ) { attrIndex = atIndex; }
+
+ /**
+ * Gets the face attribute.
+ * @return Returns a domFx_surface_face_enum of the face attribute.
+ */
+ domFx_surface_face_enum getFace() const { return attrFace; }
+ /**
+ * Sets the face attribute.
+ * @param atFace The new value for the face attribute.
+ */
+ void setFace( domFx_surface_face_enum atFace ) { attrFace = atFace; }
+
+ /**
+ * Gets the mip attribute.
+ * @return Returns a xsNonNegativeInteger of the mip attribute.
+ */
+ xsNonNegativeInteger getMip() const { return attrMip; }
+ /**
+ * Sets the mip attribute.
+ * @param atMip The new value for the mip attribute.
+ */
+ void setMip( xsNonNegativeInteger atMip ) { attrMip = atMip; }
+
+ /**
+ * Gets the slice attribute.
+ * @return Returns a xsNonNegativeInteger of the slice attribute.
+ */
+ xsNonNegativeInteger getSlice() const { return attrSlice; }
+ /**
+ * Sets the slice attribute.
+ * @param atSlice The new value for the slice attribute.
+ */
+ void setSlice( xsNonNegativeInteger atSlice ) { attrSlice = atSlice; }
+
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsNCName of the value.
+ */
+ xsNCName getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_depthtarget_common_complexType(DAE& dae, daeElement* elt) : attrIndex(), attrFace(), attrMip(), attrSlice(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_depthtarget_common_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_depthtarget_common_complexType &operator=( const domFx_depthtarget_common_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domFx_depthtarget_common_complexType.
+ */
+class domFx_depthtarget_common : public daeElement, public domFx_depthtarget_common_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_DEPTHTARGET_COMMON; }
+ static daeInt ID() { return 86; }
+ virtual daeInt typeID() const { return ID(); }
+
+public: //Accessors and Mutators
+ /**
+ * Gets the index attribute.
+ * @return Returns a xsNonNegativeInteger of the index attribute.
+ */
+ xsNonNegativeInteger getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( xsNonNegativeInteger atIndex ) { attrIndex = atIndex; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the face attribute.
+ * @return Returns a domFx_surface_face_enum of the face attribute.
+ */
+ domFx_surface_face_enum getFace() const { return attrFace; }
+ /**
+ * Sets the face attribute.
+ * @param atFace The new value for the face attribute.
+ */
+ void setFace( domFx_surface_face_enum atFace ) { attrFace = atFace; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the mip attribute.
+ * @return Returns a xsNonNegativeInteger of the mip attribute.
+ */
+ xsNonNegativeInteger getMip() const { return attrMip; }
+ /**
+ * Sets the mip attribute.
+ * @param atMip The new value for the mip attribute.
+ */
+ void setMip( xsNonNegativeInteger atMip ) { attrMip = atMip; _validAttributeArray[2] = true; }
+
+ /**
+ * Gets the slice attribute.
+ * @return Returns a xsNonNegativeInteger of the slice attribute.
+ */
+ xsNonNegativeInteger getSlice() const { return attrSlice; }
+ /**
+ * Sets the slice attribute.
+ * @param atSlice The new value for the slice attribute.
+ */
+ void setSlice( xsNonNegativeInteger atSlice ) { attrSlice = atSlice; _validAttributeArray[3] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_depthtarget_common(DAE& dae) : daeElement(dae), domFx_depthtarget_common_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_depthtarget_common() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_depthtarget_common &operator=( const domFx_depthtarget_common &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domFx_include_common.h b/1.4.0/dom/include/1.4/dom/domFx_include_common.h
new file mode 100644
index 0000000..62b324c
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domFx_include_common.h
@@ -0,0 +1,163 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Fx_include_common_h__
+#define __dom141Fx_include_common_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The include element is used to import source code or precompiled binary
+ * shaders into the FX Runtime by referencing an external resource.
+ */
+class domFx_include_common_complexType
+{
+protected: // Attributes
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ xsNCName attrSid;
+/**
+ * The url attribute refers to resource. This may refer to a local resource
+ * using a relative URL fragment identifier that begins with the “#”
+ * character. The url attribute may refer to an external resource using an
+ * absolute or relative URL.
+ */
+ xsAnyURI attrUrl;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the url attribute.
+ * @return Returns a xsAnyURI reference of the url attribute.
+ */
+ xsAnyURI &getUrl() { return attrUrl; }
+ /**
+ * Gets the url attribute.
+ * @return Returns a constant xsAnyURI reference of the url attribute.
+ */
+ const xsAnyURI &getUrl() const { return attrUrl; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( const xsAnyURI &atUrl ) { attrUrl = atUrl; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( xsString atUrl ) { attrUrl = atUrl; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_include_common_complexType(DAE& dae, daeElement* elt) : attrSid(), attrUrl(dae, *elt) {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_include_common_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_include_common_complexType &operator=( const domFx_include_common_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domFx_include_common_complexType.
+ */
+class domFx_include_common : public daeElement, public domFx_include_common_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_INCLUDE_COMMON; }
+ static daeInt ID() { return 92; }
+ virtual daeInt typeID() const { return ID(); }
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the url attribute.
+ * @return Returns a xsAnyURI reference of the url attribute.
+ */
+ xsAnyURI &getUrl() { return attrUrl; }
+ /**
+ * Gets the url attribute.
+ * @return Returns a constant xsAnyURI reference of the url attribute.
+ */
+ const xsAnyURI &getUrl() const { return attrUrl; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( const xsAnyURI &atUrl ) { attrUrl = atUrl; _validAttributeArray[1] = true; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( xsString atUrl ) { attrUrl = atUrl; _validAttributeArray[1] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_include_common(DAE& dae) : daeElement(dae), domFx_include_common_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_include_common() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_include_common &operator=( const domFx_include_common &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domFx_newparam_common.h b/1.4.0/dom/include/1.4/dom/domFx_newparam_common.h
new file mode 100644
index 0000000..b1910ab
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domFx_newparam_common.h
@@ -0,0 +1,282 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Fx_newparam_common_h__
+#define __dom141Fx_newparam_common_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domFx_basic_type_common.h>
+#include <1.4/dom/domFx_annotate_common.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * This element creates a new, named param object in the FX Runtime, assigns
+ * it a type, an initial value, and additional attributes at declaration time.
+ */
+class domFx_newparam_common_complexType
+{
+public:
+ class domSemantic;
+
+ typedef daeSmartRef<domSemantic> domSemanticRef;
+ typedef daeTArray<domSemanticRef> domSemantic_Array;
+
+/**
+ * The semantic element allows you to specify a semantic for this new param.
+ */
+ class domSemantic : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SEMANTIC; }
+ static daeInt ID() { return 93; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsNCName value of the text data of this element.
+ */
+ xsNCName _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsNCName of the value.
+ */
+ xsNCName getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSemantic(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSemantic() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSemantic &operator=( const domSemantic &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domModifier;
+
+ typedef daeSmartRef<domModifier> domModifierRef;
+ typedef daeTArray<domModifierRef> domModifier_Array;
+
+/**
+ * The modifier element allows you to specify a modifier for this new param.
+ */
+ class domModifier : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MODIFIER; }
+ static daeInt ID() { return 94; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_modifier_enum_common value of the text data of this element.
+ */
+ domFx_modifier_enum_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_modifier_enum_common of the value.
+ */
+ domFx_modifier_enum_common getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFx_modifier_enum_common val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domModifier(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domModifier() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domModifier &operator=( const domModifier &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attribute
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ xsNCName attrSid;
+
+protected: // Elements
+/**
+ * The annotate element allows you to specify an annotation for this new param.
+ * @see domAnnotate
+ */
+ domFx_annotate_common_Array elemAnnotate_array;
+/**
+ * The semantic element allows you to specify a semantic for this new param.
+ * @see domSemantic
+ */
+ domSemanticRef elemSemantic;
+/**
+ * The modifier element allows you to specify a modifier for this new param.
+ * @see domModifier
+ */
+ domModifierRef elemModifier;
+ domFx_basic_type_commonRef elemFx_basic_type_common;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the annotate element array.
+ * @return Returns a reference to the array of annotate elements.
+ */
+ domFx_annotate_common_Array &getAnnotate_array() { return elemAnnotate_array; }
+ /**
+ * Gets the annotate element array.
+ * @return Returns a constant reference to the array of annotate elements.
+ */
+ const domFx_annotate_common_Array &getAnnotate_array() const { return elemAnnotate_array; }
+ /**
+ * Gets the semantic element.
+ * @return a daeSmartRef to the semantic element.
+ */
+ const domSemanticRef getSemantic() const { return elemSemantic; }
+ /**
+ * Gets the modifier element.
+ * @return a daeSmartRef to the modifier element.
+ */
+ const domModifierRef getModifier() const { return elemModifier; }
+ /**
+ * Gets the fx_basic_type_common element.
+ * @return a daeSmartRef to the fx_basic_type_common element.
+ */
+ const domFx_basic_type_commonRef getFx_basic_type_common() const { return elemFx_basic_type_common; }
+protected:
+ /**
+ * Constructor
+ */
+ domFx_newparam_common_complexType(DAE& dae, daeElement* elt) : attrSid(), elemAnnotate_array(), elemSemantic(), elemModifier(), elemFx_basic_type_common() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_newparam_common_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_newparam_common_complexType &operator=( const domFx_newparam_common_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domFx_newparam_common_complexType.
+ */
+class domFx_newparam_common : public daeElement, public domFx_newparam_common_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_NEWPARAM_COMMON; }
+ static daeInt ID() { return 95; }
+ virtual daeInt typeID() const { return ID(); }
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_newparam_common(DAE& dae) : daeElement(dae), domFx_newparam_common_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_newparam_common() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_newparam_common &operator=( const domFx_newparam_common &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domFx_profile_abstract.h b/1.4.0/dom/include/1.4/dom/domFx_profile_abstract.h
new file mode 100644
index 0000000..cf75f20
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domFx_profile_abstract.h
@@ -0,0 +1,61 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Fx_profile_abstract_h__
+#define __dom141Fx_profile_abstract_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The fx_profile_abstract element is only used as a substitution group hook
+ * for COLLADA FX profiles.
+ */
+class domFx_profile_abstract : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_PROFILE_ABSTRACT; }
+ static daeInt ID() { return 727; }
+ virtual daeInt typeID() const { return ID(); }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_profile_abstract(DAE& dae) : daeElement(dae) {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_profile_abstract() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_profile_abstract &operator=( const domFx_profile_abstract &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domFx_sampler1D_common.h b/1.4.0/dom/include/1.4/dom/domFx_sampler1D_common.h
new file mode 100644
index 0000000..4f2409d
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domFx_sampler1D_common.h
@@ -0,0 +1,614 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Fx_sampler1D_common_h__
+#define __dom141Fx_sampler1D_common_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * A one-dimensional texture sampler.
+ */
+class domFx_sampler1D_common_complexType
+{
+public:
+ class domSource;
+
+ typedef daeSmartRef<domSource> domSourceRef;
+ typedef daeTArray<domSourceRef> domSource_Array;
+
+ class domSource : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SOURCE; }
+ static daeInt ID() { return 28; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsNCName value of the text data of this element.
+ */
+ xsNCName _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsNCName of the value.
+ */
+ xsNCName getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSource(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSource() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSource &operator=( const domSource &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domWrap_s;
+
+ typedef daeSmartRef<domWrap_s> domWrap_sRef;
+ typedef daeTArray<domWrap_sRef> domWrap_s_Array;
+
+ class domWrap_s : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::WRAP_S; }
+ static daeInt ID() { return 29; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_sampler_wrap_common value of the text data of this element.
+ */
+ domFx_sampler_wrap_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_sampler_wrap_common of the value.
+ */
+ domFx_sampler_wrap_common getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFx_sampler_wrap_common val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domWrap_s(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domWrap_s() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domWrap_s &operator=( const domWrap_s &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMinfilter;
+
+ typedef daeSmartRef<domMinfilter> domMinfilterRef;
+ typedef daeTArray<domMinfilterRef> domMinfilter_Array;
+
+ class domMinfilter : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MINFILTER; }
+ static daeInt ID() { return 30; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_sampler_filter_common value of the text data of this element.
+ */
+ domFx_sampler_filter_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_sampler_filter_common of the value.
+ */
+ domFx_sampler_filter_common getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFx_sampler_filter_common val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMinfilter(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMinfilter() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMinfilter &operator=( const domMinfilter &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMagfilter;
+
+ typedef daeSmartRef<domMagfilter> domMagfilterRef;
+ typedef daeTArray<domMagfilterRef> domMagfilter_Array;
+
+ class domMagfilter : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MAGFILTER; }
+ static daeInt ID() { return 31; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_sampler_filter_common value of the text data of this element.
+ */
+ domFx_sampler_filter_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_sampler_filter_common of the value.
+ */
+ domFx_sampler_filter_common getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFx_sampler_filter_common val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMagfilter(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMagfilter() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMagfilter &operator=( const domMagfilter &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMipfilter;
+
+ typedef daeSmartRef<domMipfilter> domMipfilterRef;
+ typedef daeTArray<domMipfilterRef> domMipfilter_Array;
+
+ class domMipfilter : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MIPFILTER; }
+ static daeInt ID() { return 32; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_sampler_filter_common value of the text data of this element.
+ */
+ domFx_sampler_filter_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_sampler_filter_common of the value.
+ */
+ domFx_sampler_filter_common getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFx_sampler_filter_common val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMipfilter(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMipfilter() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMipfilter &operator=( const domMipfilter &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBorder_color;
+
+ typedef daeSmartRef<domBorder_color> domBorder_colorRef;
+ typedef daeTArray<domBorder_colorRef> domBorder_color_Array;
+
+ class domBorder_color : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BORDER_COLOR; }
+ static daeInt ID() { return 33; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_color_common value of the text data of this element.
+ */
+ domFx_color_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domFx_color_common reference of the _value array.
+ */
+ domFx_color_common &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domFx_color_common reference of the _value array.
+ */
+ const domFx_color_common &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domFx_color_common &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBorder_color(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBorder_color() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBorder_color &operator=( const domBorder_color &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMipmap_maxlevel;
+
+ typedef daeSmartRef<domMipmap_maxlevel> domMipmap_maxlevelRef;
+ typedef daeTArray<domMipmap_maxlevelRef> domMipmap_maxlevel_Array;
+
+ class domMipmap_maxlevel : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MIPMAP_MAXLEVEL; }
+ static daeInt ID() { return 34; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsUnsignedByte value of the text data of this element.
+ */
+ xsUnsignedByte _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a xsUnsignedByte of the value.
+ */
+ xsUnsignedByte getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsUnsignedByte val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMipmap_maxlevel(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMipmap_maxlevel() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMipmap_maxlevel &operator=( const domMipmap_maxlevel &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMipmap_bias;
+
+ typedef daeSmartRef<domMipmap_bias> domMipmap_biasRef;
+ typedef daeTArray<domMipmap_biasRef> domMipmap_bias_Array;
+
+ class domMipmap_bias : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MIPMAP_BIAS; }
+ static daeInt ID() { return 35; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsFloat value of the text data of this element.
+ */
+ xsFloat _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a xsFloat of the value.
+ */
+ xsFloat getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsFloat val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMipmap_bias(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMipmap_bias() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMipmap_bias &operator=( const domMipmap_bias &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+ domSourceRef elemSource;
+ domWrap_sRef elemWrap_s;
+ domMinfilterRef elemMinfilter;
+ domMagfilterRef elemMagfilter;
+ domMipfilterRef elemMipfilter;
+ domBorder_colorRef elemBorder_color;
+ domMipmap_maxlevelRef elemMipmap_maxlevel;
+ domMipmap_biasRef elemMipmap_bias;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the source element.
+ * @return a daeSmartRef to the source element.
+ */
+ const domSourceRef getSource() const { return elemSource; }
+ /**
+ * Gets the wrap_s element.
+ * @return a daeSmartRef to the wrap_s element.
+ */
+ const domWrap_sRef getWrap_s() const { return elemWrap_s; }
+ /**
+ * Gets the minfilter element.
+ * @return a daeSmartRef to the minfilter element.
+ */
+ const domMinfilterRef getMinfilter() const { return elemMinfilter; }
+ /**
+ * Gets the magfilter element.
+ * @return a daeSmartRef to the magfilter element.
+ */
+ const domMagfilterRef getMagfilter() const { return elemMagfilter; }
+ /**
+ * Gets the mipfilter element.
+ * @return a daeSmartRef to the mipfilter element.
+ */
+ const domMipfilterRef getMipfilter() const { return elemMipfilter; }
+ /**
+ * Gets the border_color element.
+ * @return a daeSmartRef to the border_color element.
+ */
+ const domBorder_colorRef getBorder_color() const { return elemBorder_color; }
+ /**
+ * Gets the mipmap_maxlevel element.
+ * @return a daeSmartRef to the mipmap_maxlevel element.
+ */
+ const domMipmap_maxlevelRef getMipmap_maxlevel() const { return elemMipmap_maxlevel; }
+ /**
+ * Gets the mipmap_bias element.
+ * @return a daeSmartRef to the mipmap_bias element.
+ */
+ const domMipmap_biasRef getMipmap_bias() const { return elemMipmap_bias; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domFx_sampler1D_common_complexType(DAE& dae, daeElement* elt) : elemSource(), elemWrap_s(), elemMinfilter(), elemMagfilter(), elemMipfilter(), elemBorder_color(), elemMipmap_maxlevel(), elemMipmap_bias(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_sampler1D_common_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_sampler1D_common_complexType &operator=( const domFx_sampler1D_common_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domFx_sampler1D_common_complexType.
+ */
+class domFx_sampler1D_common : public daeElement, public domFx_sampler1D_common_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_SAMPLER1D_COMMON; }
+ static daeInt ID() { return 36; }
+ virtual daeInt typeID() const { return ID(); }
+protected:
+ /**
+ * Constructor
+ */
+ domFx_sampler1D_common(DAE& dae) : daeElement(dae), domFx_sampler1D_common_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_sampler1D_common() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_sampler1D_common &operator=( const domFx_sampler1D_common &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domFx_sampler2D_common.h b/1.4.0/dom/include/1.4/dom/domFx_sampler2D_common.h
new file mode 100644
index 0000000..dfcdcc5
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domFx_sampler2D_common.h
@@ -0,0 +1,678 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Fx_sampler2D_common_h__
+#define __dom141Fx_sampler2D_common_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * A two-dimensional texture sampler.
+ */
+class domFx_sampler2D_common_complexType
+{
+public:
+ class domSource;
+
+ typedef daeSmartRef<domSource> domSourceRef;
+ typedef daeTArray<domSourceRef> domSource_Array;
+
+ class domSource : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SOURCE; }
+ static daeInt ID() { return 37; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsNCName value of the text data of this element.
+ */
+ xsNCName _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsNCName of the value.
+ */
+ xsNCName getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSource(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSource() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSource &operator=( const domSource &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domWrap_s;
+
+ typedef daeSmartRef<domWrap_s> domWrap_sRef;
+ typedef daeTArray<domWrap_sRef> domWrap_s_Array;
+
+ class domWrap_s : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::WRAP_S; }
+ static daeInt ID() { return 38; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_sampler_wrap_common value of the text data of this element.
+ */
+ domFx_sampler_wrap_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_sampler_wrap_common of the value.
+ */
+ domFx_sampler_wrap_common getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFx_sampler_wrap_common val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domWrap_s(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domWrap_s() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domWrap_s &operator=( const domWrap_s &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domWrap_t;
+
+ typedef daeSmartRef<domWrap_t> domWrap_tRef;
+ typedef daeTArray<domWrap_tRef> domWrap_t_Array;
+
+ class domWrap_t : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::WRAP_T; }
+ static daeInt ID() { return 39; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_sampler_wrap_common value of the text data of this element.
+ */
+ domFx_sampler_wrap_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_sampler_wrap_common of the value.
+ */
+ domFx_sampler_wrap_common getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFx_sampler_wrap_common val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domWrap_t(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domWrap_t() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domWrap_t &operator=( const domWrap_t &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMinfilter;
+
+ typedef daeSmartRef<domMinfilter> domMinfilterRef;
+ typedef daeTArray<domMinfilterRef> domMinfilter_Array;
+
+ class domMinfilter : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MINFILTER; }
+ static daeInt ID() { return 40; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_sampler_filter_common value of the text data of this element.
+ */
+ domFx_sampler_filter_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_sampler_filter_common of the value.
+ */
+ domFx_sampler_filter_common getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFx_sampler_filter_common val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMinfilter(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMinfilter() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMinfilter &operator=( const domMinfilter &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMagfilter;
+
+ typedef daeSmartRef<domMagfilter> domMagfilterRef;
+ typedef daeTArray<domMagfilterRef> domMagfilter_Array;
+
+ class domMagfilter : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MAGFILTER; }
+ static daeInt ID() { return 41; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_sampler_filter_common value of the text data of this element.
+ */
+ domFx_sampler_filter_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_sampler_filter_common of the value.
+ */
+ domFx_sampler_filter_common getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFx_sampler_filter_common val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMagfilter(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMagfilter() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMagfilter &operator=( const domMagfilter &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMipfilter;
+
+ typedef daeSmartRef<domMipfilter> domMipfilterRef;
+ typedef daeTArray<domMipfilterRef> domMipfilter_Array;
+
+ class domMipfilter : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MIPFILTER; }
+ static daeInt ID() { return 42; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_sampler_filter_common value of the text data of this element.
+ */
+ domFx_sampler_filter_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_sampler_filter_common of the value.
+ */
+ domFx_sampler_filter_common getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFx_sampler_filter_common val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMipfilter(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMipfilter() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMipfilter &operator=( const domMipfilter &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBorder_color;
+
+ typedef daeSmartRef<domBorder_color> domBorder_colorRef;
+ typedef daeTArray<domBorder_colorRef> domBorder_color_Array;
+
+ class domBorder_color : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BORDER_COLOR; }
+ static daeInt ID() { return 43; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_color_common value of the text data of this element.
+ */
+ domFx_color_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domFx_color_common reference of the _value array.
+ */
+ domFx_color_common &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domFx_color_common reference of the _value array.
+ */
+ const domFx_color_common &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domFx_color_common &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBorder_color(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBorder_color() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBorder_color &operator=( const domBorder_color &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMipmap_maxlevel;
+
+ typedef daeSmartRef<domMipmap_maxlevel> domMipmap_maxlevelRef;
+ typedef daeTArray<domMipmap_maxlevelRef> domMipmap_maxlevel_Array;
+
+ class domMipmap_maxlevel : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MIPMAP_MAXLEVEL; }
+ static daeInt ID() { return 44; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsUnsignedByte value of the text data of this element.
+ */
+ xsUnsignedByte _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a xsUnsignedByte of the value.
+ */
+ xsUnsignedByte getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsUnsignedByte val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMipmap_maxlevel(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMipmap_maxlevel() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMipmap_maxlevel &operator=( const domMipmap_maxlevel &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMipmap_bias;
+
+ typedef daeSmartRef<domMipmap_bias> domMipmap_biasRef;
+ typedef daeTArray<domMipmap_biasRef> domMipmap_bias_Array;
+
+ class domMipmap_bias : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MIPMAP_BIAS; }
+ static daeInt ID() { return 45; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsFloat value of the text data of this element.
+ */
+ xsFloat _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a xsFloat of the value.
+ */
+ xsFloat getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsFloat val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMipmap_bias(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMipmap_bias() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMipmap_bias &operator=( const domMipmap_bias &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+ domSourceRef elemSource;
+ domWrap_sRef elemWrap_s;
+ domWrap_tRef elemWrap_t;
+ domMinfilterRef elemMinfilter;
+ domMagfilterRef elemMagfilter;
+ domMipfilterRef elemMipfilter;
+ domBorder_colorRef elemBorder_color;
+ domMipmap_maxlevelRef elemMipmap_maxlevel;
+ domMipmap_biasRef elemMipmap_bias;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the source element.
+ * @return a daeSmartRef to the source element.
+ */
+ const domSourceRef getSource() const { return elemSource; }
+ /**
+ * Gets the wrap_s element.
+ * @return a daeSmartRef to the wrap_s element.
+ */
+ const domWrap_sRef getWrap_s() const { return elemWrap_s; }
+ /**
+ * Gets the wrap_t element.
+ * @return a daeSmartRef to the wrap_t element.
+ */
+ const domWrap_tRef getWrap_t() const { return elemWrap_t; }
+ /**
+ * Gets the minfilter element.
+ * @return a daeSmartRef to the minfilter element.
+ */
+ const domMinfilterRef getMinfilter() const { return elemMinfilter; }
+ /**
+ * Gets the magfilter element.
+ * @return a daeSmartRef to the magfilter element.
+ */
+ const domMagfilterRef getMagfilter() const { return elemMagfilter; }
+ /**
+ * Gets the mipfilter element.
+ * @return a daeSmartRef to the mipfilter element.
+ */
+ const domMipfilterRef getMipfilter() const { return elemMipfilter; }
+ /**
+ * Gets the border_color element.
+ * @return a daeSmartRef to the border_color element.
+ */
+ const domBorder_colorRef getBorder_color() const { return elemBorder_color; }
+ /**
+ * Gets the mipmap_maxlevel element.
+ * @return a daeSmartRef to the mipmap_maxlevel element.
+ */
+ const domMipmap_maxlevelRef getMipmap_maxlevel() const { return elemMipmap_maxlevel; }
+ /**
+ * Gets the mipmap_bias element.
+ * @return a daeSmartRef to the mipmap_bias element.
+ */
+ const domMipmap_biasRef getMipmap_bias() const { return elemMipmap_bias; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domFx_sampler2D_common_complexType(DAE& dae, daeElement* elt) : elemSource(), elemWrap_s(), elemWrap_t(), elemMinfilter(), elemMagfilter(), elemMipfilter(), elemBorder_color(), elemMipmap_maxlevel(), elemMipmap_bias(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_sampler2D_common_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_sampler2D_common_complexType &operator=( const domFx_sampler2D_common_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domFx_sampler2D_common_complexType.
+ */
+class domFx_sampler2D_common : public daeElement, public domFx_sampler2D_common_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_SAMPLER2D_COMMON; }
+ static daeInt ID() { return 46; }
+ virtual daeInt typeID() const { return ID(); }
+protected:
+ /**
+ * Constructor
+ */
+ domFx_sampler2D_common(DAE& dae) : daeElement(dae), domFx_sampler2D_common_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_sampler2D_common() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_sampler2D_common &operator=( const domFx_sampler2D_common &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domFx_sampler3D_common.h b/1.4.0/dom/include/1.4/dom/domFx_sampler3D_common.h
new file mode 100644
index 0000000..ff806bf
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domFx_sampler3D_common.h
@@ -0,0 +1,742 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Fx_sampler3D_common_h__
+#define __dom141Fx_sampler3D_common_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * A three-dimensional texture sampler.
+ */
+class domFx_sampler3D_common_complexType
+{
+public:
+ class domSource;
+
+ typedef daeSmartRef<domSource> domSourceRef;
+ typedef daeTArray<domSourceRef> domSource_Array;
+
+ class domSource : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SOURCE; }
+ static daeInt ID() { return 47; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsNCName value of the text data of this element.
+ */
+ xsNCName _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsNCName of the value.
+ */
+ xsNCName getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSource(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSource() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSource &operator=( const domSource &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domWrap_s;
+
+ typedef daeSmartRef<domWrap_s> domWrap_sRef;
+ typedef daeTArray<domWrap_sRef> domWrap_s_Array;
+
+ class domWrap_s : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::WRAP_S; }
+ static daeInt ID() { return 48; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_sampler_wrap_common value of the text data of this element.
+ */
+ domFx_sampler_wrap_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_sampler_wrap_common of the value.
+ */
+ domFx_sampler_wrap_common getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFx_sampler_wrap_common val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domWrap_s(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domWrap_s() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domWrap_s &operator=( const domWrap_s &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domWrap_t;
+
+ typedef daeSmartRef<domWrap_t> domWrap_tRef;
+ typedef daeTArray<domWrap_tRef> domWrap_t_Array;
+
+ class domWrap_t : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::WRAP_T; }
+ static daeInt ID() { return 49; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_sampler_wrap_common value of the text data of this element.
+ */
+ domFx_sampler_wrap_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_sampler_wrap_common of the value.
+ */
+ domFx_sampler_wrap_common getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFx_sampler_wrap_common val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domWrap_t(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domWrap_t() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domWrap_t &operator=( const domWrap_t &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domWrap_p;
+
+ typedef daeSmartRef<domWrap_p> domWrap_pRef;
+ typedef daeTArray<domWrap_pRef> domWrap_p_Array;
+
+ class domWrap_p : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::WRAP_P; }
+ static daeInt ID() { return 50; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_sampler_wrap_common value of the text data of this element.
+ */
+ domFx_sampler_wrap_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_sampler_wrap_common of the value.
+ */
+ domFx_sampler_wrap_common getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFx_sampler_wrap_common val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domWrap_p(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domWrap_p() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domWrap_p &operator=( const domWrap_p &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMinfilter;
+
+ typedef daeSmartRef<domMinfilter> domMinfilterRef;
+ typedef daeTArray<domMinfilterRef> domMinfilter_Array;
+
+ class domMinfilter : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MINFILTER; }
+ static daeInt ID() { return 51; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_sampler_filter_common value of the text data of this element.
+ */
+ domFx_sampler_filter_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_sampler_filter_common of the value.
+ */
+ domFx_sampler_filter_common getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFx_sampler_filter_common val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMinfilter(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMinfilter() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMinfilter &operator=( const domMinfilter &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMagfilter;
+
+ typedef daeSmartRef<domMagfilter> domMagfilterRef;
+ typedef daeTArray<domMagfilterRef> domMagfilter_Array;
+
+ class domMagfilter : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MAGFILTER; }
+ static daeInt ID() { return 52; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_sampler_filter_common value of the text data of this element.
+ */
+ domFx_sampler_filter_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_sampler_filter_common of the value.
+ */
+ domFx_sampler_filter_common getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFx_sampler_filter_common val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMagfilter(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMagfilter() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMagfilter &operator=( const domMagfilter &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMipfilter;
+
+ typedef daeSmartRef<domMipfilter> domMipfilterRef;
+ typedef daeTArray<domMipfilterRef> domMipfilter_Array;
+
+ class domMipfilter : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MIPFILTER; }
+ static daeInt ID() { return 53; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_sampler_filter_common value of the text data of this element.
+ */
+ domFx_sampler_filter_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_sampler_filter_common of the value.
+ */
+ domFx_sampler_filter_common getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFx_sampler_filter_common val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMipfilter(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMipfilter() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMipfilter &operator=( const domMipfilter &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBorder_color;
+
+ typedef daeSmartRef<domBorder_color> domBorder_colorRef;
+ typedef daeTArray<domBorder_colorRef> domBorder_color_Array;
+
+ class domBorder_color : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BORDER_COLOR; }
+ static daeInt ID() { return 54; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_color_common value of the text data of this element.
+ */
+ domFx_color_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domFx_color_common reference of the _value array.
+ */
+ domFx_color_common &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domFx_color_common reference of the _value array.
+ */
+ const domFx_color_common &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domFx_color_common &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBorder_color(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBorder_color() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBorder_color &operator=( const domBorder_color &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMipmap_maxlevel;
+
+ typedef daeSmartRef<domMipmap_maxlevel> domMipmap_maxlevelRef;
+ typedef daeTArray<domMipmap_maxlevelRef> domMipmap_maxlevel_Array;
+
+ class domMipmap_maxlevel : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MIPMAP_MAXLEVEL; }
+ static daeInt ID() { return 55; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsUnsignedByte value of the text data of this element.
+ */
+ xsUnsignedByte _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a xsUnsignedByte of the value.
+ */
+ xsUnsignedByte getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsUnsignedByte val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMipmap_maxlevel(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMipmap_maxlevel() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMipmap_maxlevel &operator=( const domMipmap_maxlevel &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMipmap_bias;
+
+ typedef daeSmartRef<domMipmap_bias> domMipmap_biasRef;
+ typedef daeTArray<domMipmap_biasRef> domMipmap_bias_Array;
+
+ class domMipmap_bias : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MIPMAP_BIAS; }
+ static daeInt ID() { return 56; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsFloat value of the text data of this element.
+ */
+ xsFloat _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a xsFloat of the value.
+ */
+ xsFloat getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsFloat val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMipmap_bias(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMipmap_bias() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMipmap_bias &operator=( const domMipmap_bias &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+ domSourceRef elemSource;
+ domWrap_sRef elemWrap_s;
+ domWrap_tRef elemWrap_t;
+ domWrap_pRef elemWrap_p;
+ domMinfilterRef elemMinfilter;
+ domMagfilterRef elemMagfilter;
+ domMipfilterRef elemMipfilter;
+ domBorder_colorRef elemBorder_color;
+ domMipmap_maxlevelRef elemMipmap_maxlevel;
+ domMipmap_biasRef elemMipmap_bias;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the source element.
+ * @return a daeSmartRef to the source element.
+ */
+ const domSourceRef getSource() const { return elemSource; }
+ /**
+ * Gets the wrap_s element.
+ * @return a daeSmartRef to the wrap_s element.
+ */
+ const domWrap_sRef getWrap_s() const { return elemWrap_s; }
+ /**
+ * Gets the wrap_t element.
+ * @return a daeSmartRef to the wrap_t element.
+ */
+ const domWrap_tRef getWrap_t() const { return elemWrap_t; }
+ /**
+ * Gets the wrap_p element.
+ * @return a daeSmartRef to the wrap_p element.
+ */
+ const domWrap_pRef getWrap_p() const { return elemWrap_p; }
+ /**
+ * Gets the minfilter element.
+ * @return a daeSmartRef to the minfilter element.
+ */
+ const domMinfilterRef getMinfilter() const { return elemMinfilter; }
+ /**
+ * Gets the magfilter element.
+ * @return a daeSmartRef to the magfilter element.
+ */
+ const domMagfilterRef getMagfilter() const { return elemMagfilter; }
+ /**
+ * Gets the mipfilter element.
+ * @return a daeSmartRef to the mipfilter element.
+ */
+ const domMipfilterRef getMipfilter() const { return elemMipfilter; }
+ /**
+ * Gets the border_color element.
+ * @return a daeSmartRef to the border_color element.
+ */
+ const domBorder_colorRef getBorder_color() const { return elemBorder_color; }
+ /**
+ * Gets the mipmap_maxlevel element.
+ * @return a daeSmartRef to the mipmap_maxlevel element.
+ */
+ const domMipmap_maxlevelRef getMipmap_maxlevel() const { return elemMipmap_maxlevel; }
+ /**
+ * Gets the mipmap_bias element.
+ * @return a daeSmartRef to the mipmap_bias element.
+ */
+ const domMipmap_biasRef getMipmap_bias() const { return elemMipmap_bias; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domFx_sampler3D_common_complexType(DAE& dae, daeElement* elt) : elemSource(), elemWrap_s(), elemWrap_t(), elemWrap_p(), elemMinfilter(), elemMagfilter(), elemMipfilter(), elemBorder_color(), elemMipmap_maxlevel(), elemMipmap_bias(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_sampler3D_common_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_sampler3D_common_complexType &operator=( const domFx_sampler3D_common_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domFx_sampler3D_common_complexType.
+ */
+class domFx_sampler3D_common : public daeElement, public domFx_sampler3D_common_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_SAMPLER3D_COMMON; }
+ static daeInt ID() { return 57; }
+ virtual daeInt typeID() const { return ID(); }
+protected:
+ /**
+ * Constructor
+ */
+ domFx_sampler3D_common(DAE& dae) : daeElement(dae), domFx_sampler3D_common_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_sampler3D_common() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_sampler3D_common &operator=( const domFx_sampler3D_common &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domFx_samplerCUBE_common.h b/1.4.0/dom/include/1.4/dom/domFx_samplerCUBE_common.h
new file mode 100644
index 0000000..d46f623
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domFx_samplerCUBE_common.h
@@ -0,0 +1,742 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Fx_samplerCUBE_common_h__
+#define __dom141Fx_samplerCUBE_common_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * A texture sampler for cube maps.
+ */
+class domFx_samplerCUBE_common_complexType
+{
+public:
+ class domSource;
+
+ typedef daeSmartRef<domSource> domSourceRef;
+ typedef daeTArray<domSourceRef> domSource_Array;
+
+ class domSource : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SOURCE; }
+ static daeInt ID() { return 58; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsNCName value of the text data of this element.
+ */
+ xsNCName _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsNCName of the value.
+ */
+ xsNCName getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSource(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSource() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSource &operator=( const domSource &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domWrap_s;
+
+ typedef daeSmartRef<domWrap_s> domWrap_sRef;
+ typedef daeTArray<domWrap_sRef> domWrap_s_Array;
+
+ class domWrap_s : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::WRAP_S; }
+ static daeInt ID() { return 59; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_sampler_wrap_common value of the text data of this element.
+ */
+ domFx_sampler_wrap_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_sampler_wrap_common of the value.
+ */
+ domFx_sampler_wrap_common getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFx_sampler_wrap_common val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domWrap_s(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domWrap_s() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domWrap_s &operator=( const domWrap_s &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domWrap_t;
+
+ typedef daeSmartRef<domWrap_t> domWrap_tRef;
+ typedef daeTArray<domWrap_tRef> domWrap_t_Array;
+
+ class domWrap_t : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::WRAP_T; }
+ static daeInt ID() { return 60; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_sampler_wrap_common value of the text data of this element.
+ */
+ domFx_sampler_wrap_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_sampler_wrap_common of the value.
+ */
+ domFx_sampler_wrap_common getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFx_sampler_wrap_common val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domWrap_t(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domWrap_t() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domWrap_t &operator=( const domWrap_t &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domWrap_p;
+
+ typedef daeSmartRef<domWrap_p> domWrap_pRef;
+ typedef daeTArray<domWrap_pRef> domWrap_p_Array;
+
+ class domWrap_p : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::WRAP_P; }
+ static daeInt ID() { return 61; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_sampler_wrap_common value of the text data of this element.
+ */
+ domFx_sampler_wrap_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_sampler_wrap_common of the value.
+ */
+ domFx_sampler_wrap_common getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFx_sampler_wrap_common val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domWrap_p(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domWrap_p() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domWrap_p &operator=( const domWrap_p &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMinfilter;
+
+ typedef daeSmartRef<domMinfilter> domMinfilterRef;
+ typedef daeTArray<domMinfilterRef> domMinfilter_Array;
+
+ class domMinfilter : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MINFILTER; }
+ static daeInt ID() { return 62; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_sampler_filter_common value of the text data of this element.
+ */
+ domFx_sampler_filter_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_sampler_filter_common of the value.
+ */
+ domFx_sampler_filter_common getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFx_sampler_filter_common val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMinfilter(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMinfilter() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMinfilter &operator=( const domMinfilter &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMagfilter;
+
+ typedef daeSmartRef<domMagfilter> domMagfilterRef;
+ typedef daeTArray<domMagfilterRef> domMagfilter_Array;
+
+ class domMagfilter : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MAGFILTER; }
+ static daeInt ID() { return 63; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_sampler_filter_common value of the text data of this element.
+ */
+ domFx_sampler_filter_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_sampler_filter_common of the value.
+ */
+ domFx_sampler_filter_common getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFx_sampler_filter_common val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMagfilter(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMagfilter() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMagfilter &operator=( const domMagfilter &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMipfilter;
+
+ typedef daeSmartRef<domMipfilter> domMipfilterRef;
+ typedef daeTArray<domMipfilterRef> domMipfilter_Array;
+
+ class domMipfilter : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MIPFILTER; }
+ static daeInt ID() { return 64; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_sampler_filter_common value of the text data of this element.
+ */
+ domFx_sampler_filter_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_sampler_filter_common of the value.
+ */
+ domFx_sampler_filter_common getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFx_sampler_filter_common val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMipfilter(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMipfilter() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMipfilter &operator=( const domMipfilter &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBorder_color;
+
+ typedef daeSmartRef<domBorder_color> domBorder_colorRef;
+ typedef daeTArray<domBorder_colorRef> domBorder_color_Array;
+
+ class domBorder_color : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BORDER_COLOR; }
+ static daeInt ID() { return 65; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_color_common value of the text data of this element.
+ */
+ domFx_color_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domFx_color_common reference of the _value array.
+ */
+ domFx_color_common &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domFx_color_common reference of the _value array.
+ */
+ const domFx_color_common &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domFx_color_common &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBorder_color(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBorder_color() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBorder_color &operator=( const domBorder_color &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMipmap_maxlevel;
+
+ typedef daeSmartRef<domMipmap_maxlevel> domMipmap_maxlevelRef;
+ typedef daeTArray<domMipmap_maxlevelRef> domMipmap_maxlevel_Array;
+
+ class domMipmap_maxlevel : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MIPMAP_MAXLEVEL; }
+ static daeInt ID() { return 66; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsUnsignedByte value of the text data of this element.
+ */
+ xsUnsignedByte _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a xsUnsignedByte of the value.
+ */
+ xsUnsignedByte getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsUnsignedByte val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMipmap_maxlevel(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMipmap_maxlevel() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMipmap_maxlevel &operator=( const domMipmap_maxlevel &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMipmap_bias;
+
+ typedef daeSmartRef<domMipmap_bias> domMipmap_biasRef;
+ typedef daeTArray<domMipmap_biasRef> domMipmap_bias_Array;
+
+ class domMipmap_bias : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MIPMAP_BIAS; }
+ static daeInt ID() { return 67; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsFloat value of the text data of this element.
+ */
+ xsFloat _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a xsFloat of the value.
+ */
+ xsFloat getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsFloat val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMipmap_bias(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMipmap_bias() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMipmap_bias &operator=( const domMipmap_bias &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+ domSourceRef elemSource;
+ domWrap_sRef elemWrap_s;
+ domWrap_tRef elemWrap_t;
+ domWrap_pRef elemWrap_p;
+ domMinfilterRef elemMinfilter;
+ domMagfilterRef elemMagfilter;
+ domMipfilterRef elemMipfilter;
+ domBorder_colorRef elemBorder_color;
+ domMipmap_maxlevelRef elemMipmap_maxlevel;
+ domMipmap_biasRef elemMipmap_bias;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the source element.
+ * @return a daeSmartRef to the source element.
+ */
+ const domSourceRef getSource() const { return elemSource; }
+ /**
+ * Gets the wrap_s element.
+ * @return a daeSmartRef to the wrap_s element.
+ */
+ const domWrap_sRef getWrap_s() const { return elemWrap_s; }
+ /**
+ * Gets the wrap_t element.
+ * @return a daeSmartRef to the wrap_t element.
+ */
+ const domWrap_tRef getWrap_t() const { return elemWrap_t; }
+ /**
+ * Gets the wrap_p element.
+ * @return a daeSmartRef to the wrap_p element.
+ */
+ const domWrap_pRef getWrap_p() const { return elemWrap_p; }
+ /**
+ * Gets the minfilter element.
+ * @return a daeSmartRef to the minfilter element.
+ */
+ const domMinfilterRef getMinfilter() const { return elemMinfilter; }
+ /**
+ * Gets the magfilter element.
+ * @return a daeSmartRef to the magfilter element.
+ */
+ const domMagfilterRef getMagfilter() const { return elemMagfilter; }
+ /**
+ * Gets the mipfilter element.
+ * @return a daeSmartRef to the mipfilter element.
+ */
+ const domMipfilterRef getMipfilter() const { return elemMipfilter; }
+ /**
+ * Gets the border_color element.
+ * @return a daeSmartRef to the border_color element.
+ */
+ const domBorder_colorRef getBorder_color() const { return elemBorder_color; }
+ /**
+ * Gets the mipmap_maxlevel element.
+ * @return a daeSmartRef to the mipmap_maxlevel element.
+ */
+ const domMipmap_maxlevelRef getMipmap_maxlevel() const { return elemMipmap_maxlevel; }
+ /**
+ * Gets the mipmap_bias element.
+ * @return a daeSmartRef to the mipmap_bias element.
+ */
+ const domMipmap_biasRef getMipmap_bias() const { return elemMipmap_bias; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domFx_samplerCUBE_common_complexType(DAE& dae, daeElement* elt) : elemSource(), elemWrap_s(), elemWrap_t(), elemWrap_p(), elemMinfilter(), elemMagfilter(), elemMipfilter(), elemBorder_color(), elemMipmap_maxlevel(), elemMipmap_bias(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_samplerCUBE_common_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_samplerCUBE_common_complexType &operator=( const domFx_samplerCUBE_common_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domFx_samplerCUBE_common_complexType.
+ */
+class domFx_samplerCUBE_common : public daeElement, public domFx_samplerCUBE_common_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_SAMPLERCUBE_COMMON; }
+ static daeInt ID() { return 68; }
+ virtual daeInt typeID() const { return ID(); }
+protected:
+ /**
+ * Constructor
+ */
+ domFx_samplerCUBE_common(DAE& dae) : daeElement(dae), domFx_samplerCUBE_common_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_samplerCUBE_common() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_samplerCUBE_common &operator=( const domFx_samplerCUBE_common &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domFx_samplerDEPTH_common.h b/1.4.0/dom/include/1.4/dom/domFx_samplerDEPTH_common.h
new file mode 100644
index 0000000..5e4d4c8
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domFx_samplerDEPTH_common.h
@@ -0,0 +1,417 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Fx_samplerDEPTH_common_h__
+#define __dom141Fx_samplerDEPTH_common_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * A texture sampler for depth maps.
+ */
+class domFx_samplerDEPTH_common_complexType
+{
+public:
+ class domSource;
+
+ typedef daeSmartRef<domSource> domSourceRef;
+ typedef daeTArray<domSourceRef> domSource_Array;
+
+ class domSource : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SOURCE; }
+ static daeInt ID() { return 79; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsNCName value of the text data of this element.
+ */
+ xsNCName _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsNCName of the value.
+ */
+ xsNCName getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSource(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSource() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSource &operator=( const domSource &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domWrap_s;
+
+ typedef daeSmartRef<domWrap_s> domWrap_sRef;
+ typedef daeTArray<domWrap_sRef> domWrap_s_Array;
+
+ class domWrap_s : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::WRAP_S; }
+ static daeInt ID() { return 80; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_sampler_wrap_common value of the text data of this element.
+ */
+ domFx_sampler_wrap_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_sampler_wrap_common of the value.
+ */
+ domFx_sampler_wrap_common getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFx_sampler_wrap_common val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domWrap_s(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domWrap_s() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domWrap_s &operator=( const domWrap_s &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domWrap_t;
+
+ typedef daeSmartRef<domWrap_t> domWrap_tRef;
+ typedef daeTArray<domWrap_tRef> domWrap_t_Array;
+
+ class domWrap_t : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::WRAP_T; }
+ static daeInt ID() { return 81; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_sampler_wrap_common value of the text data of this element.
+ */
+ domFx_sampler_wrap_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_sampler_wrap_common of the value.
+ */
+ domFx_sampler_wrap_common getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFx_sampler_wrap_common val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domWrap_t(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domWrap_t() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domWrap_t &operator=( const domWrap_t &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMinfilter;
+
+ typedef daeSmartRef<domMinfilter> domMinfilterRef;
+ typedef daeTArray<domMinfilterRef> domMinfilter_Array;
+
+ class domMinfilter : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MINFILTER; }
+ static daeInt ID() { return 82; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_sampler_filter_common value of the text data of this element.
+ */
+ domFx_sampler_filter_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_sampler_filter_common of the value.
+ */
+ domFx_sampler_filter_common getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFx_sampler_filter_common val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMinfilter(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMinfilter() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMinfilter &operator=( const domMinfilter &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMagfilter;
+
+ typedef daeSmartRef<domMagfilter> domMagfilterRef;
+ typedef daeTArray<domMagfilterRef> domMagfilter_Array;
+
+ class domMagfilter : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MAGFILTER; }
+ static daeInt ID() { return 83; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_sampler_filter_common value of the text data of this element.
+ */
+ domFx_sampler_filter_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_sampler_filter_common of the value.
+ */
+ domFx_sampler_filter_common getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFx_sampler_filter_common val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMagfilter(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMagfilter() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMagfilter &operator=( const domMagfilter &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+ domSourceRef elemSource;
+ domWrap_sRef elemWrap_s;
+ domWrap_tRef elemWrap_t;
+ domMinfilterRef elemMinfilter;
+ domMagfilterRef elemMagfilter;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the source element.
+ * @return a daeSmartRef to the source element.
+ */
+ const domSourceRef getSource() const { return elemSource; }
+ /**
+ * Gets the wrap_s element.
+ * @return a daeSmartRef to the wrap_s element.
+ */
+ const domWrap_sRef getWrap_s() const { return elemWrap_s; }
+ /**
+ * Gets the wrap_t element.
+ * @return a daeSmartRef to the wrap_t element.
+ */
+ const domWrap_tRef getWrap_t() const { return elemWrap_t; }
+ /**
+ * Gets the minfilter element.
+ * @return a daeSmartRef to the minfilter element.
+ */
+ const domMinfilterRef getMinfilter() const { return elemMinfilter; }
+ /**
+ * Gets the magfilter element.
+ * @return a daeSmartRef to the magfilter element.
+ */
+ const domMagfilterRef getMagfilter() const { return elemMagfilter; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domFx_samplerDEPTH_common_complexType(DAE& dae, daeElement* elt) : elemSource(), elemWrap_s(), elemWrap_t(), elemMinfilter(), elemMagfilter(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_samplerDEPTH_common_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_samplerDEPTH_common_complexType &operator=( const domFx_samplerDEPTH_common_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domFx_samplerDEPTH_common_complexType.
+ */
+class domFx_samplerDEPTH_common : public daeElement, public domFx_samplerDEPTH_common_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_SAMPLERDEPTH_COMMON; }
+ static daeInt ID() { return 84; }
+ virtual daeInt typeID() const { return ID(); }
+protected:
+ /**
+ * Constructor
+ */
+ domFx_samplerDEPTH_common(DAE& dae) : daeElement(dae), domFx_samplerDEPTH_common_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_samplerDEPTH_common() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_samplerDEPTH_common &operator=( const domFx_samplerDEPTH_common &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domFx_samplerRECT_common.h b/1.4.0/dom/include/1.4/dom/domFx_samplerRECT_common.h
new file mode 100644
index 0000000..72bb4b6
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domFx_samplerRECT_common.h
@@ -0,0 +1,678 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Fx_samplerRECT_common_h__
+#define __dom141Fx_samplerRECT_common_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * A two-dimensional texture sampler.
+ */
+class domFx_samplerRECT_common_complexType
+{
+public:
+ class domSource;
+
+ typedef daeSmartRef<domSource> domSourceRef;
+ typedef daeTArray<domSourceRef> domSource_Array;
+
+ class domSource : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SOURCE; }
+ static daeInt ID() { return 69; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsNCName value of the text data of this element.
+ */
+ xsNCName _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsNCName of the value.
+ */
+ xsNCName getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSource(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSource() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSource &operator=( const domSource &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domWrap_s;
+
+ typedef daeSmartRef<domWrap_s> domWrap_sRef;
+ typedef daeTArray<domWrap_sRef> domWrap_s_Array;
+
+ class domWrap_s : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::WRAP_S; }
+ static daeInt ID() { return 70; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_sampler_wrap_common value of the text data of this element.
+ */
+ domFx_sampler_wrap_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_sampler_wrap_common of the value.
+ */
+ domFx_sampler_wrap_common getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFx_sampler_wrap_common val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domWrap_s(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domWrap_s() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domWrap_s &operator=( const domWrap_s &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domWrap_t;
+
+ typedef daeSmartRef<domWrap_t> domWrap_tRef;
+ typedef daeTArray<domWrap_tRef> domWrap_t_Array;
+
+ class domWrap_t : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::WRAP_T; }
+ static daeInt ID() { return 71; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_sampler_wrap_common value of the text data of this element.
+ */
+ domFx_sampler_wrap_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_sampler_wrap_common of the value.
+ */
+ domFx_sampler_wrap_common getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFx_sampler_wrap_common val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domWrap_t(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domWrap_t() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domWrap_t &operator=( const domWrap_t &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMinfilter;
+
+ typedef daeSmartRef<domMinfilter> domMinfilterRef;
+ typedef daeTArray<domMinfilterRef> domMinfilter_Array;
+
+ class domMinfilter : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MINFILTER; }
+ static daeInt ID() { return 72; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_sampler_filter_common value of the text data of this element.
+ */
+ domFx_sampler_filter_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_sampler_filter_common of the value.
+ */
+ domFx_sampler_filter_common getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFx_sampler_filter_common val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMinfilter(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMinfilter() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMinfilter &operator=( const domMinfilter &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMagfilter;
+
+ typedef daeSmartRef<domMagfilter> domMagfilterRef;
+ typedef daeTArray<domMagfilterRef> domMagfilter_Array;
+
+ class domMagfilter : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MAGFILTER; }
+ static daeInt ID() { return 73; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_sampler_filter_common value of the text data of this element.
+ */
+ domFx_sampler_filter_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_sampler_filter_common of the value.
+ */
+ domFx_sampler_filter_common getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFx_sampler_filter_common val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMagfilter(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMagfilter() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMagfilter &operator=( const domMagfilter &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMipfilter;
+
+ typedef daeSmartRef<domMipfilter> domMipfilterRef;
+ typedef daeTArray<domMipfilterRef> domMipfilter_Array;
+
+ class domMipfilter : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MIPFILTER; }
+ static daeInt ID() { return 74; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_sampler_filter_common value of the text data of this element.
+ */
+ domFx_sampler_filter_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_sampler_filter_common of the value.
+ */
+ domFx_sampler_filter_common getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFx_sampler_filter_common val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMipfilter(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMipfilter() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMipfilter &operator=( const domMipfilter &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBorder_color;
+
+ typedef daeSmartRef<domBorder_color> domBorder_colorRef;
+ typedef daeTArray<domBorder_colorRef> domBorder_color_Array;
+
+ class domBorder_color : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BORDER_COLOR; }
+ static daeInt ID() { return 75; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_color_common value of the text data of this element.
+ */
+ domFx_color_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domFx_color_common reference of the _value array.
+ */
+ domFx_color_common &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domFx_color_common reference of the _value array.
+ */
+ const domFx_color_common &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domFx_color_common &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBorder_color(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBorder_color() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBorder_color &operator=( const domBorder_color &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMipmap_maxlevel;
+
+ typedef daeSmartRef<domMipmap_maxlevel> domMipmap_maxlevelRef;
+ typedef daeTArray<domMipmap_maxlevelRef> domMipmap_maxlevel_Array;
+
+ class domMipmap_maxlevel : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MIPMAP_MAXLEVEL; }
+ static daeInt ID() { return 76; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsUnsignedByte value of the text data of this element.
+ */
+ xsUnsignedByte _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a xsUnsignedByte of the value.
+ */
+ xsUnsignedByte getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsUnsignedByte val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMipmap_maxlevel(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMipmap_maxlevel() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMipmap_maxlevel &operator=( const domMipmap_maxlevel &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMipmap_bias;
+
+ typedef daeSmartRef<domMipmap_bias> domMipmap_biasRef;
+ typedef daeTArray<domMipmap_biasRef> domMipmap_bias_Array;
+
+ class domMipmap_bias : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MIPMAP_BIAS; }
+ static daeInt ID() { return 77; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsFloat value of the text data of this element.
+ */
+ xsFloat _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a xsFloat of the value.
+ */
+ xsFloat getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsFloat val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMipmap_bias(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMipmap_bias() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMipmap_bias &operator=( const domMipmap_bias &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+ domSourceRef elemSource;
+ domWrap_sRef elemWrap_s;
+ domWrap_tRef elemWrap_t;
+ domMinfilterRef elemMinfilter;
+ domMagfilterRef elemMagfilter;
+ domMipfilterRef elemMipfilter;
+ domBorder_colorRef elemBorder_color;
+ domMipmap_maxlevelRef elemMipmap_maxlevel;
+ domMipmap_biasRef elemMipmap_bias;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the source element.
+ * @return a daeSmartRef to the source element.
+ */
+ const domSourceRef getSource() const { return elemSource; }
+ /**
+ * Gets the wrap_s element.
+ * @return a daeSmartRef to the wrap_s element.
+ */
+ const domWrap_sRef getWrap_s() const { return elemWrap_s; }
+ /**
+ * Gets the wrap_t element.
+ * @return a daeSmartRef to the wrap_t element.
+ */
+ const domWrap_tRef getWrap_t() const { return elemWrap_t; }
+ /**
+ * Gets the minfilter element.
+ * @return a daeSmartRef to the minfilter element.
+ */
+ const domMinfilterRef getMinfilter() const { return elemMinfilter; }
+ /**
+ * Gets the magfilter element.
+ * @return a daeSmartRef to the magfilter element.
+ */
+ const domMagfilterRef getMagfilter() const { return elemMagfilter; }
+ /**
+ * Gets the mipfilter element.
+ * @return a daeSmartRef to the mipfilter element.
+ */
+ const domMipfilterRef getMipfilter() const { return elemMipfilter; }
+ /**
+ * Gets the border_color element.
+ * @return a daeSmartRef to the border_color element.
+ */
+ const domBorder_colorRef getBorder_color() const { return elemBorder_color; }
+ /**
+ * Gets the mipmap_maxlevel element.
+ * @return a daeSmartRef to the mipmap_maxlevel element.
+ */
+ const domMipmap_maxlevelRef getMipmap_maxlevel() const { return elemMipmap_maxlevel; }
+ /**
+ * Gets the mipmap_bias element.
+ * @return a daeSmartRef to the mipmap_bias element.
+ */
+ const domMipmap_biasRef getMipmap_bias() const { return elemMipmap_bias; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domFx_samplerRECT_common_complexType(DAE& dae, daeElement* elt) : elemSource(), elemWrap_s(), elemWrap_t(), elemMinfilter(), elemMagfilter(), elemMipfilter(), elemBorder_color(), elemMipmap_maxlevel(), elemMipmap_bias(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_samplerRECT_common_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_samplerRECT_common_complexType &operator=( const domFx_samplerRECT_common_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domFx_samplerRECT_common_complexType.
+ */
+class domFx_samplerRECT_common : public daeElement, public domFx_samplerRECT_common_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_SAMPLERRECT_COMMON; }
+ static daeInt ID() { return 78; }
+ virtual daeInt typeID() const { return ID(); }
+protected:
+ /**
+ * Constructor
+ */
+ domFx_samplerRECT_common(DAE& dae) : daeElement(dae), domFx_samplerRECT_common_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_samplerRECT_common() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_samplerRECT_common &operator=( const domFx_samplerRECT_common &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domFx_stenciltarget_common.h b/1.4.0/dom/include/1.4/dom/domFx_stenciltarget_common.h
new file mode 100644
index 0000000..47b24d0
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domFx_stenciltarget_common.h
@@ -0,0 +1,190 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Fx_stenciltarget_common_h__
+#define __dom141Fx_stenciltarget_common_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM141 {
+
+class domFx_stenciltarget_common_complexType
+{
+protected: // Attributes
+ xsNonNegativeInteger attrIndex;
+ domFx_surface_face_enum attrFace;
+ xsNonNegativeInteger attrMip;
+ xsNonNegativeInteger attrSlice;
+
+protected: // Value
+ /**
+ * The xsNCName value of the text data of this element.
+ */
+ xsNCName _value;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the index attribute.
+ * @return Returns a xsNonNegativeInteger of the index attribute.
+ */
+ xsNonNegativeInteger getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( xsNonNegativeInteger atIndex ) { attrIndex = atIndex; }
+
+ /**
+ * Gets the face attribute.
+ * @return Returns a domFx_surface_face_enum of the face attribute.
+ */
+ domFx_surface_face_enum getFace() const { return attrFace; }
+ /**
+ * Sets the face attribute.
+ * @param atFace The new value for the face attribute.
+ */
+ void setFace( domFx_surface_face_enum atFace ) { attrFace = atFace; }
+
+ /**
+ * Gets the mip attribute.
+ * @return Returns a xsNonNegativeInteger of the mip attribute.
+ */
+ xsNonNegativeInteger getMip() const { return attrMip; }
+ /**
+ * Sets the mip attribute.
+ * @param atMip The new value for the mip attribute.
+ */
+ void setMip( xsNonNegativeInteger atMip ) { attrMip = atMip; }
+
+ /**
+ * Gets the slice attribute.
+ * @return Returns a xsNonNegativeInteger of the slice attribute.
+ */
+ xsNonNegativeInteger getSlice() const { return attrSlice; }
+ /**
+ * Sets the slice attribute.
+ * @param atSlice The new value for the slice attribute.
+ */
+ void setSlice( xsNonNegativeInteger atSlice ) { attrSlice = atSlice; }
+
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsNCName of the value.
+ */
+ xsNCName getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_stenciltarget_common_complexType(DAE& dae, daeElement* elt) : attrIndex(), attrFace(), attrMip(), attrSlice(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_stenciltarget_common_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_stenciltarget_common_complexType &operator=( const domFx_stenciltarget_common_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domFx_stenciltarget_common_complexType.
+ */
+class domFx_stenciltarget_common : public daeElement, public domFx_stenciltarget_common_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_STENCILTARGET_COMMON; }
+ static daeInt ID() { return 87; }
+ virtual daeInt typeID() const { return ID(); }
+
+public: //Accessors and Mutators
+ /**
+ * Gets the index attribute.
+ * @return Returns a xsNonNegativeInteger of the index attribute.
+ */
+ xsNonNegativeInteger getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( xsNonNegativeInteger atIndex ) { attrIndex = atIndex; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the face attribute.
+ * @return Returns a domFx_surface_face_enum of the face attribute.
+ */
+ domFx_surface_face_enum getFace() const { return attrFace; }
+ /**
+ * Sets the face attribute.
+ * @param atFace The new value for the face attribute.
+ */
+ void setFace( domFx_surface_face_enum atFace ) { attrFace = atFace; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the mip attribute.
+ * @return Returns a xsNonNegativeInteger of the mip attribute.
+ */
+ xsNonNegativeInteger getMip() const { return attrMip; }
+ /**
+ * Sets the mip attribute.
+ * @param atMip The new value for the mip attribute.
+ */
+ void setMip( xsNonNegativeInteger atMip ) { attrMip = atMip; _validAttributeArray[2] = true; }
+
+ /**
+ * Gets the slice attribute.
+ * @return Returns a xsNonNegativeInteger of the slice attribute.
+ */
+ xsNonNegativeInteger getSlice() const { return attrSlice; }
+ /**
+ * Sets the slice attribute.
+ * @param atSlice The new value for the slice attribute.
+ */
+ void setSlice( xsNonNegativeInteger atSlice ) { attrSlice = atSlice; _validAttributeArray[3] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_stenciltarget_common(DAE& dae) : daeElement(dae), domFx_stenciltarget_common_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_stenciltarget_common() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_stenciltarget_common &operator=( const domFx_stenciltarget_common &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domFx_surface_common.h b/1.4.0/dom/include/1.4/dom/domFx_surface_common.h
new file mode 100644
index 0000000..c43edd0
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domFx_surface_common.h
@@ -0,0 +1,566 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Fx_surface_common_h__
+#define __dom141Fx_surface_common_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domFx_surface_init_common.h>
+#include <1.4/dom/domExtra.h>
+#include <1.4/dom/domFx_surface_format_hint_common.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The fx_surface_common type is used to declare a resource that can be used
+ * both as the source for texture samples and as the target of a rendering
+ * pass.
+ */
+class domFx_surface_common_complexType
+{
+public:
+ class domFormat;
+
+ typedef daeSmartRef<domFormat> domFormatRef;
+ typedef daeTArray<domFormatRef> domFormat_Array;
+
+/**
+ * Contains a string representing the profile and platform specific texel
+ * format that the author would like this surface to use. If this element
+ * is not specified then the application will use a common format R8G8B8A8
+ * with linear color gradient, not sRGB.
+ */
+ class domFormat : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FORMAT; }
+ static daeInt ID() { return 22; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsToken value of the text data of this element.
+ */
+ xsToken _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsToken of the value.
+ */
+ xsToken getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsToken val ) { *(daeStringRef*)&_value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFormat(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFormat() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFormat &operator=( const domFormat &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domSize;
+
+ typedef daeSmartRef<domSize> domSizeRef;
+ typedef daeTArray<domSizeRef> domSize_Array;
+
+/**
+ * The surface should be sized to these exact dimensions
+ */
+ class domSize : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SIZE; }
+ static daeInt ID() { return 23; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domInt3 value of the text data of this element.
+ */
+ domInt3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domInt3 reference of the _value array.
+ */
+ domInt3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domInt3 reference of the _value array.
+ */
+ const domInt3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domInt3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSize(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSize() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSize &operator=( const domSize &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domViewport_ratio;
+
+ typedef daeSmartRef<domViewport_ratio> domViewport_ratioRef;
+ typedef daeTArray<domViewport_ratioRef> domViewport_ratio_Array;
+
+/**
+ * The surface should be sized to a dimension based on this ratio of the viewport's
+ * dimensions in pixels
+ */
+ class domViewport_ratio : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::VIEWPORT_RATIO; }
+ static daeInt ID() { return 24; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFloat2 value of the text data of this element.
+ */
+ domFloat2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domFloat2 reference of the _value array.
+ */
+ domFloat2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domFloat2 reference of the _value array.
+ */
+ const domFloat2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domFloat2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domViewport_ratio(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domViewport_ratio() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domViewport_ratio &operator=( const domViewport_ratio &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMip_levels;
+
+ typedef daeSmartRef<domMip_levels> domMip_levelsRef;
+ typedef daeTArray<domMip_levelsRef> domMip_levels_Array;
+
+/**
+ * the surface should contain the following number of MIP levels. If this
+ * element is not present it is assumed that all miplevels exist until a dimension
+ * becomes 1 texel. To create a surface that has only one level of mip maps
+ * (mip=0) set this to 1. If the value is 0 the result is the same as if
+ * mip_levels was unspecified, all possible mip_levels will exist.
+ */
+ class domMip_levels : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MIP_LEVELS; }
+ static daeInt ID() { return 25; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsUnsignedInt value of the text data of this element.
+ */
+ xsUnsignedInt _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a xsUnsignedInt of the value.
+ */
+ xsUnsignedInt getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsUnsignedInt val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMip_levels(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMip_levels() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMip_levels &operator=( const domMip_levels &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMipmap_generate;
+
+ typedef daeSmartRef<domMipmap_generate> domMipmap_generateRef;
+ typedef daeTArray<domMipmap_generateRef> domMipmap_generate_Array;
+
+/**
+ * By default it is assumed that mipmaps are supplied by the author so, if
+ * not all subsurfaces are initialized, it is invalid and will result in profile
+ * and platform specific behavior unless mipmap_generate is responsible for
+ * initializing the remainder of the sub-surfaces
+ */
+ class domMipmap_generate : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MIPMAP_GENERATE; }
+ static daeInt ID() { return 26; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsBoolean value of the text data of this element.
+ */
+ xsBoolean _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a xsBoolean of the value.
+ */
+ xsBoolean getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsBoolean val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMipmap_generate(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMipmap_generate() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMipmap_generate &operator=( const domMipmap_generate &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attribute
+/**
+ * Specifying the type of a surface is mandatory though the type may be "UNTYPED".
+ * When a surface is typed as UNTYPED, it is said to be temporarily untyped
+ * and instead will be typed later by the context it is used in such as which
+ * samplers reference it in that are used in a particular technique or pass.
+ * If there is a type mismatch between what is set into it later and what
+ * the runtime decides the type should be the result in profile and platform
+ * specific behavior.
+ */
+ domFx_surface_type_enum attrType;
+
+protected: // Elements
+/**
+ * The common set of initalization options for surfaces. Choose which is
+ * appropriate for your surface based on the type attribute and other characteristics
+ * described by the annotation docs on the choiced child elements of this
+ * type. @see domFx_surface_init_common
+ */
+ domFx_surface_init_commonRef elemFx_surface_init_common;
+/**
+ * Contains a string representing the profile and platform specific texel
+ * format that the author would like this surface to use. If this element
+ * is not specified then the application will use a common format R8G8B8A8
+ * with linear color gradient, not sRGB. @see domFormat
+ */
+ domFormatRef elemFormat;
+/**
+ * If the exact format cannot be resolved via the "format" element then the
+ * format_hint will describe the important features of the format so that
+ * the application may select a compatable or close format @see domFormat_hint
+ */
+ domFx_surface_format_hint_commonRef elemFormat_hint;
+/**
+ * The surface should be sized to these exact dimensions @see domSize
+ */
+ domSizeRef elemSize;
+/**
+ * The surface should be sized to a dimension based on this ratio of the viewport's
+ * dimensions in pixels @see domViewport_ratio
+ */
+ domViewport_ratioRef elemViewport_ratio;
+/**
+ * the surface should contain the following number of MIP levels. If this
+ * element is not present it is assumed that all miplevels exist until a dimension
+ * becomes 1 texel. To create a surface that has only one level of mip maps
+ * (mip=0) set this to 1. If the value is 0 the result is the same as if
+ * mip_levels was unspecified, all possible mip_levels will exist. @see domMip_levels
+ */
+ domMip_levelsRef elemMip_levels;
+/**
+ * By default it is assumed that mipmaps are supplied by the author so, if
+ * not all subsurfaces are initialized, it is invalid and will result in profile
+ * and platform specific behavior unless mipmap_generate is responsible for
+ * initializing the remainder of the sub-surfaces @see domMipmap_generate
+ */
+ domMipmap_generateRef elemMipmap_generate;
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the type attribute.
+ * @return Returns a domFx_surface_type_enum of the type attribute.
+ */
+ domFx_surface_type_enum getType() const { return attrType; }
+ /**
+ * Sets the type attribute.
+ * @param atType The new value for the type attribute.
+ */
+ void setType( domFx_surface_type_enum atType ) { attrType = atType; }
+
+ /**
+ * Gets the fx_surface_init_common element.
+ * @return a daeSmartRef to the fx_surface_init_common element.
+ */
+ const domFx_surface_init_commonRef getFx_surface_init_common() const { return elemFx_surface_init_common; }
+ /**
+ * Gets the format element.
+ * @return a daeSmartRef to the format element.
+ */
+ const domFormatRef getFormat() const { return elemFormat; }
+ /**
+ * Gets the format_hint element.
+ * @return a daeSmartRef to the format_hint element.
+ */
+ const domFx_surface_format_hint_commonRef getFormat_hint() const { return elemFormat_hint; }
+ /**
+ * Gets the size element.
+ * @return a daeSmartRef to the size element.
+ */
+ const domSizeRef getSize() const { return elemSize; }
+ /**
+ * Gets the viewport_ratio element.
+ * @return a daeSmartRef to the viewport_ratio element.
+ */
+ const domViewport_ratioRef getViewport_ratio() const { return elemViewport_ratio; }
+ /**
+ * Gets the mip_levels element.
+ * @return a daeSmartRef to the mip_levels element.
+ */
+ const domMip_levelsRef getMip_levels() const { return elemMip_levels; }
+ /**
+ * Gets the mipmap_generate element.
+ * @return a daeSmartRef to the mipmap_generate element.
+ */
+ const domMipmap_generateRef getMipmap_generate() const { return elemMipmap_generate; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_surface_common_complexType(DAE& dae, daeElement* elt) : attrType(), elemFx_surface_init_common(), elemFormat(), elemFormat_hint(), elemSize(), elemViewport_ratio(), elemMip_levels(), elemMipmap_generate(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_surface_common_complexType() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_surface_common_complexType &operator=( const domFx_surface_common_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domFx_surface_common_complexType.
+ */
+class domFx_surface_common : public daeElement, public domFx_surface_common_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_SURFACE_COMMON; }
+ static daeInt ID() { return 27; }
+ virtual daeInt typeID() const { return ID(); }
+
+public: //Accessors and Mutators
+ /**
+ * Gets the type attribute.
+ * @return Returns a domFx_surface_type_enum of the type attribute.
+ */
+ domFx_surface_type_enum getType() const { return attrType; }
+ /**
+ * Sets the type attribute.
+ * @param atType The new value for the type attribute.
+ */
+ void setType( domFx_surface_type_enum atType ) { attrType = atType; _validAttributeArray[0] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_surface_common(DAE& dae) : daeElement(dae), domFx_surface_common_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_surface_common() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_surface_common &operator=( const domFx_surface_common &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domFx_surface_format_hint_common.h b/1.4.0/dom/include/1.4/dom/domFx_surface_format_hint_common.h
new file mode 100644
index 0000000..a073e75
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domFx_surface_format_hint_common.h
@@ -0,0 +1,400 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Fx_surface_format_hint_common_h__
+#define __dom141Fx_surface_format_hint_common_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * If the exact format cannot be resolve via other methods then the format_hint
+ * will describe the important features of the format so that the application
+ * may select a compatable or close format
+ */
+class domFx_surface_format_hint_common_complexType
+{
+public:
+ class domChannels;
+
+ typedef daeSmartRef<domChannels> domChannelsRef;
+ typedef daeTArray<domChannelsRef> domChannels_Array;
+
+/**
+ * The per-texel layout of the format. The length of the string indicate
+ * how many channels there are and the letter respresents the name of the
+ * channel. There are typically 0 to 4 channels.
+ */
+ class domChannels : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CHANNELS; }
+ static daeInt ID() { return 6; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_surface_format_hint_channels_enum value of the text data of this element.
+ */
+ domFx_surface_format_hint_channels_enum _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_surface_format_hint_channels_enum of the value.
+ */
+ domFx_surface_format_hint_channels_enum getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFx_surface_format_hint_channels_enum val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domChannels(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domChannels() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domChannels &operator=( const domChannels &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domRange;
+
+ typedef daeSmartRef<domRange> domRangeRef;
+ typedef daeTArray<domRangeRef> domRange_Array;
+
+/**
+ * Each channel represents a range of values. Some example ranges are signed
+ * or unsigned integers, or between between a clamped range such as 0.0f to
+ * 1.0f, or high dynamic range via floating point
+ */
+ class domRange : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::RANGE; }
+ static daeInt ID() { return 7; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_surface_format_hint_range_enum value of the text data of this element.
+ */
+ domFx_surface_format_hint_range_enum _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_surface_format_hint_range_enum of the value.
+ */
+ domFx_surface_format_hint_range_enum getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFx_surface_format_hint_range_enum val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domRange(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domRange() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRange &operator=( const domRange &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPrecision;
+
+ typedef daeSmartRef<domPrecision> domPrecisionRef;
+ typedef daeTArray<domPrecisionRef> domPrecision_Array;
+
+/**
+ * Each channel of the texel has a precision. Typically these are all linked
+ * together. An exact format lay lower the precision of an individual channel
+ * but applying a higher precision by linking the channels together may still
+ * convey the same information.
+ */
+ class domPrecision : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PRECISION; }
+ static daeInt ID() { return 8; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_surface_format_hint_precision_enum value of the text data of this element.
+ */
+ domFx_surface_format_hint_precision_enum _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_surface_format_hint_precision_enum of the value.
+ */
+ domFx_surface_format_hint_precision_enum getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFx_surface_format_hint_precision_enum val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPrecision(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPrecision() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPrecision &operator=( const domPrecision &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domOption;
+
+ typedef daeSmartRef<domOption> domOptionRef;
+ typedef daeTArray<domOptionRef> domOption_Array;
+
+/**
+ * Additional hints about data relationships and other things to help the
+ * application pick the best format.
+ */
+ class domOption : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::OPTION; }
+ static daeInt ID() { return 9; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_surface_format_hint_option_enum value of the text data of this element.
+ */
+ domFx_surface_format_hint_option_enum _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_surface_format_hint_option_enum of the value.
+ */
+ domFx_surface_format_hint_option_enum getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFx_surface_format_hint_option_enum val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domOption(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domOption() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domOption &operator=( const domOption &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+/**
+ * The per-texel layout of the format. The length of the string indicate
+ * how many channels there are and the letter respresents the name of the
+ * channel. There are typically 0 to 4 channels. @see domChannels
+ */
+ domChannelsRef elemChannels;
+/**
+ * Each channel represents a range of values. Some example ranges are signed
+ * or unsigned integers, or between between a clamped range such as 0.0f to
+ * 1.0f, or high dynamic range via floating point @see domRange
+ */
+ domRangeRef elemRange;
+/**
+ * Each channel of the texel has a precision. Typically these are all linked
+ * together. An exact format lay lower the precision of an individual channel
+ * but applying a higher precision by linking the channels together may still
+ * convey the same information. @see domPrecision
+ */
+ domPrecisionRef elemPrecision;
+/**
+ * Additional hints about data relationships and other things to help the
+ * application pick the best format. @see domOption
+ */
+ domOption_Array elemOption_array;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the channels element.
+ * @return a daeSmartRef to the channels element.
+ */
+ const domChannelsRef getChannels() const { return elemChannels; }
+ /**
+ * Gets the range element.
+ * @return a daeSmartRef to the range element.
+ */
+ const domRangeRef getRange() const { return elemRange; }
+ /**
+ * Gets the precision element.
+ * @return a daeSmartRef to the precision element.
+ */
+ const domPrecisionRef getPrecision() const { return elemPrecision; }
+ /**
+ * Gets the option element array.
+ * @return Returns a reference to the array of option elements.
+ */
+ domOption_Array &getOption_array() { return elemOption_array; }
+ /**
+ * Gets the option element array.
+ * @return Returns a constant reference to the array of option elements.
+ */
+ const domOption_Array &getOption_array() const { return elemOption_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domFx_surface_format_hint_common_complexType(DAE& dae, daeElement* elt) : elemChannels(), elemRange(), elemPrecision(), elemOption_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_surface_format_hint_common_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_surface_format_hint_common_complexType &operator=( const domFx_surface_format_hint_common_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domFx_surface_format_hint_common_complexType.
+ */
+class domFx_surface_format_hint_common : public daeElement, public domFx_surface_format_hint_common_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_SURFACE_FORMAT_HINT_COMMON; }
+ static daeInt ID() { return 10; }
+ virtual daeInt typeID() const { return ID(); }
+protected:
+ /**
+ * Constructor
+ */
+ domFx_surface_format_hint_common(DAE& dae) : daeElement(dae), domFx_surface_format_hint_common_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_surface_format_hint_common() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_surface_format_hint_common &operator=( const domFx_surface_format_hint_common &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domFx_surface_init_common.h b/1.4.0/dom/include/1.4/dom/domFx_surface_init_common.h
new file mode 100644
index 0000000..9d7dc15
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domFx_surface_init_common.h
@@ -0,0 +1,257 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Fx_surface_init_common_h__
+#define __dom141Fx_surface_init_common_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domFx_surface_init_cube_common.h>
+#include <1.4/dom/domFx_surface_init_volume_common.h>
+#include <1.4/dom/domFx_surface_init_planar_common.h>
+#include <1.4/dom/domFx_surface_init_from_common.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The common set of initalization options for surfaces. Choose which is
+ * appropriate for your surface based on type and other characteristics. described
+ * by the annotation docs on the child elements.
+ */
+class domFx_surface_init_common : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_SURFACE_INIT_COMMON; }
+ static daeInt ID() { return 168; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domInit_as_null;
+
+ typedef daeSmartRef<domInit_as_null> domInit_as_nullRef;
+ typedef daeTArray<domInit_as_nullRef> domInit_as_null_Array;
+
+/**
+ * This surface is intended to be initialized later externally by a "setparam"
+ * element. If it is used before being initialized there is profile and platform
+ * specific behavior. Most elements on the surface element containing this
+ * will be ignored including mip_levels, mipmap_generate, size, viewport_ratio,
+ * and format.
+ */
+ class domInit_as_null : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INIT_AS_NULL; }
+ static daeInt ID() { return 169; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domInit_as_null(DAE& dae) : daeElement(dae) {}
+ /**
+ * Destructor
+ */
+ virtual ~domInit_as_null() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInit_as_null &operator=( const domInit_as_null &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInit_as_target;
+
+ typedef daeSmartRef<domInit_as_target> domInit_as_targetRef;
+ typedef daeTArray<domInit_as_targetRef> domInit_as_target_Array;
+
+/**
+ * Init as a target for depth, stencil, or color. It does not need image
+ * data. Surface should not have mipmap_generate when using this.
+ */
+ class domInit_as_target : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INIT_AS_TARGET; }
+ static daeInt ID() { return 170; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domInit_as_target(DAE& dae) : daeElement(dae) {}
+ /**
+ * Destructor
+ */
+ virtual ~domInit_as_target() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInit_as_target &operator=( const domInit_as_target &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+/**
+ * This surface is intended to be initialized later externally by a "setparam"
+ * element. If it is used before being initialized there is profile and platform
+ * specific behavior. Most elements on the surface element containing this
+ * will be ignored including mip_levels, mipmap_generate, size, viewport_ratio,
+ * and format. @see domInit_as_null
+ */
+ domInit_as_nullRef elemInit_as_null;
+/**
+ * Init as a target for depth, stencil, or color. It does not need image
+ * data. Surface should not have mipmap_generate when using this. @see domInit_as_target
+ */
+ domInit_as_targetRef elemInit_as_target;
+/**
+ * Init a CUBE from a compound image such as DDS @see domInit_cube
+ */
+ domFx_surface_init_cube_commonRef elemInit_cube;
+/**
+ * Init a 3D from a compound image such as DDS @see domInit_volume
+ */
+ domFx_surface_init_volume_commonRef elemInit_volume;
+/**
+ * Init a 1D,2D,RECT,DEPTH from a compound image such as DDS @see domInit_planar
+ */
+ domFx_surface_init_planar_commonRef elemInit_planar;
+/**
+ * Initialize the surface one sub-surface at a time by specifying combinations
+ * of mip, face, and slice which make sense for a particular surface type.
+ * Each sub-surface is initialized by a common 2D image, not a complex compound
+ * image such as DDS. If not all subsurfaces are initialized, it is invalid
+ * and will result in profile and platform specific behavior unless mipmap_generate
+ * is responsible for initializing the remainder of the sub-surfaces @see
+ * domInit_from
+ */
+ domFx_surface_init_from_common_Array elemInit_from_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the init_as_null element.
+ * @return a daeSmartRef to the init_as_null element.
+ */
+ const domInit_as_nullRef getInit_as_null() const { return elemInit_as_null; }
+ /**
+ * Gets the init_as_target element.
+ * @return a daeSmartRef to the init_as_target element.
+ */
+ const domInit_as_targetRef getInit_as_target() const { return elemInit_as_target; }
+ /**
+ * Gets the init_cube element.
+ * @return a daeSmartRef to the init_cube element.
+ */
+ const domFx_surface_init_cube_commonRef getInit_cube() const { return elemInit_cube; }
+ /**
+ * Gets the init_volume element.
+ * @return a daeSmartRef to the init_volume element.
+ */
+ const domFx_surface_init_volume_commonRef getInit_volume() const { return elemInit_volume; }
+ /**
+ * Gets the init_planar element.
+ * @return a daeSmartRef to the init_planar element.
+ */
+ const domFx_surface_init_planar_commonRef getInit_planar() const { return elemInit_planar; }
+ /**
+ * Gets the init_from element array.
+ * @return Returns a reference to the array of init_from elements.
+ */
+ domFx_surface_init_from_common_Array &getInit_from_array() { return elemInit_from_array; }
+ /**
+ * Gets the init_from element array.
+ * @return Returns a constant reference to the array of init_from elements.
+ */
+ const domFx_surface_init_from_common_Array &getInit_from_array() const { return elemInit_from_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_surface_init_common(DAE& dae) : daeElement(dae), elemInit_as_null(), elemInit_as_target(), elemInit_cube(), elemInit_volume(), elemInit_planar(), elemInit_from_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_surface_init_common() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_surface_init_common &operator=( const domFx_surface_init_common &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domFx_surface_init_cube_common.h b/1.4.0/dom/include/1.4/dom/domFx_surface_init_cube_common.h
new file mode 100644
index 0000000..86a4e6b
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domFx_surface_init_cube_common.h
@@ -0,0 +1,412 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Fx_surface_init_cube_common_h__
+#define __dom141Fx_surface_init_cube_common_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM141 {
+
+class domFx_surface_init_cube_common_complexType
+{
+public:
+ class domAll;
+
+ typedef daeSmartRef<domAll> domAllRef;
+ typedef daeTArray<domAllRef> domAll_Array;
+
+/**
+ * Init the entire surface with one compound image such as DDS
+ */
+ class domAll : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ALL; }
+ static daeInt ID() { return 16; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+ xsIDREF attrRef;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the ref attribute.
+ * @return Returns a xsIDREF reference of the ref attribute.
+ */
+ xsIDREF &getRef() { return attrRef; }
+ /**
+ * Gets the ref attribute.
+ * @return Returns a constant xsIDREF reference of the ref attribute.
+ */
+ const xsIDREF &getRef() const{ return attrRef; }
+ /**
+ * Sets the ref attribute.
+ * @param atRef The new value for the ref attribute.
+ */
+ void setRef( const xsIDREF &atRef ) { attrRef = atRef; _validAttributeArray[0] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domAll(DAE& dae) : daeElement(dae), attrRef(*this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domAll() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAll &operator=( const domAll &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPrimary;
+
+ typedef daeSmartRef<domPrimary> domPrimaryRef;
+ typedef daeTArray<domPrimaryRef> domPrimary_Array;
+
+/**
+ * Init all primary mip level 0 subsurfaces with one compound image such as
+ * DDS. Use of this element expects that the surface has element mip_levels=0
+ * or mipmap_generate.
+ */
+ class domPrimary : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PRIMARY; }
+ static daeInt ID() { return 17; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domOrder;
+
+ typedef daeSmartRef<domOrder> domOrderRef;
+ typedef daeTArray<domOrderRef> domOrder_Array;
+
+/**
+ * If the image dues not natively describe the face ordering then this series
+ * of order elements will describe which face the index belongs too
+ */
+ class domOrder : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ORDER; }
+ static daeInt ID() { return 18; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_surface_face_enum value of the text data of this element.
+ */
+ domFx_surface_face_enum _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_surface_face_enum of the value.
+ */
+ domFx_surface_face_enum getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFx_surface_face_enum val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domOrder(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domOrder() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domOrder &operator=( const domOrder &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+ protected: // Attribute
+ xsIDREF attrRef;
+
+ protected: // Element
+/**
+ * If the image dues not natively describe the face ordering then this series
+ * of order elements will describe which face the index belongs too @see domOrder
+ */
+ domOrder_Array elemOrder_array;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the ref attribute.
+ * @return Returns a xsIDREF reference of the ref attribute.
+ */
+ xsIDREF &getRef() { return attrRef; }
+ /**
+ * Gets the ref attribute.
+ * @return Returns a constant xsIDREF reference of the ref attribute.
+ */
+ const xsIDREF &getRef() const{ return attrRef; }
+ /**
+ * Sets the ref attribute.
+ * @param atRef The new value for the ref attribute.
+ */
+ void setRef( const xsIDREF &atRef ) { attrRef = atRef; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the order element array.
+ * @return Returns a reference to the array of order elements.
+ */
+ domOrder_Array &getOrder_array() { return elemOrder_array; }
+ /**
+ * Gets the order element array.
+ * @return Returns a constant reference to the array of order elements.
+ */
+ const domOrder_Array &getOrder_array() const { return elemOrder_array; }
+ protected:
+ /**
+ * Constructor
+ */
+ domPrimary(DAE& dae) : daeElement(dae), attrRef(*this), elemOrder_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPrimary() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPrimary &operator=( const domPrimary &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFace;
+
+ typedef daeSmartRef<domFace> domFaceRef;
+ typedef daeTArray<domFaceRef> domFace_Array;
+
+/**
+ * Init each face mipchain with one compound image such as DDS
+ */
+ class domFace : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FACE; }
+ static daeInt ID() { return 19; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+ xsIDREF attrRef;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the ref attribute.
+ * @return Returns a xsIDREF reference of the ref attribute.
+ */
+ xsIDREF &getRef() { return attrRef; }
+ /**
+ * Gets the ref attribute.
+ * @return Returns a constant xsIDREF reference of the ref attribute.
+ */
+ const xsIDREF &getRef() const{ return attrRef; }
+ /**
+ * Sets the ref attribute.
+ * @param atRef The new value for the ref attribute.
+ */
+ void setRef( const xsIDREF &atRef ) { attrRef = atRef; _validAttributeArray[0] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFace(DAE& dae) : daeElement(dae), attrRef(*this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domFace() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFace &operator=( const domFace &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+/**
+ * Init the entire surface with one compound image such as DDS @see domAll
+ */
+ domAllRef elemAll;
+/**
+ * Init all primary mip level 0 subsurfaces with one compound image such as
+ * DDS. Use of this element expects that the surface has element mip_levels=0
+ * or mipmap_generate. @see domPrimary
+ */
+ domPrimaryRef elemPrimary;
+/**
+ * Init each face mipchain with one compound image such as DDS @see domFace
+ */
+ domFace_Array elemFace_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the all element.
+ * @return a daeSmartRef to the all element.
+ */
+ const domAllRef getAll() const { return elemAll; }
+ /**
+ * Gets the primary element.
+ * @return a daeSmartRef to the primary element.
+ */
+ const domPrimaryRef getPrimary() const { return elemPrimary; }
+ /**
+ * Gets the face element array.
+ * @return Returns a reference to the array of face elements.
+ */
+ domFace_Array &getFace_array() { return elemFace_array; }
+ /**
+ * Gets the face element array.
+ * @return Returns a constant reference to the array of face elements.
+ */
+ const domFace_Array &getFace_array() const { return elemFace_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_surface_init_cube_common_complexType(DAE& dae, daeElement* elt) : elemAll(), elemPrimary(), elemFace_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_surface_init_cube_common_complexType() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_surface_init_cube_common_complexType &operator=( const domFx_surface_init_cube_common_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domFx_surface_init_cube_common_complexType.
+ */
+class domFx_surface_init_cube_common : public daeElement, public domFx_surface_init_cube_common_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_SURFACE_INIT_CUBE_COMMON; }
+ static daeInt ID() { return 20; }
+ virtual daeInt typeID() const { return ID(); }
+protected:
+ /**
+ * Constructor
+ */
+ domFx_surface_init_cube_common(DAE& dae) : daeElement(dae), domFx_surface_init_cube_common_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_surface_init_cube_common() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_surface_init_cube_common &operator=( const domFx_surface_init_cube_common &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domFx_surface_init_from_common.h b/1.4.0/dom/include/1.4/dom/domFx_surface_init_from_common.h
new file mode 100644
index 0000000..61b3b50
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domFx_surface_init_from_common.h
@@ -0,0 +1,176 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Fx_surface_init_from_common_h__
+#define __dom141Fx_surface_init_from_common_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * This element is an IDREF which specifies the image to use to initialize
+ * a specific mip of a 1D or 2D surface, 3D slice, or Cube face.
+ */
+class domFx_surface_init_from_common_complexType
+{
+protected: // Attributes
+ xsUnsignedInt attrMip;
+ xsUnsignedInt attrSlice;
+ domFx_surface_face_enum attrFace;
+
+protected: // Value
+ /**
+ * The xsIDREF value of the text data of this element.
+ */
+ xsIDREF _value;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the mip attribute.
+ * @return Returns a xsUnsignedInt of the mip attribute.
+ */
+ xsUnsignedInt getMip() const { return attrMip; }
+ /**
+ * Sets the mip attribute.
+ * @param atMip The new value for the mip attribute.
+ */
+ void setMip( xsUnsignedInt atMip ) { attrMip = atMip; }
+
+ /**
+ * Gets the slice attribute.
+ * @return Returns a xsUnsignedInt of the slice attribute.
+ */
+ xsUnsignedInt getSlice() const { return attrSlice; }
+ /**
+ * Sets the slice attribute.
+ * @param atSlice The new value for the slice attribute.
+ */
+ void setSlice( xsUnsignedInt atSlice ) { attrSlice = atSlice; }
+
+ /**
+ * Gets the face attribute.
+ * @return Returns a domFx_surface_face_enum of the face attribute.
+ */
+ domFx_surface_face_enum getFace() const { return attrFace; }
+ /**
+ * Sets the face attribute.
+ * @param atFace The new value for the face attribute.
+ */
+ void setFace( domFx_surface_face_enum atFace ) { attrFace = atFace; }
+
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsIDREF of the value.
+ */
+ xsIDREF &getValue() { return _value; }
+ /**
+ * Gets the value of this element.
+ * @return Returns a constant xsIDREF of the value.
+ */
+ const xsIDREF &getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const xsIDREF &val ) { _value = val; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_surface_init_from_common_complexType(DAE& dae, daeElement* elt) : attrMip(), attrSlice(), attrFace(), _value(*elt) {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_surface_init_from_common_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_surface_init_from_common_complexType &operator=( const domFx_surface_init_from_common_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domFx_surface_init_from_common_complexType.
+ */
+class domFx_surface_init_from_common : public daeElement, public domFx_surface_init_from_common_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_SURFACE_INIT_FROM_COMMON; }
+ static daeInt ID() { return 21; }
+ virtual daeInt typeID() const { return ID(); }
+
+public: //Accessors and Mutators
+ /**
+ * Gets the mip attribute.
+ * @return Returns a xsUnsignedInt of the mip attribute.
+ */
+ xsUnsignedInt getMip() const { return attrMip; }
+ /**
+ * Sets the mip attribute.
+ * @param atMip The new value for the mip attribute.
+ */
+ void setMip( xsUnsignedInt atMip ) { attrMip = atMip; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the slice attribute.
+ * @return Returns a xsUnsignedInt of the slice attribute.
+ */
+ xsUnsignedInt getSlice() const { return attrSlice; }
+ /**
+ * Sets the slice attribute.
+ * @param atSlice The new value for the slice attribute.
+ */
+ void setSlice( xsUnsignedInt atSlice ) { attrSlice = atSlice; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the face attribute.
+ * @return Returns a domFx_surface_face_enum of the face attribute.
+ */
+ domFx_surface_face_enum getFace() const { return attrFace; }
+ /**
+ * Sets the face attribute.
+ * @param atFace The new value for the face attribute.
+ */
+ void setFace( domFx_surface_face_enum atFace ) { attrFace = atFace; _validAttributeArray[2] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_surface_init_from_common(DAE& dae) : daeElement(dae), domFx_surface_init_from_common_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_surface_init_from_common() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_surface_init_from_common &operator=( const domFx_surface_init_from_common &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domFx_surface_init_planar_common.h b/1.4.0/dom/include/1.4/dom/domFx_surface_init_planar_common.h
new file mode 100644
index 0000000..1130851
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domFx_surface_init_planar_common.h
@@ -0,0 +1,182 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Fx_surface_init_planar_common_h__
+#define __dom141Fx_surface_init_planar_common_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * For 1D, 2D, RECT surface types
+ */
+class domFx_surface_init_planar_common_complexType
+{
+public:
+ class domAll;
+
+ typedef daeSmartRef<domAll> domAllRef;
+ typedef daeTArray<domAllRef> domAll_Array;
+
+/**
+ * Init the entire surface with one compound image such as DDS
+ */
+ class domAll : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ALL; }
+ static daeInt ID() { return 11; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+ xsIDREF attrRef;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the ref attribute.
+ * @return Returns a xsIDREF reference of the ref attribute.
+ */
+ xsIDREF &getRef() { return attrRef; }
+ /**
+ * Gets the ref attribute.
+ * @return Returns a constant xsIDREF reference of the ref attribute.
+ */
+ const xsIDREF &getRef() const{ return attrRef; }
+ /**
+ * Sets the ref attribute.
+ * @param atRef The new value for the ref attribute.
+ */
+ void setRef( const xsIDREF &atRef ) { attrRef = atRef; _validAttributeArray[0] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domAll(DAE& dae) : daeElement(dae), attrRef(*this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domAll() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAll &operator=( const domAll &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Element
+/**
+ * Init the entire surface with one compound image such as DDS @see domAll
+ */
+ domAllRef elemAll;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the all element.
+ * @return a daeSmartRef to the all element.
+ */
+ const domAllRef getAll() const { return elemAll; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_surface_init_planar_common_complexType(DAE& dae, daeElement* elt) : elemAll() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_surface_init_planar_common_complexType() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_surface_init_planar_common_complexType &operator=( const domFx_surface_init_planar_common_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domFx_surface_init_planar_common_complexType.
+ */
+class domFx_surface_init_planar_common : public daeElement, public domFx_surface_init_planar_common_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_SURFACE_INIT_PLANAR_COMMON; }
+ static daeInt ID() { return 12; }
+ virtual daeInt typeID() const { return ID(); }
+protected:
+ /**
+ * Constructor
+ */
+ domFx_surface_init_planar_common(DAE& dae) : daeElement(dae), domFx_surface_init_planar_common_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_surface_init_planar_common() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_surface_init_planar_common &operator=( const domFx_surface_init_planar_common &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domFx_surface_init_volume_common.h b/1.4.0/dom/include/1.4/dom/domFx_surface_init_volume_common.h
new file mode 100644
index 0000000..3284fbe
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domFx_surface_init_volume_common.h
@@ -0,0 +1,254 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Fx_surface_init_volume_common_h__
+#define __dom141Fx_surface_init_volume_common_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM141 {
+
+class domFx_surface_init_volume_common_complexType
+{
+public:
+ class domAll;
+
+ typedef daeSmartRef<domAll> domAllRef;
+ typedef daeTArray<domAllRef> domAll_Array;
+
+/**
+ * Init the entire surface with one compound image such as DDS
+ */
+ class domAll : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ALL; }
+ static daeInt ID() { return 13; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+ xsIDREF attrRef;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the ref attribute.
+ * @return Returns a xsIDREF reference of the ref attribute.
+ */
+ xsIDREF &getRef() { return attrRef; }
+ /**
+ * Gets the ref attribute.
+ * @return Returns a constant xsIDREF reference of the ref attribute.
+ */
+ const xsIDREF &getRef() const{ return attrRef; }
+ /**
+ * Sets the ref attribute.
+ * @param atRef The new value for the ref attribute.
+ */
+ void setRef( const xsIDREF &atRef ) { attrRef = atRef; _validAttributeArray[0] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domAll(DAE& dae) : daeElement(dae), attrRef(*this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domAll() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAll &operator=( const domAll &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPrimary;
+
+ typedef daeSmartRef<domPrimary> domPrimaryRef;
+ typedef daeTArray<domPrimaryRef> domPrimary_Array;
+
+/**
+ * Init mip level 0 of the surface with one compound image such as DDS. Use
+ * of this element expects that the surface has element mip_levels=0 or mipmap_generate.
+ */
+ class domPrimary : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PRIMARY; }
+ static daeInt ID() { return 14; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+ xsIDREF attrRef;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the ref attribute.
+ * @return Returns a xsIDREF reference of the ref attribute.
+ */
+ xsIDREF &getRef() { return attrRef; }
+ /**
+ * Gets the ref attribute.
+ * @return Returns a constant xsIDREF reference of the ref attribute.
+ */
+ const xsIDREF &getRef() const{ return attrRef; }
+ /**
+ * Sets the ref attribute.
+ * @param atRef The new value for the ref attribute.
+ */
+ void setRef( const xsIDREF &atRef ) { attrRef = atRef; _validAttributeArray[0] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPrimary(DAE& dae) : daeElement(dae), attrRef(*this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domPrimary() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPrimary &operator=( const domPrimary &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+/**
+ * Init the entire surface with one compound image such as DDS @see domAll
+ */
+ domAllRef elemAll;
+/**
+ * Init mip level 0 of the surface with one compound image such as DDS. Use
+ * of this element expects that the surface has element mip_levels=0 or mipmap_generate.
+ * @see domPrimary
+ */
+ domPrimaryRef elemPrimary;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the all element.
+ * @return a daeSmartRef to the all element.
+ */
+ const domAllRef getAll() const { return elemAll; }
+ /**
+ * Gets the primary element.
+ * @return a daeSmartRef to the primary element.
+ */
+ const domPrimaryRef getPrimary() const { return elemPrimary; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_surface_init_volume_common_complexType(DAE& dae, daeElement* elt) : elemAll(), elemPrimary() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_surface_init_volume_common_complexType() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_surface_init_volume_common_complexType &operator=( const domFx_surface_init_volume_common_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domFx_surface_init_volume_common_complexType.
+ */
+class domFx_surface_init_volume_common : public daeElement, public domFx_surface_init_volume_common_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_SURFACE_INIT_VOLUME_COMMON; }
+ static daeInt ID() { return 15; }
+ virtual daeInt typeID() const { return ID(); }
+protected:
+ /**
+ * Constructor
+ */
+ domFx_surface_init_volume_common(DAE& dae) : daeElement(dae), domFx_surface_init_volume_common_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_surface_init_volume_common() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_surface_init_volume_common &operator=( const domFx_surface_init_volume_common &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domGeometry.h b/1.4.0/dom/include/1.4/dom/domGeometry.h
new file mode 100644
index 0000000..e7513c9
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domGeometry.h
@@ -0,0 +1,178 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Geometry_h__
+#define __dom141Geometry_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domAsset.h>
+#include <1.4/dom/domConvex_mesh.h>
+#include <1.4/dom/domMesh.h>
+#include <1.4/dom/domSpline.h>
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * Geometry describes the visual shape and appearance of an object in the
+ * scene. The geometry element categorizes the declaration of geometric information.
+ * Geometry is a branch of mathematics that deals with the measurement, properties,
+ * and relationships of points, lines, angles, surfaces, and solids.
+ */
+class domGeometry : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GEOMETRY; }
+ static daeInt ID() { return 613; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+
+protected: // Elements
+/**
+ * The geometry element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * The geometry element may contain only one mesh or convex_mesh. @see domConvex_mesh
+ */
+ domConvex_meshRef elemConvex_mesh;
+/**
+ * The geometry element may contain only one mesh or convex_mesh. @see domMesh
+ */
+ domMeshRef elemMesh;
+ domSplineRef elemSpline;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the convex_mesh element.
+ * @return a daeSmartRef to the convex_mesh element.
+ */
+ const domConvex_meshRef getConvex_mesh() const { return elemConvex_mesh; }
+ /**
+ * Gets the mesh element.
+ * @return a daeSmartRef to the mesh element.
+ */
+ const domMeshRef getMesh() const { return elemMesh; }
+ /**
+ * Gets the spline element.
+ * @return a daeSmartRef to the spline element.
+ */
+ const domSplineRef getSpline() const { return elemSpline; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domGeometry(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemConvex_mesh(), elemMesh(), elemSpline(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGeometry() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGeometry &operator=( const domGeometry &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domGl_hook_abstract.h b/1.4.0/dom/include/1.4/dom/domGl_hook_abstract.h
new file mode 100644
index 0000000..e14de42
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domGl_hook_abstract.h
@@ -0,0 +1,57 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Gl_hook_abstract_h__
+#define __dom141Gl_hook_abstract_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM141 {
+
+class domGl_hook_abstract : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GL_HOOK_ABSTRACT; }
+ static daeInt ID() { return 729; }
+ virtual daeInt typeID() const { return ID(); }
+
+protected:
+ /**
+ * Constructor
+ */
+ domGl_hook_abstract(DAE& dae) : daeElement(dae) {}
+ /**
+ * Destructor
+ */
+ virtual ~domGl_hook_abstract() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGl_hook_abstract &operator=( const domGl_hook_abstract &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domGl_pipeline_settings.h b/1.4.0/dom/include/1.4/dom/domGl_pipeline_settings.h
new file mode 100644
index 0000000..a58792a
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domGl_pipeline_settings.h
@@ -0,0 +1,10823 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Gl_pipeline_settings_h__
+#define __dom141Gl_pipeline_settings_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domGl_hook_abstract.h>
+#include <1.4/dom/domGl_sampler1D.h>
+#include <1.4/dom/domGl_sampler2D.h>
+#include <1.4/dom/domGl_sampler3D.h>
+#include <1.4/dom/domGl_samplerCUBE.h>
+#include <1.4/dom/domGl_samplerRECT.h>
+#include <1.4/dom/domGl_samplerDEPTH.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * A group that defines all of the renderstates used for the CG and GLSL profiles.
+ */
+class domGl_pipeline_settings : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GL_PIPELINE_SETTINGS; }
+ static daeInt ID() { return 218; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domAlpha_func;
+
+ typedef daeSmartRef<domAlpha_func> domAlpha_funcRef;
+ typedef daeTArray<domAlpha_funcRef> domAlpha_func_Array;
+
+ class domAlpha_func : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ALPHA_FUNC; }
+ static daeInt ID() { return 219; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domFunc;
+
+ typedef daeSmartRef<domFunc> domFuncRef;
+ typedef daeTArray<domFuncRef> domFunc_Array;
+
+ class domFunc : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FUNC; }
+ static daeInt ID() { return 220; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_func_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_func_type of the value attribute.
+ */
+ domGl_func_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_func_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFunc(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFunc() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFunc &operator=( const domFunc &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domValue;
+
+ typedef daeSmartRef<domValue> domValueRef;
+ typedef daeTArray<domValueRef> domValue_Array;
+
+ class domValue : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::VALUE; }
+ static daeInt ID() { return 221; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_alpha_value_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_alpha_value_type of the value attribute.
+ */
+ domGl_alpha_value_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_alpha_value_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domValue(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domValue() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domValue &operator=( const domValue &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domFuncRef elemFunc;
+ domValueRef elemValue;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the func element.
+ * @return a daeSmartRef to the func element.
+ */
+ const domFuncRef getFunc() const { return elemFunc; }
+ /**
+ * Gets the value element.
+ * @return a daeSmartRef to the value element.
+ */
+ const domValueRef getValue() const { return elemValue; }
+ protected:
+ /**
+ * Constructor
+ */
+ domAlpha_func(DAE& dae) : daeElement(dae), elemFunc(), elemValue() {}
+ /**
+ * Destructor
+ */
+ virtual ~domAlpha_func() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAlpha_func &operator=( const domAlpha_func &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBlend_func;
+
+ typedef daeSmartRef<domBlend_func> domBlend_funcRef;
+ typedef daeTArray<domBlend_funcRef> domBlend_func_Array;
+
+ class domBlend_func : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BLEND_FUNC; }
+ static daeInt ID() { return 222; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domSrc;
+
+ typedef daeSmartRef<domSrc> domSrcRef;
+ typedef daeTArray<domSrcRef> domSrc_Array;
+
+ class domSrc : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SRC; }
+ static daeInt ID() { return 223; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_blend_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_blend_type of the value attribute.
+ */
+ domGl_blend_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_blend_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSrc(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSrc() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSrc &operator=( const domSrc &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDest;
+
+ typedef daeSmartRef<domDest> domDestRef;
+ typedef daeTArray<domDestRef> domDest_Array;
+
+ class domDest : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DEST; }
+ static daeInt ID() { return 224; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_blend_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_blend_type of the value attribute.
+ */
+ domGl_blend_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_blend_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDest(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDest() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDest &operator=( const domDest &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domSrcRef elemSrc;
+ domDestRef elemDest;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the src element.
+ * @return a daeSmartRef to the src element.
+ */
+ const domSrcRef getSrc() const { return elemSrc; }
+ /**
+ * Gets the dest element.
+ * @return a daeSmartRef to the dest element.
+ */
+ const domDestRef getDest() const { return elemDest; }
+ protected:
+ /**
+ * Constructor
+ */
+ domBlend_func(DAE& dae) : daeElement(dae), elemSrc(), elemDest() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBlend_func() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBlend_func &operator=( const domBlend_func &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBlend_func_separate;
+
+ typedef daeSmartRef<domBlend_func_separate> domBlend_func_separateRef;
+ typedef daeTArray<domBlend_func_separateRef> domBlend_func_separate_Array;
+
+ class domBlend_func_separate : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BLEND_FUNC_SEPARATE; }
+ static daeInt ID() { return 225; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domSrc_rgb;
+
+ typedef daeSmartRef<domSrc_rgb> domSrc_rgbRef;
+ typedef daeTArray<domSrc_rgbRef> domSrc_rgb_Array;
+
+ class domSrc_rgb : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SRC_RGB; }
+ static daeInt ID() { return 226; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_blend_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_blend_type of the value attribute.
+ */
+ domGl_blend_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_blend_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSrc_rgb(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSrc_rgb() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSrc_rgb &operator=( const domSrc_rgb &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDest_rgb;
+
+ typedef daeSmartRef<domDest_rgb> domDest_rgbRef;
+ typedef daeTArray<domDest_rgbRef> domDest_rgb_Array;
+
+ class domDest_rgb : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DEST_RGB; }
+ static daeInt ID() { return 227; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_blend_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_blend_type of the value attribute.
+ */
+ domGl_blend_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_blend_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDest_rgb(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDest_rgb() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDest_rgb &operator=( const domDest_rgb &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domSrc_alpha;
+
+ typedef daeSmartRef<domSrc_alpha> domSrc_alphaRef;
+ typedef daeTArray<domSrc_alphaRef> domSrc_alpha_Array;
+
+ class domSrc_alpha : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SRC_ALPHA; }
+ static daeInt ID() { return 228; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_blend_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_blend_type of the value attribute.
+ */
+ domGl_blend_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_blend_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSrc_alpha(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSrc_alpha() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSrc_alpha &operator=( const domSrc_alpha &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDest_alpha;
+
+ typedef daeSmartRef<domDest_alpha> domDest_alphaRef;
+ typedef daeTArray<domDest_alphaRef> domDest_alpha_Array;
+
+ class domDest_alpha : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DEST_ALPHA; }
+ static daeInt ID() { return 229; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_blend_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_blend_type of the value attribute.
+ */
+ domGl_blend_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_blend_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDest_alpha(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDest_alpha() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDest_alpha &operator=( const domDest_alpha &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domSrc_rgbRef elemSrc_rgb;
+ domDest_rgbRef elemDest_rgb;
+ domSrc_alphaRef elemSrc_alpha;
+ domDest_alphaRef elemDest_alpha;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the src_rgb element.
+ * @return a daeSmartRef to the src_rgb element.
+ */
+ const domSrc_rgbRef getSrc_rgb() const { return elemSrc_rgb; }
+ /**
+ * Gets the dest_rgb element.
+ * @return a daeSmartRef to the dest_rgb element.
+ */
+ const domDest_rgbRef getDest_rgb() const { return elemDest_rgb; }
+ /**
+ * Gets the src_alpha element.
+ * @return a daeSmartRef to the src_alpha element.
+ */
+ const domSrc_alphaRef getSrc_alpha() const { return elemSrc_alpha; }
+ /**
+ * Gets the dest_alpha element.
+ * @return a daeSmartRef to the dest_alpha element.
+ */
+ const domDest_alphaRef getDest_alpha() const { return elemDest_alpha; }
+ protected:
+ /**
+ * Constructor
+ */
+ domBlend_func_separate(DAE& dae) : daeElement(dae), elemSrc_rgb(), elemDest_rgb(), elemSrc_alpha(), elemDest_alpha() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBlend_func_separate() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBlend_func_separate &operator=( const domBlend_func_separate &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBlend_equation;
+
+ typedef daeSmartRef<domBlend_equation> domBlend_equationRef;
+ typedef daeTArray<domBlend_equationRef> domBlend_equation_Array;
+
+ class domBlend_equation : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BLEND_EQUATION; }
+ static daeInt ID() { return 230; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_blend_equation_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_blend_equation_type of the value attribute.
+ */
+ domGl_blend_equation_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_blend_equation_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBlend_equation(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBlend_equation() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBlend_equation &operator=( const domBlend_equation &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBlend_equation_separate;
+
+ typedef daeSmartRef<domBlend_equation_separate> domBlend_equation_separateRef;
+ typedef daeTArray<domBlend_equation_separateRef> domBlend_equation_separate_Array;
+
+ class domBlend_equation_separate : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BLEND_EQUATION_SEPARATE; }
+ static daeInt ID() { return 231; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domRgb;
+
+ typedef daeSmartRef<domRgb> domRgbRef;
+ typedef daeTArray<domRgbRef> domRgb_Array;
+
+ class domRgb : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::RGB; }
+ static daeInt ID() { return 232; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_blend_equation_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_blend_equation_type of the value attribute.
+ */
+ domGl_blend_equation_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_blend_equation_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domRgb(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domRgb() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRgb &operator=( const domRgb &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domAlpha;
+
+ typedef daeSmartRef<domAlpha> domAlphaRef;
+ typedef daeTArray<domAlphaRef> domAlpha_Array;
+
+ class domAlpha : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ALPHA; }
+ static daeInt ID() { return 233; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_blend_equation_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_blend_equation_type of the value attribute.
+ */
+ domGl_blend_equation_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_blend_equation_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domAlpha(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domAlpha() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAlpha &operator=( const domAlpha &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domRgbRef elemRgb;
+ domAlphaRef elemAlpha;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the rgb element.
+ * @return a daeSmartRef to the rgb element.
+ */
+ const domRgbRef getRgb() const { return elemRgb; }
+ /**
+ * Gets the alpha element.
+ * @return a daeSmartRef to the alpha element.
+ */
+ const domAlphaRef getAlpha() const { return elemAlpha; }
+ protected:
+ /**
+ * Constructor
+ */
+ domBlend_equation_separate(DAE& dae) : daeElement(dae), elemRgb(), elemAlpha() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBlend_equation_separate() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBlend_equation_separate &operator=( const domBlend_equation_separate &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domColor_material;
+
+ typedef daeSmartRef<domColor_material> domColor_materialRef;
+ typedef daeTArray<domColor_materialRef> domColor_material_Array;
+
+ class domColor_material : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COLOR_MATERIAL; }
+ static daeInt ID() { return 234; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domFace;
+
+ typedef daeSmartRef<domFace> domFaceRef;
+ typedef daeTArray<domFaceRef> domFace_Array;
+
+ class domFace : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FACE; }
+ static daeInt ID() { return 235; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_face_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_face_type of the value attribute.
+ */
+ domGl_face_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_face_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFace(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFace() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFace &operator=( const domFace &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMode;
+
+ typedef daeSmartRef<domMode> domModeRef;
+ typedef daeTArray<domModeRef> domMode_Array;
+
+ class domMode : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MODE; }
+ static daeInt ID() { return 236; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_material_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_material_type of the value attribute.
+ */
+ domGl_material_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_material_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMode(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMode() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMode &operator=( const domMode &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domFaceRef elemFace;
+ domModeRef elemMode;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the face element.
+ * @return a daeSmartRef to the face element.
+ */
+ const domFaceRef getFace() const { return elemFace; }
+ /**
+ * Gets the mode element.
+ * @return a daeSmartRef to the mode element.
+ */
+ const domModeRef getMode() const { return elemMode; }
+ protected:
+ /**
+ * Constructor
+ */
+ domColor_material(DAE& dae) : daeElement(dae), elemFace(), elemMode() {}
+ /**
+ * Destructor
+ */
+ virtual ~domColor_material() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domColor_material &operator=( const domColor_material &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domCull_face;
+
+ typedef daeSmartRef<domCull_face> domCull_faceRef;
+ typedef daeTArray<domCull_faceRef> domCull_face_Array;
+
+ class domCull_face : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CULL_FACE; }
+ static daeInt ID() { return 237; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_face_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_face_type of the value attribute.
+ */
+ domGl_face_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_face_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domCull_face(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCull_face() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCull_face &operator=( const domCull_face &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDepth_func;
+
+ typedef daeSmartRef<domDepth_func> domDepth_funcRef;
+ typedef daeTArray<domDepth_funcRef> domDepth_func_Array;
+
+ class domDepth_func : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DEPTH_FUNC; }
+ static daeInt ID() { return 238; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_func_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_func_type of the value attribute.
+ */
+ domGl_func_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_func_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDepth_func(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDepth_func() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDepth_func &operator=( const domDepth_func &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFog_mode;
+
+ typedef daeSmartRef<domFog_mode> domFog_modeRef;
+ typedef daeTArray<domFog_modeRef> domFog_mode_Array;
+
+ class domFog_mode : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FOG_MODE; }
+ static daeInt ID() { return 239; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_fog_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_fog_type of the value attribute.
+ */
+ domGl_fog_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_fog_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFog_mode(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFog_mode() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFog_mode &operator=( const domFog_mode &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFog_coord_src;
+
+ typedef daeSmartRef<domFog_coord_src> domFog_coord_srcRef;
+ typedef daeTArray<domFog_coord_srcRef> domFog_coord_src_Array;
+
+ class domFog_coord_src : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FOG_COORD_SRC; }
+ static daeInt ID() { return 240; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_fog_coord_src_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_fog_coord_src_type of the value attribute.
+ */
+ domGl_fog_coord_src_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_fog_coord_src_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFog_coord_src(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFog_coord_src() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFog_coord_src &operator=( const domFog_coord_src &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFront_face;
+
+ typedef daeSmartRef<domFront_face> domFront_faceRef;
+ typedef daeTArray<domFront_faceRef> domFront_face_Array;
+
+ class domFront_face : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FRONT_FACE; }
+ static daeInt ID() { return 241; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_front_face_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_front_face_type of the value attribute.
+ */
+ domGl_front_face_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_front_face_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFront_face(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFront_face() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFront_face &operator=( const domFront_face &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_model_color_control;
+
+ typedef daeSmartRef<domLight_model_color_control> domLight_model_color_controlRef;
+ typedef daeTArray<domLight_model_color_controlRef> domLight_model_color_control_Array;
+
+ class domLight_model_color_control : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_MODEL_COLOR_CONTROL; }
+ static daeInt ID() { return 242; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_light_model_color_control_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_light_model_color_control_type of the value attribute.
+ */
+ domGl_light_model_color_control_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_light_model_color_control_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_model_color_control(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_model_color_control() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_model_color_control &operator=( const domLight_model_color_control &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLogic_op;
+
+ typedef daeSmartRef<domLogic_op> domLogic_opRef;
+ typedef daeTArray<domLogic_opRef> domLogic_op_Array;
+
+ class domLogic_op : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LOGIC_OP; }
+ static daeInt ID() { return 243; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_logic_op_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_logic_op_type of the value attribute.
+ */
+ domGl_logic_op_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_logic_op_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLogic_op(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLogic_op() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLogic_op &operator=( const domLogic_op &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPolygon_mode;
+
+ typedef daeSmartRef<domPolygon_mode> domPolygon_modeRef;
+ typedef daeTArray<domPolygon_modeRef> domPolygon_mode_Array;
+
+ class domPolygon_mode : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POLYGON_MODE; }
+ static daeInt ID() { return 244; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domFace;
+
+ typedef daeSmartRef<domFace> domFaceRef;
+ typedef daeTArray<domFaceRef> domFace_Array;
+
+ class domFace : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FACE; }
+ static daeInt ID() { return 245; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_face_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_face_type of the value attribute.
+ */
+ domGl_face_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_face_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFace(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFace() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFace &operator=( const domFace &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMode;
+
+ typedef daeSmartRef<domMode> domModeRef;
+ typedef daeTArray<domModeRef> domMode_Array;
+
+ class domMode : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MODE; }
+ static daeInt ID() { return 246; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_polygon_mode_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_polygon_mode_type of the value attribute.
+ */
+ domGl_polygon_mode_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_polygon_mode_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMode(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMode() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMode &operator=( const domMode &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domFaceRef elemFace;
+ domModeRef elemMode;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the face element.
+ * @return a daeSmartRef to the face element.
+ */
+ const domFaceRef getFace() const { return elemFace; }
+ /**
+ * Gets the mode element.
+ * @return a daeSmartRef to the mode element.
+ */
+ const domModeRef getMode() const { return elemMode; }
+ protected:
+ /**
+ * Constructor
+ */
+ domPolygon_mode(DAE& dae) : daeElement(dae), elemFace(), elemMode() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPolygon_mode() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPolygon_mode &operator=( const domPolygon_mode &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domShade_model;
+
+ typedef daeSmartRef<domShade_model> domShade_modelRef;
+ typedef daeTArray<domShade_modelRef> domShade_model_Array;
+
+ class domShade_model : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SHADE_MODEL; }
+ static daeInt ID() { return 247; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_shade_model_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_shade_model_type of the value attribute.
+ */
+ domGl_shade_model_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_shade_model_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domShade_model(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domShade_model() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domShade_model &operator=( const domShade_model &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domStencil_func;
+
+ typedef daeSmartRef<domStencil_func> domStencil_funcRef;
+ typedef daeTArray<domStencil_funcRef> domStencil_func_Array;
+
+ class domStencil_func : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::STENCIL_FUNC; }
+ static daeInt ID() { return 248; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domFunc;
+
+ typedef daeSmartRef<domFunc> domFuncRef;
+ typedef daeTArray<domFuncRef> domFunc_Array;
+
+ class domFunc : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FUNC; }
+ static daeInt ID() { return 249; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_func_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_func_type of the value attribute.
+ */
+ domGl_func_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_func_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFunc(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFunc() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFunc &operator=( const domFunc &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domRef;
+
+ typedef daeSmartRef<domRef> domRefRef;
+ typedef daeTArray<domRefRef> domRef_Array;
+
+ class domRef : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::REF; }
+ static daeInt ID() { return 250; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsUnsignedByte attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsUnsignedByte of the value attribute.
+ */
+ xsUnsignedByte getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsUnsignedByte atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domRef(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domRef() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRef &operator=( const domRef &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMask;
+
+ typedef daeSmartRef<domMask> domMaskRef;
+ typedef daeTArray<domMaskRef> domMask_Array;
+
+ class domMask : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MASK; }
+ static daeInt ID() { return 251; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsUnsignedByte attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsUnsignedByte of the value attribute.
+ */
+ xsUnsignedByte getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsUnsignedByte atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMask(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMask() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMask &operator=( const domMask &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domFuncRef elemFunc;
+ domRefRef elemRef;
+ domMaskRef elemMask;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the func element.
+ * @return a daeSmartRef to the func element.
+ */
+ const domFuncRef getFunc() const { return elemFunc; }
+ /**
+ * Gets the ref element.
+ * @return a daeSmartRef to the ref element.
+ */
+ const domRefRef getRef() const { return elemRef; }
+ /**
+ * Gets the mask element.
+ * @return a daeSmartRef to the mask element.
+ */
+ const domMaskRef getMask() const { return elemMask; }
+ protected:
+ /**
+ * Constructor
+ */
+ domStencil_func(DAE& dae) : daeElement(dae), elemFunc(), elemRef(), elemMask() {}
+ /**
+ * Destructor
+ */
+ virtual ~domStencil_func() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domStencil_func &operator=( const domStencil_func &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domStencil_op;
+
+ typedef daeSmartRef<domStencil_op> domStencil_opRef;
+ typedef daeTArray<domStencil_opRef> domStencil_op_Array;
+
+ class domStencil_op : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::STENCIL_OP; }
+ static daeInt ID() { return 252; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domFail;
+
+ typedef daeSmartRef<domFail> domFailRef;
+ typedef daeTArray<domFailRef> domFail_Array;
+
+ class domFail : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FAIL; }
+ static daeInt ID() { return 253; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_stencil_op_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_stencil_op_type of the value attribute.
+ */
+ domGl_stencil_op_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_stencil_op_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFail(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFail() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFail &operator=( const domFail &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domZfail;
+
+ typedef daeSmartRef<domZfail> domZfailRef;
+ typedef daeTArray<domZfailRef> domZfail_Array;
+
+ class domZfail : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ZFAIL; }
+ static daeInt ID() { return 254; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_stencil_op_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_stencil_op_type of the value attribute.
+ */
+ domGl_stencil_op_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_stencil_op_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domZfail(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domZfail() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domZfail &operator=( const domZfail &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domZpass;
+
+ typedef daeSmartRef<domZpass> domZpassRef;
+ typedef daeTArray<domZpassRef> domZpass_Array;
+
+ class domZpass : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ZPASS; }
+ static daeInt ID() { return 255; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_stencil_op_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_stencil_op_type of the value attribute.
+ */
+ domGl_stencil_op_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_stencil_op_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domZpass(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domZpass() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domZpass &operator=( const domZpass &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domFailRef elemFail;
+ domZfailRef elemZfail;
+ domZpassRef elemZpass;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the fail element.
+ * @return a daeSmartRef to the fail element.
+ */
+ const domFailRef getFail() const { return elemFail; }
+ /**
+ * Gets the zfail element.
+ * @return a daeSmartRef to the zfail element.
+ */
+ const domZfailRef getZfail() const { return elemZfail; }
+ /**
+ * Gets the zpass element.
+ * @return a daeSmartRef to the zpass element.
+ */
+ const domZpassRef getZpass() const { return elemZpass; }
+ protected:
+ /**
+ * Constructor
+ */
+ domStencil_op(DAE& dae) : daeElement(dae), elemFail(), elemZfail(), elemZpass() {}
+ /**
+ * Destructor
+ */
+ virtual ~domStencil_op() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domStencil_op &operator=( const domStencil_op &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domStencil_func_separate;
+
+ typedef daeSmartRef<domStencil_func_separate> domStencil_func_separateRef;
+ typedef daeTArray<domStencil_func_separateRef> domStencil_func_separate_Array;
+
+ class domStencil_func_separate : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::STENCIL_FUNC_SEPARATE; }
+ static daeInt ID() { return 256; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domFront;
+
+ typedef daeSmartRef<domFront> domFrontRef;
+ typedef daeTArray<domFrontRef> domFront_Array;
+
+ class domFront : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FRONT; }
+ static daeInt ID() { return 257; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_func_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_func_type of the value attribute.
+ */
+ domGl_func_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_func_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFront(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFront() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFront &operator=( const domFront &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBack;
+
+ typedef daeSmartRef<domBack> domBackRef;
+ typedef daeTArray<domBackRef> domBack_Array;
+
+ class domBack : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BACK; }
+ static daeInt ID() { return 258; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_func_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_func_type of the value attribute.
+ */
+ domGl_func_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_func_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBack(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBack() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBack &operator=( const domBack &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domRef;
+
+ typedef daeSmartRef<domRef> domRefRef;
+ typedef daeTArray<domRefRef> domRef_Array;
+
+ class domRef : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::REF; }
+ static daeInt ID() { return 259; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsUnsignedByte attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsUnsignedByte of the value attribute.
+ */
+ xsUnsignedByte getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsUnsignedByte atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domRef(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domRef() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRef &operator=( const domRef &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMask;
+
+ typedef daeSmartRef<domMask> domMaskRef;
+ typedef daeTArray<domMaskRef> domMask_Array;
+
+ class domMask : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MASK; }
+ static daeInt ID() { return 260; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsUnsignedByte attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsUnsignedByte of the value attribute.
+ */
+ xsUnsignedByte getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsUnsignedByte atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMask(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMask() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMask &operator=( const domMask &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domFrontRef elemFront;
+ domBackRef elemBack;
+ domRefRef elemRef;
+ domMaskRef elemMask;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the front element.
+ * @return a daeSmartRef to the front element.
+ */
+ const domFrontRef getFront() const { return elemFront; }
+ /**
+ * Gets the back element.
+ * @return a daeSmartRef to the back element.
+ */
+ const domBackRef getBack() const { return elemBack; }
+ /**
+ * Gets the ref element.
+ * @return a daeSmartRef to the ref element.
+ */
+ const domRefRef getRef() const { return elemRef; }
+ /**
+ * Gets the mask element.
+ * @return a daeSmartRef to the mask element.
+ */
+ const domMaskRef getMask() const { return elemMask; }
+ protected:
+ /**
+ * Constructor
+ */
+ domStencil_func_separate(DAE& dae) : daeElement(dae), elemFront(), elemBack(), elemRef(), elemMask() {}
+ /**
+ * Destructor
+ */
+ virtual ~domStencil_func_separate() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domStencil_func_separate &operator=( const domStencil_func_separate &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domStencil_op_separate;
+
+ typedef daeSmartRef<domStencil_op_separate> domStencil_op_separateRef;
+ typedef daeTArray<domStencil_op_separateRef> domStencil_op_separate_Array;
+
+ class domStencil_op_separate : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::STENCIL_OP_SEPARATE; }
+ static daeInt ID() { return 261; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domFace;
+
+ typedef daeSmartRef<domFace> domFaceRef;
+ typedef daeTArray<domFaceRef> domFace_Array;
+
+ class domFace : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FACE; }
+ static daeInt ID() { return 262; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_face_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_face_type of the value attribute.
+ */
+ domGl_face_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_face_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFace(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFace() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFace &operator=( const domFace &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFail;
+
+ typedef daeSmartRef<domFail> domFailRef;
+ typedef daeTArray<domFailRef> domFail_Array;
+
+ class domFail : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FAIL; }
+ static daeInt ID() { return 263; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_stencil_op_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_stencil_op_type of the value attribute.
+ */
+ domGl_stencil_op_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_stencil_op_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFail(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFail() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFail &operator=( const domFail &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domZfail;
+
+ typedef daeSmartRef<domZfail> domZfailRef;
+ typedef daeTArray<domZfailRef> domZfail_Array;
+
+ class domZfail : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ZFAIL; }
+ static daeInt ID() { return 264; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_stencil_op_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_stencil_op_type of the value attribute.
+ */
+ domGl_stencil_op_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_stencil_op_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domZfail(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domZfail() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domZfail &operator=( const domZfail &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domZpass;
+
+ typedef daeSmartRef<domZpass> domZpassRef;
+ typedef daeTArray<domZpassRef> domZpass_Array;
+
+ class domZpass : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ZPASS; }
+ static daeInt ID() { return 265; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_stencil_op_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_stencil_op_type of the value attribute.
+ */
+ domGl_stencil_op_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_stencil_op_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domZpass(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domZpass() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domZpass &operator=( const domZpass &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domFaceRef elemFace;
+ domFailRef elemFail;
+ domZfailRef elemZfail;
+ domZpassRef elemZpass;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the face element.
+ * @return a daeSmartRef to the face element.
+ */
+ const domFaceRef getFace() const { return elemFace; }
+ /**
+ * Gets the fail element.
+ * @return a daeSmartRef to the fail element.
+ */
+ const domFailRef getFail() const { return elemFail; }
+ /**
+ * Gets the zfail element.
+ * @return a daeSmartRef to the zfail element.
+ */
+ const domZfailRef getZfail() const { return elemZfail; }
+ /**
+ * Gets the zpass element.
+ * @return a daeSmartRef to the zpass element.
+ */
+ const domZpassRef getZpass() const { return elemZpass; }
+ protected:
+ /**
+ * Constructor
+ */
+ domStencil_op_separate(DAE& dae) : daeElement(dae), elemFace(), elemFail(), elemZfail(), elemZpass() {}
+ /**
+ * Destructor
+ */
+ virtual ~domStencil_op_separate() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domStencil_op_separate &operator=( const domStencil_op_separate &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domStencil_mask_separate;
+
+ typedef daeSmartRef<domStencil_mask_separate> domStencil_mask_separateRef;
+ typedef daeTArray<domStencil_mask_separateRef> domStencil_mask_separate_Array;
+
+ class domStencil_mask_separate : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::STENCIL_MASK_SEPARATE; }
+ static daeInt ID() { return 266; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domFace;
+
+ typedef daeSmartRef<domFace> domFaceRef;
+ typedef daeTArray<domFaceRef> domFace_Array;
+
+ class domFace : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FACE; }
+ static daeInt ID() { return 267; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_face_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_face_type of the value attribute.
+ */
+ domGl_face_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_face_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFace(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFace() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFace &operator=( const domFace &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMask;
+
+ typedef daeSmartRef<domMask> domMaskRef;
+ typedef daeTArray<domMaskRef> domMask_Array;
+
+ class domMask : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MASK; }
+ static daeInt ID() { return 268; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsUnsignedByte attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsUnsignedByte of the value attribute.
+ */
+ xsUnsignedByte getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsUnsignedByte atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMask(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMask() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMask &operator=( const domMask &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domFaceRef elemFace;
+ domMaskRef elemMask;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the face element.
+ * @return a daeSmartRef to the face element.
+ */
+ const domFaceRef getFace() const { return elemFace; }
+ /**
+ * Gets the mask element.
+ * @return a daeSmartRef to the mask element.
+ */
+ const domMaskRef getMask() const { return elemMask; }
+ protected:
+ /**
+ * Constructor
+ */
+ domStencil_mask_separate(DAE& dae) : daeElement(dae), elemFace(), elemMask() {}
+ /**
+ * Destructor
+ */
+ virtual ~domStencil_mask_separate() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domStencil_mask_separate &operator=( const domStencil_mask_separate &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_enable;
+
+ typedef daeSmartRef<domLight_enable> domLight_enableRef;
+ typedef daeTArray<domLight_enableRef> domLight_enable_Array;
+
+ class domLight_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_ENABLE; }
+ static daeInt ID() { return 269; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+ domGL_MAX_LIGHTS_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGL_MAX_LIGHTS_index of the index attribute.
+ */
+ domGL_MAX_LIGHTS_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGL_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_enable &operator=( const domLight_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_ambient;
+
+ typedef daeSmartRef<domLight_ambient> domLight_ambientRef;
+ typedef daeTArray<domLight_ambientRef> domLight_ambient_Array;
+
+ class domLight_ambient : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_AMBIENT; }
+ static daeInt ID() { return 270; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+ domGL_MAX_LIGHTS_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value array attribute.
+ * @return Returns a domFloat4 reference of the value array attribute.
+ */
+ domFloat4 &getValue() { return attrValue; }
+ /**
+ * Gets the value array attribute.
+ * @return Returns a constant domFloat4 reference of the value array attribute.
+ */
+ const domFloat4 &getValue() const { return attrValue; }
+ /**
+ * Sets the value array attribute.
+ * @param atValue The new value for the value array attribute.
+ */
+ void setValue( const domFloat4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGL_MAX_LIGHTS_index of the index attribute.
+ */
+ domGL_MAX_LIGHTS_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGL_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_ambient(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_ambient() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_ambient &operator=( const domLight_ambient &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_diffuse;
+
+ typedef daeSmartRef<domLight_diffuse> domLight_diffuseRef;
+ typedef daeTArray<domLight_diffuseRef> domLight_diffuse_Array;
+
+ class domLight_diffuse : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_DIFFUSE; }
+ static daeInt ID() { return 271; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+ domGL_MAX_LIGHTS_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value array attribute.
+ * @return Returns a domFloat4 reference of the value array attribute.
+ */
+ domFloat4 &getValue() { return attrValue; }
+ /**
+ * Gets the value array attribute.
+ * @return Returns a constant domFloat4 reference of the value array attribute.
+ */
+ const domFloat4 &getValue() const { return attrValue; }
+ /**
+ * Sets the value array attribute.
+ * @param atValue The new value for the value array attribute.
+ */
+ void setValue( const domFloat4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGL_MAX_LIGHTS_index of the index attribute.
+ */
+ domGL_MAX_LIGHTS_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGL_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_diffuse(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_diffuse() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_diffuse &operator=( const domLight_diffuse &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_specular;
+
+ typedef daeSmartRef<domLight_specular> domLight_specularRef;
+ typedef daeTArray<domLight_specularRef> domLight_specular_Array;
+
+ class domLight_specular : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_SPECULAR; }
+ static daeInt ID() { return 272; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+ domGL_MAX_LIGHTS_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value array attribute.
+ * @return Returns a domFloat4 reference of the value array attribute.
+ */
+ domFloat4 &getValue() { return attrValue; }
+ /**
+ * Gets the value array attribute.
+ * @return Returns a constant domFloat4 reference of the value array attribute.
+ */
+ const domFloat4 &getValue() const { return attrValue; }
+ /**
+ * Sets the value array attribute.
+ * @param atValue The new value for the value array attribute.
+ */
+ void setValue( const domFloat4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGL_MAX_LIGHTS_index of the index attribute.
+ */
+ domGL_MAX_LIGHTS_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGL_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_specular(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_specular() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_specular &operator=( const domLight_specular &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_position;
+
+ typedef daeSmartRef<domLight_position> domLight_positionRef;
+ typedef daeTArray<domLight_positionRef> domLight_position_Array;
+
+ class domLight_position : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_POSITION; }
+ static daeInt ID() { return 273; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+ domGL_MAX_LIGHTS_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value array attribute.
+ * @return Returns a domFloat4 reference of the value array attribute.
+ */
+ domFloat4 &getValue() { return attrValue; }
+ /**
+ * Gets the value array attribute.
+ * @return Returns a constant domFloat4 reference of the value array attribute.
+ */
+ const domFloat4 &getValue() const { return attrValue; }
+ /**
+ * Sets the value array attribute.
+ * @param atValue The new value for the value array attribute.
+ */
+ void setValue( const domFloat4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGL_MAX_LIGHTS_index of the index attribute.
+ */
+ domGL_MAX_LIGHTS_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGL_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_position(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_position() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_position &operator=( const domLight_position &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_constant_attenuation;
+
+ typedef daeSmartRef<domLight_constant_attenuation> domLight_constant_attenuationRef;
+ typedef daeTArray<domLight_constant_attenuationRef> domLight_constant_attenuation_Array;
+
+ class domLight_constant_attenuation : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_CONSTANT_ATTENUATION; }
+ static daeInt ID() { return 274; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+ domGL_MAX_LIGHTS_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGL_MAX_LIGHTS_index of the index attribute.
+ */
+ domGL_MAX_LIGHTS_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGL_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_constant_attenuation(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_constant_attenuation() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_constant_attenuation &operator=( const domLight_constant_attenuation &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_linear_attenuation;
+
+ typedef daeSmartRef<domLight_linear_attenuation> domLight_linear_attenuationRef;
+ typedef daeTArray<domLight_linear_attenuationRef> domLight_linear_attenuation_Array;
+
+ class domLight_linear_attenuation : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_LINEAR_ATTENUATION; }
+ static daeInt ID() { return 275; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+ domGL_MAX_LIGHTS_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGL_MAX_LIGHTS_index of the index attribute.
+ */
+ domGL_MAX_LIGHTS_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGL_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_linear_attenuation(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_linear_attenuation() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_linear_attenuation &operator=( const domLight_linear_attenuation &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_quadratic_attenuation;
+
+ typedef daeSmartRef<domLight_quadratic_attenuation> domLight_quadratic_attenuationRef;
+ typedef daeTArray<domLight_quadratic_attenuationRef> domLight_quadratic_attenuation_Array;
+
+ class domLight_quadratic_attenuation : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_QUADRATIC_ATTENUATION; }
+ static daeInt ID() { return 276; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+ domGL_MAX_LIGHTS_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGL_MAX_LIGHTS_index of the index attribute.
+ */
+ domGL_MAX_LIGHTS_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGL_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_quadratic_attenuation(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_quadratic_attenuation() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_quadratic_attenuation &operator=( const domLight_quadratic_attenuation &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_spot_cutoff;
+
+ typedef daeSmartRef<domLight_spot_cutoff> domLight_spot_cutoffRef;
+ typedef daeTArray<domLight_spot_cutoffRef> domLight_spot_cutoff_Array;
+
+ class domLight_spot_cutoff : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_SPOT_CUTOFF; }
+ static daeInt ID() { return 277; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+ domGL_MAX_LIGHTS_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGL_MAX_LIGHTS_index of the index attribute.
+ */
+ domGL_MAX_LIGHTS_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGL_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_spot_cutoff(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_spot_cutoff() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_spot_cutoff &operator=( const domLight_spot_cutoff &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_spot_direction;
+
+ typedef daeSmartRef<domLight_spot_direction> domLight_spot_directionRef;
+ typedef daeTArray<domLight_spot_directionRef> domLight_spot_direction_Array;
+
+ class domLight_spot_direction : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_SPOT_DIRECTION; }
+ static daeInt ID() { return 278; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat3 attrValue;
+ xsNCName attrParam;
+ domGL_MAX_LIGHTS_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value array attribute.
+ * @return Returns a domFloat3 reference of the value array attribute.
+ */
+ domFloat3 &getValue() { return attrValue; }
+ /**
+ * Gets the value array attribute.
+ * @return Returns a constant domFloat3 reference of the value array attribute.
+ */
+ const domFloat3 &getValue() const { return attrValue; }
+ /**
+ * Sets the value array attribute.
+ * @param atValue The new value for the value array attribute.
+ */
+ void setValue( const domFloat3 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGL_MAX_LIGHTS_index of the index attribute.
+ */
+ domGL_MAX_LIGHTS_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGL_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_spot_direction(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_spot_direction() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_spot_direction &operator=( const domLight_spot_direction &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_spot_exponent;
+
+ typedef daeSmartRef<domLight_spot_exponent> domLight_spot_exponentRef;
+ typedef daeTArray<domLight_spot_exponentRef> domLight_spot_exponent_Array;
+
+ class domLight_spot_exponent : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_SPOT_EXPONENT; }
+ static daeInt ID() { return 279; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+ domGL_MAX_LIGHTS_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGL_MAX_LIGHTS_index of the index attribute.
+ */
+ domGL_MAX_LIGHTS_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGL_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_spot_exponent(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_spot_exponent() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_spot_exponent &operator=( const domLight_spot_exponent &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domTexture1D;
+
+ typedef daeSmartRef<domTexture1D> domTexture1DRef;
+ typedef daeTArray<domTexture1DRef> domTexture1D_Array;
+
+ class domTexture1D : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TEXTURE1D; }
+ static daeInt ID() { return 280; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domParam;
+
+ typedef daeSmartRef<domParam> domParamRef;
+ typedef daeTArray<domParamRef> domParam_Array;
+
+ class domParam : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PARAM; }
+ static daeInt ID() { return 281; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsNCName value of the text data of this element.
+ */
+ xsNCName _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsNCName of the value.
+ */
+ xsNCName getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domParam(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domParam() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domParam &operator=( const domParam &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+ protected: // Attribute
+ domGL_MAX_TEXTURE_IMAGE_UNITS_index attrIndex;
+
+ protected: // Elements
+ domGl_sampler1DRef elemValue;
+ domParamRef elemParam;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGL_MAX_TEXTURE_IMAGE_UNITS_index of the index attribute.
+ */
+ domGL_MAX_TEXTURE_IMAGE_UNITS_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGL_MAX_TEXTURE_IMAGE_UNITS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the value element.
+ * @return a daeSmartRef to the value element.
+ */
+ const domGl_sampler1DRef getValue() const { return elemValue; }
+ /**
+ * Gets the param element.
+ * @return a daeSmartRef to the param element.
+ */
+ const domParamRef getParam() const { return elemParam; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTexture1D(DAE& dae) : daeElement(dae), attrIndex(), elemValue(), elemParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTexture1D() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTexture1D &operator=( const domTexture1D &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domTexture2D;
+
+ typedef daeSmartRef<domTexture2D> domTexture2DRef;
+ typedef daeTArray<domTexture2DRef> domTexture2D_Array;
+
+ class domTexture2D : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TEXTURE2D; }
+ static daeInt ID() { return 282; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domParam;
+
+ typedef daeSmartRef<domParam> domParamRef;
+ typedef daeTArray<domParamRef> domParam_Array;
+
+ class domParam : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PARAM; }
+ static daeInt ID() { return 283; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsNCName value of the text data of this element.
+ */
+ xsNCName _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsNCName of the value.
+ */
+ xsNCName getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domParam(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domParam() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domParam &operator=( const domParam &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+ protected: // Attribute
+ domGL_MAX_TEXTURE_IMAGE_UNITS_index attrIndex;
+
+ protected: // Elements
+ domGl_sampler2DRef elemValue;
+ domParamRef elemParam;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGL_MAX_TEXTURE_IMAGE_UNITS_index of the index attribute.
+ */
+ domGL_MAX_TEXTURE_IMAGE_UNITS_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGL_MAX_TEXTURE_IMAGE_UNITS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the value element.
+ * @return a daeSmartRef to the value element.
+ */
+ const domGl_sampler2DRef getValue() const { return elemValue; }
+ /**
+ * Gets the param element.
+ * @return a daeSmartRef to the param element.
+ */
+ const domParamRef getParam() const { return elemParam; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTexture2D(DAE& dae) : daeElement(dae), attrIndex(), elemValue(), elemParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTexture2D() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTexture2D &operator=( const domTexture2D &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domTexture3D;
+
+ typedef daeSmartRef<domTexture3D> domTexture3DRef;
+ typedef daeTArray<domTexture3DRef> domTexture3D_Array;
+
+ class domTexture3D : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TEXTURE3D; }
+ static daeInt ID() { return 284; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domParam;
+
+ typedef daeSmartRef<domParam> domParamRef;
+ typedef daeTArray<domParamRef> domParam_Array;
+
+ class domParam : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PARAM; }
+ static daeInt ID() { return 285; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsNCName value of the text data of this element.
+ */
+ xsNCName _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsNCName of the value.
+ */
+ xsNCName getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domParam(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domParam() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domParam &operator=( const domParam &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+ protected: // Attribute
+ domGL_MAX_TEXTURE_IMAGE_UNITS_index attrIndex;
+
+ protected: // Elements
+ domGl_sampler3DRef elemValue;
+ domParamRef elemParam;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGL_MAX_TEXTURE_IMAGE_UNITS_index of the index attribute.
+ */
+ domGL_MAX_TEXTURE_IMAGE_UNITS_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGL_MAX_TEXTURE_IMAGE_UNITS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the value element.
+ * @return a daeSmartRef to the value element.
+ */
+ const domGl_sampler3DRef getValue() const { return elemValue; }
+ /**
+ * Gets the param element.
+ * @return a daeSmartRef to the param element.
+ */
+ const domParamRef getParam() const { return elemParam; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTexture3D(DAE& dae) : daeElement(dae), attrIndex(), elemValue(), elemParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTexture3D() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTexture3D &operator=( const domTexture3D &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domTextureCUBE;
+
+ typedef daeSmartRef<domTextureCUBE> domTextureCUBERef;
+ typedef daeTArray<domTextureCUBERef> domTextureCUBE_Array;
+
+ class domTextureCUBE : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TEXTURECUBE; }
+ static daeInt ID() { return 286; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domParam;
+
+ typedef daeSmartRef<domParam> domParamRef;
+ typedef daeTArray<domParamRef> domParam_Array;
+
+ class domParam : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PARAM; }
+ static daeInt ID() { return 287; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsNCName value of the text data of this element.
+ */
+ xsNCName _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsNCName of the value.
+ */
+ xsNCName getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domParam(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domParam() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domParam &operator=( const domParam &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+ protected: // Attribute
+ domGL_MAX_TEXTURE_IMAGE_UNITS_index attrIndex;
+
+ protected: // Elements
+ domGl_samplerCUBERef elemValue;
+ domParamRef elemParam;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGL_MAX_TEXTURE_IMAGE_UNITS_index of the index attribute.
+ */
+ domGL_MAX_TEXTURE_IMAGE_UNITS_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGL_MAX_TEXTURE_IMAGE_UNITS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the value element.
+ * @return a daeSmartRef to the value element.
+ */
+ const domGl_samplerCUBERef getValue() const { return elemValue; }
+ /**
+ * Gets the param element.
+ * @return a daeSmartRef to the param element.
+ */
+ const domParamRef getParam() const { return elemParam; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTextureCUBE(DAE& dae) : daeElement(dae), attrIndex(), elemValue(), elemParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTextureCUBE() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTextureCUBE &operator=( const domTextureCUBE &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domTextureRECT;
+
+ typedef daeSmartRef<domTextureRECT> domTextureRECTRef;
+ typedef daeTArray<domTextureRECTRef> domTextureRECT_Array;
+
+ class domTextureRECT : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TEXTURERECT; }
+ static daeInt ID() { return 288; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domParam;
+
+ typedef daeSmartRef<domParam> domParamRef;
+ typedef daeTArray<domParamRef> domParam_Array;
+
+ class domParam : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PARAM; }
+ static daeInt ID() { return 289; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsNCName value of the text data of this element.
+ */
+ xsNCName _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsNCName of the value.
+ */
+ xsNCName getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domParam(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domParam() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domParam &operator=( const domParam &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+ protected: // Attribute
+ domGL_MAX_TEXTURE_IMAGE_UNITS_index attrIndex;
+
+ protected: // Elements
+ domGl_samplerRECTRef elemValue;
+ domParamRef elemParam;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGL_MAX_TEXTURE_IMAGE_UNITS_index of the index attribute.
+ */
+ domGL_MAX_TEXTURE_IMAGE_UNITS_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGL_MAX_TEXTURE_IMAGE_UNITS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the value element.
+ * @return a daeSmartRef to the value element.
+ */
+ const domGl_samplerRECTRef getValue() const { return elemValue; }
+ /**
+ * Gets the param element.
+ * @return a daeSmartRef to the param element.
+ */
+ const domParamRef getParam() const { return elemParam; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTextureRECT(DAE& dae) : daeElement(dae), attrIndex(), elemValue(), elemParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTextureRECT() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTextureRECT &operator=( const domTextureRECT &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domTextureDEPTH;
+
+ typedef daeSmartRef<domTextureDEPTH> domTextureDEPTHRef;
+ typedef daeTArray<domTextureDEPTHRef> domTextureDEPTH_Array;
+
+ class domTextureDEPTH : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TEXTUREDEPTH; }
+ static daeInt ID() { return 290; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domParam;
+
+ typedef daeSmartRef<domParam> domParamRef;
+ typedef daeTArray<domParamRef> domParam_Array;
+
+ class domParam : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PARAM; }
+ static daeInt ID() { return 291; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsNCName value of the text data of this element.
+ */
+ xsNCName _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsNCName of the value.
+ */
+ xsNCName getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domParam(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domParam() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domParam &operator=( const domParam &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+ protected: // Attribute
+ domGL_MAX_TEXTURE_IMAGE_UNITS_index attrIndex;
+
+ protected: // Elements
+ domGl_samplerDEPTHRef elemValue;
+ domParamRef elemParam;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGL_MAX_TEXTURE_IMAGE_UNITS_index of the index attribute.
+ */
+ domGL_MAX_TEXTURE_IMAGE_UNITS_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGL_MAX_TEXTURE_IMAGE_UNITS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the value element.
+ * @return a daeSmartRef to the value element.
+ */
+ const domGl_samplerDEPTHRef getValue() const { return elemValue; }
+ /**
+ * Gets the param element.
+ * @return a daeSmartRef to the param element.
+ */
+ const domParamRef getParam() const { return elemParam; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTextureDEPTH(DAE& dae) : daeElement(dae), attrIndex(), elemValue(), elemParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTextureDEPTH() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTextureDEPTH &operator=( const domTextureDEPTH &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domTexture1D_enable;
+
+ typedef daeSmartRef<domTexture1D_enable> domTexture1D_enableRef;
+ typedef daeTArray<domTexture1D_enableRef> domTexture1D_enable_Array;
+
+ class domTexture1D_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TEXTURE1D_ENABLE; }
+ static daeInt ID() { return 292; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+ domGL_MAX_TEXTURE_IMAGE_UNITS_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGL_MAX_TEXTURE_IMAGE_UNITS_index of the index attribute.
+ */
+ domGL_MAX_TEXTURE_IMAGE_UNITS_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGL_MAX_TEXTURE_IMAGE_UNITS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTexture1D_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTexture1D_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTexture1D_enable &operator=( const domTexture1D_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domTexture2D_enable;
+
+ typedef daeSmartRef<domTexture2D_enable> domTexture2D_enableRef;
+ typedef daeTArray<domTexture2D_enableRef> domTexture2D_enable_Array;
+
+ class domTexture2D_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TEXTURE2D_ENABLE; }
+ static daeInt ID() { return 293; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+ domGL_MAX_TEXTURE_IMAGE_UNITS_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGL_MAX_TEXTURE_IMAGE_UNITS_index of the index attribute.
+ */
+ domGL_MAX_TEXTURE_IMAGE_UNITS_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGL_MAX_TEXTURE_IMAGE_UNITS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTexture2D_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTexture2D_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTexture2D_enable &operator=( const domTexture2D_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domTexture3D_enable;
+
+ typedef daeSmartRef<domTexture3D_enable> domTexture3D_enableRef;
+ typedef daeTArray<domTexture3D_enableRef> domTexture3D_enable_Array;
+
+ class domTexture3D_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TEXTURE3D_ENABLE; }
+ static daeInt ID() { return 294; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+ domGL_MAX_TEXTURE_IMAGE_UNITS_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGL_MAX_TEXTURE_IMAGE_UNITS_index of the index attribute.
+ */
+ domGL_MAX_TEXTURE_IMAGE_UNITS_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGL_MAX_TEXTURE_IMAGE_UNITS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTexture3D_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTexture3D_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTexture3D_enable &operator=( const domTexture3D_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domTextureCUBE_enable;
+
+ typedef daeSmartRef<domTextureCUBE_enable> domTextureCUBE_enableRef;
+ typedef daeTArray<domTextureCUBE_enableRef> domTextureCUBE_enable_Array;
+
+ class domTextureCUBE_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TEXTURECUBE_ENABLE; }
+ static daeInt ID() { return 295; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+ domGL_MAX_TEXTURE_IMAGE_UNITS_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGL_MAX_TEXTURE_IMAGE_UNITS_index of the index attribute.
+ */
+ domGL_MAX_TEXTURE_IMAGE_UNITS_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGL_MAX_TEXTURE_IMAGE_UNITS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTextureCUBE_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTextureCUBE_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTextureCUBE_enable &operator=( const domTextureCUBE_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domTextureRECT_enable;
+
+ typedef daeSmartRef<domTextureRECT_enable> domTextureRECT_enableRef;
+ typedef daeTArray<domTextureRECT_enableRef> domTextureRECT_enable_Array;
+
+ class domTextureRECT_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TEXTURERECT_ENABLE; }
+ static daeInt ID() { return 296; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+ domGL_MAX_TEXTURE_IMAGE_UNITS_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGL_MAX_TEXTURE_IMAGE_UNITS_index of the index attribute.
+ */
+ domGL_MAX_TEXTURE_IMAGE_UNITS_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGL_MAX_TEXTURE_IMAGE_UNITS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTextureRECT_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTextureRECT_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTextureRECT_enable &operator=( const domTextureRECT_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domTextureDEPTH_enable;
+
+ typedef daeSmartRef<domTextureDEPTH_enable> domTextureDEPTH_enableRef;
+ typedef daeTArray<domTextureDEPTH_enableRef> domTextureDEPTH_enable_Array;
+
+ class domTextureDEPTH_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TEXTUREDEPTH_ENABLE; }
+ static daeInt ID() { return 297; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+ domGL_MAX_TEXTURE_IMAGE_UNITS_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGL_MAX_TEXTURE_IMAGE_UNITS_index of the index attribute.
+ */
+ domGL_MAX_TEXTURE_IMAGE_UNITS_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGL_MAX_TEXTURE_IMAGE_UNITS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTextureDEPTH_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTextureDEPTH_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTextureDEPTH_enable &operator=( const domTextureDEPTH_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domTexture_env_color;
+
+ typedef daeSmartRef<domTexture_env_color> domTexture_env_colorRef;
+ typedef daeTArray<domTexture_env_colorRef> domTexture_env_color_Array;
+
+ class domTexture_env_color : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TEXTURE_ENV_COLOR; }
+ static daeInt ID() { return 298; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+ domGL_MAX_TEXTURE_IMAGE_UNITS_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value array attribute.
+ * @return Returns a domFloat4 reference of the value array attribute.
+ */
+ domFloat4 &getValue() { return attrValue; }
+ /**
+ * Gets the value array attribute.
+ * @return Returns a constant domFloat4 reference of the value array attribute.
+ */
+ const domFloat4 &getValue() const { return attrValue; }
+ /**
+ * Sets the value array attribute.
+ * @param atValue The new value for the value array attribute.
+ */
+ void setValue( const domFloat4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGL_MAX_TEXTURE_IMAGE_UNITS_index of the index attribute.
+ */
+ domGL_MAX_TEXTURE_IMAGE_UNITS_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGL_MAX_TEXTURE_IMAGE_UNITS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTexture_env_color(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTexture_env_color() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTexture_env_color &operator=( const domTexture_env_color &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domTexture_env_mode;
+
+ typedef daeSmartRef<domTexture_env_mode> domTexture_env_modeRef;
+ typedef daeTArray<domTexture_env_modeRef> domTexture_env_mode_Array;
+
+ class domTexture_env_mode : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TEXTURE_ENV_MODE; }
+ static daeInt ID() { return 299; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domString attrValue;
+ xsNCName attrParam;
+ domGL_MAX_TEXTURE_IMAGE_UNITS_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domString of the value attribute.
+ */
+ domString getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domString atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGL_MAX_TEXTURE_IMAGE_UNITS_index of the index attribute.
+ */
+ domGL_MAX_TEXTURE_IMAGE_UNITS_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGL_MAX_TEXTURE_IMAGE_UNITS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTexture_env_mode(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTexture_env_mode() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTexture_env_mode &operator=( const domTexture_env_mode &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domClip_plane;
+
+ typedef daeSmartRef<domClip_plane> domClip_planeRef;
+ typedef daeTArray<domClip_planeRef> domClip_plane_Array;
+
+ class domClip_plane : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CLIP_PLANE; }
+ static daeInt ID() { return 300; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+ domGL_MAX_CLIP_PLANES_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value array attribute.
+ * @return Returns a domFloat4 reference of the value array attribute.
+ */
+ domFloat4 &getValue() { return attrValue; }
+ /**
+ * Gets the value array attribute.
+ * @return Returns a constant domFloat4 reference of the value array attribute.
+ */
+ const domFloat4 &getValue() const { return attrValue; }
+ /**
+ * Sets the value array attribute.
+ * @param atValue The new value for the value array attribute.
+ */
+ void setValue( const domFloat4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGL_MAX_CLIP_PLANES_index of the index attribute.
+ */
+ domGL_MAX_CLIP_PLANES_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGL_MAX_CLIP_PLANES_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domClip_plane(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domClip_plane() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domClip_plane &operator=( const domClip_plane &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domClip_plane_enable;
+
+ typedef daeSmartRef<domClip_plane_enable> domClip_plane_enableRef;
+ typedef daeTArray<domClip_plane_enableRef> domClip_plane_enable_Array;
+
+ class domClip_plane_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CLIP_PLANE_ENABLE; }
+ static daeInt ID() { return 301; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+ domGL_MAX_CLIP_PLANES_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGL_MAX_CLIP_PLANES_index of the index attribute.
+ */
+ domGL_MAX_CLIP_PLANES_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGL_MAX_CLIP_PLANES_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domClip_plane_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domClip_plane_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domClip_plane_enable &operator=( const domClip_plane_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBlend_color;
+
+ typedef daeSmartRef<domBlend_color> domBlend_colorRef;
+ typedef daeTArray<domBlend_colorRef> domBlend_color_Array;
+
+ class domBlend_color : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BLEND_COLOR; }
+ static daeInt ID() { return 302; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value array attribute.
+ * @return Returns a domFloat4 reference of the value array attribute.
+ */
+ domFloat4 &getValue() { return attrValue; }
+ /**
+ * Gets the value array attribute.
+ * @return Returns a constant domFloat4 reference of the value array attribute.
+ */
+ const domFloat4 &getValue() const { return attrValue; }
+ /**
+ * Sets the value array attribute.
+ * @param atValue The new value for the value array attribute.
+ */
+ void setValue( const domFloat4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBlend_color(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBlend_color() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBlend_color &operator=( const domBlend_color &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domClear_color;
+
+ typedef daeSmartRef<domClear_color> domClear_colorRef;
+ typedef daeTArray<domClear_colorRef> domClear_color_Array;
+
+ class domClear_color : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CLEAR_COLOR; }
+ static daeInt ID() { return 303; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value array attribute.
+ * @return Returns a domFloat4 reference of the value array attribute.
+ */
+ domFloat4 &getValue() { return attrValue; }
+ /**
+ * Gets the value array attribute.
+ * @return Returns a constant domFloat4 reference of the value array attribute.
+ */
+ const domFloat4 &getValue() const { return attrValue; }
+ /**
+ * Sets the value array attribute.
+ * @param atValue The new value for the value array attribute.
+ */
+ void setValue( const domFloat4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domClear_color(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domClear_color() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domClear_color &operator=( const domClear_color &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domClear_stencil;
+
+ typedef daeSmartRef<domClear_stencil> domClear_stencilRef;
+ typedef daeTArray<domClear_stencilRef> domClear_stencil_Array;
+
+ class domClear_stencil : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CLEAR_STENCIL; }
+ static daeInt ID() { return 304; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domInt attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domInt of the value attribute.
+ */
+ domInt getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domInt atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domClear_stencil(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domClear_stencil() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domClear_stencil &operator=( const domClear_stencil &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domClear_depth;
+
+ typedef daeSmartRef<domClear_depth> domClear_depthRef;
+ typedef daeTArray<domClear_depthRef> domClear_depth_Array;
+
+ class domClear_depth : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CLEAR_DEPTH; }
+ static daeInt ID() { return 305; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domClear_depth(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domClear_depth() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domClear_depth &operator=( const domClear_depth &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domColor_mask;
+
+ typedef daeSmartRef<domColor_mask> domColor_maskRef;
+ typedef daeTArray<domColor_maskRef> domColor_mask_Array;
+
+ class domColor_mask : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COLOR_MASK; }
+ static daeInt ID() { return 306; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool4 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value array attribute.
+ * @return Returns a domBool4 reference of the value array attribute.
+ */
+ domBool4 &getValue() { return attrValue; }
+ /**
+ * Gets the value array attribute.
+ * @return Returns a constant domBool4 reference of the value array attribute.
+ */
+ const domBool4 &getValue() const { return attrValue; }
+ /**
+ * Sets the value array attribute.
+ * @param atValue The new value for the value array attribute.
+ */
+ void setValue( const domBool4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domColor_mask(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domColor_mask() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domColor_mask &operator=( const domColor_mask &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDepth_bounds;
+
+ typedef daeSmartRef<domDepth_bounds> domDepth_boundsRef;
+ typedef daeTArray<domDepth_boundsRef> domDepth_bounds_Array;
+
+ class domDepth_bounds : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DEPTH_BOUNDS; }
+ static daeInt ID() { return 307; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat2 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value array attribute.
+ * @return Returns a domFloat2 reference of the value array attribute.
+ */
+ domFloat2 &getValue() { return attrValue; }
+ /**
+ * Gets the value array attribute.
+ * @return Returns a constant domFloat2 reference of the value array attribute.
+ */
+ const domFloat2 &getValue() const { return attrValue; }
+ /**
+ * Sets the value array attribute.
+ * @param atValue The new value for the value array attribute.
+ */
+ void setValue( const domFloat2 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDepth_bounds(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDepth_bounds() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDepth_bounds &operator=( const domDepth_bounds &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDepth_mask;
+
+ typedef daeSmartRef<domDepth_mask> domDepth_maskRef;
+ typedef daeTArray<domDepth_maskRef> domDepth_mask_Array;
+
+ class domDepth_mask : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DEPTH_MASK; }
+ static daeInt ID() { return 308; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDepth_mask(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDepth_mask() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDepth_mask &operator=( const domDepth_mask &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDepth_range;
+
+ typedef daeSmartRef<domDepth_range> domDepth_rangeRef;
+ typedef daeTArray<domDepth_rangeRef> domDepth_range_Array;
+
+ class domDepth_range : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DEPTH_RANGE; }
+ static daeInt ID() { return 309; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat2 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value array attribute.
+ * @return Returns a domFloat2 reference of the value array attribute.
+ */
+ domFloat2 &getValue() { return attrValue; }
+ /**
+ * Gets the value array attribute.
+ * @return Returns a constant domFloat2 reference of the value array attribute.
+ */
+ const domFloat2 &getValue() const { return attrValue; }
+ /**
+ * Sets the value array attribute.
+ * @param atValue The new value for the value array attribute.
+ */
+ void setValue( const domFloat2 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDepth_range(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDepth_range() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDepth_range &operator=( const domDepth_range &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFog_density;
+
+ typedef daeSmartRef<domFog_density> domFog_densityRef;
+ typedef daeTArray<domFog_densityRef> domFog_density_Array;
+
+ class domFog_density : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FOG_DENSITY; }
+ static daeInt ID() { return 310; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFog_density(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFog_density() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFog_density &operator=( const domFog_density &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFog_start;
+
+ typedef daeSmartRef<domFog_start> domFog_startRef;
+ typedef daeTArray<domFog_startRef> domFog_start_Array;
+
+ class domFog_start : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FOG_START; }
+ static daeInt ID() { return 311; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFog_start(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFog_start() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFog_start &operator=( const domFog_start &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFog_end;
+
+ typedef daeSmartRef<domFog_end> domFog_endRef;
+ typedef daeTArray<domFog_endRef> domFog_end_Array;
+
+ class domFog_end : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FOG_END; }
+ static daeInt ID() { return 312; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFog_end(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFog_end() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFog_end &operator=( const domFog_end &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFog_color;
+
+ typedef daeSmartRef<domFog_color> domFog_colorRef;
+ typedef daeTArray<domFog_colorRef> domFog_color_Array;
+
+ class domFog_color : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FOG_COLOR; }
+ static daeInt ID() { return 313; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value array attribute.
+ * @return Returns a domFloat4 reference of the value array attribute.
+ */
+ domFloat4 &getValue() { return attrValue; }
+ /**
+ * Gets the value array attribute.
+ * @return Returns a constant domFloat4 reference of the value array attribute.
+ */
+ const domFloat4 &getValue() const { return attrValue; }
+ /**
+ * Sets the value array attribute.
+ * @param atValue The new value for the value array attribute.
+ */
+ void setValue( const domFloat4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFog_color(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFog_color() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFog_color &operator=( const domFog_color &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_model_ambient;
+
+ typedef daeSmartRef<domLight_model_ambient> domLight_model_ambientRef;
+ typedef daeTArray<domLight_model_ambientRef> domLight_model_ambient_Array;
+
+ class domLight_model_ambient : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_MODEL_AMBIENT; }
+ static daeInt ID() { return 314; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value array attribute.
+ * @return Returns a domFloat4 reference of the value array attribute.
+ */
+ domFloat4 &getValue() { return attrValue; }
+ /**
+ * Gets the value array attribute.
+ * @return Returns a constant domFloat4 reference of the value array attribute.
+ */
+ const domFloat4 &getValue() const { return attrValue; }
+ /**
+ * Sets the value array attribute.
+ * @param atValue The new value for the value array attribute.
+ */
+ void setValue( const domFloat4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_model_ambient(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_model_ambient() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_model_ambient &operator=( const domLight_model_ambient &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLighting_enable;
+
+ typedef daeSmartRef<domLighting_enable> domLighting_enableRef;
+ typedef daeTArray<domLighting_enableRef> domLighting_enable_Array;
+
+ class domLighting_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHTING_ENABLE; }
+ static daeInt ID() { return 315; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLighting_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLighting_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLighting_enable &operator=( const domLighting_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLine_stipple;
+
+ typedef daeSmartRef<domLine_stipple> domLine_stippleRef;
+ typedef daeTArray<domLine_stippleRef> domLine_stipple_Array;
+
+ class domLine_stipple : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LINE_STIPPLE; }
+ static daeInt ID() { return 316; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domInt2 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value array attribute.
+ * @return Returns a domInt2 reference of the value array attribute.
+ */
+ domInt2 &getValue() { return attrValue; }
+ /**
+ * Gets the value array attribute.
+ * @return Returns a constant domInt2 reference of the value array attribute.
+ */
+ const domInt2 &getValue() const { return attrValue; }
+ /**
+ * Sets the value array attribute.
+ * @param atValue The new value for the value array attribute.
+ */
+ void setValue( const domInt2 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLine_stipple(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLine_stipple() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLine_stipple &operator=( const domLine_stipple &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLine_width;
+
+ typedef daeSmartRef<domLine_width> domLine_widthRef;
+ typedef daeTArray<domLine_widthRef> domLine_width_Array;
+
+ class domLine_width : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LINE_WIDTH; }
+ static daeInt ID() { return 317; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLine_width(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLine_width() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLine_width &operator=( const domLine_width &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMaterial_ambient;
+
+ typedef daeSmartRef<domMaterial_ambient> domMaterial_ambientRef;
+ typedef daeTArray<domMaterial_ambientRef> domMaterial_ambient_Array;
+
+ class domMaterial_ambient : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MATERIAL_AMBIENT; }
+ static daeInt ID() { return 318; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value array attribute.
+ * @return Returns a domFloat4 reference of the value array attribute.
+ */
+ domFloat4 &getValue() { return attrValue; }
+ /**
+ * Gets the value array attribute.
+ * @return Returns a constant domFloat4 reference of the value array attribute.
+ */
+ const domFloat4 &getValue() const { return attrValue; }
+ /**
+ * Sets the value array attribute.
+ * @param atValue The new value for the value array attribute.
+ */
+ void setValue( const domFloat4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMaterial_ambient(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMaterial_ambient() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMaterial_ambient &operator=( const domMaterial_ambient &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMaterial_diffuse;
+
+ typedef daeSmartRef<domMaterial_diffuse> domMaterial_diffuseRef;
+ typedef daeTArray<domMaterial_diffuseRef> domMaterial_diffuse_Array;
+
+ class domMaterial_diffuse : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MATERIAL_DIFFUSE; }
+ static daeInt ID() { return 319; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value array attribute.
+ * @return Returns a domFloat4 reference of the value array attribute.
+ */
+ domFloat4 &getValue() { return attrValue; }
+ /**
+ * Gets the value array attribute.
+ * @return Returns a constant domFloat4 reference of the value array attribute.
+ */
+ const domFloat4 &getValue() const { return attrValue; }
+ /**
+ * Sets the value array attribute.
+ * @param atValue The new value for the value array attribute.
+ */
+ void setValue( const domFloat4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMaterial_diffuse(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMaterial_diffuse() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMaterial_diffuse &operator=( const domMaterial_diffuse &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMaterial_emission;
+
+ typedef daeSmartRef<domMaterial_emission> domMaterial_emissionRef;
+ typedef daeTArray<domMaterial_emissionRef> domMaterial_emission_Array;
+
+ class domMaterial_emission : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MATERIAL_EMISSION; }
+ static daeInt ID() { return 320; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value array attribute.
+ * @return Returns a domFloat4 reference of the value array attribute.
+ */
+ domFloat4 &getValue() { return attrValue; }
+ /**
+ * Gets the value array attribute.
+ * @return Returns a constant domFloat4 reference of the value array attribute.
+ */
+ const domFloat4 &getValue() const { return attrValue; }
+ /**
+ * Sets the value array attribute.
+ * @param atValue The new value for the value array attribute.
+ */
+ void setValue( const domFloat4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMaterial_emission(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMaterial_emission() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMaterial_emission &operator=( const domMaterial_emission &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMaterial_shininess;
+
+ typedef daeSmartRef<domMaterial_shininess> domMaterial_shininessRef;
+ typedef daeTArray<domMaterial_shininessRef> domMaterial_shininess_Array;
+
+ class domMaterial_shininess : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MATERIAL_SHININESS; }
+ static daeInt ID() { return 321; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMaterial_shininess(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMaterial_shininess() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMaterial_shininess &operator=( const domMaterial_shininess &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMaterial_specular;
+
+ typedef daeSmartRef<domMaterial_specular> domMaterial_specularRef;
+ typedef daeTArray<domMaterial_specularRef> domMaterial_specular_Array;
+
+ class domMaterial_specular : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MATERIAL_SPECULAR; }
+ static daeInt ID() { return 322; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value array attribute.
+ * @return Returns a domFloat4 reference of the value array attribute.
+ */
+ domFloat4 &getValue() { return attrValue; }
+ /**
+ * Gets the value array attribute.
+ * @return Returns a constant domFloat4 reference of the value array attribute.
+ */
+ const domFloat4 &getValue() const { return attrValue; }
+ /**
+ * Sets the value array attribute.
+ * @param atValue The new value for the value array attribute.
+ */
+ void setValue( const domFloat4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMaterial_specular(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMaterial_specular() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMaterial_specular &operator=( const domMaterial_specular &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domModel_view_matrix;
+
+ typedef daeSmartRef<domModel_view_matrix> domModel_view_matrixRef;
+ typedef daeTArray<domModel_view_matrixRef> domModel_view_matrix_Array;
+
+ class domModel_view_matrix : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MODEL_VIEW_MATRIX; }
+ static daeInt ID() { return 323; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4x4 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value array attribute.
+ * @return Returns a domFloat4x4 reference of the value array attribute.
+ */
+ domFloat4x4 &getValue() { return attrValue; }
+ /**
+ * Gets the value array attribute.
+ * @return Returns a constant domFloat4x4 reference of the value array attribute.
+ */
+ const domFloat4x4 &getValue() const { return attrValue; }
+ /**
+ * Sets the value array attribute.
+ * @param atValue The new value for the value array attribute.
+ */
+ void setValue( const domFloat4x4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domModel_view_matrix(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domModel_view_matrix() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domModel_view_matrix &operator=( const domModel_view_matrix &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPoint_distance_attenuation;
+
+ typedef daeSmartRef<domPoint_distance_attenuation> domPoint_distance_attenuationRef;
+ typedef daeTArray<domPoint_distance_attenuationRef> domPoint_distance_attenuation_Array;
+
+ class domPoint_distance_attenuation : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POINT_DISTANCE_ATTENUATION; }
+ static daeInt ID() { return 324; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat3 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value array attribute.
+ * @return Returns a domFloat3 reference of the value array attribute.
+ */
+ domFloat3 &getValue() { return attrValue; }
+ /**
+ * Gets the value array attribute.
+ * @return Returns a constant domFloat3 reference of the value array attribute.
+ */
+ const domFloat3 &getValue() const { return attrValue; }
+ /**
+ * Sets the value array attribute.
+ * @param atValue The new value for the value array attribute.
+ */
+ void setValue( const domFloat3 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPoint_distance_attenuation(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPoint_distance_attenuation() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPoint_distance_attenuation &operator=( const domPoint_distance_attenuation &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPoint_fade_threshold_size;
+
+ typedef daeSmartRef<domPoint_fade_threshold_size> domPoint_fade_threshold_sizeRef;
+ typedef daeTArray<domPoint_fade_threshold_sizeRef> domPoint_fade_threshold_size_Array;
+
+ class domPoint_fade_threshold_size : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POINT_FADE_THRESHOLD_SIZE; }
+ static daeInt ID() { return 325; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPoint_fade_threshold_size(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPoint_fade_threshold_size() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPoint_fade_threshold_size &operator=( const domPoint_fade_threshold_size &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPoint_size;
+
+ typedef daeSmartRef<domPoint_size> domPoint_sizeRef;
+ typedef daeTArray<domPoint_sizeRef> domPoint_size_Array;
+
+ class domPoint_size : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POINT_SIZE; }
+ static daeInt ID() { return 326; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPoint_size(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPoint_size() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPoint_size &operator=( const domPoint_size &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPoint_size_min;
+
+ typedef daeSmartRef<domPoint_size_min> domPoint_size_minRef;
+ typedef daeTArray<domPoint_size_minRef> domPoint_size_min_Array;
+
+ class domPoint_size_min : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POINT_SIZE_MIN; }
+ static daeInt ID() { return 327; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPoint_size_min(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPoint_size_min() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPoint_size_min &operator=( const domPoint_size_min &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPoint_size_max;
+
+ typedef daeSmartRef<domPoint_size_max> domPoint_size_maxRef;
+ typedef daeTArray<domPoint_size_maxRef> domPoint_size_max_Array;
+
+ class domPoint_size_max : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POINT_SIZE_MAX; }
+ static daeInt ID() { return 328; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPoint_size_max(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPoint_size_max() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPoint_size_max &operator=( const domPoint_size_max &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPolygon_offset;
+
+ typedef daeSmartRef<domPolygon_offset> domPolygon_offsetRef;
+ typedef daeTArray<domPolygon_offsetRef> domPolygon_offset_Array;
+
+ class domPolygon_offset : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POLYGON_OFFSET; }
+ static daeInt ID() { return 329; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat2 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value array attribute.
+ * @return Returns a domFloat2 reference of the value array attribute.
+ */
+ domFloat2 &getValue() { return attrValue; }
+ /**
+ * Gets the value array attribute.
+ * @return Returns a constant domFloat2 reference of the value array attribute.
+ */
+ const domFloat2 &getValue() const { return attrValue; }
+ /**
+ * Sets the value array attribute.
+ * @param atValue The new value for the value array attribute.
+ */
+ void setValue( const domFloat2 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPolygon_offset(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPolygon_offset() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPolygon_offset &operator=( const domPolygon_offset &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domProjection_matrix;
+
+ typedef daeSmartRef<domProjection_matrix> domProjection_matrixRef;
+ typedef daeTArray<domProjection_matrixRef> domProjection_matrix_Array;
+
+ class domProjection_matrix : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PROJECTION_MATRIX; }
+ static daeInt ID() { return 330; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4x4 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value array attribute.
+ * @return Returns a domFloat4x4 reference of the value array attribute.
+ */
+ domFloat4x4 &getValue() { return attrValue; }
+ /**
+ * Gets the value array attribute.
+ * @return Returns a constant domFloat4x4 reference of the value array attribute.
+ */
+ const domFloat4x4 &getValue() const { return attrValue; }
+ /**
+ * Sets the value array attribute.
+ * @param atValue The new value for the value array attribute.
+ */
+ void setValue( const domFloat4x4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domProjection_matrix(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domProjection_matrix() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domProjection_matrix &operator=( const domProjection_matrix &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domScissor;
+
+ typedef daeSmartRef<domScissor> domScissorRef;
+ typedef daeTArray<domScissorRef> domScissor_Array;
+
+ class domScissor : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SCISSOR; }
+ static daeInt ID() { return 331; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domInt4 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value array attribute.
+ * @return Returns a domInt4 reference of the value array attribute.
+ */
+ domInt4 &getValue() { return attrValue; }
+ /**
+ * Gets the value array attribute.
+ * @return Returns a constant domInt4 reference of the value array attribute.
+ */
+ const domInt4 &getValue() const { return attrValue; }
+ /**
+ * Sets the value array attribute.
+ * @param atValue The new value for the value array attribute.
+ */
+ void setValue( const domInt4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domScissor(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domScissor() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domScissor &operator=( const domScissor &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domStencil_mask;
+
+ typedef daeSmartRef<domStencil_mask> domStencil_maskRef;
+ typedef daeTArray<domStencil_maskRef> domStencil_mask_Array;
+
+ class domStencil_mask : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::STENCIL_MASK; }
+ static daeInt ID() { return 332; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domInt attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domInt of the value attribute.
+ */
+ domInt getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domInt atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domStencil_mask(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domStencil_mask() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domStencil_mask &operator=( const domStencil_mask &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domAlpha_test_enable;
+
+ typedef daeSmartRef<domAlpha_test_enable> domAlpha_test_enableRef;
+ typedef daeTArray<domAlpha_test_enableRef> domAlpha_test_enable_Array;
+
+ class domAlpha_test_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ALPHA_TEST_ENABLE; }
+ static daeInt ID() { return 333; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domAlpha_test_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domAlpha_test_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAlpha_test_enable &operator=( const domAlpha_test_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domAuto_normal_enable;
+
+ typedef daeSmartRef<domAuto_normal_enable> domAuto_normal_enableRef;
+ typedef daeTArray<domAuto_normal_enableRef> domAuto_normal_enable_Array;
+
+ class domAuto_normal_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::AUTO_NORMAL_ENABLE; }
+ static daeInt ID() { return 334; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domAuto_normal_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domAuto_normal_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAuto_normal_enable &operator=( const domAuto_normal_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBlend_enable;
+
+ typedef daeSmartRef<domBlend_enable> domBlend_enableRef;
+ typedef daeTArray<domBlend_enableRef> domBlend_enable_Array;
+
+ class domBlend_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BLEND_ENABLE; }
+ static daeInt ID() { return 335; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBlend_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBlend_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBlend_enable &operator=( const domBlend_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domColor_logic_op_enable;
+
+ typedef daeSmartRef<domColor_logic_op_enable> domColor_logic_op_enableRef;
+ typedef daeTArray<domColor_logic_op_enableRef> domColor_logic_op_enable_Array;
+
+ class domColor_logic_op_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COLOR_LOGIC_OP_ENABLE; }
+ static daeInt ID() { return 336; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domColor_logic_op_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domColor_logic_op_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domColor_logic_op_enable &operator=( const domColor_logic_op_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domColor_material_enable;
+
+ typedef daeSmartRef<domColor_material_enable> domColor_material_enableRef;
+ typedef daeTArray<domColor_material_enableRef> domColor_material_enable_Array;
+
+ class domColor_material_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COLOR_MATERIAL_ENABLE; }
+ static daeInt ID() { return 337; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domColor_material_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domColor_material_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domColor_material_enable &operator=( const domColor_material_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domCull_face_enable;
+
+ typedef daeSmartRef<domCull_face_enable> domCull_face_enableRef;
+ typedef daeTArray<domCull_face_enableRef> domCull_face_enable_Array;
+
+ class domCull_face_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CULL_FACE_ENABLE; }
+ static daeInt ID() { return 338; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domCull_face_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCull_face_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCull_face_enable &operator=( const domCull_face_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDepth_bounds_enable;
+
+ typedef daeSmartRef<domDepth_bounds_enable> domDepth_bounds_enableRef;
+ typedef daeTArray<domDepth_bounds_enableRef> domDepth_bounds_enable_Array;
+
+ class domDepth_bounds_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DEPTH_BOUNDS_ENABLE; }
+ static daeInt ID() { return 339; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDepth_bounds_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDepth_bounds_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDepth_bounds_enable &operator=( const domDepth_bounds_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDepth_clamp_enable;
+
+ typedef daeSmartRef<domDepth_clamp_enable> domDepth_clamp_enableRef;
+ typedef daeTArray<domDepth_clamp_enableRef> domDepth_clamp_enable_Array;
+
+ class domDepth_clamp_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DEPTH_CLAMP_ENABLE; }
+ static daeInt ID() { return 340; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDepth_clamp_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDepth_clamp_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDepth_clamp_enable &operator=( const domDepth_clamp_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDepth_test_enable;
+
+ typedef daeSmartRef<domDepth_test_enable> domDepth_test_enableRef;
+ typedef daeTArray<domDepth_test_enableRef> domDepth_test_enable_Array;
+
+ class domDepth_test_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DEPTH_TEST_ENABLE; }
+ static daeInt ID() { return 341; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDepth_test_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDepth_test_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDepth_test_enable &operator=( const domDepth_test_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDither_enable;
+
+ typedef daeSmartRef<domDither_enable> domDither_enableRef;
+ typedef daeTArray<domDither_enableRef> domDither_enable_Array;
+
+ class domDither_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DITHER_ENABLE; }
+ static daeInt ID() { return 342; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDither_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDither_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDither_enable &operator=( const domDither_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFog_enable;
+
+ typedef daeSmartRef<domFog_enable> domFog_enableRef;
+ typedef daeTArray<domFog_enableRef> domFog_enable_Array;
+
+ class domFog_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FOG_ENABLE; }
+ static daeInt ID() { return 343; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFog_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFog_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFog_enable &operator=( const domFog_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_model_local_viewer_enable;
+
+ typedef daeSmartRef<domLight_model_local_viewer_enable> domLight_model_local_viewer_enableRef;
+ typedef daeTArray<domLight_model_local_viewer_enableRef> domLight_model_local_viewer_enable_Array;
+
+ class domLight_model_local_viewer_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_MODEL_LOCAL_VIEWER_ENABLE; }
+ static daeInt ID() { return 344; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_model_local_viewer_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_model_local_viewer_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_model_local_viewer_enable &operator=( const domLight_model_local_viewer_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_model_two_side_enable;
+
+ typedef daeSmartRef<domLight_model_two_side_enable> domLight_model_two_side_enableRef;
+ typedef daeTArray<domLight_model_two_side_enableRef> domLight_model_two_side_enable_Array;
+
+ class domLight_model_two_side_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_MODEL_TWO_SIDE_ENABLE; }
+ static daeInt ID() { return 345; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_model_two_side_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_model_two_side_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_model_two_side_enable &operator=( const domLight_model_two_side_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLine_smooth_enable;
+
+ typedef daeSmartRef<domLine_smooth_enable> domLine_smooth_enableRef;
+ typedef daeTArray<domLine_smooth_enableRef> domLine_smooth_enable_Array;
+
+ class domLine_smooth_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LINE_SMOOTH_ENABLE; }
+ static daeInt ID() { return 346; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLine_smooth_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLine_smooth_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLine_smooth_enable &operator=( const domLine_smooth_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLine_stipple_enable;
+
+ typedef daeSmartRef<domLine_stipple_enable> domLine_stipple_enableRef;
+ typedef daeTArray<domLine_stipple_enableRef> domLine_stipple_enable_Array;
+
+ class domLine_stipple_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LINE_STIPPLE_ENABLE; }
+ static daeInt ID() { return 347; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLine_stipple_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLine_stipple_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLine_stipple_enable &operator=( const domLine_stipple_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLogic_op_enable;
+
+ typedef daeSmartRef<domLogic_op_enable> domLogic_op_enableRef;
+ typedef daeTArray<domLogic_op_enableRef> domLogic_op_enable_Array;
+
+ class domLogic_op_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LOGIC_OP_ENABLE; }
+ static daeInt ID() { return 348; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLogic_op_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLogic_op_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLogic_op_enable &operator=( const domLogic_op_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMultisample_enable;
+
+ typedef daeSmartRef<domMultisample_enable> domMultisample_enableRef;
+ typedef daeTArray<domMultisample_enableRef> domMultisample_enable_Array;
+
+ class domMultisample_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MULTISAMPLE_ENABLE; }
+ static daeInt ID() { return 349; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMultisample_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMultisample_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMultisample_enable &operator=( const domMultisample_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domNormalize_enable;
+
+ typedef daeSmartRef<domNormalize_enable> domNormalize_enableRef;
+ typedef daeTArray<domNormalize_enableRef> domNormalize_enable_Array;
+
+ class domNormalize_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::NORMALIZE_ENABLE; }
+ static daeInt ID() { return 350; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domNormalize_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domNormalize_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domNormalize_enable &operator=( const domNormalize_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPoint_smooth_enable;
+
+ typedef daeSmartRef<domPoint_smooth_enable> domPoint_smooth_enableRef;
+ typedef daeTArray<domPoint_smooth_enableRef> domPoint_smooth_enable_Array;
+
+ class domPoint_smooth_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POINT_SMOOTH_ENABLE; }
+ static daeInt ID() { return 351; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPoint_smooth_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPoint_smooth_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPoint_smooth_enable &operator=( const domPoint_smooth_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPolygon_offset_fill_enable;
+
+ typedef daeSmartRef<domPolygon_offset_fill_enable> domPolygon_offset_fill_enableRef;
+ typedef daeTArray<domPolygon_offset_fill_enableRef> domPolygon_offset_fill_enable_Array;
+
+ class domPolygon_offset_fill_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POLYGON_OFFSET_FILL_ENABLE; }
+ static daeInt ID() { return 352; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPolygon_offset_fill_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPolygon_offset_fill_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPolygon_offset_fill_enable &operator=( const domPolygon_offset_fill_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPolygon_offset_line_enable;
+
+ typedef daeSmartRef<domPolygon_offset_line_enable> domPolygon_offset_line_enableRef;
+ typedef daeTArray<domPolygon_offset_line_enableRef> domPolygon_offset_line_enable_Array;
+
+ class domPolygon_offset_line_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POLYGON_OFFSET_LINE_ENABLE; }
+ static daeInt ID() { return 353; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPolygon_offset_line_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPolygon_offset_line_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPolygon_offset_line_enable &operator=( const domPolygon_offset_line_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPolygon_offset_point_enable;
+
+ typedef daeSmartRef<domPolygon_offset_point_enable> domPolygon_offset_point_enableRef;
+ typedef daeTArray<domPolygon_offset_point_enableRef> domPolygon_offset_point_enable_Array;
+
+ class domPolygon_offset_point_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POLYGON_OFFSET_POINT_ENABLE; }
+ static daeInt ID() { return 354; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPolygon_offset_point_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPolygon_offset_point_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPolygon_offset_point_enable &operator=( const domPolygon_offset_point_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPolygon_smooth_enable;
+
+ typedef daeSmartRef<domPolygon_smooth_enable> domPolygon_smooth_enableRef;
+ typedef daeTArray<domPolygon_smooth_enableRef> domPolygon_smooth_enable_Array;
+
+ class domPolygon_smooth_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POLYGON_SMOOTH_ENABLE; }
+ static daeInt ID() { return 355; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPolygon_smooth_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPolygon_smooth_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPolygon_smooth_enable &operator=( const domPolygon_smooth_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPolygon_stipple_enable;
+
+ typedef daeSmartRef<domPolygon_stipple_enable> domPolygon_stipple_enableRef;
+ typedef daeTArray<domPolygon_stipple_enableRef> domPolygon_stipple_enable_Array;
+
+ class domPolygon_stipple_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POLYGON_STIPPLE_ENABLE; }
+ static daeInt ID() { return 356; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPolygon_stipple_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPolygon_stipple_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPolygon_stipple_enable &operator=( const domPolygon_stipple_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domRescale_normal_enable;
+
+ typedef daeSmartRef<domRescale_normal_enable> domRescale_normal_enableRef;
+ typedef daeTArray<domRescale_normal_enableRef> domRescale_normal_enable_Array;
+
+ class domRescale_normal_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::RESCALE_NORMAL_ENABLE; }
+ static daeInt ID() { return 357; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domRescale_normal_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domRescale_normal_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRescale_normal_enable &operator=( const domRescale_normal_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domSample_alpha_to_coverage_enable;
+
+ typedef daeSmartRef<domSample_alpha_to_coverage_enable> domSample_alpha_to_coverage_enableRef;
+ typedef daeTArray<domSample_alpha_to_coverage_enableRef> domSample_alpha_to_coverage_enable_Array;
+
+ class domSample_alpha_to_coverage_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SAMPLE_ALPHA_TO_COVERAGE_ENABLE; }
+ static daeInt ID() { return 358; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSample_alpha_to_coverage_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSample_alpha_to_coverage_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSample_alpha_to_coverage_enable &operator=( const domSample_alpha_to_coverage_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domSample_alpha_to_one_enable;
+
+ typedef daeSmartRef<domSample_alpha_to_one_enable> domSample_alpha_to_one_enableRef;
+ typedef daeTArray<domSample_alpha_to_one_enableRef> domSample_alpha_to_one_enable_Array;
+
+ class domSample_alpha_to_one_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SAMPLE_ALPHA_TO_ONE_ENABLE; }
+ static daeInt ID() { return 359; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSample_alpha_to_one_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSample_alpha_to_one_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSample_alpha_to_one_enable &operator=( const domSample_alpha_to_one_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domSample_coverage_enable;
+
+ typedef daeSmartRef<domSample_coverage_enable> domSample_coverage_enableRef;
+ typedef daeTArray<domSample_coverage_enableRef> domSample_coverage_enable_Array;
+
+ class domSample_coverage_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SAMPLE_COVERAGE_ENABLE; }
+ static daeInt ID() { return 360; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSample_coverage_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSample_coverage_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSample_coverage_enable &operator=( const domSample_coverage_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domScissor_test_enable;
+
+ typedef daeSmartRef<domScissor_test_enable> domScissor_test_enableRef;
+ typedef daeTArray<domScissor_test_enableRef> domScissor_test_enable_Array;
+
+ class domScissor_test_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SCISSOR_TEST_ENABLE; }
+ static daeInt ID() { return 361; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domScissor_test_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domScissor_test_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domScissor_test_enable &operator=( const domScissor_test_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domStencil_test_enable;
+
+ typedef daeSmartRef<domStencil_test_enable> domStencil_test_enableRef;
+ typedef daeTArray<domStencil_test_enableRef> domStencil_test_enable_Array;
+
+ class domStencil_test_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::STENCIL_TEST_ENABLE; }
+ static daeInt ID() { return 362; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domStencil_test_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domStencil_test_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domStencil_test_enable &operator=( const domStencil_test_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+ domAlpha_funcRef elemAlpha_func;
+ domBlend_funcRef elemBlend_func;
+ domBlend_func_separateRef elemBlend_func_separate;
+ domBlend_equationRef elemBlend_equation;
+ domBlend_equation_separateRef elemBlend_equation_separate;
+ domColor_materialRef elemColor_material;
+ domCull_faceRef elemCull_face;
+ domDepth_funcRef elemDepth_func;
+ domFog_modeRef elemFog_mode;
+ domFog_coord_srcRef elemFog_coord_src;
+ domFront_faceRef elemFront_face;
+ domLight_model_color_controlRef elemLight_model_color_control;
+ domLogic_opRef elemLogic_op;
+ domPolygon_modeRef elemPolygon_mode;
+ domShade_modelRef elemShade_model;
+ domStencil_funcRef elemStencil_func;
+ domStencil_opRef elemStencil_op;
+ domStencil_func_separateRef elemStencil_func_separate;
+ domStencil_op_separateRef elemStencil_op_separate;
+ domStencil_mask_separateRef elemStencil_mask_separate;
+ domLight_enableRef elemLight_enable;
+ domLight_ambientRef elemLight_ambient;
+ domLight_diffuseRef elemLight_diffuse;
+ domLight_specularRef elemLight_specular;
+ domLight_positionRef elemLight_position;
+ domLight_constant_attenuationRef elemLight_constant_attenuation;
+ domLight_linear_attenuationRef elemLight_linear_attenuation;
+ domLight_quadratic_attenuationRef elemLight_quadratic_attenuation;
+ domLight_spot_cutoffRef elemLight_spot_cutoff;
+ domLight_spot_directionRef elemLight_spot_direction;
+ domLight_spot_exponentRef elemLight_spot_exponent;
+ domTexture1DRef elemTexture1D;
+ domTexture2DRef elemTexture2D;
+ domTexture3DRef elemTexture3D;
+ domTextureCUBERef elemTextureCUBE;
+ domTextureRECTRef elemTextureRECT;
+ domTextureDEPTHRef elemTextureDEPTH;
+ domTexture1D_enableRef elemTexture1D_enable;
+ domTexture2D_enableRef elemTexture2D_enable;
+ domTexture3D_enableRef elemTexture3D_enable;
+ domTextureCUBE_enableRef elemTextureCUBE_enable;
+ domTextureRECT_enableRef elemTextureRECT_enable;
+ domTextureDEPTH_enableRef elemTextureDEPTH_enable;
+ domTexture_env_colorRef elemTexture_env_color;
+ domTexture_env_modeRef elemTexture_env_mode;
+ domClip_planeRef elemClip_plane;
+ domClip_plane_enableRef elemClip_plane_enable;
+ domBlend_colorRef elemBlend_color;
+ domClear_colorRef elemClear_color;
+ domClear_stencilRef elemClear_stencil;
+ domClear_depthRef elemClear_depth;
+ domColor_maskRef elemColor_mask;
+ domDepth_boundsRef elemDepth_bounds;
+ domDepth_maskRef elemDepth_mask;
+ domDepth_rangeRef elemDepth_range;
+ domFog_densityRef elemFog_density;
+ domFog_startRef elemFog_start;
+ domFog_endRef elemFog_end;
+ domFog_colorRef elemFog_color;
+ domLight_model_ambientRef elemLight_model_ambient;
+ domLighting_enableRef elemLighting_enable;
+ domLine_stippleRef elemLine_stipple;
+ domLine_widthRef elemLine_width;
+ domMaterial_ambientRef elemMaterial_ambient;
+ domMaterial_diffuseRef elemMaterial_diffuse;
+ domMaterial_emissionRef elemMaterial_emission;
+ domMaterial_shininessRef elemMaterial_shininess;
+ domMaterial_specularRef elemMaterial_specular;
+ domModel_view_matrixRef elemModel_view_matrix;
+ domPoint_distance_attenuationRef elemPoint_distance_attenuation;
+ domPoint_fade_threshold_sizeRef elemPoint_fade_threshold_size;
+ domPoint_sizeRef elemPoint_size;
+ domPoint_size_minRef elemPoint_size_min;
+ domPoint_size_maxRef elemPoint_size_max;
+ domPolygon_offsetRef elemPolygon_offset;
+ domProjection_matrixRef elemProjection_matrix;
+ domScissorRef elemScissor;
+ domStencil_maskRef elemStencil_mask;
+ domAlpha_test_enableRef elemAlpha_test_enable;
+ domAuto_normal_enableRef elemAuto_normal_enable;
+ domBlend_enableRef elemBlend_enable;
+ domColor_logic_op_enableRef elemColor_logic_op_enable;
+ domColor_material_enableRef elemColor_material_enable;
+ domCull_face_enableRef elemCull_face_enable;
+ domDepth_bounds_enableRef elemDepth_bounds_enable;
+ domDepth_clamp_enableRef elemDepth_clamp_enable;
+ domDepth_test_enableRef elemDepth_test_enable;
+ domDither_enableRef elemDither_enable;
+ domFog_enableRef elemFog_enable;
+ domLight_model_local_viewer_enableRef elemLight_model_local_viewer_enable;
+ domLight_model_two_side_enableRef elemLight_model_two_side_enable;
+ domLine_smooth_enableRef elemLine_smooth_enable;
+ domLine_stipple_enableRef elemLine_stipple_enable;
+ domLogic_op_enableRef elemLogic_op_enable;
+ domMultisample_enableRef elemMultisample_enable;
+ domNormalize_enableRef elemNormalize_enable;
+ domPoint_smooth_enableRef elemPoint_smooth_enable;
+ domPolygon_offset_fill_enableRef elemPolygon_offset_fill_enable;
+ domPolygon_offset_line_enableRef elemPolygon_offset_line_enable;
+ domPolygon_offset_point_enableRef elemPolygon_offset_point_enable;
+ domPolygon_smooth_enableRef elemPolygon_smooth_enable;
+ domPolygon_stipple_enableRef elemPolygon_stipple_enable;
+ domRescale_normal_enableRef elemRescale_normal_enable;
+ domSample_alpha_to_coverage_enableRef elemSample_alpha_to_coverage_enable;
+ domSample_alpha_to_one_enableRef elemSample_alpha_to_one_enable;
+ domSample_coverage_enableRef elemSample_coverage_enable;
+ domScissor_test_enableRef elemScissor_test_enable;
+ domStencil_test_enableRef elemStencil_test_enable;
+ domGl_hook_abstractRef elemGl_hook_abstract;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the alpha_func element.
+ * @return a daeSmartRef to the alpha_func element.
+ */
+ const domAlpha_funcRef getAlpha_func() const { return elemAlpha_func; }
+ /**
+ * Gets the blend_func element.
+ * @return a daeSmartRef to the blend_func element.
+ */
+ const domBlend_funcRef getBlend_func() const { return elemBlend_func; }
+ /**
+ * Gets the blend_func_separate element.
+ * @return a daeSmartRef to the blend_func_separate element.
+ */
+ const domBlend_func_separateRef getBlend_func_separate() const { return elemBlend_func_separate; }
+ /**
+ * Gets the blend_equation element.
+ * @return a daeSmartRef to the blend_equation element.
+ */
+ const domBlend_equationRef getBlend_equation() const { return elemBlend_equation; }
+ /**
+ * Gets the blend_equation_separate element.
+ * @return a daeSmartRef to the blend_equation_separate element.
+ */
+ const domBlend_equation_separateRef getBlend_equation_separate() const { return elemBlend_equation_separate; }
+ /**
+ * Gets the color_material element.
+ * @return a daeSmartRef to the color_material element.
+ */
+ const domColor_materialRef getColor_material() const { return elemColor_material; }
+ /**
+ * Gets the cull_face element.
+ * @return a daeSmartRef to the cull_face element.
+ */
+ const domCull_faceRef getCull_face() const { return elemCull_face; }
+ /**
+ * Gets the depth_func element.
+ * @return a daeSmartRef to the depth_func element.
+ */
+ const domDepth_funcRef getDepth_func() const { return elemDepth_func; }
+ /**
+ * Gets the fog_mode element.
+ * @return a daeSmartRef to the fog_mode element.
+ */
+ const domFog_modeRef getFog_mode() const { return elemFog_mode; }
+ /**
+ * Gets the fog_coord_src element.
+ * @return a daeSmartRef to the fog_coord_src element.
+ */
+ const domFog_coord_srcRef getFog_coord_src() const { return elemFog_coord_src; }
+ /**
+ * Gets the front_face element.
+ * @return a daeSmartRef to the front_face element.
+ */
+ const domFront_faceRef getFront_face() const { return elemFront_face; }
+ /**
+ * Gets the light_model_color_control element.
+ * @return a daeSmartRef to the light_model_color_control element.
+ */
+ const domLight_model_color_controlRef getLight_model_color_control() const { return elemLight_model_color_control; }
+ /**
+ * Gets the logic_op element.
+ * @return a daeSmartRef to the logic_op element.
+ */
+ const domLogic_opRef getLogic_op() const { return elemLogic_op; }
+ /**
+ * Gets the polygon_mode element.
+ * @return a daeSmartRef to the polygon_mode element.
+ */
+ const domPolygon_modeRef getPolygon_mode() const { return elemPolygon_mode; }
+ /**
+ * Gets the shade_model element.
+ * @return a daeSmartRef to the shade_model element.
+ */
+ const domShade_modelRef getShade_model() const { return elemShade_model; }
+ /**
+ * Gets the stencil_func element.
+ * @return a daeSmartRef to the stencil_func element.
+ */
+ const domStencil_funcRef getStencil_func() const { return elemStencil_func; }
+ /**
+ * Gets the stencil_op element.
+ * @return a daeSmartRef to the stencil_op element.
+ */
+ const domStencil_opRef getStencil_op() const { return elemStencil_op; }
+ /**
+ * Gets the stencil_func_separate element.
+ * @return a daeSmartRef to the stencil_func_separate element.
+ */
+ const domStencil_func_separateRef getStencil_func_separate() const { return elemStencil_func_separate; }
+ /**
+ * Gets the stencil_op_separate element.
+ * @return a daeSmartRef to the stencil_op_separate element.
+ */
+ const domStencil_op_separateRef getStencil_op_separate() const { return elemStencil_op_separate; }
+ /**
+ * Gets the stencil_mask_separate element.
+ * @return a daeSmartRef to the stencil_mask_separate element.
+ */
+ const domStencil_mask_separateRef getStencil_mask_separate() const { return elemStencil_mask_separate; }
+ /**
+ * Gets the light_enable element.
+ * @return a daeSmartRef to the light_enable element.
+ */
+ const domLight_enableRef getLight_enable() const { return elemLight_enable; }
+ /**
+ * Gets the light_ambient element.
+ * @return a daeSmartRef to the light_ambient element.
+ */
+ const domLight_ambientRef getLight_ambient() const { return elemLight_ambient; }
+ /**
+ * Gets the light_diffuse element.
+ * @return a daeSmartRef to the light_diffuse element.
+ */
+ const domLight_diffuseRef getLight_diffuse() const { return elemLight_diffuse; }
+ /**
+ * Gets the light_specular element.
+ * @return a daeSmartRef to the light_specular element.
+ */
+ const domLight_specularRef getLight_specular() const { return elemLight_specular; }
+ /**
+ * Gets the light_position element.
+ * @return a daeSmartRef to the light_position element.
+ */
+ const domLight_positionRef getLight_position() const { return elemLight_position; }
+ /**
+ * Gets the light_constant_attenuation element.
+ * @return a daeSmartRef to the light_constant_attenuation element.
+ */
+ const domLight_constant_attenuationRef getLight_constant_attenuation() const { return elemLight_constant_attenuation; }
+ /**
+ * Gets the light_linear_attenuation element.
+ * @return a daeSmartRef to the light_linear_attenuation element.
+ */
+ const domLight_linear_attenuationRef getLight_linear_attenuation() const { return elemLight_linear_attenuation; }
+ /**
+ * Gets the light_quadratic_attenuation element.
+ * @return a daeSmartRef to the light_quadratic_attenuation element.
+ */
+ const domLight_quadratic_attenuationRef getLight_quadratic_attenuation() const { return elemLight_quadratic_attenuation; }
+ /**
+ * Gets the light_spot_cutoff element.
+ * @return a daeSmartRef to the light_spot_cutoff element.
+ */
+ const domLight_spot_cutoffRef getLight_spot_cutoff() const { return elemLight_spot_cutoff; }
+ /**
+ * Gets the light_spot_direction element.
+ * @return a daeSmartRef to the light_spot_direction element.
+ */
+ const domLight_spot_directionRef getLight_spot_direction() const { return elemLight_spot_direction; }
+ /**
+ * Gets the light_spot_exponent element.
+ * @return a daeSmartRef to the light_spot_exponent element.
+ */
+ const domLight_spot_exponentRef getLight_spot_exponent() const { return elemLight_spot_exponent; }
+ /**
+ * Gets the texture1D element.
+ * @return a daeSmartRef to the texture1D element.
+ */
+ const domTexture1DRef getTexture1D() const { return elemTexture1D; }
+ /**
+ * Gets the texture2D element.
+ * @return a daeSmartRef to the texture2D element.
+ */
+ const domTexture2DRef getTexture2D() const { return elemTexture2D; }
+ /**
+ * Gets the texture3D element.
+ * @return a daeSmartRef to the texture3D element.
+ */
+ const domTexture3DRef getTexture3D() const { return elemTexture3D; }
+ /**
+ * Gets the textureCUBE element.
+ * @return a daeSmartRef to the textureCUBE element.
+ */
+ const domTextureCUBERef getTextureCUBE() const { return elemTextureCUBE; }
+ /**
+ * Gets the textureRECT element.
+ * @return a daeSmartRef to the textureRECT element.
+ */
+ const domTextureRECTRef getTextureRECT() const { return elemTextureRECT; }
+ /**
+ * Gets the textureDEPTH element.
+ * @return a daeSmartRef to the textureDEPTH element.
+ */
+ const domTextureDEPTHRef getTextureDEPTH() const { return elemTextureDEPTH; }
+ /**
+ * Gets the texture1D_enable element.
+ * @return a daeSmartRef to the texture1D_enable element.
+ */
+ const domTexture1D_enableRef getTexture1D_enable() const { return elemTexture1D_enable; }
+ /**
+ * Gets the texture2D_enable element.
+ * @return a daeSmartRef to the texture2D_enable element.
+ */
+ const domTexture2D_enableRef getTexture2D_enable() const { return elemTexture2D_enable; }
+ /**
+ * Gets the texture3D_enable element.
+ * @return a daeSmartRef to the texture3D_enable element.
+ */
+ const domTexture3D_enableRef getTexture3D_enable() const { return elemTexture3D_enable; }
+ /**
+ * Gets the textureCUBE_enable element.
+ * @return a daeSmartRef to the textureCUBE_enable element.
+ */
+ const domTextureCUBE_enableRef getTextureCUBE_enable() const { return elemTextureCUBE_enable; }
+ /**
+ * Gets the textureRECT_enable element.
+ * @return a daeSmartRef to the textureRECT_enable element.
+ */
+ const domTextureRECT_enableRef getTextureRECT_enable() const { return elemTextureRECT_enable; }
+ /**
+ * Gets the textureDEPTH_enable element.
+ * @return a daeSmartRef to the textureDEPTH_enable element.
+ */
+ const domTextureDEPTH_enableRef getTextureDEPTH_enable() const { return elemTextureDEPTH_enable; }
+ /**
+ * Gets the texture_env_color element.
+ * @return a daeSmartRef to the texture_env_color element.
+ */
+ const domTexture_env_colorRef getTexture_env_color() const { return elemTexture_env_color; }
+ /**
+ * Gets the texture_env_mode element.
+ * @return a daeSmartRef to the texture_env_mode element.
+ */
+ const domTexture_env_modeRef getTexture_env_mode() const { return elemTexture_env_mode; }
+ /**
+ * Gets the clip_plane element.
+ * @return a daeSmartRef to the clip_plane element.
+ */
+ const domClip_planeRef getClip_plane() const { return elemClip_plane; }
+ /**
+ * Gets the clip_plane_enable element.
+ * @return a daeSmartRef to the clip_plane_enable element.
+ */
+ const domClip_plane_enableRef getClip_plane_enable() const { return elemClip_plane_enable; }
+ /**
+ * Gets the blend_color element.
+ * @return a daeSmartRef to the blend_color element.
+ */
+ const domBlend_colorRef getBlend_color() const { return elemBlend_color; }
+ /**
+ * Gets the clear_color element.
+ * @return a daeSmartRef to the clear_color element.
+ */
+ const domClear_colorRef getClear_color() const { return elemClear_color; }
+ /**
+ * Gets the clear_stencil element.
+ * @return a daeSmartRef to the clear_stencil element.
+ */
+ const domClear_stencilRef getClear_stencil() const { return elemClear_stencil; }
+ /**
+ * Gets the clear_depth element.
+ * @return a daeSmartRef to the clear_depth element.
+ */
+ const domClear_depthRef getClear_depth() const { return elemClear_depth; }
+ /**
+ * Gets the color_mask element.
+ * @return a daeSmartRef to the color_mask element.
+ */
+ const domColor_maskRef getColor_mask() const { return elemColor_mask; }
+ /**
+ * Gets the depth_bounds element.
+ * @return a daeSmartRef to the depth_bounds element.
+ */
+ const domDepth_boundsRef getDepth_bounds() const { return elemDepth_bounds; }
+ /**
+ * Gets the depth_mask element.
+ * @return a daeSmartRef to the depth_mask element.
+ */
+ const domDepth_maskRef getDepth_mask() const { return elemDepth_mask; }
+ /**
+ * Gets the depth_range element.
+ * @return a daeSmartRef to the depth_range element.
+ */
+ const domDepth_rangeRef getDepth_range() const { return elemDepth_range; }
+ /**
+ * Gets the fog_density element.
+ * @return a daeSmartRef to the fog_density element.
+ */
+ const domFog_densityRef getFog_density() const { return elemFog_density; }
+ /**
+ * Gets the fog_start element.
+ * @return a daeSmartRef to the fog_start element.
+ */
+ const domFog_startRef getFog_start() const { return elemFog_start; }
+ /**
+ * Gets the fog_end element.
+ * @return a daeSmartRef to the fog_end element.
+ */
+ const domFog_endRef getFog_end() const { return elemFog_end; }
+ /**
+ * Gets the fog_color element.
+ * @return a daeSmartRef to the fog_color element.
+ */
+ const domFog_colorRef getFog_color() const { return elemFog_color; }
+ /**
+ * Gets the light_model_ambient element.
+ * @return a daeSmartRef to the light_model_ambient element.
+ */
+ const domLight_model_ambientRef getLight_model_ambient() const { return elemLight_model_ambient; }
+ /**
+ * Gets the lighting_enable element.
+ * @return a daeSmartRef to the lighting_enable element.
+ */
+ const domLighting_enableRef getLighting_enable() const { return elemLighting_enable; }
+ /**
+ * Gets the line_stipple element.
+ * @return a daeSmartRef to the line_stipple element.
+ */
+ const domLine_stippleRef getLine_stipple() const { return elemLine_stipple; }
+ /**
+ * Gets the line_width element.
+ * @return a daeSmartRef to the line_width element.
+ */
+ const domLine_widthRef getLine_width() const { return elemLine_width; }
+ /**
+ * Gets the material_ambient element.
+ * @return a daeSmartRef to the material_ambient element.
+ */
+ const domMaterial_ambientRef getMaterial_ambient() const { return elemMaterial_ambient; }
+ /**
+ * Gets the material_diffuse element.
+ * @return a daeSmartRef to the material_diffuse element.
+ */
+ const domMaterial_diffuseRef getMaterial_diffuse() const { return elemMaterial_diffuse; }
+ /**
+ * Gets the material_emission element.
+ * @return a daeSmartRef to the material_emission element.
+ */
+ const domMaterial_emissionRef getMaterial_emission() const { return elemMaterial_emission; }
+ /**
+ * Gets the material_shininess element.
+ * @return a daeSmartRef to the material_shininess element.
+ */
+ const domMaterial_shininessRef getMaterial_shininess() const { return elemMaterial_shininess; }
+ /**
+ * Gets the material_specular element.
+ * @return a daeSmartRef to the material_specular element.
+ */
+ const domMaterial_specularRef getMaterial_specular() const { return elemMaterial_specular; }
+ /**
+ * Gets the model_view_matrix element.
+ * @return a daeSmartRef to the model_view_matrix element.
+ */
+ const domModel_view_matrixRef getModel_view_matrix() const { return elemModel_view_matrix; }
+ /**
+ * Gets the point_distance_attenuation element.
+ * @return a daeSmartRef to the point_distance_attenuation element.
+ */
+ const domPoint_distance_attenuationRef getPoint_distance_attenuation() const { return elemPoint_distance_attenuation; }
+ /**
+ * Gets the point_fade_threshold_size element.
+ * @return a daeSmartRef to the point_fade_threshold_size element.
+ */
+ const domPoint_fade_threshold_sizeRef getPoint_fade_threshold_size() const { return elemPoint_fade_threshold_size; }
+ /**
+ * Gets the point_size element.
+ * @return a daeSmartRef to the point_size element.
+ */
+ const domPoint_sizeRef getPoint_size() const { return elemPoint_size; }
+ /**
+ * Gets the point_size_min element.
+ * @return a daeSmartRef to the point_size_min element.
+ */
+ const domPoint_size_minRef getPoint_size_min() const { return elemPoint_size_min; }
+ /**
+ * Gets the point_size_max element.
+ * @return a daeSmartRef to the point_size_max element.
+ */
+ const domPoint_size_maxRef getPoint_size_max() const { return elemPoint_size_max; }
+ /**
+ * Gets the polygon_offset element.
+ * @return a daeSmartRef to the polygon_offset element.
+ */
+ const domPolygon_offsetRef getPolygon_offset() const { return elemPolygon_offset; }
+ /**
+ * Gets the projection_matrix element.
+ * @return a daeSmartRef to the projection_matrix element.
+ */
+ const domProjection_matrixRef getProjection_matrix() const { return elemProjection_matrix; }
+ /**
+ * Gets the scissor element.
+ * @return a daeSmartRef to the scissor element.
+ */
+ const domScissorRef getScissor() const { return elemScissor; }
+ /**
+ * Gets the stencil_mask element.
+ * @return a daeSmartRef to the stencil_mask element.
+ */
+ const domStencil_maskRef getStencil_mask() const { return elemStencil_mask; }
+ /**
+ * Gets the alpha_test_enable element.
+ * @return a daeSmartRef to the alpha_test_enable element.
+ */
+ const domAlpha_test_enableRef getAlpha_test_enable() const { return elemAlpha_test_enable; }
+ /**
+ * Gets the auto_normal_enable element.
+ * @return a daeSmartRef to the auto_normal_enable element.
+ */
+ const domAuto_normal_enableRef getAuto_normal_enable() const { return elemAuto_normal_enable; }
+ /**
+ * Gets the blend_enable element.
+ * @return a daeSmartRef to the blend_enable element.
+ */
+ const domBlend_enableRef getBlend_enable() const { return elemBlend_enable; }
+ /**
+ * Gets the color_logic_op_enable element.
+ * @return a daeSmartRef to the color_logic_op_enable element.
+ */
+ const domColor_logic_op_enableRef getColor_logic_op_enable() const { return elemColor_logic_op_enable; }
+ /**
+ * Gets the color_material_enable element.
+ * @return a daeSmartRef to the color_material_enable element.
+ */
+ const domColor_material_enableRef getColor_material_enable() const { return elemColor_material_enable; }
+ /**
+ * Gets the cull_face_enable element.
+ * @return a daeSmartRef to the cull_face_enable element.
+ */
+ const domCull_face_enableRef getCull_face_enable() const { return elemCull_face_enable; }
+ /**
+ * Gets the depth_bounds_enable element.
+ * @return a daeSmartRef to the depth_bounds_enable element.
+ */
+ const domDepth_bounds_enableRef getDepth_bounds_enable() const { return elemDepth_bounds_enable; }
+ /**
+ * Gets the depth_clamp_enable element.
+ * @return a daeSmartRef to the depth_clamp_enable element.
+ */
+ const domDepth_clamp_enableRef getDepth_clamp_enable() const { return elemDepth_clamp_enable; }
+ /**
+ * Gets the depth_test_enable element.
+ * @return a daeSmartRef to the depth_test_enable element.
+ */
+ const domDepth_test_enableRef getDepth_test_enable() const { return elemDepth_test_enable; }
+ /**
+ * Gets the dither_enable element.
+ * @return a daeSmartRef to the dither_enable element.
+ */
+ const domDither_enableRef getDither_enable() const { return elemDither_enable; }
+ /**
+ * Gets the fog_enable element.
+ * @return a daeSmartRef to the fog_enable element.
+ */
+ const domFog_enableRef getFog_enable() const { return elemFog_enable; }
+ /**
+ * Gets the light_model_local_viewer_enable element.
+ * @return a daeSmartRef to the light_model_local_viewer_enable element.
+ */
+ const domLight_model_local_viewer_enableRef getLight_model_local_viewer_enable() const { return elemLight_model_local_viewer_enable; }
+ /**
+ * Gets the light_model_two_side_enable element.
+ * @return a daeSmartRef to the light_model_two_side_enable element.
+ */
+ const domLight_model_two_side_enableRef getLight_model_two_side_enable() const { return elemLight_model_two_side_enable; }
+ /**
+ * Gets the line_smooth_enable element.
+ * @return a daeSmartRef to the line_smooth_enable element.
+ */
+ const domLine_smooth_enableRef getLine_smooth_enable() const { return elemLine_smooth_enable; }
+ /**
+ * Gets the line_stipple_enable element.
+ * @return a daeSmartRef to the line_stipple_enable element.
+ */
+ const domLine_stipple_enableRef getLine_stipple_enable() const { return elemLine_stipple_enable; }
+ /**
+ * Gets the logic_op_enable element.
+ * @return a daeSmartRef to the logic_op_enable element.
+ */
+ const domLogic_op_enableRef getLogic_op_enable() const { return elemLogic_op_enable; }
+ /**
+ * Gets the multisample_enable element.
+ * @return a daeSmartRef to the multisample_enable element.
+ */
+ const domMultisample_enableRef getMultisample_enable() const { return elemMultisample_enable; }
+ /**
+ * Gets the normalize_enable element.
+ * @return a daeSmartRef to the normalize_enable element.
+ */
+ const domNormalize_enableRef getNormalize_enable() const { return elemNormalize_enable; }
+ /**
+ * Gets the point_smooth_enable element.
+ * @return a daeSmartRef to the point_smooth_enable element.
+ */
+ const domPoint_smooth_enableRef getPoint_smooth_enable() const { return elemPoint_smooth_enable; }
+ /**
+ * Gets the polygon_offset_fill_enable element.
+ * @return a daeSmartRef to the polygon_offset_fill_enable element.
+ */
+ const domPolygon_offset_fill_enableRef getPolygon_offset_fill_enable() const { return elemPolygon_offset_fill_enable; }
+ /**
+ * Gets the polygon_offset_line_enable element.
+ * @return a daeSmartRef to the polygon_offset_line_enable element.
+ */
+ const domPolygon_offset_line_enableRef getPolygon_offset_line_enable() const { return elemPolygon_offset_line_enable; }
+ /**
+ * Gets the polygon_offset_point_enable element.
+ * @return a daeSmartRef to the polygon_offset_point_enable element.
+ */
+ const domPolygon_offset_point_enableRef getPolygon_offset_point_enable() const { return elemPolygon_offset_point_enable; }
+ /**
+ * Gets the polygon_smooth_enable element.
+ * @return a daeSmartRef to the polygon_smooth_enable element.
+ */
+ const domPolygon_smooth_enableRef getPolygon_smooth_enable() const { return elemPolygon_smooth_enable; }
+ /**
+ * Gets the polygon_stipple_enable element.
+ * @return a daeSmartRef to the polygon_stipple_enable element.
+ */
+ const domPolygon_stipple_enableRef getPolygon_stipple_enable() const { return elemPolygon_stipple_enable; }
+ /**
+ * Gets the rescale_normal_enable element.
+ * @return a daeSmartRef to the rescale_normal_enable element.
+ */
+ const domRescale_normal_enableRef getRescale_normal_enable() const { return elemRescale_normal_enable; }
+ /**
+ * Gets the sample_alpha_to_coverage_enable element.
+ * @return a daeSmartRef to the sample_alpha_to_coverage_enable element.
+ */
+ const domSample_alpha_to_coverage_enableRef getSample_alpha_to_coverage_enable() const { return elemSample_alpha_to_coverage_enable; }
+ /**
+ * Gets the sample_alpha_to_one_enable element.
+ * @return a daeSmartRef to the sample_alpha_to_one_enable element.
+ */
+ const domSample_alpha_to_one_enableRef getSample_alpha_to_one_enable() const { return elemSample_alpha_to_one_enable; }
+ /**
+ * Gets the sample_coverage_enable element.
+ * @return a daeSmartRef to the sample_coverage_enable element.
+ */
+ const domSample_coverage_enableRef getSample_coverage_enable() const { return elemSample_coverage_enable; }
+ /**
+ * Gets the scissor_test_enable element.
+ * @return a daeSmartRef to the scissor_test_enable element.
+ */
+ const domScissor_test_enableRef getScissor_test_enable() const { return elemScissor_test_enable; }
+ /**
+ * Gets the stencil_test_enable element.
+ * @return a daeSmartRef to the stencil_test_enable element.
+ */
+ const domStencil_test_enableRef getStencil_test_enable() const { return elemStencil_test_enable; }
+ /**
+ * Gets the gl_hook_abstract element.
+ * @return a daeSmartRef to the gl_hook_abstract element.
+ */
+ const domGl_hook_abstractRef getGl_hook_abstract() const { return elemGl_hook_abstract; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domGl_pipeline_settings(DAE& dae) : daeElement(dae), elemAlpha_func(), elemBlend_func(), elemBlend_func_separate(), elemBlend_equation(), elemBlend_equation_separate(), elemColor_material(), elemCull_face(), elemDepth_func(), elemFog_mode(), elemFog_coord_src(), elemFront_face(), elemLight_model_color_control(), elemLogic_op(), elemPolygon_mode(), elemShade_model(), elemStencil_func(), elemStencil_op(), elemStencil_func_separate(), elemStencil_op_separate(), elemStencil_mask_separate(), elemLight_enable(), elemLight_ambient(), elemLight_diffuse(), elemLight_specular(), elemLight_position(), elemLight_constant_attenuation(), elemLight_linear_attenuation(), elemLight_quadratic_attenuation(), elemLight_spot_cutoff(), elemLight_spot_direction(), elemLight_spot_exponent(), elemTexture1D(), elemTexture2D(), elemTexture3D(), elemTextureCUBE(), elemTextureRECT(), elemTextureDEPTH(), elemTexture1D_enable(), elemTexture2D_enable(), elemTexture3D_enable(), elemTextureCUBE_enable(), elemTextureRECT_enable(), elemTextureDEPTH_enable(), elemTexture_env_color(), elemTexture_env_mode(), elemClip_plane(), elemClip_plane_enable(), elemBlend_color(), elemClear_color(), elemClear_stencil(), elemClear_depth(), elemColor_mask(), elemDepth_bounds(), elemDepth_mask(), elemDepth_range(), elemFog_density(), elemFog_start(), elemFog_end(), elemFog_color(), elemLight_model_ambient(), elemLighting_enable(), elemLine_stipple(), elemLine_width(), elemMaterial_ambient(), elemMaterial_diffuse(), elemMaterial_emission(), elemMaterial_shininess(), elemMaterial_specular(), elemModel_view_matrix(), elemPoint_distance_attenuation(), elemPoint_fade_threshold_size(), elemPoint_size(), elemPoint_size_min(), elemPoint_size_max(), elemPolygon_offset(), elemProjection_matrix(), elemScissor(), elemStencil_mask(), elemAlpha_test_enable(), elemAuto_normal_enable(), elemBlend_enable(), elemColor_logic_op_enable(), elemColor_material_enable(), elemCull_face_enable(), elemDepth_bounds_enable(), elemDepth_clamp_enable(), elemDepth_test_enable(), elemDither_enable(), elemFog_enable(), elemLight_model_local_viewer_enable(), elemLight_model_two_side_enable(), elemLine_smooth_enable(), elemLine_stipple_enable(), elemLogic_op_enable(), elemMultisample_enable(), elemNormalize_enable(), elemPoint_smooth_enable(), elemPolygon_offset_fill_enable(), elemPolygon_offset_line_enable(), elemPolygon_offset_point_enable(), elemPolygon_smooth_enable(), elemPolygon_stipple_enable(), elemRescale_normal_enable(), elemSample_alpha_to_coverage_enable(), elemSample_alpha_to_one_enable(), elemSample_coverage_enable(), elemScissor_test_enable(), elemStencil_test_enable(), elemGl_hook_abstract() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGl_pipeline_settings() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGl_pipeline_settings &operator=( const domGl_pipeline_settings &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domGl_sampler1D.h b/1.4.0/dom/include/1.4/dom/domGl_sampler1D.h
new file mode 100644
index 0000000..4eecea0
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domGl_sampler1D.h
@@ -0,0 +1,81 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Gl_sampler1D_h__
+#define __dom141Gl_sampler1D_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domFx_sampler1D_common.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * A one-dimensional texture sampler for the GLSL profile.
+ */
+class domGl_sampler1D_complexType : public domFx_sampler1D_common_complexType
+{
+
+protected:
+ /**
+ * Constructor
+ */
+ domGl_sampler1D_complexType(DAE& dae, daeElement* elt) : domFx_sampler1D_common_complexType(dae, elt) {}
+ /**
+ * Destructor
+ */
+ virtual ~domGl_sampler1D_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGl_sampler1D_complexType &operator=( const domGl_sampler1D_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domGl_sampler1D_complexType.
+ */
+class domGl_sampler1D : public daeElement, public domGl_sampler1D_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GL_SAMPLER1D; }
+ static daeInt ID() { return 97; }
+ virtual daeInt typeID() const { return ID(); }
+protected:
+ /**
+ * Constructor
+ */
+ domGl_sampler1D(DAE& dae) : daeElement(dae), domGl_sampler1D_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domGl_sampler1D() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGl_sampler1D &operator=( const domGl_sampler1D &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domGl_sampler2D.h b/1.4.0/dom/include/1.4/dom/domGl_sampler2D.h
new file mode 100644
index 0000000..446b6fe
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domGl_sampler2D.h
@@ -0,0 +1,81 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Gl_sampler2D_h__
+#define __dom141Gl_sampler2D_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domFx_sampler2D_common.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * A two-dimensional texture sampler for the GLSL profile.
+ */
+class domGl_sampler2D_complexType : public domFx_sampler2D_common_complexType
+{
+
+protected:
+ /**
+ * Constructor
+ */
+ domGl_sampler2D_complexType(DAE& dae, daeElement* elt) : domFx_sampler2D_common_complexType(dae, elt) {}
+ /**
+ * Destructor
+ */
+ virtual ~domGl_sampler2D_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGl_sampler2D_complexType &operator=( const domGl_sampler2D_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domGl_sampler2D_complexType.
+ */
+class domGl_sampler2D : public daeElement, public domGl_sampler2D_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GL_SAMPLER2D; }
+ static daeInt ID() { return 98; }
+ virtual daeInt typeID() const { return ID(); }
+protected:
+ /**
+ * Constructor
+ */
+ domGl_sampler2D(DAE& dae) : daeElement(dae), domGl_sampler2D_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domGl_sampler2D() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGl_sampler2D &operator=( const domGl_sampler2D &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domGl_sampler3D.h b/1.4.0/dom/include/1.4/dom/domGl_sampler3D.h
new file mode 100644
index 0000000..ce6ce28
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domGl_sampler3D.h
@@ -0,0 +1,81 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Gl_sampler3D_h__
+#define __dom141Gl_sampler3D_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domFx_sampler3D_common.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * A three-dimensional texture sampler for the GLSL profile.
+ */
+class domGl_sampler3D_complexType : public domFx_sampler3D_common_complexType
+{
+
+protected:
+ /**
+ * Constructor
+ */
+ domGl_sampler3D_complexType(DAE& dae, daeElement* elt) : domFx_sampler3D_common_complexType(dae, elt) {}
+ /**
+ * Destructor
+ */
+ virtual ~domGl_sampler3D_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGl_sampler3D_complexType &operator=( const domGl_sampler3D_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domGl_sampler3D_complexType.
+ */
+class domGl_sampler3D : public daeElement, public domGl_sampler3D_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GL_SAMPLER3D; }
+ static daeInt ID() { return 99; }
+ virtual daeInt typeID() const { return ID(); }
+protected:
+ /**
+ * Constructor
+ */
+ domGl_sampler3D(DAE& dae) : daeElement(dae), domGl_sampler3D_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domGl_sampler3D() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGl_sampler3D &operator=( const domGl_sampler3D &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domGl_samplerCUBE.h b/1.4.0/dom/include/1.4/dom/domGl_samplerCUBE.h
new file mode 100644
index 0000000..87314dd
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domGl_samplerCUBE.h
@@ -0,0 +1,81 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Gl_samplerCUBE_h__
+#define __dom141Gl_samplerCUBE_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domFx_samplerCUBE_common.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * A cube map texture sampler for the GLSL profile.
+ */
+class domGl_samplerCUBE_complexType : public domFx_samplerCUBE_common_complexType
+{
+
+protected:
+ /**
+ * Constructor
+ */
+ domGl_samplerCUBE_complexType(DAE& dae, daeElement* elt) : domFx_samplerCUBE_common_complexType(dae, elt) {}
+ /**
+ * Destructor
+ */
+ virtual ~domGl_samplerCUBE_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGl_samplerCUBE_complexType &operator=( const domGl_samplerCUBE_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domGl_samplerCUBE_complexType.
+ */
+class domGl_samplerCUBE : public daeElement, public domGl_samplerCUBE_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GL_SAMPLERCUBE; }
+ static daeInt ID() { return 100; }
+ virtual daeInt typeID() const { return ID(); }
+protected:
+ /**
+ * Constructor
+ */
+ domGl_samplerCUBE(DAE& dae) : daeElement(dae), domGl_samplerCUBE_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domGl_samplerCUBE() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGl_samplerCUBE &operator=( const domGl_samplerCUBE &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domGl_samplerDEPTH.h b/1.4.0/dom/include/1.4/dom/domGl_samplerDEPTH.h
new file mode 100644
index 0000000..a537225
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domGl_samplerDEPTH.h
@@ -0,0 +1,81 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Gl_samplerDEPTH_h__
+#define __dom141Gl_samplerDEPTH_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domFx_samplerDEPTH_common.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * A depth texture sampler for the GLSL profile.
+ */
+class domGl_samplerDEPTH_complexType : public domFx_samplerDEPTH_common_complexType
+{
+
+protected:
+ /**
+ * Constructor
+ */
+ domGl_samplerDEPTH_complexType(DAE& dae, daeElement* elt) : domFx_samplerDEPTH_common_complexType(dae, elt) {}
+ /**
+ * Destructor
+ */
+ virtual ~domGl_samplerDEPTH_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGl_samplerDEPTH_complexType &operator=( const domGl_samplerDEPTH_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domGl_samplerDEPTH_complexType.
+ */
+class domGl_samplerDEPTH : public daeElement, public domGl_samplerDEPTH_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GL_SAMPLERDEPTH; }
+ static daeInt ID() { return 102; }
+ virtual daeInt typeID() const { return ID(); }
+protected:
+ /**
+ * Constructor
+ */
+ domGl_samplerDEPTH(DAE& dae) : daeElement(dae), domGl_samplerDEPTH_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domGl_samplerDEPTH() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGl_samplerDEPTH &operator=( const domGl_samplerDEPTH &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domGl_samplerRECT.h b/1.4.0/dom/include/1.4/dom/domGl_samplerRECT.h
new file mode 100644
index 0000000..2b62d78
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domGl_samplerRECT.h
@@ -0,0 +1,81 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Gl_samplerRECT_h__
+#define __dom141Gl_samplerRECT_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domFx_samplerRECT_common.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * A two-dimensional texture sampler for the GLSL profile.
+ */
+class domGl_samplerRECT_complexType : public domFx_samplerRECT_common_complexType
+{
+
+protected:
+ /**
+ * Constructor
+ */
+ domGl_samplerRECT_complexType(DAE& dae, daeElement* elt) : domFx_samplerRECT_common_complexType(dae, elt) {}
+ /**
+ * Destructor
+ */
+ virtual ~domGl_samplerRECT_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGl_samplerRECT_complexType &operator=( const domGl_samplerRECT_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domGl_samplerRECT_complexType.
+ */
+class domGl_samplerRECT : public daeElement, public domGl_samplerRECT_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GL_SAMPLERRECT; }
+ static daeInt ID() { return 101; }
+ virtual daeInt typeID() const { return ID(); }
+protected:
+ /**
+ * Constructor
+ */
+ domGl_samplerRECT(DAE& dae) : daeElement(dae), domGl_samplerRECT_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domGl_samplerRECT() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGl_samplerRECT &operator=( const domGl_samplerRECT &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domGles_basic_type_common.h b/1.4.0/dom/include/1.4/dom/domGles_basic_type_common.h
new file mode 100644
index 0000000..0b379d1
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domGles_basic_type_common.h
@@ -0,0 +1,2094 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Gles_basic_type_common_h__
+#define __dom141Gles_basic_type_common_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domFx_surface_common.h>
+#include <1.4/dom/domGles_texture_pipeline.h>
+#include <1.4/dom/domGles_sampler_state.h>
+#include <1.4/dom/domGles_texture_unit.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * A group that defines the available variable types for GLES parameters.
+ */
+class domGles_basic_type_common : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLES_BASIC_TYPE_COMMON; }
+ static daeInt ID() { return 572; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domBool;
+
+ typedef daeSmartRef<domBool> domBoolRef;
+ typedef daeTArray<domBoolRef> domBool_Array;
+
+ class domBool : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL; }
+ static daeInt ID() { return 573; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domBool value of the text data of this element.
+ */
+ ColladaDOM141::domBool _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM141::domBool of the value.
+ */
+ ColladaDOM141::domBool getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( ColladaDOM141::domBool val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBool(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool &operator=( const domBool &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool2;
+
+ typedef daeSmartRef<domBool2> domBool2Ref;
+ typedef daeTArray<domBool2Ref> domBool2_Array;
+
+ class domBool2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL2; }
+ static daeInt ID() { return 574; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domBool2 value of the text data of this element.
+ */
+ ColladaDOM141::domBool2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domBool2 reference of the _value array.
+ */
+ ColladaDOM141::domBool2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domBool2 reference of the _value array.
+ */
+ const ColladaDOM141::domBool2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domBool2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBool2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool2 &operator=( const domBool2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool3;
+
+ typedef daeSmartRef<domBool3> domBool3Ref;
+ typedef daeTArray<domBool3Ref> domBool3_Array;
+
+ class domBool3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL3; }
+ static daeInt ID() { return 575; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domBool3 value of the text data of this element.
+ */
+ ColladaDOM141::domBool3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domBool3 reference of the _value array.
+ */
+ ColladaDOM141::domBool3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domBool3 reference of the _value array.
+ */
+ const ColladaDOM141::domBool3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domBool3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBool3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool3 &operator=( const domBool3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool4;
+
+ typedef daeSmartRef<domBool4> domBool4Ref;
+ typedef daeTArray<domBool4Ref> domBool4_Array;
+
+ class domBool4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL4; }
+ static daeInt ID() { return 576; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domBool4 value of the text data of this element.
+ */
+ ColladaDOM141::domBool4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domBool4 reference of the _value array.
+ */
+ ColladaDOM141::domBool4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domBool4 reference of the _value array.
+ */
+ const ColladaDOM141::domBool4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domBool4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBool4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool4 &operator=( const domBool4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt;
+
+ typedef daeSmartRef<domInt> domIntRef;
+ typedef daeTArray<domIntRef> domInt_Array;
+
+ class domInt : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT; }
+ static daeInt ID() { return 577; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domInt value of the text data of this element.
+ */
+ ColladaDOM141::domInt _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM141::domInt of the value.
+ */
+ ColladaDOM141::domInt getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( ColladaDOM141::domInt val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domInt(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt &operator=( const domInt &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt2;
+
+ typedef daeSmartRef<domInt2> domInt2Ref;
+ typedef daeTArray<domInt2Ref> domInt2_Array;
+
+ class domInt2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT2; }
+ static daeInt ID() { return 578; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domInt2 value of the text data of this element.
+ */
+ ColladaDOM141::domInt2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domInt2 reference of the _value array.
+ */
+ ColladaDOM141::domInt2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domInt2 reference of the _value array.
+ */
+ const ColladaDOM141::domInt2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domInt2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domInt2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt2 &operator=( const domInt2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt3;
+
+ typedef daeSmartRef<domInt3> domInt3Ref;
+ typedef daeTArray<domInt3Ref> domInt3_Array;
+
+ class domInt3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT3; }
+ static daeInt ID() { return 579; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domInt3 value of the text data of this element.
+ */
+ ColladaDOM141::domInt3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domInt3 reference of the _value array.
+ */
+ ColladaDOM141::domInt3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domInt3 reference of the _value array.
+ */
+ const ColladaDOM141::domInt3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domInt3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domInt3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt3 &operator=( const domInt3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt4;
+
+ typedef daeSmartRef<domInt4> domInt4Ref;
+ typedef daeTArray<domInt4Ref> domInt4_Array;
+
+ class domInt4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT4; }
+ static daeInt ID() { return 580; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domInt4 value of the text data of this element.
+ */
+ ColladaDOM141::domInt4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domInt4 reference of the _value array.
+ */
+ ColladaDOM141::domInt4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domInt4 reference of the _value array.
+ */
+ const ColladaDOM141::domInt4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domInt4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domInt4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt4 &operator=( const domInt4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat;
+
+ typedef daeSmartRef<domFloat> domFloatRef;
+ typedef daeTArray<domFloatRef> domFloat_Array;
+
+ class domFloat : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT; }
+ static daeInt ID() { return 581; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat value of the text data of this element.
+ */
+ ColladaDOM141::domFloat _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM141::domFloat of the value.
+ */
+ ColladaDOM141::domFloat getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( ColladaDOM141::domFloat val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat &operator=( const domFloat &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat2;
+
+ typedef daeSmartRef<domFloat2> domFloat2Ref;
+ typedef daeTArray<domFloat2Ref> domFloat2_Array;
+
+ class domFloat2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2; }
+ static daeInt ID() { return 582; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat2 value of the text data of this element.
+ */
+ ColladaDOM141::domFloat2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domFloat2 reference of the _value array.
+ */
+ ColladaDOM141::domFloat2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domFloat2 reference of the _value array.
+ */
+ const ColladaDOM141::domFloat2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domFloat2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat2 &operator=( const domFloat2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat3;
+
+ typedef daeSmartRef<domFloat3> domFloat3Ref;
+ typedef daeTArray<domFloat3Ref> domFloat3_Array;
+
+ class domFloat3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3; }
+ static daeInt ID() { return 583; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat3 value of the text data of this element.
+ */
+ ColladaDOM141::domFloat3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domFloat3 reference of the _value array.
+ */
+ ColladaDOM141::domFloat3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domFloat3 reference of the _value array.
+ */
+ const ColladaDOM141::domFloat3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domFloat3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat3 &operator=( const domFloat3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat4;
+
+ typedef daeSmartRef<domFloat4> domFloat4Ref;
+ typedef daeTArray<domFloat4Ref> domFloat4_Array;
+
+ class domFloat4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4; }
+ static daeInt ID() { return 584; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat4 value of the text data of this element.
+ */
+ ColladaDOM141::domFloat4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domFloat4 reference of the _value array.
+ */
+ ColladaDOM141::domFloat4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domFloat4 reference of the _value array.
+ */
+ const ColladaDOM141::domFloat4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domFloat4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat4 &operator=( const domFloat4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat1x1;
+
+ typedef daeSmartRef<domFloat1x1> domFloat1x1Ref;
+ typedef daeTArray<domFloat1x1Ref> domFloat1x1_Array;
+
+ class domFloat1x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT1X1; }
+ static daeInt ID() { return 585; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat value of the text data of this element.
+ */
+ ColladaDOM141::domFloat _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM141::domFloat of the value.
+ */
+ ColladaDOM141::domFloat getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( ColladaDOM141::domFloat val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat1x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat1x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat1x1 &operator=( const domFloat1x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat1x2;
+
+ typedef daeSmartRef<domFloat1x2> domFloat1x2Ref;
+ typedef daeTArray<domFloat1x2Ref> domFloat1x2_Array;
+
+ class domFloat1x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT1X2; }
+ static daeInt ID() { return 586; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat2 value of the text data of this element.
+ */
+ ColladaDOM141::domFloat2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domFloat2 reference of the _value array.
+ */
+ ColladaDOM141::domFloat2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domFloat2 reference of the _value array.
+ */
+ const ColladaDOM141::domFloat2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domFloat2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat1x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat1x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat1x2 &operator=( const domFloat1x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat1x3;
+
+ typedef daeSmartRef<domFloat1x3> domFloat1x3Ref;
+ typedef daeTArray<domFloat1x3Ref> domFloat1x3_Array;
+
+ class domFloat1x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT1X3; }
+ static daeInt ID() { return 587; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat3 value of the text data of this element.
+ */
+ ColladaDOM141::domFloat3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domFloat3 reference of the _value array.
+ */
+ ColladaDOM141::domFloat3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domFloat3 reference of the _value array.
+ */
+ const ColladaDOM141::domFloat3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domFloat3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat1x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat1x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat1x3 &operator=( const domFloat1x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat1x4;
+
+ typedef daeSmartRef<domFloat1x4> domFloat1x4Ref;
+ typedef daeTArray<domFloat1x4Ref> domFloat1x4_Array;
+
+ class domFloat1x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT1X4; }
+ static daeInt ID() { return 588; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat4 value of the text data of this element.
+ */
+ ColladaDOM141::domFloat4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domFloat4 reference of the _value array.
+ */
+ ColladaDOM141::domFloat4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domFloat4 reference of the _value array.
+ */
+ const ColladaDOM141::domFloat4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domFloat4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat1x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat1x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat1x4 &operator=( const domFloat1x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat2x1;
+
+ typedef daeSmartRef<domFloat2x1> domFloat2x1Ref;
+ typedef daeTArray<domFloat2x1Ref> domFloat2x1_Array;
+
+ class domFloat2x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2X1; }
+ static daeInt ID() { return 589; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat2 value of the text data of this element.
+ */
+ ColladaDOM141::domFloat2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domFloat2 reference of the _value array.
+ */
+ ColladaDOM141::domFloat2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domFloat2 reference of the _value array.
+ */
+ const ColladaDOM141::domFloat2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domFloat2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat2x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat2x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat2x1 &operator=( const domFloat2x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat2x2;
+
+ typedef daeSmartRef<domFloat2x2> domFloat2x2Ref;
+ typedef daeTArray<domFloat2x2Ref> domFloat2x2_Array;
+
+ class domFloat2x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2X2; }
+ static daeInt ID() { return 590; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat2x2 value of the text data of this element.
+ */
+ ColladaDOM141::domFloat2x2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domFloat2x2 reference of the _value array.
+ */
+ ColladaDOM141::domFloat2x2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domFloat2x2 reference of the _value array.
+ */
+ const ColladaDOM141::domFloat2x2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domFloat2x2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat2x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat2x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat2x2 &operator=( const domFloat2x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat2x3;
+
+ typedef daeSmartRef<domFloat2x3> domFloat2x3Ref;
+ typedef daeTArray<domFloat2x3Ref> domFloat2x3_Array;
+
+ class domFloat2x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2X3; }
+ static daeInt ID() { return 591; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat2x3 value of the text data of this element.
+ */
+ ColladaDOM141::domFloat2x3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domFloat2x3 reference of the _value array.
+ */
+ ColladaDOM141::domFloat2x3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domFloat2x3 reference of the _value array.
+ */
+ const ColladaDOM141::domFloat2x3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domFloat2x3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat2x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat2x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat2x3 &operator=( const domFloat2x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat2x4;
+
+ typedef daeSmartRef<domFloat2x4> domFloat2x4Ref;
+ typedef daeTArray<domFloat2x4Ref> domFloat2x4_Array;
+
+ class domFloat2x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2X4; }
+ static daeInt ID() { return 592; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat2x4 value of the text data of this element.
+ */
+ ColladaDOM141::domFloat2x4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domFloat2x4 reference of the _value array.
+ */
+ ColladaDOM141::domFloat2x4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domFloat2x4 reference of the _value array.
+ */
+ const ColladaDOM141::domFloat2x4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domFloat2x4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat2x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat2x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat2x4 &operator=( const domFloat2x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat3x1;
+
+ typedef daeSmartRef<domFloat3x1> domFloat3x1Ref;
+ typedef daeTArray<domFloat3x1Ref> domFloat3x1_Array;
+
+ class domFloat3x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3X1; }
+ static daeInt ID() { return 593; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat3 value of the text data of this element.
+ */
+ ColladaDOM141::domFloat3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domFloat3 reference of the _value array.
+ */
+ ColladaDOM141::domFloat3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domFloat3 reference of the _value array.
+ */
+ const ColladaDOM141::domFloat3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domFloat3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat3x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat3x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat3x1 &operator=( const domFloat3x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat3x2;
+
+ typedef daeSmartRef<domFloat3x2> domFloat3x2Ref;
+ typedef daeTArray<domFloat3x2Ref> domFloat3x2_Array;
+
+ class domFloat3x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3X2; }
+ static daeInt ID() { return 594; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat3x2 value of the text data of this element.
+ */
+ ColladaDOM141::domFloat3x2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domFloat3x2 reference of the _value array.
+ */
+ ColladaDOM141::domFloat3x2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domFloat3x2 reference of the _value array.
+ */
+ const ColladaDOM141::domFloat3x2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domFloat3x2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat3x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat3x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat3x2 &operator=( const domFloat3x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat3x3;
+
+ typedef daeSmartRef<domFloat3x3> domFloat3x3Ref;
+ typedef daeTArray<domFloat3x3Ref> domFloat3x3_Array;
+
+ class domFloat3x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3X3; }
+ static daeInt ID() { return 595; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat3x3 value of the text data of this element.
+ */
+ ColladaDOM141::domFloat3x3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domFloat3x3 reference of the _value array.
+ */
+ ColladaDOM141::domFloat3x3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domFloat3x3 reference of the _value array.
+ */
+ const ColladaDOM141::domFloat3x3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domFloat3x3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat3x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat3x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat3x3 &operator=( const domFloat3x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat3x4;
+
+ typedef daeSmartRef<domFloat3x4> domFloat3x4Ref;
+ typedef daeTArray<domFloat3x4Ref> domFloat3x4_Array;
+
+ class domFloat3x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3X4; }
+ static daeInt ID() { return 596; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat3x4 value of the text data of this element.
+ */
+ ColladaDOM141::domFloat3x4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domFloat3x4 reference of the _value array.
+ */
+ ColladaDOM141::domFloat3x4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domFloat3x4 reference of the _value array.
+ */
+ const ColladaDOM141::domFloat3x4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domFloat3x4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat3x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat3x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat3x4 &operator=( const domFloat3x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat4x1;
+
+ typedef daeSmartRef<domFloat4x1> domFloat4x1Ref;
+ typedef daeTArray<domFloat4x1Ref> domFloat4x1_Array;
+
+ class domFloat4x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4X1; }
+ static daeInt ID() { return 597; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat4 value of the text data of this element.
+ */
+ ColladaDOM141::domFloat4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domFloat4 reference of the _value array.
+ */
+ ColladaDOM141::domFloat4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domFloat4 reference of the _value array.
+ */
+ const ColladaDOM141::domFloat4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domFloat4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat4x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat4x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat4x1 &operator=( const domFloat4x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat4x2;
+
+ typedef daeSmartRef<domFloat4x2> domFloat4x2Ref;
+ typedef daeTArray<domFloat4x2Ref> domFloat4x2_Array;
+
+ class domFloat4x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4X2; }
+ static daeInt ID() { return 598; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat4x2 value of the text data of this element.
+ */
+ ColladaDOM141::domFloat4x2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domFloat4x2 reference of the _value array.
+ */
+ ColladaDOM141::domFloat4x2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domFloat4x2 reference of the _value array.
+ */
+ const ColladaDOM141::domFloat4x2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domFloat4x2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat4x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat4x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat4x2 &operator=( const domFloat4x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat4x3;
+
+ typedef daeSmartRef<domFloat4x3> domFloat4x3Ref;
+ typedef daeTArray<domFloat4x3Ref> domFloat4x3_Array;
+
+ class domFloat4x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4X3; }
+ static daeInt ID() { return 599; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat4x3 value of the text data of this element.
+ */
+ ColladaDOM141::domFloat4x3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domFloat4x3 reference of the _value array.
+ */
+ ColladaDOM141::domFloat4x3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domFloat4x3 reference of the _value array.
+ */
+ const ColladaDOM141::domFloat4x3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domFloat4x3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat4x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat4x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat4x3 &operator=( const domFloat4x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat4x4;
+
+ typedef daeSmartRef<domFloat4x4> domFloat4x4Ref;
+ typedef daeTArray<domFloat4x4Ref> domFloat4x4_Array;
+
+ class domFloat4x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4X4; }
+ static daeInt ID() { return 600; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The ColladaDOM141::domFloat4x4 value of the text data of this element.
+ */
+ ColladaDOM141::domFloat4x4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a ColladaDOM141::domFloat4x4 reference of the _value array.
+ */
+ ColladaDOM141::domFloat4x4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant ColladaDOM141::domFloat4x4 reference of the _value array.
+ */
+ const ColladaDOM141::domFloat4x4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const ColladaDOM141::domFloat4x4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat4x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat4x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat4x4 &operator=( const domFloat4x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domEnum;
+
+ typedef daeSmartRef<domEnum> domEnumRef;
+ typedef daeTArray<domEnumRef> domEnum_Array;
+
+ class domEnum : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ENUM; }
+ static daeInt ID() { return 601; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domGles_enumeration value of the text data of this element.
+ */
+ domGles_enumeration _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domGles_enumeration of the value.
+ */
+ domGles_enumeration getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domGles_enumeration val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domEnum(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domEnum() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domEnum &operator=( const domEnum &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+ domBoolRef elemBool;
+ domBool2Ref elemBool2;
+ domBool3Ref elemBool3;
+ domBool4Ref elemBool4;
+ domIntRef elemInt;
+ domInt2Ref elemInt2;
+ domInt3Ref elemInt3;
+ domInt4Ref elemInt4;
+ domFloatRef elemFloat;
+ domFloat2Ref elemFloat2;
+ domFloat3Ref elemFloat3;
+ domFloat4Ref elemFloat4;
+ domFloat1x1Ref elemFloat1x1;
+ domFloat1x2Ref elemFloat1x2;
+ domFloat1x3Ref elemFloat1x3;
+ domFloat1x4Ref elemFloat1x4;
+ domFloat2x1Ref elemFloat2x1;
+ domFloat2x2Ref elemFloat2x2;
+ domFloat2x3Ref elemFloat2x3;
+ domFloat2x4Ref elemFloat2x4;
+ domFloat3x1Ref elemFloat3x1;
+ domFloat3x2Ref elemFloat3x2;
+ domFloat3x3Ref elemFloat3x3;
+ domFloat3x4Ref elemFloat3x4;
+ domFloat4x1Ref elemFloat4x1;
+ domFloat4x2Ref elemFloat4x2;
+ domFloat4x3Ref elemFloat4x3;
+ domFloat4x4Ref elemFloat4x4;
+ domFx_surface_commonRef elemSurface;
+ domGles_texture_pipelineRef elemTexture_pipeline;
+ domGles_sampler_stateRef elemSampler_state;
+ domGles_texture_unitRef elemTexture_unit;
+ domEnumRef elemEnum;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the bool element.
+ * @return a daeSmartRef to the bool element.
+ */
+ const domBoolRef getBool() const { return elemBool; }
+ /**
+ * Gets the bool2 element.
+ * @return a daeSmartRef to the bool2 element.
+ */
+ const domBool2Ref getBool2() const { return elemBool2; }
+ /**
+ * Gets the bool3 element.
+ * @return a daeSmartRef to the bool3 element.
+ */
+ const domBool3Ref getBool3() const { return elemBool3; }
+ /**
+ * Gets the bool4 element.
+ * @return a daeSmartRef to the bool4 element.
+ */
+ const domBool4Ref getBool4() const { return elemBool4; }
+ /**
+ * Gets the int element.
+ * @return a daeSmartRef to the int element.
+ */
+ const domIntRef getInt() const { return elemInt; }
+ /**
+ * Gets the int2 element.
+ * @return a daeSmartRef to the int2 element.
+ */
+ const domInt2Ref getInt2() const { return elemInt2; }
+ /**
+ * Gets the int3 element.
+ * @return a daeSmartRef to the int3 element.
+ */
+ const domInt3Ref getInt3() const { return elemInt3; }
+ /**
+ * Gets the int4 element.
+ * @return a daeSmartRef to the int4 element.
+ */
+ const domInt4Ref getInt4() const { return elemInt4; }
+ /**
+ * Gets the float element.
+ * @return a daeSmartRef to the float element.
+ */
+ const domFloatRef getFloat() const { return elemFloat; }
+ /**
+ * Gets the float2 element.
+ * @return a daeSmartRef to the float2 element.
+ */
+ const domFloat2Ref getFloat2() const { return elemFloat2; }
+ /**
+ * Gets the float3 element.
+ * @return a daeSmartRef to the float3 element.
+ */
+ const domFloat3Ref getFloat3() const { return elemFloat3; }
+ /**
+ * Gets the float4 element.
+ * @return a daeSmartRef to the float4 element.
+ */
+ const domFloat4Ref getFloat4() const { return elemFloat4; }
+ /**
+ * Gets the float1x1 element.
+ * @return a daeSmartRef to the float1x1 element.
+ */
+ const domFloat1x1Ref getFloat1x1() const { return elemFloat1x1; }
+ /**
+ * Gets the float1x2 element.
+ * @return a daeSmartRef to the float1x2 element.
+ */
+ const domFloat1x2Ref getFloat1x2() const { return elemFloat1x2; }
+ /**
+ * Gets the float1x3 element.
+ * @return a daeSmartRef to the float1x3 element.
+ */
+ const domFloat1x3Ref getFloat1x3() const { return elemFloat1x3; }
+ /**
+ * Gets the float1x4 element.
+ * @return a daeSmartRef to the float1x4 element.
+ */
+ const domFloat1x4Ref getFloat1x4() const { return elemFloat1x4; }
+ /**
+ * Gets the float2x1 element.
+ * @return a daeSmartRef to the float2x1 element.
+ */
+ const domFloat2x1Ref getFloat2x1() const { return elemFloat2x1; }
+ /**
+ * Gets the float2x2 element.
+ * @return a daeSmartRef to the float2x2 element.
+ */
+ const domFloat2x2Ref getFloat2x2() const { return elemFloat2x2; }
+ /**
+ * Gets the float2x3 element.
+ * @return a daeSmartRef to the float2x3 element.
+ */
+ const domFloat2x3Ref getFloat2x3() const { return elemFloat2x3; }
+ /**
+ * Gets the float2x4 element.
+ * @return a daeSmartRef to the float2x4 element.
+ */
+ const domFloat2x4Ref getFloat2x4() const { return elemFloat2x4; }
+ /**
+ * Gets the float3x1 element.
+ * @return a daeSmartRef to the float3x1 element.
+ */
+ const domFloat3x1Ref getFloat3x1() const { return elemFloat3x1; }
+ /**
+ * Gets the float3x2 element.
+ * @return a daeSmartRef to the float3x2 element.
+ */
+ const domFloat3x2Ref getFloat3x2() const { return elemFloat3x2; }
+ /**
+ * Gets the float3x3 element.
+ * @return a daeSmartRef to the float3x3 element.
+ */
+ const domFloat3x3Ref getFloat3x3() const { return elemFloat3x3; }
+ /**
+ * Gets the float3x4 element.
+ * @return a daeSmartRef to the float3x4 element.
+ */
+ const domFloat3x4Ref getFloat3x4() const { return elemFloat3x4; }
+ /**
+ * Gets the float4x1 element.
+ * @return a daeSmartRef to the float4x1 element.
+ */
+ const domFloat4x1Ref getFloat4x1() const { return elemFloat4x1; }
+ /**
+ * Gets the float4x2 element.
+ * @return a daeSmartRef to the float4x2 element.
+ */
+ const domFloat4x2Ref getFloat4x2() const { return elemFloat4x2; }
+ /**
+ * Gets the float4x3 element.
+ * @return a daeSmartRef to the float4x3 element.
+ */
+ const domFloat4x3Ref getFloat4x3() const { return elemFloat4x3; }
+ /**
+ * Gets the float4x4 element.
+ * @return a daeSmartRef to the float4x4 element.
+ */
+ const domFloat4x4Ref getFloat4x4() const { return elemFloat4x4; }
+ /**
+ * Gets the surface element.
+ * @return a daeSmartRef to the surface element.
+ */
+ const domFx_surface_commonRef getSurface() const { return elemSurface; }
+ /**
+ * Gets the texture_pipeline element.
+ * @return a daeSmartRef to the texture_pipeline element.
+ */
+ const domGles_texture_pipelineRef getTexture_pipeline() const { return elemTexture_pipeline; }
+ /**
+ * Gets the sampler_state element.
+ * @return a daeSmartRef to the sampler_state element.
+ */
+ const domGles_sampler_stateRef getSampler_state() const { return elemSampler_state; }
+ /**
+ * Gets the texture_unit element.
+ * @return a daeSmartRef to the texture_unit element.
+ */
+ const domGles_texture_unitRef getTexture_unit() const { return elemTexture_unit; }
+ /**
+ * Gets the enum element.
+ * @return a daeSmartRef to the enum element.
+ */
+ const domEnumRef getEnum() const { return elemEnum; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domGles_basic_type_common(DAE& dae) : daeElement(dae), elemBool(), elemBool2(), elemBool3(), elemBool4(), elemInt(), elemInt2(), elemInt3(), elemInt4(), elemFloat(), elemFloat2(), elemFloat3(), elemFloat4(), elemFloat1x1(), elemFloat1x2(), elemFloat1x3(), elemFloat1x4(), elemFloat2x1(), elemFloat2x2(), elemFloat2x3(), elemFloat2x4(), elemFloat3x1(), elemFloat3x2(), elemFloat3x3(), elemFloat3x4(), elemFloat4x1(), elemFloat4x2(), elemFloat4x3(), elemFloat4x4(), elemSurface(), elemTexture_pipeline(), elemSampler_state(), elemTexture_unit(), elemEnum() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGles_basic_type_common() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGles_basic_type_common &operator=( const domGles_basic_type_common &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domGles_newparam.h b/1.4.0/dom/include/1.4/dom/domGles_newparam.h
new file mode 100644
index 0000000..5433e88
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domGles_newparam.h
@@ -0,0 +1,282 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Gles_newparam_h__
+#define __dom141Gles_newparam_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domGles_basic_type_common.h>
+#include <1.4/dom/domFx_annotate_common.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * Create a new, named param object in the GLES Runtime, assign it a type,
+ * an initial value, and additional attributes at declaration time.
+ */
+class domGles_newparam_complexType
+{
+public:
+ class domSemantic;
+
+ typedef daeSmartRef<domSemantic> domSemanticRef;
+ typedef daeTArray<domSemanticRef> domSemantic_Array;
+
+/**
+ * The semantic element allows you to specify a semantic for this new param.
+ */
+ class domSemantic : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SEMANTIC; }
+ static daeInt ID() { return 165; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsNCName value of the text data of this element.
+ */
+ xsNCName _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsNCName of the value.
+ */
+ xsNCName getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSemantic(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSemantic() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSemantic &operator=( const domSemantic &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domModifier;
+
+ typedef daeSmartRef<domModifier> domModifierRef;
+ typedef daeTArray<domModifierRef> domModifier_Array;
+
+/**
+ * The modifier element allows you to specify a modifier for this new param.
+ */
+ class domModifier : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MODIFIER; }
+ static daeInt ID() { return 166; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_modifier_enum_common value of the text data of this element.
+ */
+ domFx_modifier_enum_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_modifier_enum_common of the value.
+ */
+ domFx_modifier_enum_common getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFx_modifier_enum_common val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domModifier(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domModifier() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domModifier &operator=( const domModifier &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attribute
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element.
+ */
+ xsNCName attrSid;
+
+protected: // Elements
+/**
+ * The annotate element allows you to specify an annotation for this new param.
+ * @see domAnnotate
+ */
+ domFx_annotate_common_Array elemAnnotate_array;
+/**
+ * The semantic element allows you to specify a semantic for this new param.
+ * @see domSemantic
+ */
+ domSemanticRef elemSemantic;
+/**
+ * The modifier element allows you to specify a modifier for this new param.
+ * @see domModifier
+ */
+ domModifierRef elemModifier;
+ domGles_basic_type_commonRef elemGles_basic_type_common;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the annotate element array.
+ * @return Returns a reference to the array of annotate elements.
+ */
+ domFx_annotate_common_Array &getAnnotate_array() { return elemAnnotate_array; }
+ /**
+ * Gets the annotate element array.
+ * @return Returns a constant reference to the array of annotate elements.
+ */
+ const domFx_annotate_common_Array &getAnnotate_array() const { return elemAnnotate_array; }
+ /**
+ * Gets the semantic element.
+ * @return a daeSmartRef to the semantic element.
+ */
+ const domSemanticRef getSemantic() const { return elemSemantic; }
+ /**
+ * Gets the modifier element.
+ * @return a daeSmartRef to the modifier element.
+ */
+ const domModifierRef getModifier() const { return elemModifier; }
+ /**
+ * Gets the gles_basic_type_common element.
+ * @return a daeSmartRef to the gles_basic_type_common element.
+ */
+ const domGles_basic_type_commonRef getGles_basic_type_common() const { return elemGles_basic_type_common; }
+protected:
+ /**
+ * Constructor
+ */
+ domGles_newparam_complexType(DAE& dae, daeElement* elt) : attrSid(), elemAnnotate_array(), elemSemantic(), elemModifier(), elemGles_basic_type_common() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGles_newparam_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGles_newparam_complexType &operator=( const domGles_newparam_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domGles_newparam_complexType.
+ */
+class domGles_newparam : public daeElement, public domGles_newparam_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLES_NEWPARAM; }
+ static daeInt ID() { return 167; }
+ virtual daeInt typeID() const { return ID(); }
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domGles_newparam(DAE& dae) : daeElement(dae), domGles_newparam_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domGles_newparam() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGles_newparam &operator=( const domGles_newparam &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domGles_pipeline_settings.h b/1.4.0/dom/include/1.4/dom/domGles_pipeline_settings.h
new file mode 100644
index 0000000..2ee5d28
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domGles_pipeline_settings.h
@@ -0,0 +1,6313 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Gles_pipeline_settings_h__
+#define __dom141Gles_pipeline_settings_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domGles_texture_pipeline.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * A group that contains the renderstates available for the GLES profile.
+ */
+class domGles_pipeline_settings : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLES_PIPELINE_SETTINGS; }
+ static daeInt ID() { return 488; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domAlpha_func;
+
+ typedef daeSmartRef<domAlpha_func> domAlpha_funcRef;
+ typedef daeTArray<domAlpha_funcRef> domAlpha_func_Array;
+
+ class domAlpha_func : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ALPHA_FUNC; }
+ static daeInt ID() { return 489; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domFunc;
+
+ typedef daeSmartRef<domFunc> domFuncRef;
+ typedef daeTArray<domFuncRef> domFunc_Array;
+
+ class domFunc : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FUNC; }
+ static daeInt ID() { return 490; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_func_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_func_type of the value attribute.
+ */
+ domGl_func_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_func_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFunc(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFunc() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFunc &operator=( const domFunc &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domValue;
+
+ typedef daeSmartRef<domValue> domValueRef;
+ typedef daeTArray<domValueRef> domValue_Array;
+
+ class domValue : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::VALUE; }
+ static daeInt ID() { return 491; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_alpha_value_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_alpha_value_type of the value attribute.
+ */
+ domGl_alpha_value_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_alpha_value_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domValue(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domValue() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domValue &operator=( const domValue &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domFuncRef elemFunc;
+ domValueRef elemValue;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the func element.
+ * @return a daeSmartRef to the func element.
+ */
+ const domFuncRef getFunc() const { return elemFunc; }
+ /**
+ * Gets the value element.
+ * @return a daeSmartRef to the value element.
+ */
+ const domValueRef getValue() const { return elemValue; }
+ protected:
+ /**
+ * Constructor
+ */
+ domAlpha_func(DAE& dae) : daeElement(dae), elemFunc(), elemValue() {}
+ /**
+ * Destructor
+ */
+ virtual ~domAlpha_func() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAlpha_func &operator=( const domAlpha_func &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBlend_func;
+
+ typedef daeSmartRef<domBlend_func> domBlend_funcRef;
+ typedef daeTArray<domBlend_funcRef> domBlend_func_Array;
+
+ class domBlend_func : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BLEND_FUNC; }
+ static daeInt ID() { return 492; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domSrc;
+
+ typedef daeSmartRef<domSrc> domSrcRef;
+ typedef daeTArray<domSrcRef> domSrc_Array;
+
+ class domSrc : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SRC; }
+ static daeInt ID() { return 493; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_blend_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_blend_type of the value attribute.
+ */
+ domGl_blend_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_blend_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSrc(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSrc() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSrc &operator=( const domSrc &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDest;
+
+ typedef daeSmartRef<domDest> domDestRef;
+ typedef daeTArray<domDestRef> domDest_Array;
+
+ class domDest : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DEST; }
+ static daeInt ID() { return 494; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_blend_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_blend_type of the value attribute.
+ */
+ domGl_blend_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_blend_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDest(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDest() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDest &operator=( const domDest &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domSrcRef elemSrc;
+ domDestRef elemDest;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the src element.
+ * @return a daeSmartRef to the src element.
+ */
+ const domSrcRef getSrc() const { return elemSrc; }
+ /**
+ * Gets the dest element.
+ * @return a daeSmartRef to the dest element.
+ */
+ const domDestRef getDest() const { return elemDest; }
+ protected:
+ /**
+ * Constructor
+ */
+ domBlend_func(DAE& dae) : daeElement(dae), elemSrc(), elemDest() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBlend_func() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBlend_func &operator=( const domBlend_func &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domClear_color;
+
+ typedef daeSmartRef<domClear_color> domClear_colorRef;
+ typedef daeTArray<domClear_colorRef> domClear_color_Array;
+
+ class domClear_color : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CLEAR_COLOR; }
+ static daeInt ID() { return 495; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value array attribute.
+ * @return Returns a domFloat4 reference of the value array attribute.
+ */
+ domFloat4 &getValue() { return attrValue; }
+ /**
+ * Gets the value array attribute.
+ * @return Returns a constant domFloat4 reference of the value array attribute.
+ */
+ const domFloat4 &getValue() const { return attrValue; }
+ /**
+ * Sets the value array attribute.
+ * @param atValue The new value for the value array attribute.
+ */
+ void setValue( const domFloat4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domClear_color(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domClear_color() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domClear_color &operator=( const domClear_color &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domClear_stencil;
+
+ typedef daeSmartRef<domClear_stencil> domClear_stencilRef;
+ typedef daeTArray<domClear_stencilRef> domClear_stencil_Array;
+
+ class domClear_stencil : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CLEAR_STENCIL; }
+ static daeInt ID() { return 496; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domInt attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domInt of the value attribute.
+ */
+ domInt getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domInt atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domClear_stencil(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domClear_stencil() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domClear_stencil &operator=( const domClear_stencil &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domClear_depth;
+
+ typedef daeSmartRef<domClear_depth> domClear_depthRef;
+ typedef daeTArray<domClear_depthRef> domClear_depth_Array;
+
+ class domClear_depth : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CLEAR_DEPTH; }
+ static daeInt ID() { return 497; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domClear_depth(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domClear_depth() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domClear_depth &operator=( const domClear_depth &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domClip_plane;
+
+ typedef daeSmartRef<domClip_plane> domClip_planeRef;
+ typedef daeTArray<domClip_planeRef> domClip_plane_Array;
+
+ class domClip_plane : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CLIP_PLANE; }
+ static daeInt ID() { return 498; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool4 attrValue;
+ xsNCName attrParam;
+ domGLES_MAX_CLIP_PLANES_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value array attribute.
+ * @return Returns a domBool4 reference of the value array attribute.
+ */
+ domBool4 &getValue() { return attrValue; }
+ /**
+ * Gets the value array attribute.
+ * @return Returns a constant domBool4 reference of the value array attribute.
+ */
+ const domBool4 &getValue() const { return attrValue; }
+ /**
+ * Sets the value array attribute.
+ * @param atValue The new value for the value array attribute.
+ */
+ void setValue( const domBool4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGLES_MAX_CLIP_PLANES_index of the index attribute.
+ */
+ domGLES_MAX_CLIP_PLANES_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGLES_MAX_CLIP_PLANES_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domClip_plane(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domClip_plane() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domClip_plane &operator=( const domClip_plane &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domColor_mask;
+
+ typedef daeSmartRef<domColor_mask> domColor_maskRef;
+ typedef daeTArray<domColor_maskRef> domColor_mask_Array;
+
+ class domColor_mask : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COLOR_MASK; }
+ static daeInt ID() { return 499; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool4 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value array attribute.
+ * @return Returns a domBool4 reference of the value array attribute.
+ */
+ domBool4 &getValue() { return attrValue; }
+ /**
+ * Gets the value array attribute.
+ * @return Returns a constant domBool4 reference of the value array attribute.
+ */
+ const domBool4 &getValue() const { return attrValue; }
+ /**
+ * Sets the value array attribute.
+ * @param atValue The new value for the value array attribute.
+ */
+ void setValue( const domBool4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domColor_mask(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domColor_mask() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domColor_mask &operator=( const domColor_mask &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domCull_face;
+
+ typedef daeSmartRef<domCull_face> domCull_faceRef;
+ typedef daeTArray<domCull_faceRef> domCull_face_Array;
+
+ class domCull_face : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CULL_FACE; }
+ static daeInt ID() { return 500; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_face_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_face_type of the value attribute.
+ */
+ domGl_face_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_face_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domCull_face(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCull_face() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCull_face &operator=( const domCull_face &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDepth_func;
+
+ typedef daeSmartRef<domDepth_func> domDepth_funcRef;
+ typedef daeTArray<domDepth_funcRef> domDepth_func_Array;
+
+ class domDepth_func : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DEPTH_FUNC; }
+ static daeInt ID() { return 501; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_func_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_func_type of the value attribute.
+ */
+ domGl_func_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_func_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDepth_func(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDepth_func() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDepth_func &operator=( const domDepth_func &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDepth_mask;
+
+ typedef daeSmartRef<domDepth_mask> domDepth_maskRef;
+ typedef daeTArray<domDepth_maskRef> domDepth_mask_Array;
+
+ class domDepth_mask : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DEPTH_MASK; }
+ static daeInt ID() { return 502; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDepth_mask(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDepth_mask() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDepth_mask &operator=( const domDepth_mask &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDepth_range;
+
+ typedef daeSmartRef<domDepth_range> domDepth_rangeRef;
+ typedef daeTArray<domDepth_rangeRef> domDepth_range_Array;
+
+ class domDepth_range : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DEPTH_RANGE; }
+ static daeInt ID() { return 503; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat2 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value array attribute.
+ * @return Returns a domFloat2 reference of the value array attribute.
+ */
+ domFloat2 &getValue() { return attrValue; }
+ /**
+ * Gets the value array attribute.
+ * @return Returns a constant domFloat2 reference of the value array attribute.
+ */
+ const domFloat2 &getValue() const { return attrValue; }
+ /**
+ * Sets the value array attribute.
+ * @param atValue The new value for the value array attribute.
+ */
+ void setValue( const domFloat2 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDepth_range(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDepth_range() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDepth_range &operator=( const domDepth_range &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFog_color;
+
+ typedef daeSmartRef<domFog_color> domFog_colorRef;
+ typedef daeTArray<domFog_colorRef> domFog_color_Array;
+
+ class domFog_color : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FOG_COLOR; }
+ static daeInt ID() { return 504; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value array attribute.
+ * @return Returns a domFloat4 reference of the value array attribute.
+ */
+ domFloat4 &getValue() { return attrValue; }
+ /**
+ * Gets the value array attribute.
+ * @return Returns a constant domFloat4 reference of the value array attribute.
+ */
+ const domFloat4 &getValue() const { return attrValue; }
+ /**
+ * Sets the value array attribute.
+ * @param atValue The new value for the value array attribute.
+ */
+ void setValue( const domFloat4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFog_color(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFog_color() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFog_color &operator=( const domFog_color &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFog_density;
+
+ typedef daeSmartRef<domFog_density> domFog_densityRef;
+ typedef daeTArray<domFog_densityRef> domFog_density_Array;
+
+ class domFog_density : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FOG_DENSITY; }
+ static daeInt ID() { return 505; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFog_density(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFog_density() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFog_density &operator=( const domFog_density &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFog_mode;
+
+ typedef daeSmartRef<domFog_mode> domFog_modeRef;
+ typedef daeTArray<domFog_modeRef> domFog_mode_Array;
+
+ class domFog_mode : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FOG_MODE; }
+ static daeInt ID() { return 506; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_fog_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_fog_type of the value attribute.
+ */
+ domGl_fog_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_fog_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFog_mode(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFog_mode() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFog_mode &operator=( const domFog_mode &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFog_start;
+
+ typedef daeSmartRef<domFog_start> domFog_startRef;
+ typedef daeTArray<domFog_startRef> domFog_start_Array;
+
+ class domFog_start : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FOG_START; }
+ static daeInt ID() { return 507; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFog_start(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFog_start() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFog_start &operator=( const domFog_start &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFog_end;
+
+ typedef daeSmartRef<domFog_end> domFog_endRef;
+ typedef daeTArray<domFog_endRef> domFog_end_Array;
+
+ class domFog_end : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FOG_END; }
+ static daeInt ID() { return 508; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFog_end(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFog_end() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFog_end &operator=( const domFog_end &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFront_face;
+
+ typedef daeSmartRef<domFront_face> domFront_faceRef;
+ typedef daeTArray<domFront_faceRef> domFront_face_Array;
+
+ class domFront_face : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FRONT_FACE; }
+ static daeInt ID() { return 509; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_front_face_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_front_face_type of the value attribute.
+ */
+ domGl_front_face_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_front_face_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFront_face(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFront_face() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFront_face &operator=( const domFront_face &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domTexture_pipeline;
+
+ typedef daeSmartRef<domTexture_pipeline> domTexture_pipelineRef;
+ typedef daeTArray<domTexture_pipelineRef> domTexture_pipeline_Array;
+
+ class domTexture_pipeline : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TEXTURE_PIPELINE; }
+ static daeInt ID() { return 510; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+ xsNCName attrParam;
+
+ protected: // Element
+ domGles_texture_pipelineRef elemValue;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the value element.
+ * @return a daeSmartRef to the value element.
+ */
+ const domGles_texture_pipelineRef getValue() const { return elemValue; }
+ protected:
+ /**
+ * Constructor
+ */
+ domTexture_pipeline(DAE& dae) : daeElement(dae), attrParam(), elemValue() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTexture_pipeline() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTexture_pipeline &operator=( const domTexture_pipeline &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLogic_op;
+
+ typedef daeSmartRef<domLogic_op> domLogic_opRef;
+ typedef daeTArray<domLogic_opRef> domLogic_op_Array;
+
+ class domLogic_op : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LOGIC_OP; }
+ static daeInt ID() { return 511; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_logic_op_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_logic_op_type of the value attribute.
+ */
+ domGl_logic_op_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_logic_op_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLogic_op(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLogic_op() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLogic_op &operator=( const domLogic_op &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_ambient;
+
+ typedef daeSmartRef<domLight_ambient> domLight_ambientRef;
+ typedef daeTArray<domLight_ambientRef> domLight_ambient_Array;
+
+ class domLight_ambient : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_AMBIENT; }
+ static daeInt ID() { return 512; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+ domGLES_MAX_LIGHTS_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value array attribute.
+ * @return Returns a domFloat4 reference of the value array attribute.
+ */
+ domFloat4 &getValue() { return attrValue; }
+ /**
+ * Gets the value array attribute.
+ * @return Returns a constant domFloat4 reference of the value array attribute.
+ */
+ const domFloat4 &getValue() const { return attrValue; }
+ /**
+ * Sets the value array attribute.
+ * @param atValue The new value for the value array attribute.
+ */
+ void setValue( const domFloat4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGLES_MAX_LIGHTS_index of the index attribute.
+ */
+ domGLES_MAX_LIGHTS_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGLES_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_ambient(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_ambient() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_ambient &operator=( const domLight_ambient &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_diffuse;
+
+ typedef daeSmartRef<domLight_diffuse> domLight_diffuseRef;
+ typedef daeTArray<domLight_diffuseRef> domLight_diffuse_Array;
+
+ class domLight_diffuse : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_DIFFUSE; }
+ static daeInt ID() { return 513; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+ domGLES_MAX_LIGHTS_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value array attribute.
+ * @return Returns a domFloat4 reference of the value array attribute.
+ */
+ domFloat4 &getValue() { return attrValue; }
+ /**
+ * Gets the value array attribute.
+ * @return Returns a constant domFloat4 reference of the value array attribute.
+ */
+ const domFloat4 &getValue() const { return attrValue; }
+ /**
+ * Sets the value array attribute.
+ * @param atValue The new value for the value array attribute.
+ */
+ void setValue( const domFloat4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGLES_MAX_LIGHTS_index of the index attribute.
+ */
+ domGLES_MAX_LIGHTS_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGLES_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_diffuse(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_diffuse() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_diffuse &operator=( const domLight_diffuse &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_specular;
+
+ typedef daeSmartRef<domLight_specular> domLight_specularRef;
+ typedef daeTArray<domLight_specularRef> domLight_specular_Array;
+
+ class domLight_specular : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_SPECULAR; }
+ static daeInt ID() { return 514; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+ domGLES_MAX_LIGHTS_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value array attribute.
+ * @return Returns a domFloat4 reference of the value array attribute.
+ */
+ domFloat4 &getValue() { return attrValue; }
+ /**
+ * Gets the value array attribute.
+ * @return Returns a constant domFloat4 reference of the value array attribute.
+ */
+ const domFloat4 &getValue() const { return attrValue; }
+ /**
+ * Sets the value array attribute.
+ * @param atValue The new value for the value array attribute.
+ */
+ void setValue( const domFloat4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGLES_MAX_LIGHTS_index of the index attribute.
+ */
+ domGLES_MAX_LIGHTS_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGLES_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_specular(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_specular() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_specular &operator=( const domLight_specular &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_position;
+
+ typedef daeSmartRef<domLight_position> domLight_positionRef;
+ typedef daeTArray<domLight_positionRef> domLight_position_Array;
+
+ class domLight_position : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_POSITION; }
+ static daeInt ID() { return 515; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+ domGLES_MAX_LIGHTS_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value array attribute.
+ * @return Returns a domFloat4 reference of the value array attribute.
+ */
+ domFloat4 &getValue() { return attrValue; }
+ /**
+ * Gets the value array attribute.
+ * @return Returns a constant domFloat4 reference of the value array attribute.
+ */
+ const domFloat4 &getValue() const { return attrValue; }
+ /**
+ * Sets the value array attribute.
+ * @param atValue The new value for the value array attribute.
+ */
+ void setValue( const domFloat4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGLES_MAX_LIGHTS_index of the index attribute.
+ */
+ domGLES_MAX_LIGHTS_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGLES_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_position(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_position() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_position &operator=( const domLight_position &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_constant_attenuation;
+
+ typedef daeSmartRef<domLight_constant_attenuation> domLight_constant_attenuationRef;
+ typedef daeTArray<domLight_constant_attenuationRef> domLight_constant_attenuation_Array;
+
+ class domLight_constant_attenuation : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_CONSTANT_ATTENUATION; }
+ static daeInt ID() { return 516; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+ domGLES_MAX_LIGHTS_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGLES_MAX_LIGHTS_index of the index attribute.
+ */
+ domGLES_MAX_LIGHTS_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGLES_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_constant_attenuation(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_constant_attenuation() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_constant_attenuation &operator=( const domLight_constant_attenuation &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_linear_attenutation;
+
+ typedef daeSmartRef<domLight_linear_attenutation> domLight_linear_attenutationRef;
+ typedef daeTArray<domLight_linear_attenutationRef> domLight_linear_attenutation_Array;
+
+ class domLight_linear_attenutation : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_LINEAR_ATTENUTATION; }
+ static daeInt ID() { return 517; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+ domGLES_MAX_LIGHTS_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGLES_MAX_LIGHTS_index of the index attribute.
+ */
+ domGLES_MAX_LIGHTS_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGLES_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_linear_attenutation(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_linear_attenutation() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_linear_attenutation &operator=( const domLight_linear_attenutation &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_quadratic_attenuation;
+
+ typedef daeSmartRef<domLight_quadratic_attenuation> domLight_quadratic_attenuationRef;
+ typedef daeTArray<domLight_quadratic_attenuationRef> domLight_quadratic_attenuation_Array;
+
+ class domLight_quadratic_attenuation : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_QUADRATIC_ATTENUATION; }
+ static daeInt ID() { return 518; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+ domGLES_MAX_LIGHTS_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGLES_MAX_LIGHTS_index of the index attribute.
+ */
+ domGLES_MAX_LIGHTS_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGLES_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_quadratic_attenuation(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_quadratic_attenuation() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_quadratic_attenuation &operator=( const domLight_quadratic_attenuation &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_spot_cutoff;
+
+ typedef daeSmartRef<domLight_spot_cutoff> domLight_spot_cutoffRef;
+ typedef daeTArray<domLight_spot_cutoffRef> domLight_spot_cutoff_Array;
+
+ class domLight_spot_cutoff : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_SPOT_CUTOFF; }
+ static daeInt ID() { return 519; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+ domGLES_MAX_LIGHTS_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGLES_MAX_LIGHTS_index of the index attribute.
+ */
+ domGLES_MAX_LIGHTS_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGLES_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_spot_cutoff(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_spot_cutoff() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_spot_cutoff &operator=( const domLight_spot_cutoff &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_spot_direction;
+
+ typedef daeSmartRef<domLight_spot_direction> domLight_spot_directionRef;
+ typedef daeTArray<domLight_spot_directionRef> domLight_spot_direction_Array;
+
+ class domLight_spot_direction : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_SPOT_DIRECTION; }
+ static daeInt ID() { return 520; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat3 attrValue;
+ xsNCName attrParam;
+ domGLES_MAX_LIGHTS_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value array attribute.
+ * @return Returns a domFloat3 reference of the value array attribute.
+ */
+ domFloat3 &getValue() { return attrValue; }
+ /**
+ * Gets the value array attribute.
+ * @return Returns a constant domFloat3 reference of the value array attribute.
+ */
+ const domFloat3 &getValue() const { return attrValue; }
+ /**
+ * Sets the value array attribute.
+ * @param atValue The new value for the value array attribute.
+ */
+ void setValue( const domFloat3 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGLES_MAX_LIGHTS_index of the index attribute.
+ */
+ domGLES_MAX_LIGHTS_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGLES_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_spot_direction(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_spot_direction() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_spot_direction &operator=( const domLight_spot_direction &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_spot_exponent;
+
+ typedef daeSmartRef<domLight_spot_exponent> domLight_spot_exponentRef;
+ typedef daeTArray<domLight_spot_exponentRef> domLight_spot_exponent_Array;
+
+ class domLight_spot_exponent : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_SPOT_EXPONENT; }
+ static daeInt ID() { return 521; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+ domGLES_MAX_LIGHTS_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGLES_MAX_LIGHTS_index of the index attribute.
+ */
+ domGLES_MAX_LIGHTS_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGLES_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_spot_exponent(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_spot_exponent() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_spot_exponent &operator=( const domLight_spot_exponent &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_model_ambient;
+
+ typedef daeSmartRef<domLight_model_ambient> domLight_model_ambientRef;
+ typedef daeTArray<domLight_model_ambientRef> domLight_model_ambient_Array;
+
+ class domLight_model_ambient : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_MODEL_AMBIENT; }
+ static daeInt ID() { return 522; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value array attribute.
+ * @return Returns a domFloat4 reference of the value array attribute.
+ */
+ domFloat4 &getValue() { return attrValue; }
+ /**
+ * Gets the value array attribute.
+ * @return Returns a constant domFloat4 reference of the value array attribute.
+ */
+ const domFloat4 &getValue() const { return attrValue; }
+ /**
+ * Sets the value array attribute.
+ * @param atValue The new value for the value array attribute.
+ */
+ void setValue( const domFloat4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_model_ambient(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_model_ambient() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_model_ambient &operator=( const domLight_model_ambient &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLine_width;
+
+ typedef daeSmartRef<domLine_width> domLine_widthRef;
+ typedef daeTArray<domLine_widthRef> domLine_width_Array;
+
+ class domLine_width : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LINE_WIDTH; }
+ static daeInt ID() { return 523; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLine_width(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLine_width() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLine_width &operator=( const domLine_width &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMaterial_ambient;
+
+ typedef daeSmartRef<domMaterial_ambient> domMaterial_ambientRef;
+ typedef daeTArray<domMaterial_ambientRef> domMaterial_ambient_Array;
+
+ class domMaterial_ambient : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MATERIAL_AMBIENT; }
+ static daeInt ID() { return 524; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value array attribute.
+ * @return Returns a domFloat4 reference of the value array attribute.
+ */
+ domFloat4 &getValue() { return attrValue; }
+ /**
+ * Gets the value array attribute.
+ * @return Returns a constant domFloat4 reference of the value array attribute.
+ */
+ const domFloat4 &getValue() const { return attrValue; }
+ /**
+ * Sets the value array attribute.
+ * @param atValue The new value for the value array attribute.
+ */
+ void setValue( const domFloat4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMaterial_ambient(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMaterial_ambient() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMaterial_ambient &operator=( const domMaterial_ambient &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMaterial_diffuse;
+
+ typedef daeSmartRef<domMaterial_diffuse> domMaterial_diffuseRef;
+ typedef daeTArray<domMaterial_diffuseRef> domMaterial_diffuse_Array;
+
+ class domMaterial_diffuse : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MATERIAL_DIFFUSE; }
+ static daeInt ID() { return 525; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value array attribute.
+ * @return Returns a domFloat4 reference of the value array attribute.
+ */
+ domFloat4 &getValue() { return attrValue; }
+ /**
+ * Gets the value array attribute.
+ * @return Returns a constant domFloat4 reference of the value array attribute.
+ */
+ const domFloat4 &getValue() const { return attrValue; }
+ /**
+ * Sets the value array attribute.
+ * @param atValue The new value for the value array attribute.
+ */
+ void setValue( const domFloat4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMaterial_diffuse(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMaterial_diffuse() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMaterial_diffuse &operator=( const domMaterial_diffuse &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMaterial_emission;
+
+ typedef daeSmartRef<domMaterial_emission> domMaterial_emissionRef;
+ typedef daeTArray<domMaterial_emissionRef> domMaterial_emission_Array;
+
+ class domMaterial_emission : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MATERIAL_EMISSION; }
+ static daeInt ID() { return 526; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value array attribute.
+ * @return Returns a domFloat4 reference of the value array attribute.
+ */
+ domFloat4 &getValue() { return attrValue; }
+ /**
+ * Gets the value array attribute.
+ * @return Returns a constant domFloat4 reference of the value array attribute.
+ */
+ const domFloat4 &getValue() const { return attrValue; }
+ /**
+ * Sets the value array attribute.
+ * @param atValue The new value for the value array attribute.
+ */
+ void setValue( const domFloat4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMaterial_emission(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMaterial_emission() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMaterial_emission &operator=( const domMaterial_emission &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMaterial_shininess;
+
+ typedef daeSmartRef<domMaterial_shininess> domMaterial_shininessRef;
+ typedef daeTArray<domMaterial_shininessRef> domMaterial_shininess_Array;
+
+ class domMaterial_shininess : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MATERIAL_SHININESS; }
+ static daeInt ID() { return 527; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMaterial_shininess(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMaterial_shininess() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMaterial_shininess &operator=( const domMaterial_shininess &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMaterial_specular;
+
+ typedef daeSmartRef<domMaterial_specular> domMaterial_specularRef;
+ typedef daeTArray<domMaterial_specularRef> domMaterial_specular_Array;
+
+ class domMaterial_specular : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MATERIAL_SPECULAR; }
+ static daeInt ID() { return 528; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value array attribute.
+ * @return Returns a domFloat4 reference of the value array attribute.
+ */
+ domFloat4 &getValue() { return attrValue; }
+ /**
+ * Gets the value array attribute.
+ * @return Returns a constant domFloat4 reference of the value array attribute.
+ */
+ const domFloat4 &getValue() const { return attrValue; }
+ /**
+ * Sets the value array attribute.
+ * @param atValue The new value for the value array attribute.
+ */
+ void setValue( const domFloat4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMaterial_specular(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMaterial_specular() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMaterial_specular &operator=( const domMaterial_specular &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domModel_view_matrix;
+
+ typedef daeSmartRef<domModel_view_matrix> domModel_view_matrixRef;
+ typedef daeTArray<domModel_view_matrixRef> domModel_view_matrix_Array;
+
+ class domModel_view_matrix : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MODEL_VIEW_MATRIX; }
+ static daeInt ID() { return 529; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4x4 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value array attribute.
+ * @return Returns a domFloat4x4 reference of the value array attribute.
+ */
+ domFloat4x4 &getValue() { return attrValue; }
+ /**
+ * Gets the value array attribute.
+ * @return Returns a constant domFloat4x4 reference of the value array attribute.
+ */
+ const domFloat4x4 &getValue() const { return attrValue; }
+ /**
+ * Sets the value array attribute.
+ * @param atValue The new value for the value array attribute.
+ */
+ void setValue( const domFloat4x4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domModel_view_matrix(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domModel_view_matrix() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domModel_view_matrix &operator=( const domModel_view_matrix &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPoint_distance_attenuation;
+
+ typedef daeSmartRef<domPoint_distance_attenuation> domPoint_distance_attenuationRef;
+ typedef daeTArray<domPoint_distance_attenuationRef> domPoint_distance_attenuation_Array;
+
+ class domPoint_distance_attenuation : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POINT_DISTANCE_ATTENUATION; }
+ static daeInt ID() { return 530; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat3 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value array attribute.
+ * @return Returns a domFloat3 reference of the value array attribute.
+ */
+ domFloat3 &getValue() { return attrValue; }
+ /**
+ * Gets the value array attribute.
+ * @return Returns a constant domFloat3 reference of the value array attribute.
+ */
+ const domFloat3 &getValue() const { return attrValue; }
+ /**
+ * Sets the value array attribute.
+ * @param atValue The new value for the value array attribute.
+ */
+ void setValue( const domFloat3 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPoint_distance_attenuation(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPoint_distance_attenuation() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPoint_distance_attenuation &operator=( const domPoint_distance_attenuation &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPoint_fade_threshold_size;
+
+ typedef daeSmartRef<domPoint_fade_threshold_size> domPoint_fade_threshold_sizeRef;
+ typedef daeTArray<domPoint_fade_threshold_sizeRef> domPoint_fade_threshold_size_Array;
+
+ class domPoint_fade_threshold_size : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POINT_FADE_THRESHOLD_SIZE; }
+ static daeInt ID() { return 531; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPoint_fade_threshold_size(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPoint_fade_threshold_size() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPoint_fade_threshold_size &operator=( const domPoint_fade_threshold_size &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPoint_size;
+
+ typedef daeSmartRef<domPoint_size> domPoint_sizeRef;
+ typedef daeTArray<domPoint_sizeRef> domPoint_size_Array;
+
+ class domPoint_size : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POINT_SIZE; }
+ static daeInt ID() { return 532; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPoint_size(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPoint_size() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPoint_size &operator=( const domPoint_size &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPoint_size_min;
+
+ typedef daeSmartRef<domPoint_size_min> domPoint_size_minRef;
+ typedef daeTArray<domPoint_size_minRef> domPoint_size_min_Array;
+
+ class domPoint_size_min : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POINT_SIZE_MIN; }
+ static daeInt ID() { return 533; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPoint_size_min(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPoint_size_min() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPoint_size_min &operator=( const domPoint_size_min &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPoint_size_max;
+
+ typedef daeSmartRef<domPoint_size_max> domPoint_size_maxRef;
+ typedef daeTArray<domPoint_size_maxRef> domPoint_size_max_Array;
+
+ class domPoint_size_max : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POINT_SIZE_MAX; }
+ static daeInt ID() { return 534; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPoint_size_max(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPoint_size_max() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPoint_size_max &operator=( const domPoint_size_max &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPolygon_offset;
+
+ typedef daeSmartRef<domPolygon_offset> domPolygon_offsetRef;
+ typedef daeTArray<domPolygon_offsetRef> domPolygon_offset_Array;
+
+ class domPolygon_offset : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POLYGON_OFFSET; }
+ static daeInt ID() { return 535; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat2 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value array attribute.
+ * @return Returns a domFloat2 reference of the value array attribute.
+ */
+ domFloat2 &getValue() { return attrValue; }
+ /**
+ * Gets the value array attribute.
+ * @return Returns a constant domFloat2 reference of the value array attribute.
+ */
+ const domFloat2 &getValue() const { return attrValue; }
+ /**
+ * Sets the value array attribute.
+ * @param atValue The new value for the value array attribute.
+ */
+ void setValue( const domFloat2 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPolygon_offset(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPolygon_offset() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPolygon_offset &operator=( const domPolygon_offset &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domProjection_matrix;
+
+ typedef daeSmartRef<domProjection_matrix> domProjection_matrixRef;
+ typedef daeTArray<domProjection_matrixRef> domProjection_matrix_Array;
+
+ class domProjection_matrix : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PROJECTION_MATRIX; }
+ static daeInt ID() { return 536; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4x4 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value array attribute.
+ * @return Returns a domFloat4x4 reference of the value array attribute.
+ */
+ domFloat4x4 &getValue() { return attrValue; }
+ /**
+ * Gets the value array attribute.
+ * @return Returns a constant domFloat4x4 reference of the value array attribute.
+ */
+ const domFloat4x4 &getValue() const { return attrValue; }
+ /**
+ * Sets the value array attribute.
+ * @param atValue The new value for the value array attribute.
+ */
+ void setValue( const domFloat4x4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domProjection_matrix(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domProjection_matrix() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domProjection_matrix &operator=( const domProjection_matrix &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domScissor;
+
+ typedef daeSmartRef<domScissor> domScissorRef;
+ typedef daeTArray<domScissorRef> domScissor_Array;
+
+ class domScissor : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SCISSOR; }
+ static daeInt ID() { return 537; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domInt4 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value array attribute.
+ * @return Returns a domInt4 reference of the value array attribute.
+ */
+ domInt4 &getValue() { return attrValue; }
+ /**
+ * Gets the value array attribute.
+ * @return Returns a constant domInt4 reference of the value array attribute.
+ */
+ const domInt4 &getValue() const { return attrValue; }
+ /**
+ * Sets the value array attribute.
+ * @param atValue The new value for the value array attribute.
+ */
+ void setValue( const domInt4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domScissor(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domScissor() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domScissor &operator=( const domScissor &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domShade_model;
+
+ typedef daeSmartRef<domShade_model> domShade_modelRef;
+ typedef daeTArray<domShade_modelRef> domShade_model_Array;
+
+ class domShade_model : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SHADE_MODEL; }
+ static daeInt ID() { return 538; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_shade_model_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_shade_model_type of the value attribute.
+ */
+ domGl_shade_model_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_shade_model_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domShade_model(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domShade_model() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domShade_model &operator=( const domShade_model &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domStencil_func;
+
+ typedef daeSmartRef<domStencil_func> domStencil_funcRef;
+ typedef daeTArray<domStencil_funcRef> domStencil_func_Array;
+
+ class domStencil_func : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::STENCIL_FUNC; }
+ static daeInt ID() { return 539; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domFunc;
+
+ typedef daeSmartRef<domFunc> domFuncRef;
+ typedef daeTArray<domFuncRef> domFunc_Array;
+
+ class domFunc : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FUNC; }
+ static daeInt ID() { return 540; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_func_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_func_type of the value attribute.
+ */
+ domGl_func_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_func_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFunc(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFunc() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFunc &operator=( const domFunc &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domRef;
+
+ typedef daeSmartRef<domRef> domRefRef;
+ typedef daeTArray<domRefRef> domRef_Array;
+
+ class domRef : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::REF; }
+ static daeInt ID() { return 541; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsUnsignedByte attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsUnsignedByte of the value attribute.
+ */
+ xsUnsignedByte getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsUnsignedByte atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domRef(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domRef() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRef &operator=( const domRef &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMask;
+
+ typedef daeSmartRef<domMask> domMaskRef;
+ typedef daeTArray<domMaskRef> domMask_Array;
+
+ class domMask : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MASK; }
+ static daeInt ID() { return 542; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsUnsignedByte attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsUnsignedByte of the value attribute.
+ */
+ xsUnsignedByte getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsUnsignedByte atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMask(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMask() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMask &operator=( const domMask &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domFuncRef elemFunc;
+ domRefRef elemRef;
+ domMaskRef elemMask;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the func element.
+ * @return a daeSmartRef to the func element.
+ */
+ const domFuncRef getFunc() const { return elemFunc; }
+ /**
+ * Gets the ref element.
+ * @return a daeSmartRef to the ref element.
+ */
+ const domRefRef getRef() const { return elemRef; }
+ /**
+ * Gets the mask element.
+ * @return a daeSmartRef to the mask element.
+ */
+ const domMaskRef getMask() const { return elemMask; }
+ protected:
+ /**
+ * Constructor
+ */
+ domStencil_func(DAE& dae) : daeElement(dae), elemFunc(), elemRef(), elemMask() {}
+ /**
+ * Destructor
+ */
+ virtual ~domStencil_func() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domStencil_func &operator=( const domStencil_func &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domStencil_mask;
+
+ typedef daeSmartRef<domStencil_mask> domStencil_maskRef;
+ typedef daeTArray<domStencil_maskRef> domStencil_mask_Array;
+
+ class domStencil_mask : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::STENCIL_MASK; }
+ static daeInt ID() { return 543; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domInt attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domInt of the value attribute.
+ */
+ domInt getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domInt atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domStencil_mask(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domStencil_mask() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domStencil_mask &operator=( const domStencil_mask &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domStencil_op;
+
+ typedef daeSmartRef<domStencil_op> domStencil_opRef;
+ typedef daeTArray<domStencil_opRef> domStencil_op_Array;
+
+ class domStencil_op : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::STENCIL_OP; }
+ static daeInt ID() { return 544; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domFail;
+
+ typedef daeSmartRef<domFail> domFailRef;
+ typedef daeTArray<domFailRef> domFail_Array;
+
+ class domFail : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FAIL; }
+ static daeInt ID() { return 545; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGles_stencil_op_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGles_stencil_op_type of the value attribute.
+ */
+ domGles_stencil_op_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGles_stencil_op_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFail(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFail() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFail &operator=( const domFail &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domZfail;
+
+ typedef daeSmartRef<domZfail> domZfailRef;
+ typedef daeTArray<domZfailRef> domZfail_Array;
+
+ class domZfail : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ZFAIL; }
+ static daeInt ID() { return 546; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGles_stencil_op_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGles_stencil_op_type of the value attribute.
+ */
+ domGles_stencil_op_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGles_stencil_op_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domZfail(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domZfail() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domZfail &operator=( const domZfail &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domZpass;
+
+ typedef daeSmartRef<domZpass> domZpassRef;
+ typedef daeTArray<domZpassRef> domZpass_Array;
+
+ class domZpass : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ZPASS; }
+ static daeInt ID() { return 547; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGles_stencil_op_type attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGles_stencil_op_type of the value attribute.
+ */
+ domGles_stencil_op_type getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGles_stencil_op_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domZpass(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domZpass() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domZpass &operator=( const domZpass &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domFailRef elemFail;
+ domZfailRef elemZfail;
+ domZpassRef elemZpass;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the fail element.
+ * @return a daeSmartRef to the fail element.
+ */
+ const domFailRef getFail() const { return elemFail; }
+ /**
+ * Gets the zfail element.
+ * @return a daeSmartRef to the zfail element.
+ */
+ const domZfailRef getZfail() const { return elemZfail; }
+ /**
+ * Gets the zpass element.
+ * @return a daeSmartRef to the zpass element.
+ */
+ const domZpassRef getZpass() const { return elemZpass; }
+ protected:
+ /**
+ * Constructor
+ */
+ domStencil_op(DAE& dae) : daeElement(dae), elemFail(), elemZfail(), elemZpass() {}
+ /**
+ * Destructor
+ */
+ virtual ~domStencil_op() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domStencil_op &operator=( const domStencil_op &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domAlpha_test_enable;
+
+ typedef daeSmartRef<domAlpha_test_enable> domAlpha_test_enableRef;
+ typedef daeTArray<domAlpha_test_enableRef> domAlpha_test_enable_Array;
+
+ class domAlpha_test_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ALPHA_TEST_ENABLE; }
+ static daeInt ID() { return 548; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domAlpha_test_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domAlpha_test_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAlpha_test_enable &operator=( const domAlpha_test_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBlend_enable;
+
+ typedef daeSmartRef<domBlend_enable> domBlend_enableRef;
+ typedef daeTArray<domBlend_enableRef> domBlend_enable_Array;
+
+ class domBlend_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BLEND_ENABLE; }
+ static daeInt ID() { return 549; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBlend_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBlend_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBlend_enable &operator=( const domBlend_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domClip_plane_enable;
+
+ typedef daeSmartRef<domClip_plane_enable> domClip_plane_enableRef;
+ typedef daeTArray<domClip_plane_enableRef> domClip_plane_enable_Array;
+
+ class domClip_plane_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CLIP_PLANE_ENABLE; }
+ static daeInt ID() { return 550; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+ domGLES_MAX_CLIP_PLANES_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGLES_MAX_CLIP_PLANES_index of the index attribute.
+ */
+ domGLES_MAX_CLIP_PLANES_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGLES_MAX_CLIP_PLANES_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domClip_plane_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domClip_plane_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domClip_plane_enable &operator=( const domClip_plane_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domColor_logic_op_enable;
+
+ typedef daeSmartRef<domColor_logic_op_enable> domColor_logic_op_enableRef;
+ typedef daeTArray<domColor_logic_op_enableRef> domColor_logic_op_enable_Array;
+
+ class domColor_logic_op_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COLOR_LOGIC_OP_ENABLE; }
+ static daeInt ID() { return 551; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domColor_logic_op_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domColor_logic_op_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domColor_logic_op_enable &operator=( const domColor_logic_op_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domColor_material_enable;
+
+ typedef daeSmartRef<domColor_material_enable> domColor_material_enableRef;
+ typedef daeTArray<domColor_material_enableRef> domColor_material_enable_Array;
+
+ class domColor_material_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COLOR_MATERIAL_ENABLE; }
+ static daeInt ID() { return 552; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domColor_material_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domColor_material_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domColor_material_enable &operator=( const domColor_material_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domCull_face_enable;
+
+ typedef daeSmartRef<domCull_face_enable> domCull_face_enableRef;
+ typedef daeTArray<domCull_face_enableRef> domCull_face_enable_Array;
+
+ class domCull_face_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CULL_FACE_ENABLE; }
+ static daeInt ID() { return 553; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domCull_face_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCull_face_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCull_face_enable &operator=( const domCull_face_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDepth_test_enable;
+
+ typedef daeSmartRef<domDepth_test_enable> domDepth_test_enableRef;
+ typedef daeTArray<domDepth_test_enableRef> domDepth_test_enable_Array;
+
+ class domDepth_test_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DEPTH_TEST_ENABLE; }
+ static daeInt ID() { return 554; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDepth_test_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDepth_test_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDepth_test_enable &operator=( const domDepth_test_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDither_enable;
+
+ typedef daeSmartRef<domDither_enable> domDither_enableRef;
+ typedef daeTArray<domDither_enableRef> domDither_enable_Array;
+
+ class domDither_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DITHER_ENABLE; }
+ static daeInt ID() { return 555; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDither_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDither_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDither_enable &operator=( const domDither_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFog_enable;
+
+ typedef daeSmartRef<domFog_enable> domFog_enableRef;
+ typedef daeTArray<domFog_enableRef> domFog_enable_Array;
+
+ class domFog_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FOG_ENABLE; }
+ static daeInt ID() { return 556; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFog_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFog_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFog_enable &operator=( const domFog_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domTexture_pipeline_enable;
+
+ typedef daeSmartRef<domTexture_pipeline_enable> domTexture_pipeline_enableRef;
+ typedef daeTArray<domTexture_pipeline_enableRef> domTexture_pipeline_enable_Array;
+
+ class domTexture_pipeline_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TEXTURE_PIPELINE_ENABLE; }
+ static daeInt ID() { return 557; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTexture_pipeline_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTexture_pipeline_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTexture_pipeline_enable &operator=( const domTexture_pipeline_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_enable;
+
+ typedef daeSmartRef<domLight_enable> domLight_enableRef;
+ typedef daeTArray<domLight_enableRef> domLight_enable_Array;
+
+ class domLight_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_ENABLE; }
+ static daeInt ID() { return 558; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+ domGLES_MAX_LIGHTS_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGLES_MAX_LIGHTS_index of the index attribute.
+ */
+ domGLES_MAX_LIGHTS_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGLES_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_enable &operator=( const domLight_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLighting_enable;
+
+ typedef daeSmartRef<domLighting_enable> domLighting_enableRef;
+ typedef daeTArray<domLighting_enableRef> domLighting_enable_Array;
+
+ class domLighting_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHTING_ENABLE; }
+ static daeInt ID() { return 559; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLighting_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLighting_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLighting_enable &operator=( const domLighting_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_model_two_side_enable;
+
+ typedef daeSmartRef<domLight_model_two_side_enable> domLight_model_two_side_enableRef;
+ typedef daeTArray<domLight_model_two_side_enableRef> domLight_model_two_side_enable_Array;
+
+ class domLight_model_two_side_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_MODEL_TWO_SIDE_ENABLE; }
+ static daeInt ID() { return 560; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_model_two_side_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_model_two_side_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_model_two_side_enable &operator=( const domLight_model_two_side_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLine_smooth_enable;
+
+ typedef daeSmartRef<domLine_smooth_enable> domLine_smooth_enableRef;
+ typedef daeTArray<domLine_smooth_enableRef> domLine_smooth_enable_Array;
+
+ class domLine_smooth_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LINE_SMOOTH_ENABLE; }
+ static daeInt ID() { return 561; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLine_smooth_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLine_smooth_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLine_smooth_enable &operator=( const domLine_smooth_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMultisample_enable;
+
+ typedef daeSmartRef<domMultisample_enable> domMultisample_enableRef;
+ typedef daeTArray<domMultisample_enableRef> domMultisample_enable_Array;
+
+ class domMultisample_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MULTISAMPLE_ENABLE; }
+ static daeInt ID() { return 562; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMultisample_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMultisample_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMultisample_enable &operator=( const domMultisample_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domNormalize_enable;
+
+ typedef daeSmartRef<domNormalize_enable> domNormalize_enableRef;
+ typedef daeTArray<domNormalize_enableRef> domNormalize_enable_Array;
+
+ class domNormalize_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::NORMALIZE_ENABLE; }
+ static daeInt ID() { return 563; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domNormalize_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domNormalize_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domNormalize_enable &operator=( const domNormalize_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPoint_smooth_enable;
+
+ typedef daeSmartRef<domPoint_smooth_enable> domPoint_smooth_enableRef;
+ typedef daeTArray<domPoint_smooth_enableRef> domPoint_smooth_enable_Array;
+
+ class domPoint_smooth_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POINT_SMOOTH_ENABLE; }
+ static daeInt ID() { return 564; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPoint_smooth_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPoint_smooth_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPoint_smooth_enable &operator=( const domPoint_smooth_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPolygon_offset_fill_enable;
+
+ typedef daeSmartRef<domPolygon_offset_fill_enable> domPolygon_offset_fill_enableRef;
+ typedef daeTArray<domPolygon_offset_fill_enableRef> domPolygon_offset_fill_enable_Array;
+
+ class domPolygon_offset_fill_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POLYGON_OFFSET_FILL_ENABLE; }
+ static daeInt ID() { return 565; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPolygon_offset_fill_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPolygon_offset_fill_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPolygon_offset_fill_enable &operator=( const domPolygon_offset_fill_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domRescale_normal_enable;
+
+ typedef daeSmartRef<domRescale_normal_enable> domRescale_normal_enableRef;
+ typedef daeTArray<domRescale_normal_enableRef> domRescale_normal_enable_Array;
+
+ class domRescale_normal_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::RESCALE_NORMAL_ENABLE; }
+ static daeInt ID() { return 566; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domRescale_normal_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domRescale_normal_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRescale_normal_enable &operator=( const domRescale_normal_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domSample_alpha_to_coverage_enable;
+
+ typedef daeSmartRef<domSample_alpha_to_coverage_enable> domSample_alpha_to_coverage_enableRef;
+ typedef daeTArray<domSample_alpha_to_coverage_enableRef> domSample_alpha_to_coverage_enable_Array;
+
+ class domSample_alpha_to_coverage_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SAMPLE_ALPHA_TO_COVERAGE_ENABLE; }
+ static daeInt ID() { return 567; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSample_alpha_to_coverage_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSample_alpha_to_coverage_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSample_alpha_to_coverage_enable &operator=( const domSample_alpha_to_coverage_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domSample_alpha_to_one_enable;
+
+ typedef daeSmartRef<domSample_alpha_to_one_enable> domSample_alpha_to_one_enableRef;
+ typedef daeTArray<domSample_alpha_to_one_enableRef> domSample_alpha_to_one_enable_Array;
+
+ class domSample_alpha_to_one_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SAMPLE_ALPHA_TO_ONE_ENABLE; }
+ static daeInt ID() { return 568; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSample_alpha_to_one_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSample_alpha_to_one_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSample_alpha_to_one_enable &operator=( const domSample_alpha_to_one_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domSample_coverage_enable;
+
+ typedef daeSmartRef<domSample_coverage_enable> domSample_coverage_enableRef;
+ typedef daeTArray<domSample_coverage_enableRef> domSample_coverage_enable_Array;
+
+ class domSample_coverage_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SAMPLE_COVERAGE_ENABLE; }
+ static daeInt ID() { return 569; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSample_coverage_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSample_coverage_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSample_coverage_enable &operator=( const domSample_coverage_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domScissor_test_enable;
+
+ typedef daeSmartRef<domScissor_test_enable> domScissor_test_enableRef;
+ typedef daeTArray<domScissor_test_enableRef> domScissor_test_enable_Array;
+
+ class domScissor_test_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SCISSOR_TEST_ENABLE; }
+ static daeInt ID() { return 570; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domScissor_test_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domScissor_test_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domScissor_test_enable &operator=( const domScissor_test_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domStencil_test_enable;
+
+ typedef daeSmartRef<domStencil_test_enable> domStencil_test_enableRef;
+ typedef daeTArray<domStencil_test_enableRef> domStencil_test_enable_Array;
+
+ class domStencil_test_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::STENCIL_TEST_ENABLE; }
+ static daeInt ID() { return 571; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool of the value attribute.
+ */
+ domBool getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domStencil_test_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domStencil_test_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domStencil_test_enable &operator=( const domStencil_test_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+ domAlpha_funcRef elemAlpha_func;
+ domBlend_funcRef elemBlend_func;
+ domClear_colorRef elemClear_color;
+ domClear_stencilRef elemClear_stencil;
+ domClear_depthRef elemClear_depth;
+ domClip_planeRef elemClip_plane;
+ domColor_maskRef elemColor_mask;
+ domCull_faceRef elemCull_face;
+ domDepth_funcRef elemDepth_func;
+ domDepth_maskRef elemDepth_mask;
+ domDepth_rangeRef elemDepth_range;
+ domFog_colorRef elemFog_color;
+ domFog_densityRef elemFog_density;
+ domFog_modeRef elemFog_mode;
+ domFog_startRef elemFog_start;
+ domFog_endRef elemFog_end;
+ domFront_faceRef elemFront_face;
+ domTexture_pipelineRef elemTexture_pipeline;
+ domLogic_opRef elemLogic_op;
+ domLight_ambientRef elemLight_ambient;
+ domLight_diffuseRef elemLight_diffuse;
+ domLight_specularRef elemLight_specular;
+ domLight_positionRef elemLight_position;
+ domLight_constant_attenuationRef elemLight_constant_attenuation;
+ domLight_linear_attenutationRef elemLight_linear_attenutation;
+ domLight_quadratic_attenuationRef elemLight_quadratic_attenuation;
+ domLight_spot_cutoffRef elemLight_spot_cutoff;
+ domLight_spot_directionRef elemLight_spot_direction;
+ domLight_spot_exponentRef elemLight_spot_exponent;
+ domLight_model_ambientRef elemLight_model_ambient;
+ domLine_widthRef elemLine_width;
+ domMaterial_ambientRef elemMaterial_ambient;
+ domMaterial_diffuseRef elemMaterial_diffuse;
+ domMaterial_emissionRef elemMaterial_emission;
+ domMaterial_shininessRef elemMaterial_shininess;
+ domMaterial_specularRef elemMaterial_specular;
+ domModel_view_matrixRef elemModel_view_matrix;
+ domPoint_distance_attenuationRef elemPoint_distance_attenuation;
+ domPoint_fade_threshold_sizeRef elemPoint_fade_threshold_size;
+ domPoint_sizeRef elemPoint_size;
+ domPoint_size_minRef elemPoint_size_min;
+ domPoint_size_maxRef elemPoint_size_max;
+ domPolygon_offsetRef elemPolygon_offset;
+ domProjection_matrixRef elemProjection_matrix;
+ domScissorRef elemScissor;
+ domShade_modelRef elemShade_model;
+ domStencil_funcRef elemStencil_func;
+ domStencil_maskRef elemStencil_mask;
+ domStencil_opRef elemStencil_op;
+ domAlpha_test_enableRef elemAlpha_test_enable;
+ domBlend_enableRef elemBlend_enable;
+ domClip_plane_enableRef elemClip_plane_enable;
+ domColor_logic_op_enableRef elemColor_logic_op_enable;
+ domColor_material_enableRef elemColor_material_enable;
+ domCull_face_enableRef elemCull_face_enable;
+ domDepth_test_enableRef elemDepth_test_enable;
+ domDither_enableRef elemDither_enable;
+ domFog_enableRef elemFog_enable;
+ domTexture_pipeline_enableRef elemTexture_pipeline_enable;
+ domLight_enableRef elemLight_enable;
+ domLighting_enableRef elemLighting_enable;
+ domLight_model_two_side_enableRef elemLight_model_two_side_enable;
+ domLine_smooth_enableRef elemLine_smooth_enable;
+ domMultisample_enableRef elemMultisample_enable;
+ domNormalize_enableRef elemNormalize_enable;
+ domPoint_smooth_enableRef elemPoint_smooth_enable;
+ domPolygon_offset_fill_enableRef elemPolygon_offset_fill_enable;
+ domRescale_normal_enableRef elemRescale_normal_enable;
+ domSample_alpha_to_coverage_enableRef elemSample_alpha_to_coverage_enable;
+ domSample_alpha_to_one_enableRef elemSample_alpha_to_one_enable;
+ domSample_coverage_enableRef elemSample_coverage_enable;
+ domScissor_test_enableRef elemScissor_test_enable;
+ domStencil_test_enableRef elemStencil_test_enable;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the alpha_func element.
+ * @return a daeSmartRef to the alpha_func element.
+ */
+ const domAlpha_funcRef getAlpha_func() const { return elemAlpha_func; }
+ /**
+ * Gets the blend_func element.
+ * @return a daeSmartRef to the blend_func element.
+ */
+ const domBlend_funcRef getBlend_func() const { return elemBlend_func; }
+ /**
+ * Gets the clear_color element.
+ * @return a daeSmartRef to the clear_color element.
+ */
+ const domClear_colorRef getClear_color() const { return elemClear_color; }
+ /**
+ * Gets the clear_stencil element.
+ * @return a daeSmartRef to the clear_stencil element.
+ */
+ const domClear_stencilRef getClear_stencil() const { return elemClear_stencil; }
+ /**
+ * Gets the clear_depth element.
+ * @return a daeSmartRef to the clear_depth element.
+ */
+ const domClear_depthRef getClear_depth() const { return elemClear_depth; }
+ /**
+ * Gets the clip_plane element.
+ * @return a daeSmartRef to the clip_plane element.
+ */
+ const domClip_planeRef getClip_plane() const { return elemClip_plane; }
+ /**
+ * Gets the color_mask element.
+ * @return a daeSmartRef to the color_mask element.
+ */
+ const domColor_maskRef getColor_mask() const { return elemColor_mask; }
+ /**
+ * Gets the cull_face element.
+ * @return a daeSmartRef to the cull_face element.
+ */
+ const domCull_faceRef getCull_face() const { return elemCull_face; }
+ /**
+ * Gets the depth_func element.
+ * @return a daeSmartRef to the depth_func element.
+ */
+ const domDepth_funcRef getDepth_func() const { return elemDepth_func; }
+ /**
+ * Gets the depth_mask element.
+ * @return a daeSmartRef to the depth_mask element.
+ */
+ const domDepth_maskRef getDepth_mask() const { return elemDepth_mask; }
+ /**
+ * Gets the depth_range element.
+ * @return a daeSmartRef to the depth_range element.
+ */
+ const domDepth_rangeRef getDepth_range() const { return elemDepth_range; }
+ /**
+ * Gets the fog_color element.
+ * @return a daeSmartRef to the fog_color element.
+ */
+ const domFog_colorRef getFog_color() const { return elemFog_color; }
+ /**
+ * Gets the fog_density element.
+ * @return a daeSmartRef to the fog_density element.
+ */
+ const domFog_densityRef getFog_density() const { return elemFog_density; }
+ /**
+ * Gets the fog_mode element.
+ * @return a daeSmartRef to the fog_mode element.
+ */
+ const domFog_modeRef getFog_mode() const { return elemFog_mode; }
+ /**
+ * Gets the fog_start element.
+ * @return a daeSmartRef to the fog_start element.
+ */
+ const domFog_startRef getFog_start() const { return elemFog_start; }
+ /**
+ * Gets the fog_end element.
+ * @return a daeSmartRef to the fog_end element.
+ */
+ const domFog_endRef getFog_end() const { return elemFog_end; }
+ /**
+ * Gets the front_face element.
+ * @return a daeSmartRef to the front_face element.
+ */
+ const domFront_faceRef getFront_face() const { return elemFront_face; }
+ /**
+ * Gets the texture_pipeline element.
+ * @return a daeSmartRef to the texture_pipeline element.
+ */
+ const domTexture_pipelineRef getTexture_pipeline() const { return elemTexture_pipeline; }
+ /**
+ * Gets the logic_op element.
+ * @return a daeSmartRef to the logic_op element.
+ */
+ const domLogic_opRef getLogic_op() const { return elemLogic_op; }
+ /**
+ * Gets the light_ambient element.
+ * @return a daeSmartRef to the light_ambient element.
+ */
+ const domLight_ambientRef getLight_ambient() const { return elemLight_ambient; }
+ /**
+ * Gets the light_diffuse element.
+ * @return a daeSmartRef to the light_diffuse element.
+ */
+ const domLight_diffuseRef getLight_diffuse() const { return elemLight_diffuse; }
+ /**
+ * Gets the light_specular element.
+ * @return a daeSmartRef to the light_specular element.
+ */
+ const domLight_specularRef getLight_specular() const { return elemLight_specular; }
+ /**
+ * Gets the light_position element.
+ * @return a daeSmartRef to the light_position element.
+ */
+ const domLight_positionRef getLight_position() const { return elemLight_position; }
+ /**
+ * Gets the light_constant_attenuation element.
+ * @return a daeSmartRef to the light_constant_attenuation element.
+ */
+ const domLight_constant_attenuationRef getLight_constant_attenuation() const { return elemLight_constant_attenuation; }
+ /**
+ * Gets the light_linear_attenutation element.
+ * @return a daeSmartRef to the light_linear_attenutation element.
+ */
+ const domLight_linear_attenutationRef getLight_linear_attenutation() const { return elemLight_linear_attenutation; }
+ /**
+ * Gets the light_quadratic_attenuation element.
+ * @return a daeSmartRef to the light_quadratic_attenuation element.
+ */
+ const domLight_quadratic_attenuationRef getLight_quadratic_attenuation() const { return elemLight_quadratic_attenuation; }
+ /**
+ * Gets the light_spot_cutoff element.
+ * @return a daeSmartRef to the light_spot_cutoff element.
+ */
+ const domLight_spot_cutoffRef getLight_spot_cutoff() const { return elemLight_spot_cutoff; }
+ /**
+ * Gets the light_spot_direction element.
+ * @return a daeSmartRef to the light_spot_direction element.
+ */
+ const domLight_spot_directionRef getLight_spot_direction() const { return elemLight_spot_direction; }
+ /**
+ * Gets the light_spot_exponent element.
+ * @return a daeSmartRef to the light_spot_exponent element.
+ */
+ const domLight_spot_exponentRef getLight_spot_exponent() const { return elemLight_spot_exponent; }
+ /**
+ * Gets the light_model_ambient element.
+ * @return a daeSmartRef to the light_model_ambient element.
+ */
+ const domLight_model_ambientRef getLight_model_ambient() const { return elemLight_model_ambient; }
+ /**
+ * Gets the line_width element.
+ * @return a daeSmartRef to the line_width element.
+ */
+ const domLine_widthRef getLine_width() const { return elemLine_width; }
+ /**
+ * Gets the material_ambient element.
+ * @return a daeSmartRef to the material_ambient element.
+ */
+ const domMaterial_ambientRef getMaterial_ambient() const { return elemMaterial_ambient; }
+ /**
+ * Gets the material_diffuse element.
+ * @return a daeSmartRef to the material_diffuse element.
+ */
+ const domMaterial_diffuseRef getMaterial_diffuse() const { return elemMaterial_diffuse; }
+ /**
+ * Gets the material_emission element.
+ * @return a daeSmartRef to the material_emission element.
+ */
+ const domMaterial_emissionRef getMaterial_emission() const { return elemMaterial_emission; }
+ /**
+ * Gets the material_shininess element.
+ * @return a daeSmartRef to the material_shininess element.
+ */
+ const domMaterial_shininessRef getMaterial_shininess() const { return elemMaterial_shininess; }
+ /**
+ * Gets the material_specular element.
+ * @return a daeSmartRef to the material_specular element.
+ */
+ const domMaterial_specularRef getMaterial_specular() const { return elemMaterial_specular; }
+ /**
+ * Gets the model_view_matrix element.
+ * @return a daeSmartRef to the model_view_matrix element.
+ */
+ const domModel_view_matrixRef getModel_view_matrix() const { return elemModel_view_matrix; }
+ /**
+ * Gets the point_distance_attenuation element.
+ * @return a daeSmartRef to the point_distance_attenuation element.
+ */
+ const domPoint_distance_attenuationRef getPoint_distance_attenuation() const { return elemPoint_distance_attenuation; }
+ /**
+ * Gets the point_fade_threshold_size element.
+ * @return a daeSmartRef to the point_fade_threshold_size element.
+ */
+ const domPoint_fade_threshold_sizeRef getPoint_fade_threshold_size() const { return elemPoint_fade_threshold_size; }
+ /**
+ * Gets the point_size element.
+ * @return a daeSmartRef to the point_size element.
+ */
+ const domPoint_sizeRef getPoint_size() const { return elemPoint_size; }
+ /**
+ * Gets the point_size_min element.
+ * @return a daeSmartRef to the point_size_min element.
+ */
+ const domPoint_size_minRef getPoint_size_min() const { return elemPoint_size_min; }
+ /**
+ * Gets the point_size_max element.
+ * @return a daeSmartRef to the point_size_max element.
+ */
+ const domPoint_size_maxRef getPoint_size_max() const { return elemPoint_size_max; }
+ /**
+ * Gets the polygon_offset element.
+ * @return a daeSmartRef to the polygon_offset element.
+ */
+ const domPolygon_offsetRef getPolygon_offset() const { return elemPolygon_offset; }
+ /**
+ * Gets the projection_matrix element.
+ * @return a daeSmartRef to the projection_matrix element.
+ */
+ const domProjection_matrixRef getProjection_matrix() const { return elemProjection_matrix; }
+ /**
+ * Gets the scissor element.
+ * @return a daeSmartRef to the scissor element.
+ */
+ const domScissorRef getScissor() const { return elemScissor; }
+ /**
+ * Gets the shade_model element.
+ * @return a daeSmartRef to the shade_model element.
+ */
+ const domShade_modelRef getShade_model() const { return elemShade_model; }
+ /**
+ * Gets the stencil_func element.
+ * @return a daeSmartRef to the stencil_func element.
+ */
+ const domStencil_funcRef getStencil_func() const { return elemStencil_func; }
+ /**
+ * Gets the stencil_mask element.
+ * @return a daeSmartRef to the stencil_mask element.
+ */
+ const domStencil_maskRef getStencil_mask() const { return elemStencil_mask; }
+ /**
+ * Gets the stencil_op element.
+ * @return a daeSmartRef to the stencil_op element.
+ */
+ const domStencil_opRef getStencil_op() const { return elemStencil_op; }
+ /**
+ * Gets the alpha_test_enable element.
+ * @return a daeSmartRef to the alpha_test_enable element.
+ */
+ const domAlpha_test_enableRef getAlpha_test_enable() const { return elemAlpha_test_enable; }
+ /**
+ * Gets the blend_enable element.
+ * @return a daeSmartRef to the blend_enable element.
+ */
+ const domBlend_enableRef getBlend_enable() const { return elemBlend_enable; }
+ /**
+ * Gets the clip_plane_enable element.
+ * @return a daeSmartRef to the clip_plane_enable element.
+ */
+ const domClip_plane_enableRef getClip_plane_enable() const { return elemClip_plane_enable; }
+ /**
+ * Gets the color_logic_op_enable element.
+ * @return a daeSmartRef to the color_logic_op_enable element.
+ */
+ const domColor_logic_op_enableRef getColor_logic_op_enable() const { return elemColor_logic_op_enable; }
+ /**
+ * Gets the color_material_enable element.
+ * @return a daeSmartRef to the color_material_enable element.
+ */
+ const domColor_material_enableRef getColor_material_enable() const { return elemColor_material_enable; }
+ /**
+ * Gets the cull_face_enable element.
+ * @return a daeSmartRef to the cull_face_enable element.
+ */
+ const domCull_face_enableRef getCull_face_enable() const { return elemCull_face_enable; }
+ /**
+ * Gets the depth_test_enable element.
+ * @return a daeSmartRef to the depth_test_enable element.
+ */
+ const domDepth_test_enableRef getDepth_test_enable() const { return elemDepth_test_enable; }
+ /**
+ * Gets the dither_enable element.
+ * @return a daeSmartRef to the dither_enable element.
+ */
+ const domDither_enableRef getDither_enable() const { return elemDither_enable; }
+ /**
+ * Gets the fog_enable element.
+ * @return a daeSmartRef to the fog_enable element.
+ */
+ const domFog_enableRef getFog_enable() const { return elemFog_enable; }
+ /**
+ * Gets the texture_pipeline_enable element.
+ * @return a daeSmartRef to the texture_pipeline_enable element.
+ */
+ const domTexture_pipeline_enableRef getTexture_pipeline_enable() const { return elemTexture_pipeline_enable; }
+ /**
+ * Gets the light_enable element.
+ * @return a daeSmartRef to the light_enable element.
+ */
+ const domLight_enableRef getLight_enable() const { return elemLight_enable; }
+ /**
+ * Gets the lighting_enable element.
+ * @return a daeSmartRef to the lighting_enable element.
+ */
+ const domLighting_enableRef getLighting_enable() const { return elemLighting_enable; }
+ /**
+ * Gets the light_model_two_side_enable element.
+ * @return a daeSmartRef to the light_model_two_side_enable element.
+ */
+ const domLight_model_two_side_enableRef getLight_model_two_side_enable() const { return elemLight_model_two_side_enable; }
+ /**
+ * Gets the line_smooth_enable element.
+ * @return a daeSmartRef to the line_smooth_enable element.
+ */
+ const domLine_smooth_enableRef getLine_smooth_enable() const { return elemLine_smooth_enable; }
+ /**
+ * Gets the multisample_enable element.
+ * @return a daeSmartRef to the multisample_enable element.
+ */
+ const domMultisample_enableRef getMultisample_enable() const { return elemMultisample_enable; }
+ /**
+ * Gets the normalize_enable element.
+ * @return a daeSmartRef to the normalize_enable element.
+ */
+ const domNormalize_enableRef getNormalize_enable() const { return elemNormalize_enable; }
+ /**
+ * Gets the point_smooth_enable element.
+ * @return a daeSmartRef to the point_smooth_enable element.
+ */
+ const domPoint_smooth_enableRef getPoint_smooth_enable() const { return elemPoint_smooth_enable; }
+ /**
+ * Gets the polygon_offset_fill_enable element.
+ * @return a daeSmartRef to the polygon_offset_fill_enable element.
+ */
+ const domPolygon_offset_fill_enableRef getPolygon_offset_fill_enable() const { return elemPolygon_offset_fill_enable; }
+ /**
+ * Gets the rescale_normal_enable element.
+ * @return a daeSmartRef to the rescale_normal_enable element.
+ */
+ const domRescale_normal_enableRef getRescale_normal_enable() const { return elemRescale_normal_enable; }
+ /**
+ * Gets the sample_alpha_to_coverage_enable element.
+ * @return a daeSmartRef to the sample_alpha_to_coverage_enable element.
+ */
+ const domSample_alpha_to_coverage_enableRef getSample_alpha_to_coverage_enable() const { return elemSample_alpha_to_coverage_enable; }
+ /**
+ * Gets the sample_alpha_to_one_enable element.
+ * @return a daeSmartRef to the sample_alpha_to_one_enable element.
+ */
+ const domSample_alpha_to_one_enableRef getSample_alpha_to_one_enable() const { return elemSample_alpha_to_one_enable; }
+ /**
+ * Gets the sample_coverage_enable element.
+ * @return a daeSmartRef to the sample_coverage_enable element.
+ */
+ const domSample_coverage_enableRef getSample_coverage_enable() const { return elemSample_coverage_enable; }
+ /**
+ * Gets the scissor_test_enable element.
+ * @return a daeSmartRef to the scissor_test_enable element.
+ */
+ const domScissor_test_enableRef getScissor_test_enable() const { return elemScissor_test_enable; }
+ /**
+ * Gets the stencil_test_enable element.
+ * @return a daeSmartRef to the stencil_test_enable element.
+ */
+ const domStencil_test_enableRef getStencil_test_enable() const { return elemStencil_test_enable; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domGles_pipeline_settings(DAE& dae) : daeElement(dae), elemAlpha_func(), elemBlend_func(), elemClear_color(), elemClear_stencil(), elemClear_depth(), elemClip_plane(), elemColor_mask(), elemCull_face(), elemDepth_func(), elemDepth_mask(), elemDepth_range(), elemFog_color(), elemFog_density(), elemFog_mode(), elemFog_start(), elemFog_end(), elemFront_face(), elemTexture_pipeline(), elemLogic_op(), elemLight_ambient(), elemLight_diffuse(), elemLight_specular(), elemLight_position(), elemLight_constant_attenuation(), elemLight_linear_attenutation(), elemLight_quadratic_attenuation(), elemLight_spot_cutoff(), elemLight_spot_direction(), elemLight_spot_exponent(), elemLight_model_ambient(), elemLine_width(), elemMaterial_ambient(), elemMaterial_diffuse(), elemMaterial_emission(), elemMaterial_shininess(), elemMaterial_specular(), elemModel_view_matrix(), elemPoint_distance_attenuation(), elemPoint_fade_threshold_size(), elemPoint_size(), elemPoint_size_min(), elemPoint_size_max(), elemPolygon_offset(), elemProjection_matrix(), elemScissor(), elemShade_model(), elemStencil_func(), elemStencil_mask(), elemStencil_op(), elemAlpha_test_enable(), elemBlend_enable(), elemClip_plane_enable(), elemColor_logic_op_enable(), elemColor_material_enable(), elemCull_face_enable(), elemDepth_test_enable(), elemDither_enable(), elemFog_enable(), elemTexture_pipeline_enable(), elemLight_enable(), elemLighting_enable(), elemLight_model_two_side_enable(), elemLine_smooth_enable(), elemMultisample_enable(), elemNormalize_enable(), elemPoint_smooth_enable(), elemPolygon_offset_fill_enable(), elemRescale_normal_enable(), elemSample_alpha_to_coverage_enable(), elemSample_alpha_to_one_enable(), elemSample_coverage_enable(), elemScissor_test_enable(), elemStencil_test_enable() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGles_pipeline_settings() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGles_pipeline_settings &operator=( const domGles_pipeline_settings &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domGles_sampler_state.h b/1.4.0/dom/include/1.4/dom/domGles_sampler_state.h
new file mode 100644
index 0000000..a6f8f4b
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domGles_sampler_state.h
@@ -0,0 +1,581 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Gles_sampler_state_h__
+#define __dom141Gles_sampler_state_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * Two-dimensional texture sampler state for profile_GLES. This is a bundle
+ * of sampler-specific states that will be referenced by one or more texture_units.
+ */
+class domGles_sampler_state_complexType
+{
+public:
+ class domWrap_s;
+
+ typedef daeSmartRef<domWrap_s> domWrap_sRef;
+ typedef daeTArray<domWrap_sRef> domWrap_s_Array;
+
+ class domWrap_s : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::WRAP_S; }
+ static daeInt ID() { return 157; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domGles_sampler_wrap value of the text data of this element.
+ */
+ domGles_sampler_wrap _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domGles_sampler_wrap of the value.
+ */
+ domGles_sampler_wrap getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domGles_sampler_wrap val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domWrap_s(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domWrap_s() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domWrap_s &operator=( const domWrap_s &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domWrap_t;
+
+ typedef daeSmartRef<domWrap_t> domWrap_tRef;
+ typedef daeTArray<domWrap_tRef> domWrap_t_Array;
+
+ class domWrap_t : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::WRAP_T; }
+ static daeInt ID() { return 158; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domGles_sampler_wrap value of the text data of this element.
+ */
+ domGles_sampler_wrap _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domGles_sampler_wrap of the value.
+ */
+ domGles_sampler_wrap getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domGles_sampler_wrap val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domWrap_t(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domWrap_t() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domWrap_t &operator=( const domWrap_t &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMinfilter;
+
+ typedef daeSmartRef<domMinfilter> domMinfilterRef;
+ typedef daeTArray<domMinfilterRef> domMinfilter_Array;
+
+ class domMinfilter : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MINFILTER; }
+ static daeInt ID() { return 159; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_sampler_filter_common value of the text data of this element.
+ */
+ domFx_sampler_filter_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_sampler_filter_common of the value.
+ */
+ domFx_sampler_filter_common getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFx_sampler_filter_common val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMinfilter(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMinfilter() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMinfilter &operator=( const domMinfilter &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMagfilter;
+
+ typedef daeSmartRef<domMagfilter> domMagfilterRef;
+ typedef daeTArray<domMagfilterRef> domMagfilter_Array;
+
+ class domMagfilter : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MAGFILTER; }
+ static daeInt ID() { return 160; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_sampler_filter_common value of the text data of this element.
+ */
+ domFx_sampler_filter_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_sampler_filter_common of the value.
+ */
+ domFx_sampler_filter_common getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFx_sampler_filter_common val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMagfilter(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMagfilter() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMagfilter &operator=( const domMagfilter &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMipfilter;
+
+ typedef daeSmartRef<domMipfilter> domMipfilterRef;
+ typedef daeTArray<domMipfilterRef> domMipfilter_Array;
+
+ class domMipfilter : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MIPFILTER; }
+ static daeInt ID() { return 161; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_sampler_filter_common value of the text data of this element.
+ */
+ domFx_sampler_filter_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_sampler_filter_common of the value.
+ */
+ domFx_sampler_filter_common getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFx_sampler_filter_common val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMipfilter(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMipfilter() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMipfilter &operator=( const domMipfilter &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMipmap_maxlevel;
+
+ typedef daeSmartRef<domMipmap_maxlevel> domMipmap_maxlevelRef;
+ typedef daeTArray<domMipmap_maxlevelRef> domMipmap_maxlevel_Array;
+
+ class domMipmap_maxlevel : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MIPMAP_MAXLEVEL; }
+ static daeInt ID() { return 162; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsUnsignedByte value of the text data of this element.
+ */
+ xsUnsignedByte _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a xsUnsignedByte of the value.
+ */
+ xsUnsignedByte getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsUnsignedByte val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMipmap_maxlevel(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMipmap_maxlevel() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMipmap_maxlevel &operator=( const domMipmap_maxlevel &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMipmap_bias;
+
+ typedef daeSmartRef<domMipmap_bias> domMipmap_biasRef;
+ typedef daeTArray<domMipmap_biasRef> domMipmap_bias_Array;
+
+ class domMipmap_bias : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MIPMAP_BIAS; }
+ static daeInt ID() { return 163; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsFloat value of the text data of this element.
+ */
+ xsFloat _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a xsFloat of the value.
+ */
+ xsFloat getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsFloat val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMipmap_bias(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMipmap_bias() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMipmap_bias &operator=( const domMipmap_bias &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attribute
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ xsNCName attrSid;
+
+protected: // Elements
+ domWrap_sRef elemWrap_s;
+ domWrap_tRef elemWrap_t;
+ domMinfilterRef elemMinfilter;
+ domMagfilterRef elemMagfilter;
+ domMipfilterRef elemMipfilter;
+ domMipmap_maxlevelRef elemMipmap_maxlevel;
+ domMipmap_biasRef elemMipmap_bias;
+/**
+ * The extra element may appear any number of times. OpenGL ES extensions
+ * may be used here. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the wrap_s element.
+ * @return a daeSmartRef to the wrap_s element.
+ */
+ const domWrap_sRef getWrap_s() const { return elemWrap_s; }
+ /**
+ * Gets the wrap_t element.
+ * @return a daeSmartRef to the wrap_t element.
+ */
+ const domWrap_tRef getWrap_t() const { return elemWrap_t; }
+ /**
+ * Gets the minfilter element.
+ * @return a daeSmartRef to the minfilter element.
+ */
+ const domMinfilterRef getMinfilter() const { return elemMinfilter; }
+ /**
+ * Gets the magfilter element.
+ * @return a daeSmartRef to the magfilter element.
+ */
+ const domMagfilterRef getMagfilter() const { return elemMagfilter; }
+ /**
+ * Gets the mipfilter element.
+ * @return a daeSmartRef to the mipfilter element.
+ */
+ const domMipfilterRef getMipfilter() const { return elemMipfilter; }
+ /**
+ * Gets the mipmap_maxlevel element.
+ * @return a daeSmartRef to the mipmap_maxlevel element.
+ */
+ const domMipmap_maxlevelRef getMipmap_maxlevel() const { return elemMipmap_maxlevel; }
+ /**
+ * Gets the mipmap_bias element.
+ * @return a daeSmartRef to the mipmap_bias element.
+ */
+ const domMipmap_biasRef getMipmap_bias() const { return elemMipmap_bias; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domGles_sampler_state_complexType(DAE& dae, daeElement* elt) : attrSid(), elemWrap_s(), elemWrap_t(), elemMinfilter(), elemMagfilter(), elemMipfilter(), elemMipmap_maxlevel(), elemMipmap_bias(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGles_sampler_state_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGles_sampler_state_complexType &operator=( const domGles_sampler_state_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domGles_sampler_state_complexType.
+ */
+class domGles_sampler_state : public daeElement, public domGles_sampler_state_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLES_SAMPLER_STATE; }
+ static daeInt ID() { return 164; }
+ virtual daeInt typeID() const { return ID(); }
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domGles_sampler_state(DAE& dae) : daeElement(dae), domGles_sampler_state_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domGles_sampler_state() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGles_sampler_state &operator=( const domGles_sampler_state &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domGles_texcombiner_argumentAlpha_type.h b/1.4.0/dom/include/1.4/dom/domGles_texcombiner_argumentAlpha_type.h
new file mode 100644
index 0000000..4f2f554
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domGles_texcombiner_argumentAlpha_type.h
@@ -0,0 +1,151 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Gles_texcombiner_argumentAlpha_type_h__
+#define __dom141Gles_texcombiner_argumentAlpha_type_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM141 {
+
+class domGles_texcombiner_argumentAlpha_type_complexType
+{
+protected: // Attributes
+ domGles_texcombiner_source_enums attrSource;
+ domGles_texcombiner_operandAlpha_enums attrOperand;
+ xsNCName attrUnit;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the source attribute.
+ * @return Returns a domGles_texcombiner_source_enums of the source attribute.
+ */
+ domGles_texcombiner_source_enums getSource() const { return attrSource; }
+ /**
+ * Sets the source attribute.
+ * @param atSource The new value for the source attribute.
+ */
+ void setSource( domGles_texcombiner_source_enums atSource ) { attrSource = atSource; }
+
+ /**
+ * Gets the operand attribute.
+ * @return Returns a domGles_texcombiner_operandAlpha_enums of the operand attribute.
+ */
+ domGles_texcombiner_operandAlpha_enums getOperand() const { return attrOperand; }
+ /**
+ * Sets the operand attribute.
+ * @param atOperand The new value for the operand attribute.
+ */
+ void setOperand( domGles_texcombiner_operandAlpha_enums atOperand ) { attrOperand = atOperand; }
+
+ /**
+ * Gets the unit attribute.
+ * @return Returns a xsNCName of the unit attribute.
+ */
+ xsNCName getUnit() const { return attrUnit; }
+ /**
+ * Sets the unit attribute.
+ * @param atUnit The new value for the unit attribute.
+ */
+ void setUnit( xsNCName atUnit ) { *(daeStringRef*)&attrUnit = atUnit;}
+
+protected:
+ /**
+ * Constructor
+ */
+ domGles_texcombiner_argumentAlpha_type_complexType(DAE& dae, daeElement* elt) : attrSource(), attrOperand(), attrUnit() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGles_texcombiner_argumentAlpha_type_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGles_texcombiner_argumentAlpha_type_complexType &operator=( const domGles_texcombiner_argumentAlpha_type_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domGles_texcombiner_argumentAlpha_type_complexType.
+ */
+class domGles_texcombiner_argumentAlpha_type : public daeElement, public domGles_texcombiner_argumentAlpha_type_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLES_TEXCOMBINER_ARGUMENTALPHA_TYPE; }
+ static daeInt ID() { return 148; }
+ virtual daeInt typeID() const { return ID(); }
+
+public: //Accessors and Mutators
+ /**
+ * Gets the source attribute.
+ * @return Returns a domGles_texcombiner_source_enums of the source attribute.
+ */
+ domGles_texcombiner_source_enums getSource() const { return attrSource; }
+ /**
+ * Sets the source attribute.
+ * @param atSource The new value for the source attribute.
+ */
+ void setSource( domGles_texcombiner_source_enums atSource ) { attrSource = atSource; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the operand attribute.
+ * @return Returns a domGles_texcombiner_operandAlpha_enums of the operand attribute.
+ */
+ domGles_texcombiner_operandAlpha_enums getOperand() const { return attrOperand; }
+ /**
+ * Sets the operand attribute.
+ * @param atOperand The new value for the operand attribute.
+ */
+ void setOperand( domGles_texcombiner_operandAlpha_enums atOperand ) { attrOperand = atOperand; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the unit attribute.
+ * @return Returns a xsNCName of the unit attribute.
+ */
+ xsNCName getUnit() const { return attrUnit; }
+ /**
+ * Sets the unit attribute.
+ * @param atUnit The new value for the unit attribute.
+ */
+ void setUnit( xsNCName atUnit ) { *(daeStringRef*)&attrUnit = atUnit; _validAttributeArray[2] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domGles_texcombiner_argumentAlpha_type(DAE& dae) : daeElement(dae), domGles_texcombiner_argumentAlpha_type_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domGles_texcombiner_argumentAlpha_type() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGles_texcombiner_argumentAlpha_type &operator=( const domGles_texcombiner_argumentAlpha_type &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domGles_texcombiner_argumentRGB_type.h b/1.4.0/dom/include/1.4/dom/domGles_texcombiner_argumentRGB_type.h
new file mode 100644
index 0000000..189b7ef
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domGles_texcombiner_argumentRGB_type.h
@@ -0,0 +1,151 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Gles_texcombiner_argumentRGB_type_h__
+#define __dom141Gles_texcombiner_argumentRGB_type_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM141 {
+
+class domGles_texcombiner_argumentRGB_type_complexType
+{
+protected: // Attributes
+ domGles_texcombiner_source_enums attrSource;
+ domGles_texcombiner_operandRGB_enums attrOperand;
+ xsNCName attrUnit;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the source attribute.
+ * @return Returns a domGles_texcombiner_source_enums of the source attribute.
+ */
+ domGles_texcombiner_source_enums getSource() const { return attrSource; }
+ /**
+ * Sets the source attribute.
+ * @param atSource The new value for the source attribute.
+ */
+ void setSource( domGles_texcombiner_source_enums atSource ) { attrSource = atSource; }
+
+ /**
+ * Gets the operand attribute.
+ * @return Returns a domGles_texcombiner_operandRGB_enums of the operand attribute.
+ */
+ domGles_texcombiner_operandRGB_enums getOperand() const { return attrOperand; }
+ /**
+ * Sets the operand attribute.
+ * @param atOperand The new value for the operand attribute.
+ */
+ void setOperand( domGles_texcombiner_operandRGB_enums atOperand ) { attrOperand = atOperand; }
+
+ /**
+ * Gets the unit attribute.
+ * @return Returns a xsNCName of the unit attribute.
+ */
+ xsNCName getUnit() const { return attrUnit; }
+ /**
+ * Sets the unit attribute.
+ * @param atUnit The new value for the unit attribute.
+ */
+ void setUnit( xsNCName atUnit ) { *(daeStringRef*)&attrUnit = atUnit;}
+
+protected:
+ /**
+ * Constructor
+ */
+ domGles_texcombiner_argumentRGB_type_complexType(DAE& dae, daeElement* elt) : attrSource(), attrOperand(), attrUnit() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGles_texcombiner_argumentRGB_type_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGles_texcombiner_argumentRGB_type_complexType &operator=( const domGles_texcombiner_argumentRGB_type_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domGles_texcombiner_argumentRGB_type_complexType.
+ */
+class domGles_texcombiner_argumentRGB_type : public daeElement, public domGles_texcombiner_argumentRGB_type_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLES_TEXCOMBINER_ARGUMENTRGB_TYPE; }
+ static daeInt ID() { return 147; }
+ virtual daeInt typeID() const { return ID(); }
+
+public: //Accessors and Mutators
+ /**
+ * Gets the source attribute.
+ * @return Returns a domGles_texcombiner_source_enums of the source attribute.
+ */
+ domGles_texcombiner_source_enums getSource() const { return attrSource; }
+ /**
+ * Sets the source attribute.
+ * @param atSource The new value for the source attribute.
+ */
+ void setSource( domGles_texcombiner_source_enums atSource ) { attrSource = atSource; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the operand attribute.
+ * @return Returns a domGles_texcombiner_operandRGB_enums of the operand attribute.
+ */
+ domGles_texcombiner_operandRGB_enums getOperand() const { return attrOperand; }
+ /**
+ * Sets the operand attribute.
+ * @param atOperand The new value for the operand attribute.
+ */
+ void setOperand( domGles_texcombiner_operandRGB_enums atOperand ) { attrOperand = atOperand; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the unit attribute.
+ * @return Returns a xsNCName of the unit attribute.
+ */
+ xsNCName getUnit() const { return attrUnit; }
+ /**
+ * Sets the unit attribute.
+ * @param atUnit The new value for the unit attribute.
+ */
+ void setUnit( xsNCName atUnit ) { *(daeStringRef*)&attrUnit = atUnit; _validAttributeArray[2] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domGles_texcombiner_argumentRGB_type(DAE& dae) : daeElement(dae), domGles_texcombiner_argumentRGB_type_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domGles_texcombiner_argumentRGB_type() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGles_texcombiner_argumentRGB_type &operator=( const domGles_texcombiner_argumentRGB_type &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domGles_texcombiner_commandAlpha_type.h b/1.4.0/dom/include/1.4/dom/domGles_texcombiner_commandAlpha_type.h
new file mode 100644
index 0000000..67062d2
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domGles_texcombiner_commandAlpha_type.h
@@ -0,0 +1,141 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Gles_texcombiner_commandAlpha_type_h__
+#define __dom141Gles_texcombiner_commandAlpha_type_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domGles_texcombiner_argumentAlpha_type.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+class domGles_texcombiner_commandAlpha_type_complexType
+{
+protected: // Attributes
+ domGles_texcombiner_operatorAlpha_enums attrOperator;
+ xsFloat attrScale;
+
+protected: // Element
+ domGles_texcombiner_argumentAlpha_type_Array elemArgument_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the operator attribute.
+ * @return Returns a domGles_texcombiner_operatorAlpha_enums of the operator attribute.
+ */
+ domGles_texcombiner_operatorAlpha_enums getOperator() const { return attrOperator; }
+ /**
+ * Sets the operator attribute.
+ * @param atOperator The new value for the operator attribute.
+ */
+ void setOperator( domGles_texcombiner_operatorAlpha_enums atOperator ) { attrOperator = atOperator; }
+
+ /**
+ * Gets the scale attribute.
+ * @return Returns a xsFloat of the scale attribute.
+ */
+ xsFloat getScale() const { return attrScale; }
+ /**
+ * Sets the scale attribute.
+ * @param atScale The new value for the scale attribute.
+ */
+ void setScale( xsFloat atScale ) { attrScale = atScale; }
+
+ /**
+ * Gets the argument element array.
+ * @return Returns a reference to the array of argument elements.
+ */
+ domGles_texcombiner_argumentAlpha_type_Array &getArgument_array() { return elemArgument_array; }
+ /**
+ * Gets the argument element array.
+ * @return Returns a constant reference to the array of argument elements.
+ */
+ const domGles_texcombiner_argumentAlpha_type_Array &getArgument_array() const { return elemArgument_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domGles_texcombiner_commandAlpha_type_complexType(DAE& dae, daeElement* elt) : attrOperator(), attrScale(), elemArgument_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGles_texcombiner_commandAlpha_type_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGles_texcombiner_commandAlpha_type_complexType &operator=( const domGles_texcombiner_commandAlpha_type_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domGles_texcombiner_commandAlpha_type_complexType.
+ */
+class domGles_texcombiner_commandAlpha_type : public daeElement, public domGles_texcombiner_commandAlpha_type_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLES_TEXCOMBINER_COMMANDALPHA_TYPE; }
+ static daeInt ID() { return 150; }
+ virtual daeInt typeID() const { return ID(); }
+
+public: //Accessors and Mutators
+ /**
+ * Gets the operator attribute.
+ * @return Returns a domGles_texcombiner_operatorAlpha_enums of the operator attribute.
+ */
+ domGles_texcombiner_operatorAlpha_enums getOperator() const { return attrOperator; }
+ /**
+ * Sets the operator attribute.
+ * @param atOperator The new value for the operator attribute.
+ */
+ void setOperator( domGles_texcombiner_operatorAlpha_enums atOperator ) { attrOperator = atOperator; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the scale attribute.
+ * @return Returns a xsFloat of the scale attribute.
+ */
+ xsFloat getScale() const { return attrScale; }
+ /**
+ * Sets the scale attribute.
+ * @param atScale The new value for the scale attribute.
+ */
+ void setScale( xsFloat atScale ) { attrScale = atScale; _validAttributeArray[1] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domGles_texcombiner_commandAlpha_type(DAE& dae) : daeElement(dae), domGles_texcombiner_commandAlpha_type_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domGles_texcombiner_commandAlpha_type() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGles_texcombiner_commandAlpha_type &operator=( const domGles_texcombiner_commandAlpha_type &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domGles_texcombiner_commandRGB_type.h b/1.4.0/dom/include/1.4/dom/domGles_texcombiner_commandRGB_type.h
new file mode 100644
index 0000000..258d99f
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domGles_texcombiner_commandRGB_type.h
@@ -0,0 +1,145 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Gles_texcombiner_commandRGB_type_h__
+#define __dom141Gles_texcombiner_commandRGB_type_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domGles_texcombiner_argumentRGB_type.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * Defines the RGB portion of a texture_pipeline command. This is a combiner-mode
+ * texturing operation.
+ */
+class domGles_texcombiner_commandRGB_type_complexType
+{
+protected: // Attributes
+ domGles_texcombiner_operatorRGB_enums attrOperator;
+ xsFloat attrScale;
+
+protected: // Element
+ domGles_texcombiner_argumentRGB_type_Array elemArgument_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the operator attribute.
+ * @return Returns a domGles_texcombiner_operatorRGB_enums of the operator attribute.
+ */
+ domGles_texcombiner_operatorRGB_enums getOperator() const { return attrOperator; }
+ /**
+ * Sets the operator attribute.
+ * @param atOperator The new value for the operator attribute.
+ */
+ void setOperator( domGles_texcombiner_operatorRGB_enums atOperator ) { attrOperator = atOperator; }
+
+ /**
+ * Gets the scale attribute.
+ * @return Returns a xsFloat of the scale attribute.
+ */
+ xsFloat getScale() const { return attrScale; }
+ /**
+ * Sets the scale attribute.
+ * @param atScale The new value for the scale attribute.
+ */
+ void setScale( xsFloat atScale ) { attrScale = atScale; }
+
+ /**
+ * Gets the argument element array.
+ * @return Returns a reference to the array of argument elements.
+ */
+ domGles_texcombiner_argumentRGB_type_Array &getArgument_array() { return elemArgument_array; }
+ /**
+ * Gets the argument element array.
+ * @return Returns a constant reference to the array of argument elements.
+ */
+ const domGles_texcombiner_argumentRGB_type_Array &getArgument_array() const { return elemArgument_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domGles_texcombiner_commandRGB_type_complexType(DAE& dae, daeElement* elt) : attrOperator(), attrScale(), elemArgument_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGles_texcombiner_commandRGB_type_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGles_texcombiner_commandRGB_type_complexType &operator=( const domGles_texcombiner_commandRGB_type_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domGles_texcombiner_commandRGB_type_complexType.
+ */
+class domGles_texcombiner_commandRGB_type : public daeElement, public domGles_texcombiner_commandRGB_type_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLES_TEXCOMBINER_COMMANDRGB_TYPE; }
+ static daeInt ID() { return 149; }
+ virtual daeInt typeID() const { return ID(); }
+
+public: //Accessors and Mutators
+ /**
+ * Gets the operator attribute.
+ * @return Returns a domGles_texcombiner_operatorRGB_enums of the operator attribute.
+ */
+ domGles_texcombiner_operatorRGB_enums getOperator() const { return attrOperator; }
+ /**
+ * Sets the operator attribute.
+ * @param atOperator The new value for the operator attribute.
+ */
+ void setOperator( domGles_texcombiner_operatorRGB_enums atOperator ) { attrOperator = atOperator; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the scale attribute.
+ * @return Returns a xsFloat of the scale attribute.
+ */
+ xsFloat getScale() const { return attrScale; }
+ /**
+ * Sets the scale attribute.
+ * @param atScale The new value for the scale attribute.
+ */
+ void setScale( xsFloat atScale ) { attrScale = atScale; _validAttributeArray[1] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domGles_texcombiner_commandRGB_type(DAE& dae) : daeElement(dae), domGles_texcombiner_commandRGB_type_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domGles_texcombiner_commandRGB_type() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGles_texcombiner_commandRGB_type &operator=( const domGles_texcombiner_commandRGB_type &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domGles_texcombiner_command_type.h b/1.4.0/dom/include/1.4/dom/domGles_texcombiner_command_type.h
new file mode 100644
index 0000000..96858c8
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domGles_texcombiner_command_type.h
@@ -0,0 +1,101 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Gles_texcombiner_command_type_h__
+#define __dom141Gles_texcombiner_command_type_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domGles_texture_constant_type.h>
+#include <1.4/dom/domGles_texcombiner_commandRGB_type.h>
+#include <1.4/dom/domGles_texcombiner_commandAlpha_type.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+class domGles_texcombiner_command_type_complexType
+{
+
+protected: // Elements
+ domGles_texture_constant_typeRef elemConstant;
+ domGles_texcombiner_commandRGB_typeRef elemRGB;
+ domGles_texcombiner_commandAlpha_typeRef elemAlpha;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the constant element.
+ * @return a daeSmartRef to the constant element.
+ */
+ const domGles_texture_constant_typeRef getConstant() const { return elemConstant; }
+ /**
+ * Gets the RGB element.
+ * @return a daeSmartRef to the RGB element.
+ */
+ const domGles_texcombiner_commandRGB_typeRef getRGB() const { return elemRGB; }
+ /**
+ * Gets the alpha element.
+ * @return a daeSmartRef to the alpha element.
+ */
+ const domGles_texcombiner_commandAlpha_typeRef getAlpha() const { return elemAlpha; }
+protected:
+ /**
+ * Constructor
+ */
+ domGles_texcombiner_command_type_complexType(DAE& dae, daeElement* elt) : elemConstant(), elemRGB(), elemAlpha() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGles_texcombiner_command_type_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGles_texcombiner_command_type_complexType &operator=( const domGles_texcombiner_command_type_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domGles_texcombiner_command_type_complexType.
+ */
+class domGles_texcombiner_command_type : public daeElement, public domGles_texcombiner_command_type_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLES_TEXCOMBINER_COMMAND_TYPE; }
+ static daeInt ID() { return 151; }
+ virtual daeInt typeID() const { return ID(); }
+protected:
+ /**
+ * Constructor
+ */
+ domGles_texcombiner_command_type(DAE& dae) : daeElement(dae), domGles_texcombiner_command_type_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domGles_texcombiner_command_type() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGles_texcombiner_command_type &operator=( const domGles_texcombiner_command_type &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domGles_texenv_command_type.h b/1.4.0/dom/include/1.4/dom/domGles_texenv_command_type.h
new file mode 100644
index 0000000..0f7edef
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domGles_texenv_command_type.h
@@ -0,0 +1,136 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Gles_texenv_command_type_h__
+#define __dom141Gles_texenv_command_type_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domGles_texture_constant_type.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+class domGles_texenv_command_type_complexType
+{
+protected: // Attributes
+ domGles_texenv_mode_enums attrOperator;
+ xsNCName attrUnit;
+
+protected: // Element
+ domGles_texture_constant_typeRef elemConstant;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the operator attribute.
+ * @return Returns a domGles_texenv_mode_enums of the operator attribute.
+ */
+ domGles_texenv_mode_enums getOperator() const { return attrOperator; }
+ /**
+ * Sets the operator attribute.
+ * @param atOperator The new value for the operator attribute.
+ */
+ void setOperator( domGles_texenv_mode_enums atOperator ) { attrOperator = atOperator; }
+
+ /**
+ * Gets the unit attribute.
+ * @return Returns a xsNCName of the unit attribute.
+ */
+ xsNCName getUnit() const { return attrUnit; }
+ /**
+ * Sets the unit attribute.
+ * @param atUnit The new value for the unit attribute.
+ */
+ void setUnit( xsNCName atUnit ) { *(daeStringRef*)&attrUnit = atUnit;}
+
+ /**
+ * Gets the constant element.
+ * @return a daeSmartRef to the constant element.
+ */
+ const domGles_texture_constant_typeRef getConstant() const { return elemConstant; }
+protected:
+ /**
+ * Constructor
+ */
+ domGles_texenv_command_type_complexType(DAE& dae, daeElement* elt) : attrOperator(), attrUnit(), elemConstant() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGles_texenv_command_type_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGles_texenv_command_type_complexType &operator=( const domGles_texenv_command_type_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domGles_texenv_command_type_complexType.
+ */
+class domGles_texenv_command_type : public daeElement, public domGles_texenv_command_type_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLES_TEXENV_COMMAND_TYPE; }
+ static daeInt ID() { return 146; }
+ virtual daeInt typeID() const { return ID(); }
+
+public: //Accessors and Mutators
+ /**
+ * Gets the operator attribute.
+ * @return Returns a domGles_texenv_mode_enums of the operator attribute.
+ */
+ domGles_texenv_mode_enums getOperator() const { return attrOperator; }
+ /**
+ * Sets the operator attribute.
+ * @param atOperator The new value for the operator attribute.
+ */
+ void setOperator( domGles_texenv_mode_enums atOperator ) { attrOperator = atOperator; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the unit attribute.
+ * @return Returns a xsNCName of the unit attribute.
+ */
+ xsNCName getUnit() const { return attrUnit; }
+ /**
+ * Sets the unit attribute.
+ * @param atUnit The new value for the unit attribute.
+ */
+ void setUnit( xsNCName atUnit ) { *(daeStringRef*)&attrUnit = atUnit; _validAttributeArray[1] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domGles_texenv_command_type(DAE& dae) : daeElement(dae), domGles_texenv_command_type_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domGles_texenv_command_type() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGles_texenv_command_type &operator=( const domGles_texenv_command_type &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domGles_texture_constant_type.h b/1.4.0/dom/include/1.4/dom/domGles_texture_constant_type.h
new file mode 100644
index 0000000..96ca82c
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domGles_texture_constant_type.h
@@ -0,0 +1,138 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Gles_texture_constant_type_h__
+#define __dom141Gles_texture_constant_type_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM141 {
+
+class domGles_texture_constant_type_complexType
+{
+protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the value array attribute.
+ * @return Returns a domFloat4 reference of the value array attribute.
+ */
+ domFloat4 &getValue() { return attrValue; }
+ /**
+ * Gets the value array attribute.
+ * @return Returns a constant domFloat4 reference of the value array attribute.
+ */
+ const domFloat4 &getValue() const { return attrValue; }
+ /**
+ * Sets the value array attribute.
+ * @param atValue The new value for the value array attribute.
+ */
+ void setValue( const domFloat4 &atValue ) { attrValue = atValue; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam;}
+
+protected:
+ /**
+ * Constructor
+ */
+ domGles_texture_constant_type_complexType(DAE& dae, daeElement* elt) : attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGles_texture_constant_type_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGles_texture_constant_type_complexType &operator=( const domGles_texture_constant_type_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domGles_texture_constant_type_complexType.
+ */
+class domGles_texture_constant_type : public daeElement, public domGles_texture_constant_type_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLES_TEXTURE_CONSTANT_TYPE; }
+ static daeInt ID() { return 145; }
+ virtual daeInt typeID() const { return ID(); }
+
+public: //Accessors and Mutators
+ /**
+ * Gets the value array attribute.
+ * @return Returns a domFloat4 reference of the value array attribute.
+ */
+ domFloat4 &getValue() { return attrValue; }
+ /**
+ * Gets the value array attribute.
+ * @return Returns a constant domFloat4 reference of the value array attribute.
+ */
+ const domFloat4 &getValue() const { return attrValue; }
+ /**
+ * Sets the value array attribute.
+ * @param atValue The new value for the value array attribute.
+ */
+ void setValue( const domFloat4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domGles_texture_constant_type(DAE& dae) : daeElement(dae), domGles_texture_constant_type_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domGles_texture_constant_type() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGles_texture_constant_type &operator=( const domGles_texture_constant_type &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domGles_texture_pipeline.h b/1.4.0/dom/include/1.4/dom/domGles_texture_pipeline.h
new file mode 100644
index 0000000..2d4e729
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domGles_texture_pipeline.h
@@ -0,0 +1,188 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Gles_texture_pipeline_h__
+#define __dom141Gles_texture_pipeline_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domExtra.h>
+#include <1.4/dom/domGles_texcombiner_command_type.h>
+#include <1.4/dom/domGles_texenv_command_type.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * Defines a set of texturing commands that will be converted into multitexturing
+ * operations using glTexEnv in regular and combiner mode.
+ */
+class domGles_texture_pipeline_complexType
+{
+protected: // Attribute
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ xsNCName attrSid;
+
+protected: // Elements
+/**
+ * Defines a texture_pipeline command. This is a combiner-mode texturing operation.
+ * @see domTexcombiner
+ */
+ domGles_texcombiner_command_type_Array elemTexcombiner_array;
+/**
+ * Defines a texture_pipeline command. It is a simple noncombiner mode of
+ * texturing operations. @see domTexenv
+ */
+ domGles_texenv_command_type_Array elemTexenv_array;
+/**
+ * The extra element may appear any number of times. OpenGL ES extensions
+ * may be used here. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the texcombiner element array.
+ * @return Returns a reference to the array of texcombiner elements.
+ */
+ domGles_texcombiner_command_type_Array &getTexcombiner_array() { return elemTexcombiner_array; }
+ /**
+ * Gets the texcombiner element array.
+ * @return Returns a constant reference to the array of texcombiner elements.
+ */
+ const domGles_texcombiner_command_type_Array &getTexcombiner_array() const { return elemTexcombiner_array; }
+ /**
+ * Gets the texenv element array.
+ * @return Returns a reference to the array of texenv elements.
+ */
+ domGles_texenv_command_type_Array &getTexenv_array() { return elemTexenv_array; }
+ /**
+ * Gets the texenv element array.
+ * @return Returns a constant reference to the array of texenv elements.
+ */
+ const domGles_texenv_command_type_Array &getTexenv_array() const { return elemTexenv_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domGles_texture_pipeline_complexType(DAE& dae, daeElement* elt) : attrSid(), elemTexcombiner_array(), elemTexenv_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGles_texture_pipeline_complexType() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGles_texture_pipeline_complexType &operator=( const domGles_texture_pipeline_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domGles_texture_pipeline_complexType.
+ */
+class domGles_texture_pipeline : public daeElement, public domGles_texture_pipeline_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLES_TEXTURE_PIPELINE; }
+ static daeInt ID() { return 152; }
+ virtual daeInt typeID() const { return ID(); }
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domGles_texture_pipeline(DAE& dae) : daeElement(dae), domGles_texture_pipeline_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domGles_texture_pipeline() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGles_texture_pipeline &operator=( const domGles_texture_pipeline &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domGles_texture_unit.h b/1.4.0/dom/include/1.4/dom/domGles_texture_unit.h
new file mode 100644
index 0000000..778bd3c
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domGles_texture_unit.h
@@ -0,0 +1,314 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Gles_texture_unit_h__
+#define __dom141Gles_texture_unit_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+class domGles_texture_unit_complexType
+{
+public:
+ class domSurface;
+
+ typedef daeSmartRef<domSurface> domSurfaceRef;
+ typedef daeTArray<domSurfaceRef> domSurface_Array;
+
+ class domSurface : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SURFACE; }
+ static daeInt ID() { return 153; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsNCName value of the text data of this element.
+ */
+ xsNCName _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsNCName of the value.
+ */
+ xsNCName getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSurface(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSurface() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSurface &operator=( const domSurface &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domSampler_state;
+
+ typedef daeSmartRef<domSampler_state> domSampler_stateRef;
+ typedef daeTArray<domSampler_stateRef> domSampler_state_Array;
+
+ class domSampler_state : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SAMPLER_STATE; }
+ static daeInt ID() { return 154; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsNCName value of the text data of this element.
+ */
+ xsNCName _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsNCName of the value.
+ */
+ xsNCName getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSampler_state(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSampler_state() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSampler_state &operator=( const domSampler_state &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domTexcoord;
+
+ typedef daeSmartRef<domTexcoord> domTexcoordRef;
+ typedef daeTArray<domTexcoordRef> domTexcoord_Array;
+
+ class domTexcoord : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TEXCOORD; }
+ static daeInt ID() { return 155; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+ xsNCName attrSemantic;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the semantic attribute.
+ * @return Returns a xsNCName of the semantic attribute.
+ */
+ xsNCName getSemantic() const { return attrSemantic; }
+ /**
+ * Sets the semantic attribute.
+ * @param atSemantic The new value for the semantic attribute.
+ */
+ void setSemantic( xsNCName atSemantic ) { *(daeStringRef*)&attrSemantic = atSemantic; _validAttributeArray[0] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTexcoord(DAE& dae) : daeElement(dae), attrSemantic() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTexcoord() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTexcoord &operator=( const domTexcoord &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attribute
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ xsNCName attrSid;
+
+protected: // Elements
+ domSurfaceRef elemSurface;
+ domSampler_stateRef elemSampler_state;
+ domTexcoordRef elemTexcoord;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the surface element.
+ * @return a daeSmartRef to the surface element.
+ */
+ const domSurfaceRef getSurface() const { return elemSurface; }
+ /**
+ * Gets the sampler_state element.
+ * @return a daeSmartRef to the sampler_state element.
+ */
+ const domSampler_stateRef getSampler_state() const { return elemSampler_state; }
+ /**
+ * Gets the texcoord element.
+ * @return a daeSmartRef to the texcoord element.
+ */
+ const domTexcoordRef getTexcoord() const { return elemTexcoord; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domGles_texture_unit_complexType(DAE& dae, daeElement* elt) : attrSid(), elemSurface(), elemSampler_state(), elemTexcoord(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGles_texture_unit_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGles_texture_unit_complexType &operator=( const domGles_texture_unit_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domGles_texture_unit_complexType.
+ */
+class domGles_texture_unit : public daeElement, public domGles_texture_unit_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLES_TEXTURE_UNIT; }
+ static daeInt ID() { return 156; }
+ virtual daeInt typeID() const { return ID(); }
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domGles_texture_unit(DAE& dae) : daeElement(dae), domGles_texture_unit_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domGles_texture_unit() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGles_texture_unit &operator=( const domGles_texture_unit &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domGlsl_newarray_type.h b/1.4.0/dom/include/1.4/dom/domGlsl_newarray_type.h
new file mode 100644
index 0000000..c21d363
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domGlsl_newarray_type.h
@@ -0,0 +1,166 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Glsl_newarray_type_h__
+#define __dom141Glsl_newarray_type_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domGlsl_param_type.h>
+#include <1.4/dom/domGlsl_newarray_type.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The glsl_newarray_type is used to creates a parameter of a one-dimensional
+ * array type.
+ */
+class domGlsl_newarray_type_complexType
+{
+protected: // Attribute
+/**
+ * The length attribute specifies the length of the array.
+ */
+ xsPositiveInteger attrLength;
+
+protected: // Elements
+ domGlsl_param_type_Array elemGlsl_param_type_array;
+/**
+ * You may recursively nest glsl_newarray elements to create multidimensional
+ * arrays. @see domArray
+ */
+ domGlsl_newarray_type_Array elemArray_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the length attribute.
+ * @return Returns a xsPositiveInteger of the length attribute.
+ */
+ xsPositiveInteger getLength() const { return attrLength; }
+ /**
+ * Sets the length attribute.
+ * @param atLength The new value for the length attribute.
+ */
+ void setLength( xsPositiveInteger atLength ) { attrLength = atLength; }
+
+ /**
+ * Gets the glsl_param_type element array.
+ * @return Returns a reference to the array of glsl_param_type elements.
+ */
+ domGlsl_param_type_Array &getGlsl_param_type_array() { return elemGlsl_param_type_array; }
+ /**
+ * Gets the glsl_param_type element array.
+ * @return Returns a constant reference to the array of glsl_param_type elements.
+ */
+ const domGlsl_param_type_Array &getGlsl_param_type_array() const { return elemGlsl_param_type_array; }
+ /**
+ * Gets the array element array.
+ * @return Returns a reference to the array of array elements.
+ */
+ domGlsl_newarray_type_Array &getArray_array() { return elemArray_array; }
+ /**
+ * Gets the array element array.
+ * @return Returns a constant reference to the array of array elements.
+ */
+ const domGlsl_newarray_type_Array &getArray_array() const { return elemArray_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domGlsl_newarray_type_complexType(DAE& dae, daeElement* elt) : attrLength(), elemGlsl_param_type_array(), elemArray_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGlsl_newarray_type_complexType() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGlsl_newarray_type_complexType &operator=( const domGlsl_newarray_type_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domGlsl_newarray_type_complexType.
+ */
+class domGlsl_newarray_type : public daeElement, public domGlsl_newarray_type_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLSL_NEWARRAY_TYPE; }
+ static daeInt ID() { return 103; }
+ virtual daeInt typeID() const { return ID(); }
+
+public: //Accessors and Mutators
+ /**
+ * Gets the length attribute.
+ * @return Returns a xsPositiveInteger of the length attribute.
+ */
+ xsPositiveInteger getLength() const { return attrLength; }
+ /**
+ * Sets the length attribute.
+ * @param atLength The new value for the length attribute.
+ */
+ void setLength( xsPositiveInteger atLength ) { attrLength = atLength; _validAttributeArray[0] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domGlsl_newarray_type(DAE& dae) : daeElement(dae), domGlsl_newarray_type_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domGlsl_newarray_type() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGlsl_newarray_type &operator=( const domGlsl_newarray_type &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domGlsl_newparam.h b/1.4.0/dom/include/1.4/dom/domGlsl_newparam.h
new file mode 100644
index 0000000..6eb475d
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domGlsl_newparam.h
@@ -0,0 +1,287 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Glsl_newparam_h__
+#define __dom141Glsl_newparam_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domGlsl_param_type.h>
+#include <1.4/dom/domFx_annotate_common.h>
+#include <1.4/dom/domGlsl_newarray_type.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+class domGlsl_newparam_complexType
+{
+public:
+ class domSemantic;
+
+ typedef daeSmartRef<domSemantic> domSemanticRef;
+ typedef daeTArray<domSemanticRef> domSemantic_Array;
+
+ class domSemantic : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SEMANTIC; }
+ static daeInt ID() { return 108; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsNCName value of the text data of this element.
+ */
+ xsNCName _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsNCName of the value.
+ */
+ xsNCName getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSemantic(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSemantic() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSemantic &operator=( const domSemantic &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domModifier;
+
+ typedef daeSmartRef<domModifier> domModifierRef;
+ typedef daeTArray<domModifierRef> domModifier_Array;
+
+ class domModifier : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MODIFIER; }
+ static daeInt ID() { return 109; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_modifier_enum_common value of the text data of this element.
+ */
+ domFx_modifier_enum_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_modifier_enum_common of the value.
+ */
+ domFx_modifier_enum_common getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFx_modifier_enum_common val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domModifier(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domModifier() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domModifier &operator=( const domModifier &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attribute
+ domGlsl_identifier attrSid;
+
+protected: // Elements
+ domFx_annotate_common_Array elemAnnotate_array;
+ domSemanticRef elemSemantic;
+ domModifierRef elemModifier;
+ domGlsl_param_typeRef elemGlsl_param_type;
+ domGlsl_newarray_typeRef elemArray;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domGlsl_identifier of the sid attribute.
+ */
+ domGlsl_identifier getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domGlsl_identifier atSid ) { attrSid = atSid; }
+
+ /**
+ * Gets the annotate element array.
+ * @return Returns a reference to the array of annotate elements.
+ */
+ domFx_annotate_common_Array &getAnnotate_array() { return elemAnnotate_array; }
+ /**
+ * Gets the annotate element array.
+ * @return Returns a constant reference to the array of annotate elements.
+ */
+ const domFx_annotate_common_Array &getAnnotate_array() const { return elemAnnotate_array; }
+ /**
+ * Gets the semantic element.
+ * @return a daeSmartRef to the semantic element.
+ */
+ const domSemanticRef getSemantic() const { return elemSemantic; }
+ /**
+ * Gets the modifier element.
+ * @return a daeSmartRef to the modifier element.
+ */
+ const domModifierRef getModifier() const { return elemModifier; }
+ /**
+ * Gets the glsl_param_type element.
+ * @return a daeSmartRef to the glsl_param_type element.
+ */
+ const domGlsl_param_typeRef getGlsl_param_type() const { return elemGlsl_param_type; }
+ /**
+ * Gets the array element.
+ * @return a daeSmartRef to the array element.
+ */
+ const domGlsl_newarray_typeRef getArray() const { return elemArray; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domGlsl_newparam_complexType(DAE& dae, daeElement* elt) : attrSid(), elemAnnotate_array(), elemSemantic(), elemModifier(), elemGlsl_param_type(), elemArray() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGlsl_newparam_complexType() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGlsl_newparam_complexType &operator=( const domGlsl_newparam_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domGlsl_newparam_complexType.
+ */
+class domGlsl_newparam : public daeElement, public domGlsl_newparam_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLSL_NEWPARAM; }
+ static daeInt ID() { return 110; }
+ virtual daeInt typeID() const { return ID(); }
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domGlsl_identifier of the sid attribute.
+ */
+ domGlsl_identifier getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domGlsl_identifier atSid ) { attrSid = atSid; _validAttributeArray[0] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domGlsl_newparam(DAE& dae) : daeElement(dae), domGlsl_newparam_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domGlsl_newparam() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGlsl_newparam &operator=( const domGlsl_newparam &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domGlsl_param_type.h b/1.4.0/dom/include/1.4/dom/domGlsl_param_type.h
new file mode 100644
index 0000000..23070f4
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domGlsl_param_type.h
@@ -0,0 +1,1223 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Glsl_param_type_h__
+#define __dom141Glsl_param_type_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domGlsl_surface_type.h>
+#include <1.4/dom/domGl_sampler1D.h>
+#include <1.4/dom/domGl_sampler2D.h>
+#include <1.4/dom/domGl_sampler3D.h>
+#include <1.4/dom/domGl_samplerCUBE.h>
+#include <1.4/dom/domGl_samplerRECT.h>
+#include <1.4/dom/domGl_samplerDEPTH.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * A group that specifies the allowable types for GLSL profile parameters.
+ */
+class domGlsl_param_type : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLSL_PARAM_TYPE; }
+ static daeInt ID() { return 363; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domBool;
+
+ typedef daeSmartRef<domBool> domBoolRef;
+ typedef daeTArray<domBoolRef> domBool_Array;
+
+ class domBool : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL; }
+ static daeInt ID() { return 364; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domGlsl_bool value of the text data of this element.
+ */
+ domGlsl_bool _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domGlsl_bool of the value.
+ */
+ domGlsl_bool getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domGlsl_bool val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBool(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool &operator=( const domBool &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool2;
+
+ typedef daeSmartRef<domBool2> domBool2Ref;
+ typedef daeTArray<domBool2Ref> domBool2_Array;
+
+ class domBool2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL2; }
+ static daeInt ID() { return 365; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domGlsl_bool2 value of the text data of this element.
+ */
+ domGlsl_bool2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domGlsl_bool2 reference of the _value array.
+ */
+ domGlsl_bool2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domGlsl_bool2 reference of the _value array.
+ */
+ const domGlsl_bool2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domGlsl_bool2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBool2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool2 &operator=( const domBool2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool3;
+
+ typedef daeSmartRef<domBool3> domBool3Ref;
+ typedef daeTArray<domBool3Ref> domBool3_Array;
+
+ class domBool3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL3; }
+ static daeInt ID() { return 366; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domGlsl_bool3 value of the text data of this element.
+ */
+ domGlsl_bool3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domGlsl_bool3 reference of the _value array.
+ */
+ domGlsl_bool3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domGlsl_bool3 reference of the _value array.
+ */
+ const domGlsl_bool3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domGlsl_bool3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBool3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool3 &operator=( const domBool3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool4;
+
+ typedef daeSmartRef<domBool4> domBool4Ref;
+ typedef daeTArray<domBool4Ref> domBool4_Array;
+
+ class domBool4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL4; }
+ static daeInt ID() { return 367; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domGlsl_bool4 value of the text data of this element.
+ */
+ domGlsl_bool4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domGlsl_bool4 reference of the _value array.
+ */
+ domGlsl_bool4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domGlsl_bool4 reference of the _value array.
+ */
+ const domGlsl_bool4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domGlsl_bool4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBool4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool4 &operator=( const domBool4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat;
+
+ typedef daeSmartRef<domFloat> domFloatRef;
+ typedef daeTArray<domFloatRef> domFloat_Array;
+
+ class domFloat : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT; }
+ static daeInt ID() { return 368; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domGlsl_float value of the text data of this element.
+ */
+ domGlsl_float _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domGlsl_float of the value.
+ */
+ domGlsl_float getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domGlsl_float val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat &operator=( const domFloat &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat2;
+
+ typedef daeSmartRef<domFloat2> domFloat2Ref;
+ typedef daeTArray<domFloat2Ref> domFloat2_Array;
+
+ class domFloat2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2; }
+ static daeInt ID() { return 369; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domGlsl_float2 value of the text data of this element.
+ */
+ domGlsl_float2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domGlsl_float2 reference of the _value array.
+ */
+ domGlsl_float2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domGlsl_float2 reference of the _value array.
+ */
+ const domGlsl_float2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domGlsl_float2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat2 &operator=( const domFloat2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat3;
+
+ typedef daeSmartRef<domFloat3> domFloat3Ref;
+ typedef daeTArray<domFloat3Ref> domFloat3_Array;
+
+ class domFloat3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3; }
+ static daeInt ID() { return 370; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domGlsl_float3 value of the text data of this element.
+ */
+ domGlsl_float3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domGlsl_float3 reference of the _value array.
+ */
+ domGlsl_float3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domGlsl_float3 reference of the _value array.
+ */
+ const domGlsl_float3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domGlsl_float3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat3 &operator=( const domFloat3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat4;
+
+ typedef daeSmartRef<domFloat4> domFloat4Ref;
+ typedef daeTArray<domFloat4Ref> domFloat4_Array;
+
+ class domFloat4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4; }
+ static daeInt ID() { return 371; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domGlsl_float4 value of the text data of this element.
+ */
+ domGlsl_float4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domGlsl_float4 reference of the _value array.
+ */
+ domGlsl_float4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domGlsl_float4 reference of the _value array.
+ */
+ const domGlsl_float4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domGlsl_float4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat4 &operator=( const domFloat4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat2x2;
+
+ typedef daeSmartRef<domFloat2x2> domFloat2x2Ref;
+ typedef daeTArray<domFloat2x2Ref> domFloat2x2_Array;
+
+ class domFloat2x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2X2; }
+ static daeInt ID() { return 372; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domGlsl_float2x2 value of the text data of this element.
+ */
+ domGlsl_float2x2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domGlsl_float2x2 reference of the _value array.
+ */
+ domGlsl_float2x2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domGlsl_float2x2 reference of the _value array.
+ */
+ const domGlsl_float2x2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domGlsl_float2x2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat2x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat2x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat2x2 &operator=( const domFloat2x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat3x3;
+
+ typedef daeSmartRef<domFloat3x3> domFloat3x3Ref;
+ typedef daeTArray<domFloat3x3Ref> domFloat3x3_Array;
+
+ class domFloat3x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3X3; }
+ static daeInt ID() { return 373; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domGlsl_float3x3 value of the text data of this element.
+ */
+ domGlsl_float3x3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domGlsl_float3x3 reference of the _value array.
+ */
+ domGlsl_float3x3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domGlsl_float3x3 reference of the _value array.
+ */
+ const domGlsl_float3x3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domGlsl_float3x3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat3x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat3x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat3x3 &operator=( const domFloat3x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat4x4;
+
+ typedef daeSmartRef<domFloat4x4> domFloat4x4Ref;
+ typedef daeTArray<domFloat4x4Ref> domFloat4x4_Array;
+
+ class domFloat4x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4X4; }
+ static daeInt ID() { return 374; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domGlsl_float4x4 value of the text data of this element.
+ */
+ domGlsl_float4x4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domGlsl_float4x4 reference of the _value array.
+ */
+ domGlsl_float4x4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domGlsl_float4x4 reference of the _value array.
+ */
+ const domGlsl_float4x4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domGlsl_float4x4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat4x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat4x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat4x4 &operator=( const domFloat4x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt;
+
+ typedef daeSmartRef<domInt> domIntRef;
+ typedef daeTArray<domIntRef> domInt_Array;
+
+ class domInt : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT; }
+ static daeInt ID() { return 375; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domGlsl_int value of the text data of this element.
+ */
+ domGlsl_int _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domGlsl_int of the value.
+ */
+ domGlsl_int getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domGlsl_int val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domInt(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt &operator=( const domInt &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt2;
+
+ typedef daeSmartRef<domInt2> domInt2Ref;
+ typedef daeTArray<domInt2Ref> domInt2_Array;
+
+ class domInt2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT2; }
+ static daeInt ID() { return 376; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domGlsl_int2 value of the text data of this element.
+ */
+ domGlsl_int2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domGlsl_int2 reference of the _value array.
+ */
+ domGlsl_int2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domGlsl_int2 reference of the _value array.
+ */
+ const domGlsl_int2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domGlsl_int2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domInt2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt2 &operator=( const domInt2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt3;
+
+ typedef daeSmartRef<domInt3> domInt3Ref;
+ typedef daeTArray<domInt3Ref> domInt3_Array;
+
+ class domInt3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT3; }
+ static daeInt ID() { return 377; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domGlsl_int3 value of the text data of this element.
+ */
+ domGlsl_int3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domGlsl_int3 reference of the _value array.
+ */
+ domGlsl_int3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domGlsl_int3 reference of the _value array.
+ */
+ const domGlsl_int3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domGlsl_int3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domInt3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt3 &operator=( const domInt3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt4;
+
+ typedef daeSmartRef<domInt4> domInt4Ref;
+ typedef daeTArray<domInt4Ref> domInt4_Array;
+
+ class domInt4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT4; }
+ static daeInt ID() { return 378; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domGlsl_int4 value of the text data of this element.
+ */
+ domGlsl_int4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domGlsl_int4 reference of the _value array.
+ */
+ domGlsl_int4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domGlsl_int4 reference of the _value array.
+ */
+ const domGlsl_int4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domGlsl_int4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domInt4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt4 &operator=( const domInt4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domEnum;
+
+ typedef daeSmartRef<domEnum> domEnumRef;
+ typedef daeTArray<domEnumRef> domEnum_Array;
+
+ class domEnum : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ENUM; }
+ static daeInt ID() { return 379; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domGl_enumeration value of the text data of this element.
+ */
+ domGl_enumeration _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domGl_enumeration of the value.
+ */
+ domGl_enumeration getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domGl_enumeration val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domEnum(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domEnum() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domEnum &operator=( const domEnum &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+ domBoolRef elemBool;
+ domBool2Ref elemBool2;
+ domBool3Ref elemBool3;
+ domBool4Ref elemBool4;
+ domFloatRef elemFloat;
+ domFloat2Ref elemFloat2;
+ domFloat3Ref elemFloat3;
+ domFloat4Ref elemFloat4;
+ domFloat2x2Ref elemFloat2x2;
+ domFloat3x3Ref elemFloat3x3;
+ domFloat4x4Ref elemFloat4x4;
+ domIntRef elemInt;
+ domInt2Ref elemInt2;
+ domInt3Ref elemInt3;
+ domInt4Ref elemInt4;
+ domGlsl_surface_typeRef elemSurface;
+ domGl_sampler1DRef elemSampler1D;
+ domGl_sampler2DRef elemSampler2D;
+ domGl_sampler3DRef elemSampler3D;
+ domGl_samplerCUBERef elemSamplerCUBE;
+ domGl_samplerRECTRef elemSamplerRECT;
+ domGl_samplerDEPTHRef elemSamplerDEPTH;
+ domEnumRef elemEnum;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the bool element.
+ * @return a daeSmartRef to the bool element.
+ */
+ const domBoolRef getBool() const { return elemBool; }
+ /**
+ * Gets the bool2 element.
+ * @return a daeSmartRef to the bool2 element.
+ */
+ const domBool2Ref getBool2() const { return elemBool2; }
+ /**
+ * Gets the bool3 element.
+ * @return a daeSmartRef to the bool3 element.
+ */
+ const domBool3Ref getBool3() const { return elemBool3; }
+ /**
+ * Gets the bool4 element.
+ * @return a daeSmartRef to the bool4 element.
+ */
+ const domBool4Ref getBool4() const { return elemBool4; }
+ /**
+ * Gets the float element.
+ * @return a daeSmartRef to the float element.
+ */
+ const domFloatRef getFloat() const { return elemFloat; }
+ /**
+ * Gets the float2 element.
+ * @return a daeSmartRef to the float2 element.
+ */
+ const domFloat2Ref getFloat2() const { return elemFloat2; }
+ /**
+ * Gets the float3 element.
+ * @return a daeSmartRef to the float3 element.
+ */
+ const domFloat3Ref getFloat3() const { return elemFloat3; }
+ /**
+ * Gets the float4 element.
+ * @return a daeSmartRef to the float4 element.
+ */
+ const domFloat4Ref getFloat4() const { return elemFloat4; }
+ /**
+ * Gets the float2x2 element.
+ * @return a daeSmartRef to the float2x2 element.
+ */
+ const domFloat2x2Ref getFloat2x2() const { return elemFloat2x2; }
+ /**
+ * Gets the float3x3 element.
+ * @return a daeSmartRef to the float3x3 element.
+ */
+ const domFloat3x3Ref getFloat3x3() const { return elemFloat3x3; }
+ /**
+ * Gets the float4x4 element.
+ * @return a daeSmartRef to the float4x4 element.
+ */
+ const domFloat4x4Ref getFloat4x4() const { return elemFloat4x4; }
+ /**
+ * Gets the int element.
+ * @return a daeSmartRef to the int element.
+ */
+ const domIntRef getInt() const { return elemInt; }
+ /**
+ * Gets the int2 element.
+ * @return a daeSmartRef to the int2 element.
+ */
+ const domInt2Ref getInt2() const { return elemInt2; }
+ /**
+ * Gets the int3 element.
+ * @return a daeSmartRef to the int3 element.
+ */
+ const domInt3Ref getInt3() const { return elemInt3; }
+ /**
+ * Gets the int4 element.
+ * @return a daeSmartRef to the int4 element.
+ */
+ const domInt4Ref getInt4() const { return elemInt4; }
+ /**
+ * Gets the surface element.
+ * @return a daeSmartRef to the surface element.
+ */
+ const domGlsl_surface_typeRef getSurface() const { return elemSurface; }
+ /**
+ * Gets the sampler1D element.
+ * @return a daeSmartRef to the sampler1D element.
+ */
+ const domGl_sampler1DRef getSampler1D() const { return elemSampler1D; }
+ /**
+ * Gets the sampler2D element.
+ * @return a daeSmartRef to the sampler2D element.
+ */
+ const domGl_sampler2DRef getSampler2D() const { return elemSampler2D; }
+ /**
+ * Gets the sampler3D element.
+ * @return a daeSmartRef to the sampler3D element.
+ */
+ const domGl_sampler3DRef getSampler3D() const { return elemSampler3D; }
+ /**
+ * Gets the samplerCUBE element.
+ * @return a daeSmartRef to the samplerCUBE element.
+ */
+ const domGl_samplerCUBERef getSamplerCUBE() const { return elemSamplerCUBE; }
+ /**
+ * Gets the samplerRECT element.
+ * @return a daeSmartRef to the samplerRECT element.
+ */
+ const domGl_samplerRECTRef getSamplerRECT() const { return elemSamplerRECT; }
+ /**
+ * Gets the samplerDEPTH element.
+ * @return a daeSmartRef to the samplerDEPTH element.
+ */
+ const domGl_samplerDEPTHRef getSamplerDEPTH() const { return elemSamplerDEPTH; }
+ /**
+ * Gets the enum element.
+ * @return a daeSmartRef to the enum element.
+ */
+ const domEnumRef getEnum() const { return elemEnum; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domGlsl_param_type(DAE& dae) : daeElement(dae), elemBool(), elemBool2(), elemBool3(), elemBool4(), elemFloat(), elemFloat2(), elemFloat3(), elemFloat4(), elemFloat2x2(), elemFloat3x3(), elemFloat4x4(), elemInt(), elemInt2(), elemInt3(), elemInt4(), elemSurface(), elemSampler1D(), elemSampler2D(), elemSampler3D(), elemSamplerCUBE(), elemSamplerRECT(), elemSamplerDEPTH(), elemEnum() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGlsl_param_type() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGlsl_param_type &operator=( const domGlsl_param_type &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domGlsl_setarray_type.h b/1.4.0/dom/include/1.4/dom/domGlsl_setarray_type.h
new file mode 100644
index 0000000..8933141
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domGlsl_setarray_type.h
@@ -0,0 +1,166 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Glsl_setarray_type_h__
+#define __dom141Glsl_setarray_type_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domGlsl_param_type.h>
+#include <1.4/dom/domGlsl_setarray_type.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The glsl_newarray_type is used to creates a parameter of a one-dimensional
+ * array type.
+ */
+class domGlsl_setarray_type_complexType
+{
+protected: // Attribute
+/**
+ * The length attribute specifies the length of the array.
+ */
+ xsPositiveInteger attrLength;
+
+protected: // Elements
+ domGlsl_param_type_Array elemGlsl_param_type_array;
+/**
+ * You may recursively nest glsl_newarray elements to create multidimensional
+ * arrays. @see domArray
+ */
+ domGlsl_setarray_type_Array elemArray_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the length attribute.
+ * @return Returns a xsPositiveInteger of the length attribute.
+ */
+ xsPositiveInteger getLength() const { return attrLength; }
+ /**
+ * Sets the length attribute.
+ * @param atLength The new value for the length attribute.
+ */
+ void setLength( xsPositiveInteger atLength ) { attrLength = atLength; }
+
+ /**
+ * Gets the glsl_param_type element array.
+ * @return Returns a reference to the array of glsl_param_type elements.
+ */
+ domGlsl_param_type_Array &getGlsl_param_type_array() { return elemGlsl_param_type_array; }
+ /**
+ * Gets the glsl_param_type element array.
+ * @return Returns a constant reference to the array of glsl_param_type elements.
+ */
+ const domGlsl_param_type_Array &getGlsl_param_type_array() const { return elemGlsl_param_type_array; }
+ /**
+ * Gets the array element array.
+ * @return Returns a reference to the array of array elements.
+ */
+ domGlsl_setarray_type_Array &getArray_array() { return elemArray_array; }
+ /**
+ * Gets the array element array.
+ * @return Returns a constant reference to the array of array elements.
+ */
+ const domGlsl_setarray_type_Array &getArray_array() const { return elemArray_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domGlsl_setarray_type_complexType(DAE& dae, daeElement* elt) : attrLength(), elemGlsl_param_type_array(), elemArray_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGlsl_setarray_type_complexType() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGlsl_setarray_type_complexType &operator=( const domGlsl_setarray_type_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domGlsl_setarray_type_complexType.
+ */
+class domGlsl_setarray_type : public daeElement, public domGlsl_setarray_type_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLSL_SETARRAY_TYPE; }
+ static daeInt ID() { return 104; }
+ virtual daeInt typeID() const { return ID(); }
+
+public: //Accessors and Mutators
+ /**
+ * Gets the length attribute.
+ * @return Returns a xsPositiveInteger of the length attribute.
+ */
+ xsPositiveInteger getLength() const { return attrLength; }
+ /**
+ * Sets the length attribute.
+ * @param atLength The new value for the length attribute.
+ */
+ void setLength( xsPositiveInteger atLength ) { attrLength = atLength; _validAttributeArray[0] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domGlsl_setarray_type(DAE& dae) : daeElement(dae), domGlsl_setarray_type_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domGlsl_setarray_type() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGlsl_setarray_type &operator=( const domGlsl_setarray_type &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domGlsl_setparam.h b/1.4.0/dom/include/1.4/dom/domGlsl_setparam.h
new file mode 100644
index 0000000..40199e2
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domGlsl_setparam.h
@@ -0,0 +1,180 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Glsl_setparam_h__
+#define __dom141Glsl_setparam_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domGlsl_param_type.h>
+#include <1.4/dom/domFx_annotate_common.h>
+#include <1.4/dom/domGlsl_setarray_type.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+class domGlsl_setparam_complexType
+{
+protected: // Attributes
+ domGlsl_identifier attrRef;
+ xsNCName attrProgram;
+
+protected: // Elements
+ domFx_annotate_common_Array elemAnnotate_array;
+ domGlsl_param_typeRef elemGlsl_param_type;
+ domGlsl_setarray_typeRef elemArray;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the ref attribute.
+ * @return Returns a domGlsl_identifier of the ref attribute.
+ */
+ domGlsl_identifier getRef() const { return attrRef; }
+ /**
+ * Sets the ref attribute.
+ * @param atRef The new value for the ref attribute.
+ */
+ void setRef( domGlsl_identifier atRef ) { attrRef = atRef; }
+
+ /**
+ * Gets the program attribute.
+ * @return Returns a xsNCName of the program attribute.
+ */
+ xsNCName getProgram() const { return attrProgram; }
+ /**
+ * Sets the program attribute.
+ * @param atProgram The new value for the program attribute.
+ */
+ void setProgram( xsNCName atProgram ) { *(daeStringRef*)&attrProgram = atProgram;}
+
+ /**
+ * Gets the annotate element array.
+ * @return Returns a reference to the array of annotate elements.
+ */
+ domFx_annotate_common_Array &getAnnotate_array() { return elemAnnotate_array; }
+ /**
+ * Gets the annotate element array.
+ * @return Returns a constant reference to the array of annotate elements.
+ */
+ const domFx_annotate_common_Array &getAnnotate_array() const { return elemAnnotate_array; }
+ /**
+ * Gets the glsl_param_type element.
+ * @return a daeSmartRef to the glsl_param_type element.
+ */
+ const domGlsl_param_typeRef getGlsl_param_type() const { return elemGlsl_param_type; }
+ /**
+ * Gets the array element.
+ * @return a daeSmartRef to the array element.
+ */
+ const domGlsl_setarray_typeRef getArray() const { return elemArray; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domGlsl_setparam_complexType(DAE& dae, daeElement* elt) : attrRef(), attrProgram(), elemAnnotate_array(), elemGlsl_param_type(), elemArray() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGlsl_setparam_complexType() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGlsl_setparam_complexType &operator=( const domGlsl_setparam_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domGlsl_setparam_complexType.
+ */
+class domGlsl_setparam : public daeElement, public domGlsl_setparam_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLSL_SETPARAM; }
+ static daeInt ID() { return 112; }
+ virtual daeInt typeID() const { return ID(); }
+
+public: //Accessors and Mutators
+ /**
+ * Gets the ref attribute.
+ * @return Returns a domGlsl_identifier of the ref attribute.
+ */
+ domGlsl_identifier getRef() const { return attrRef; }
+ /**
+ * Sets the ref attribute.
+ * @param atRef The new value for the ref attribute.
+ */
+ void setRef( domGlsl_identifier atRef ) { attrRef = atRef; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the program attribute.
+ * @return Returns a xsNCName of the program attribute.
+ */
+ xsNCName getProgram() const { return attrProgram; }
+ /**
+ * Sets the program attribute.
+ * @param atProgram The new value for the program attribute.
+ */
+ void setProgram( xsNCName atProgram ) { *(daeStringRef*)&attrProgram = atProgram; _validAttributeArray[1] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domGlsl_setparam(DAE& dae) : daeElement(dae), domGlsl_setparam_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domGlsl_setparam() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGlsl_setparam &operator=( const domGlsl_setparam &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domGlsl_setparam_simple.h b/1.4.0/dom/include/1.4/dom/domGlsl_setparam_simple.h
new file mode 100644
index 0000000..c56023b
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domGlsl_setparam_simple.h
@@ -0,0 +1,125 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Glsl_setparam_simple_h__
+#define __dom141Glsl_setparam_simple_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domGlsl_param_type.h>
+#include <1.4/dom/domFx_annotate_common.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+class domGlsl_setparam_simple_complexType
+{
+protected: // Attribute
+ domGlsl_identifier attrRef;
+
+protected: // Elements
+ domFx_annotate_common_Array elemAnnotate_array;
+ domGlsl_param_typeRef elemGlsl_param_type;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the ref attribute.
+ * @return Returns a domGlsl_identifier of the ref attribute.
+ */
+ domGlsl_identifier getRef() const { return attrRef; }
+ /**
+ * Sets the ref attribute.
+ * @param atRef The new value for the ref attribute.
+ */
+ void setRef( domGlsl_identifier atRef ) { attrRef = atRef; }
+
+ /**
+ * Gets the annotate element array.
+ * @return Returns a reference to the array of annotate elements.
+ */
+ domFx_annotate_common_Array &getAnnotate_array() { return elemAnnotate_array; }
+ /**
+ * Gets the annotate element array.
+ * @return Returns a constant reference to the array of annotate elements.
+ */
+ const domFx_annotate_common_Array &getAnnotate_array() const { return elemAnnotate_array; }
+ /**
+ * Gets the glsl_param_type element.
+ * @return a daeSmartRef to the glsl_param_type element.
+ */
+ const domGlsl_param_typeRef getGlsl_param_type() const { return elemGlsl_param_type; }
+protected:
+ /**
+ * Constructor
+ */
+ domGlsl_setparam_simple_complexType(DAE& dae, daeElement* elt) : attrRef(), elemAnnotate_array(), elemGlsl_param_type() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGlsl_setparam_simple_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGlsl_setparam_simple_complexType &operator=( const domGlsl_setparam_simple_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domGlsl_setparam_simple_complexType.
+ */
+class domGlsl_setparam_simple : public daeElement, public domGlsl_setparam_simple_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLSL_SETPARAM_SIMPLE; }
+ static daeInt ID() { return 111; }
+ virtual daeInt typeID() const { return ID(); }
+
+public: //Accessors and Mutators
+ /**
+ * Gets the ref attribute.
+ * @return Returns a domGlsl_identifier of the ref attribute.
+ */
+ domGlsl_identifier getRef() const { return attrRef; }
+ /**
+ * Sets the ref attribute.
+ * @param atRef The new value for the ref attribute.
+ */
+ void setRef( domGlsl_identifier atRef ) { attrRef = atRef; _validAttributeArray[0] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domGlsl_setparam_simple(DAE& dae) : daeElement(dae), domGlsl_setparam_simple_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domGlsl_setparam_simple() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGlsl_setparam_simple &operator=( const domGlsl_setparam_simple &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domGlsl_surface_type.h b/1.4.0/dom/include/1.4/dom/domGlsl_surface_type.h
new file mode 100644
index 0000000..2be33ee
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domGlsl_surface_type.h
@@ -0,0 +1,316 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Glsl_surface_type_h__
+#define __dom141Glsl_surface_type_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domFx_surface_common.h>
+#include <1.4/dom/domFx_annotate_common.h>
+#include <1.4/dom/domFx_code_profile.h>
+#include <1.4/dom/domFx_include_common.h>
+#include <1.4/dom/domGlsl_setparam_simple.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * A surface type for the GLSL profile. This surface inherits from the fx_surface_common
+ * type and adds the ability to programmatically generate textures.
+ */
+class domGlsl_surface_type_complexType : public domFx_surface_common_complexType
+{
+public:
+ class domGenerator;
+
+ typedef daeSmartRef<domGenerator> domGeneratorRef;
+ typedef daeTArray<domGeneratorRef> domGenerator_Array;
+
+/**
+ * A procedural surface generator.
+ */
+ class domGenerator : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GENERATOR; }
+ static daeInt ID() { return 105; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domName;
+
+ typedef daeSmartRef<domName> domNameRef;
+ typedef daeTArray<domNameRef> domName_Array;
+
+/**
+ * The entry symbol for the shader function.
+ */
+ class domName : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::NAME; }
+ static daeInt ID() { return 106; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+ xsNCName attrSource;
+
+ protected: // Value
+ /**
+ * The xsNCName value of the text data of this element.
+ */
+ xsNCName _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the source attribute.
+ * @return Returns a xsNCName of the source attribute.
+ */
+ xsNCName getSource() const { return attrSource; }
+ /**
+ * Sets the source attribute.
+ * @param atSource The new value for the source attribute.
+ */
+ void setSource( xsNCName atSource ) { *(daeStringRef*)&attrSource = atSource; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsNCName of the value.
+ */
+ xsNCName getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domName(DAE& dae) : daeElement(dae), attrSource(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domName() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domName &operator=( const domName &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+/**
+ * The annotate element allows you to specify an annotation for this surface
+ * generator. @see domAnnotate
+ */
+ domFx_annotate_common_Array elemAnnotate_array;
+/**
+ * The code element allows you to embed GLSL code to use for this surface
+ * generator. @see domCode
+ */
+ domFx_code_profile_Array elemCode_array;
+/**
+ * The include element allows you to import GLSL code to use for this surface
+ * generator. @see domInclude
+ */
+ domFx_include_common_Array elemInclude_array;
+/**
+ * The entry symbol for the shader function. @see domName
+ */
+ domNameRef elemName;
+/**
+ * The setparam element allows you to assign a new value to a previously defined
+ * parameter. @see domSetparam
+ */
+ domGlsl_setparam_simple_Array elemSetparam_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the annotate element array.
+ * @return Returns a reference to the array of annotate elements.
+ */
+ domFx_annotate_common_Array &getAnnotate_array() { return elemAnnotate_array; }
+ /**
+ * Gets the annotate element array.
+ * @return Returns a constant reference to the array of annotate elements.
+ */
+ const domFx_annotate_common_Array &getAnnotate_array() const { return elemAnnotate_array; }
+ /**
+ * Gets the code element array.
+ * @return Returns a reference to the array of code elements.
+ */
+ domFx_code_profile_Array &getCode_array() { return elemCode_array; }
+ /**
+ * Gets the code element array.
+ * @return Returns a constant reference to the array of code elements.
+ */
+ const domFx_code_profile_Array &getCode_array() const { return elemCode_array; }
+ /**
+ * Gets the include element array.
+ * @return Returns a reference to the array of include elements.
+ */
+ domFx_include_common_Array &getInclude_array() { return elemInclude_array; }
+ /**
+ * Gets the include element array.
+ * @return Returns a constant reference to the array of include elements.
+ */
+ const domFx_include_common_Array &getInclude_array() const { return elemInclude_array; }
+ /**
+ * Gets the name element.
+ * @return a daeSmartRef to the name element.
+ */
+ const domNameRef getName() const { return elemName; }
+ /**
+ * Gets the setparam element array.
+ * @return Returns a reference to the array of setparam elements.
+ */
+ domGlsl_setparam_simple_Array &getSetparam_array() { return elemSetparam_array; }
+ /**
+ * Gets the setparam element array.
+ * @return Returns a constant reference to the array of setparam elements.
+ */
+ const domGlsl_setparam_simple_Array &getSetparam_array() const { return elemSetparam_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domGenerator(DAE& dae) : daeElement(dae), elemAnnotate_array(), elemCode_array(), elemInclude_array(), elemName(), elemSetparam_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGenerator() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGenerator &operator=( const domGenerator &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Element
+/**
+ * A procedural surface generator. @see domGenerator
+ */
+ domGeneratorRef elemGenerator;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the generator element.
+ * @return a daeSmartRef to the generator element.
+ */
+ const domGeneratorRef getGenerator() const { return elemGenerator; }
+protected:
+ /**
+ * Constructor
+ */
+ domGlsl_surface_type_complexType(DAE& dae, daeElement* elt) : domFx_surface_common_complexType(dae, elt), elemGenerator() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGlsl_surface_type_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGlsl_surface_type_complexType &operator=( const domGlsl_surface_type_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domGlsl_surface_type_complexType.
+ */
+class domGlsl_surface_type : public daeElement, public domGlsl_surface_type_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLSL_SURFACE_TYPE; }
+ static daeInt ID() { return 107; }
+ virtual daeInt typeID() const { return ID(); }
+protected:
+ /**
+ * Constructor
+ */
+ domGlsl_surface_type(DAE& dae) : daeElement(dae), domGlsl_surface_type_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domGlsl_surface_type() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGlsl_surface_type &operator=( const domGlsl_surface_type &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domIDREF_array.h b/1.4.0/dom/include/1.4/dom/domIDREF_array.h
new file mode 100644
index 0000000..92b58bb
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domIDREF_array.h
@@ -0,0 +1,135 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141IDREF_array_h__
+#define __dom141IDREF_array_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The IDREF_array element declares the storage for a homogenous array of
+ * ID reference values.
+ */
+class domIDREF_array : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::IDREF_ARRAY; }
+ static daeInt ID() { return 604; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+/**
+ * The count attribute indicates the number of values in the array. Required
+ * attribute.
+ */
+ domUint attrCount;
+
+protected: // Value
+ /**
+ * The xsIDREFS value of the text data of this element.
+ */
+ xsIDREFS _value;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the count attribute.
+ * @return Returns a domUint of the count attribute.
+ */
+ domUint getCount() const { return attrCount; }
+ /**
+ * Sets the count attribute.
+ * @param atCount The new value for the count attribute.
+ */
+ void setCount( domUint atCount ) { attrCount = atCount; _validAttributeArray[2] = true; }
+
+ /**
+ * Gets the _value array.
+ * @return Returns a xsIDREFS reference of the _value array.
+ */
+ xsIDREFS &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant xsIDREFS reference of the _value array.
+ */
+ const xsIDREFS &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const xsIDREFS &val ) { _value = val; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domIDREF_array(DAE& dae) : daeElement(dae), attrId(), attrName(), attrCount(), _value(new xsIDREF(*this)) {}
+ /**
+ * Destructor
+ */
+ virtual ~domIDREF_array() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domIDREF_array &operator=( const domIDREF_array &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domImage.h b/1.4.0/dom/include/1.4/dom/domImage.h
new file mode 100644
index 0000000..4d73ff3
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domImage.h
@@ -0,0 +1,378 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Image_h__
+#define __dom141Image_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domAsset.h>
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The image element declares the storage for the graphical representation
+ * of an object. The image element best describes raster image data, but
+ * can conceivably handle other forms of imagery. The image elements allows
+ * for specifying an external image file with the init_from element or embed
+ * image data with the data element.
+ */
+class domImage : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::IMAGE; }
+ static daeInt ID() { return 635; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domData;
+
+ typedef daeSmartRef<domData> domDataRef;
+ typedef daeTArray<domDataRef> domData_Array;
+
+/**
+ * The data child element contains a sequence of hexadecimal encoded binary
+ * octets representing the embedded image data.
+ */
+ class domData : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DATA; }
+ static daeInt ID() { return 636; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domListOfHexBinary value of the text data of this element.
+ */
+ domListOfHexBinary _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domListOfHexBinary reference of the _value array.
+ */
+ domListOfHexBinary &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domListOfHexBinary reference of the _value array.
+ */
+ const domListOfHexBinary &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domListOfHexBinary &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domData(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domData() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domData &operator=( const domData &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInit_from;
+
+ typedef daeSmartRef<domInit_from> domInit_fromRef;
+ typedef daeTArray<domInit_fromRef> domInit_from_Array;
+
+/**
+ * The init_from element allows you to specify an external image file to use
+ * for the image element.
+ */
+ class domInit_from : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INIT_FROM; }
+ static daeInt ID() { return 637; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsAnyURI value of the text data of this element.
+ */
+ xsAnyURI _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsAnyURI of the value.
+ */
+ xsAnyURI &getValue() { return _value; }
+ /**
+ * Gets the value of this element.
+ * @return Returns a constant xsAnyURI of the value.
+ */
+ const xsAnyURI &getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const xsAnyURI &val ) { _value = val; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsString val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domInit_from(DAE& dae) : daeElement(dae), _value(dae, *this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domInit_from() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInit_from &operator=( const domInit_from &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+/**
+ * The format attribute is a text string value that indicates the image format.
+ * Optional attribute.
+ */
+ xsToken attrFormat;
+/**
+ * The height attribute is an integer value that indicates the height of
+ * the image in pixel units. Optional attribute.
+ */
+ domUint attrHeight;
+/**
+ * The width attribute is an integer value that indicates the width of the
+ * image in pixel units. Optional attribute.
+ */
+ domUint attrWidth;
+/**
+ * The depth attribute is an integer value that indicates the depth of the
+ * image in pixel units. A 2-D image has a depth of 1, which is also the
+ * default value. Optional attribute.
+ */
+ domUint attrDepth;
+
+protected: // Elements
+/**
+ * The image element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * The data child element contains a sequence of hexadecimal encoded binary
+ * octets representing the embedded image data. @see domData
+ */
+ domDataRef elemData;
+/**
+ * The init_from element allows you to specify an external image file to use
+ * for the image element. @see domInit_from
+ */
+ domInit_fromRef elemInit_from;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the format attribute.
+ * @return Returns a xsToken of the format attribute.
+ */
+ xsToken getFormat() const { return attrFormat; }
+ /**
+ * Sets the format attribute.
+ * @param atFormat The new value for the format attribute.
+ */
+ void setFormat( xsToken atFormat ) { *(daeStringRef*)&attrFormat = atFormat; _validAttributeArray[2] = true; }
+
+ /**
+ * Gets the height attribute.
+ * @return Returns a domUint of the height attribute.
+ */
+ domUint getHeight() const { return attrHeight; }
+ /**
+ * Sets the height attribute.
+ * @param atHeight The new value for the height attribute.
+ */
+ void setHeight( domUint atHeight ) { attrHeight = atHeight; _validAttributeArray[3] = true; }
+
+ /**
+ * Gets the width attribute.
+ * @return Returns a domUint of the width attribute.
+ */
+ domUint getWidth() const { return attrWidth; }
+ /**
+ * Sets the width attribute.
+ * @param atWidth The new value for the width attribute.
+ */
+ void setWidth( domUint atWidth ) { attrWidth = atWidth; _validAttributeArray[4] = true; }
+
+ /**
+ * Gets the depth attribute.
+ * @return Returns a domUint of the depth attribute.
+ */
+ domUint getDepth() const { return attrDepth; }
+ /**
+ * Sets the depth attribute.
+ * @param atDepth The new value for the depth attribute.
+ */
+ void setDepth( domUint atDepth ) { attrDepth = atDepth; _validAttributeArray[5] = true; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the data element.
+ * @return a daeSmartRef to the data element.
+ */
+ const domDataRef getData() const { return elemData; }
+ /**
+ * Gets the init_from element.
+ * @return a daeSmartRef to the init_from element.
+ */
+ const domInit_fromRef getInit_from() const { return elemInit_from; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domImage(DAE& dae) : daeElement(dae), attrId(), attrName(), attrFormat(), attrHeight(), attrWidth(), attrDepth(), elemAsset(), elemData(), elemInit_from(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domImage() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domImage &operator=( const domImage &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domInputGlobal.h b/1.4.0/dom/include/1.4/dom/domInputGlobal.h
new file mode 100644
index 0000000..0f59cc9
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domInputGlobal.h
@@ -0,0 +1,160 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141InputGlobal_h__
+#define __dom141InputGlobal_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The InputGlobal type is used to represent inputs that can reference external
+ * resources.
+ */
+class domInputGlobal_complexType
+{
+protected: // Attributes
+/**
+ * The semantic attribute is the user-defined meaning of the input connection.
+ * Required attribute.
+ */
+ xsNMTOKEN attrSemantic;
+/**
+ * The source attribute indicates the location of the data source. Required
+ * attribute.
+ */
+ xsAnyURI attrSource;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the semantic attribute.
+ * @return Returns a xsNMTOKEN of the semantic attribute.
+ */
+ xsNMTOKEN getSemantic() const { return attrSemantic; }
+ /**
+ * Sets the semantic attribute.
+ * @param atSemantic The new value for the semantic attribute.
+ */
+ void setSemantic( xsNMTOKEN atSemantic ) { *(daeStringRef*)&attrSemantic = atSemantic;}
+
+ /**
+ * Gets the source attribute.
+ * @return Returns a xsAnyURI reference of the source attribute.
+ */
+ xsAnyURI &getSource() { return attrSource; }
+ /**
+ * Gets the source attribute.
+ * @return Returns a constant xsAnyURI reference of the source attribute.
+ */
+ const xsAnyURI &getSource() const { return attrSource; }
+ /**
+ * Sets the source attribute.
+ * @param atSource The new value for the source attribute.
+ */
+ void setSource( const xsAnyURI &atSource ) { attrSource = atSource; }
+ /**
+ * Sets the source attribute.
+ * @param atSource The new value for the source attribute.
+ */
+ void setSource( xsString atSource ) { attrSource = atSource; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domInputGlobal_complexType(DAE& dae, daeElement* elt) : attrSemantic(), attrSource(dae, *elt) {}
+ /**
+ * Destructor
+ */
+ virtual ~domInputGlobal_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInputGlobal_complexType &operator=( const domInputGlobal_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domInputGlobal_complexType.
+ */
+class domInputGlobal : public daeElement, public domInputGlobal_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INPUTGLOBAL; }
+ static daeInt ID() { return 0; }
+ virtual daeInt typeID() const { return ID(); }
+
+public: //Accessors and Mutators
+ /**
+ * Gets the semantic attribute.
+ * @return Returns a xsNMTOKEN of the semantic attribute.
+ */
+ xsNMTOKEN getSemantic() const { return attrSemantic; }
+ /**
+ * Sets the semantic attribute.
+ * @param atSemantic The new value for the semantic attribute.
+ */
+ void setSemantic( xsNMTOKEN atSemantic ) { *(daeStringRef*)&attrSemantic = atSemantic; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the source attribute.
+ * @return Returns a xsAnyURI reference of the source attribute.
+ */
+ xsAnyURI &getSource() { return attrSource; }
+ /**
+ * Gets the source attribute.
+ * @return Returns a constant xsAnyURI reference of the source attribute.
+ */
+ const xsAnyURI &getSource() const { return attrSource; }
+ /**
+ * Sets the source attribute.
+ * @param atSource The new value for the source attribute.
+ */
+ void setSource( const xsAnyURI &atSource ) { attrSource = atSource; _validAttributeArray[1] = true; }
+ /**
+ * Sets the source attribute.
+ * @param atSource The new value for the source attribute.
+ */
+ void setSource( xsString atSource ) { attrSource = atSource; _validAttributeArray[1] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domInputGlobal(DAE& dae) : daeElement(dae), domInputGlobal_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domInputGlobal() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInputGlobal &operator=( const domInputGlobal &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domInputLocal.h b/1.4.0/dom/include/1.4/dom/domInputLocal.h
new file mode 100644
index 0000000..ca5b325
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domInputLocal.h
@@ -0,0 +1,160 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141InputLocal_h__
+#define __dom141InputLocal_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The InputLocal type is used to represent inputs that can only reference
+ * resources declared in the same document.
+ */
+class domInputLocal_complexType
+{
+protected: // Attributes
+/**
+ * The semantic attribute is the user-defined meaning of the input connection.
+ * Required attribute.
+ */
+ xsNMTOKEN attrSemantic;
+/**
+ * The source attribute indicates the location of the data source. Required
+ * attribute.
+ */
+ domURIFragmentType attrSource;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the semantic attribute.
+ * @return Returns a xsNMTOKEN of the semantic attribute.
+ */
+ xsNMTOKEN getSemantic() const { return attrSemantic; }
+ /**
+ * Sets the semantic attribute.
+ * @param atSemantic The new value for the semantic attribute.
+ */
+ void setSemantic( xsNMTOKEN atSemantic ) { *(daeStringRef*)&attrSemantic = atSemantic;}
+
+ /**
+ * Gets the source attribute.
+ * @return Returns a domURIFragmentType reference of the source attribute.
+ */
+ domURIFragmentType &getSource() { return attrSource; }
+ /**
+ * Gets the source attribute.
+ * @return Returns a constant domURIFragmentType reference of the source attribute.
+ */
+ const domURIFragmentType &getSource() const { return attrSource; }
+ /**
+ * Sets the source attribute.
+ * @param atSource The new value for the source attribute.
+ */
+ void setSource( const domURIFragmentType &atSource ) { attrSource = atSource; }
+ /**
+ * Sets the source attribute.
+ * @param atSource The new value for the source attribute.
+ */
+ void setSource( xsString atSource ) { attrSource = atSource; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domInputLocal_complexType(DAE& dae, daeElement* elt) : attrSemantic(), attrSource(dae, *elt) {}
+ /**
+ * Destructor
+ */
+ virtual ~domInputLocal_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInputLocal_complexType &operator=( const domInputLocal_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domInputLocal_complexType.
+ */
+class domInputLocal : public daeElement, public domInputLocal_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INPUTLOCAL; }
+ static daeInt ID() { return 1; }
+ virtual daeInt typeID() const { return ID(); }
+
+public: //Accessors and Mutators
+ /**
+ * Gets the semantic attribute.
+ * @return Returns a xsNMTOKEN of the semantic attribute.
+ */
+ xsNMTOKEN getSemantic() const { return attrSemantic; }
+ /**
+ * Sets the semantic attribute.
+ * @param atSemantic The new value for the semantic attribute.
+ */
+ void setSemantic( xsNMTOKEN atSemantic ) { *(daeStringRef*)&attrSemantic = atSemantic; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the source attribute.
+ * @return Returns a domURIFragmentType reference of the source attribute.
+ */
+ domURIFragmentType &getSource() { return attrSource; }
+ /**
+ * Gets the source attribute.
+ * @return Returns a constant domURIFragmentType reference of the source attribute.
+ */
+ const domURIFragmentType &getSource() const { return attrSource; }
+ /**
+ * Sets the source attribute.
+ * @param atSource The new value for the source attribute.
+ */
+ void setSource( const domURIFragmentType &atSource ) { attrSource = atSource; _validAttributeArray[1] = true; }
+ /**
+ * Sets the source attribute.
+ * @param atSource The new value for the source attribute.
+ */
+ void setSource( xsString atSource ) { attrSource = atSource; _validAttributeArray[1] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domInputLocal(DAE& dae) : daeElement(dae), domInputLocal_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domInputLocal() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInputLocal &operator=( const domInputLocal &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domInputLocalOffset.h b/1.4.0/dom/include/1.4/dom/domInputLocalOffset.h
new file mode 100644
index 0000000..e49a761
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domInputLocalOffset.h
@@ -0,0 +1,216 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141InputLocalOffset_h__
+#define __dom141InputLocalOffset_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The InputLocalOffset type is used to represent indexed inputs that can
+ * only reference resources declared in the same document.
+ */
+class domInputLocalOffset_complexType
+{
+protected: // Attributes
+/**
+ * The offset attribute represents the offset into the list of indices.
+ * If two input elements share the same offset, they will be indexed the
+ * same. This works as a simple form of compression for the list of indices
+ * as well as defining the order the inputs should be used in. Required attribute.
+ */
+ domUint attrOffset;
+/**
+ * The semantic attribute is the user-defined meaning of the input connection.
+ * Required attribute.
+ */
+ xsNMTOKEN attrSemantic;
+/**
+ * The source attribute indicates the location of the data source. Required
+ * attribute.
+ */
+ domURIFragmentType attrSource;
+/**
+ * The set attribute indicates which inputs should be grouped together as
+ * a single set. This is helpful when multiple inputs share the same semantics.
+ */
+ domUint attrSet;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the offset attribute.
+ * @return Returns a domUint of the offset attribute.
+ */
+ domUint getOffset() const { return attrOffset; }
+ /**
+ * Sets the offset attribute.
+ * @param atOffset The new value for the offset attribute.
+ */
+ void setOffset( domUint atOffset ) { attrOffset = atOffset; }
+
+ /**
+ * Gets the semantic attribute.
+ * @return Returns a xsNMTOKEN of the semantic attribute.
+ */
+ xsNMTOKEN getSemantic() const { return attrSemantic; }
+ /**
+ * Sets the semantic attribute.
+ * @param atSemantic The new value for the semantic attribute.
+ */
+ void setSemantic( xsNMTOKEN atSemantic ) { *(daeStringRef*)&attrSemantic = atSemantic;}
+
+ /**
+ * Gets the source attribute.
+ * @return Returns a domURIFragmentType reference of the source attribute.
+ */
+ domURIFragmentType &getSource() { return attrSource; }
+ /**
+ * Gets the source attribute.
+ * @return Returns a constant domURIFragmentType reference of the source attribute.
+ */
+ const domURIFragmentType &getSource() const { return attrSource; }
+ /**
+ * Sets the source attribute.
+ * @param atSource The new value for the source attribute.
+ */
+ void setSource( const domURIFragmentType &atSource ) { attrSource = atSource; }
+ /**
+ * Sets the source attribute.
+ * @param atSource The new value for the source attribute.
+ */
+ void setSource( xsString atSource ) { attrSource = atSource; }
+
+ /**
+ * Gets the set attribute.
+ * @return Returns a domUint of the set attribute.
+ */
+ domUint getSet() const { return attrSet; }
+ /**
+ * Sets the set attribute.
+ * @param atSet The new value for the set attribute.
+ */
+ void setSet( domUint atSet ) { attrSet = atSet; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domInputLocalOffset_complexType(DAE& dae, daeElement* elt) : attrOffset(), attrSemantic(), attrSource(dae, *elt), attrSet() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInputLocalOffset_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInputLocalOffset_complexType &operator=( const domInputLocalOffset_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domInputLocalOffset_complexType.
+ */
+class domInputLocalOffset : public daeElement, public domInputLocalOffset_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INPUTLOCALOFFSET; }
+ static daeInt ID() { return 2; }
+ virtual daeInt typeID() const { return ID(); }
+
+public: //Accessors and Mutators
+ /**
+ * Gets the offset attribute.
+ * @return Returns a domUint of the offset attribute.
+ */
+ domUint getOffset() const { return attrOffset; }
+ /**
+ * Sets the offset attribute.
+ * @param atOffset The new value for the offset attribute.
+ */
+ void setOffset( domUint atOffset ) { attrOffset = atOffset; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the semantic attribute.
+ * @return Returns a xsNMTOKEN of the semantic attribute.
+ */
+ xsNMTOKEN getSemantic() const { return attrSemantic; }
+ /**
+ * Sets the semantic attribute.
+ * @param atSemantic The new value for the semantic attribute.
+ */
+ void setSemantic( xsNMTOKEN atSemantic ) { *(daeStringRef*)&attrSemantic = atSemantic; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the source attribute.
+ * @return Returns a domURIFragmentType reference of the source attribute.
+ */
+ domURIFragmentType &getSource() { return attrSource; }
+ /**
+ * Gets the source attribute.
+ * @return Returns a constant domURIFragmentType reference of the source attribute.
+ */
+ const domURIFragmentType &getSource() const { return attrSource; }
+ /**
+ * Sets the source attribute.
+ * @param atSource The new value for the source attribute.
+ */
+ void setSource( const domURIFragmentType &atSource ) { attrSource = atSource; _validAttributeArray[2] = true; }
+ /**
+ * Sets the source attribute.
+ * @param atSource The new value for the source attribute.
+ */
+ void setSource( xsString atSource ) { attrSource = atSource; _validAttributeArray[2] = true; }
+
+ /**
+ * Gets the set attribute.
+ * @return Returns a domUint of the set attribute.
+ */
+ domUint getSet() const { return attrSet; }
+ /**
+ * Sets the set attribute.
+ * @param atSet The new value for the set attribute.
+ */
+ void setSet( domUint atSet ) { attrSet = atSet; _validAttributeArray[3] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domInputLocalOffset(DAE& dae) : daeElement(dae), domInputLocalOffset_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domInputLocalOffset() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInputLocalOffset &operator=( const domInputLocalOffset &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domInstanceWithExtra.h b/1.4.0/dom/include/1.4/dom/domInstanceWithExtra.h
new file mode 100644
index 0000000..fca64f4
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domInstanceWithExtra.h
@@ -0,0 +1,206 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141InstanceWithExtra_h__
+#define __dom141InstanceWithExtra_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The InstanceWithExtra type is used for all generic instance elements. A
+ * generic instance element is one which does not have any specific child
+ * elements declared.
+ */
+class domInstanceWithExtra_complexType
+{
+protected: // Attributes
+/**
+ * The url attribute refers to resource to instantiate. This may refer to
+ * a local resource using a relative URL fragment identifier that begins
+ * with the “#” character. The url attribute may refer to an external
+ * resource using an absolute or relative URL.
+ */
+ xsAnyURI attrUrl;
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ xsNCName attrSid;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+
+protected: // Element
+/**
+ * The extra element may occur any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the url attribute.
+ * @return Returns a xsAnyURI reference of the url attribute.
+ */
+ xsAnyURI &getUrl() { return attrUrl; }
+ /**
+ * Gets the url attribute.
+ * @return Returns a constant xsAnyURI reference of the url attribute.
+ */
+ const xsAnyURI &getUrl() const { return attrUrl; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( const xsAnyURI &atUrl ) { attrUrl = atUrl; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( xsString atUrl ) { attrUrl = atUrl; }
+
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domInstanceWithExtra_complexType(DAE& dae, daeElement* elt) : attrUrl(dae, *elt), attrSid(), attrName(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInstanceWithExtra_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInstanceWithExtra_complexType &operator=( const domInstanceWithExtra_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domInstanceWithExtra_complexType.
+ */
+class domInstanceWithExtra : public daeElement, public domInstanceWithExtra_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INSTANCEWITHEXTRA; }
+ static daeInt ID() { return 3; }
+ virtual daeInt typeID() const { return ID(); }
+
+public: //Accessors and Mutators
+ /**
+ * Gets the url attribute.
+ * @return Returns a xsAnyURI reference of the url attribute.
+ */
+ xsAnyURI &getUrl() { return attrUrl; }
+ /**
+ * Gets the url attribute.
+ * @return Returns a constant xsAnyURI reference of the url attribute.
+ */
+ const xsAnyURI &getUrl() const { return attrUrl; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( const xsAnyURI &atUrl ) { attrUrl = atUrl; _validAttributeArray[0] = true; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( xsString atUrl ) { attrUrl = atUrl; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[2] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domInstanceWithExtra(DAE& dae) : daeElement(dae), domInstanceWithExtra_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domInstanceWithExtra() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInstanceWithExtra &operator=( const domInstanceWithExtra &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domInstance_camera.h b/1.4.0/dom/include/1.4/dom/domInstance_camera.h
new file mode 100644
index 0000000..0f633d5
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domInstance_camera.h
@@ -0,0 +1,105 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Instance_camera_h__
+#define __dom141Instance_camera_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domInstanceWithExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The instance_camera element declares the instantiation of a COLLADA camera
+ * resource.
+ */
+class domInstance_camera : public daeElement, public domInstanceWithExtra_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INSTANCE_CAMERA; }
+ static daeInt ID() { return 688; }
+ virtual daeInt typeID() const { return ID(); }
+
+ /**
+ * Gets the url attribute.
+ * @return Returns a xsAnyURI reference of the url attribute.
+ */
+ xsAnyURI &getUrl() { return attrUrl; }
+ /**
+ * Gets the url attribute.
+ * @return Returns a constant xsAnyURI reference of the url attribute.
+ */
+ const xsAnyURI &getUrl() const { return attrUrl; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( const xsAnyURI &atUrl ) { attrUrl = atUrl; _validAttributeArray[0] = true; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( xsString atUrl ) { attrUrl = atUrl; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[2] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domInstance_camera(DAE& dae) : daeElement(dae), domInstanceWithExtra_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domInstance_camera() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInstance_camera &operator=( const domInstance_camera &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domInstance_controller.h b/1.4.0/dom/include/1.4/dom/domInstance_controller.h
new file mode 100644
index 0000000..d1fa2f0
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domInstance_controller.h
@@ -0,0 +1,242 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Instance_controller_h__
+#define __dom141Instance_controller_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domBind_material.h>
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The instance_controller element declares the instantiation of a COLLADA
+ * controller resource.
+ */
+class domInstance_controller : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INSTANCE_CONTROLLER; }
+ static daeInt ID() { return 689; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domSkeleton;
+
+ typedef daeSmartRef<domSkeleton> domSkeletonRef;
+ typedef daeTArray<domSkeletonRef> domSkeleton_Array;
+
+/**
+ * The skeleton element is used to indicate where a skin controller is to
+ * start to search for the joint nodes it needs. This element is meaningless
+ * for morph controllers.
+ */
+ class domSkeleton : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SKELETON; }
+ static daeInt ID() { return 690; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsAnyURI value of the text data of this element.
+ */
+ xsAnyURI _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsAnyURI of the value.
+ */
+ xsAnyURI &getValue() { return _value; }
+ /**
+ * Gets the value of this element.
+ * @return Returns a constant xsAnyURI of the value.
+ */
+ const xsAnyURI &getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const xsAnyURI &val ) { _value = val; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsString val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSkeleton(DAE& dae) : daeElement(dae), _value(dae, *this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domSkeleton() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSkeleton &operator=( const domSkeleton &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+/**
+ * The url attribute refers to resource. This may refer to a local resource
+ * using a relative URL fragment identifier that begins with the “#”
+ * character. The url attribute may refer to an external resource using an
+ * absolute or relative URL.
+ */
+ xsAnyURI attrUrl;
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ xsNCName attrSid;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+
+protected: // Elements
+/**
+ * The skeleton element is used to indicate where a skin controller is to
+ * start to search for the joint nodes it needs. This element is meaningless
+ * for morph controllers. @see domSkeleton
+ */
+ domSkeleton_Array elemSkeleton_array;
+/**
+ * Bind a specific material to a piece of geometry, binding varying and uniform
+ * parameters at the same time. @see domBind_material
+ */
+ domBind_materialRef elemBind_material;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the url attribute.
+ * @return Returns a xsAnyURI reference of the url attribute.
+ */
+ xsAnyURI &getUrl() { return attrUrl; }
+ /**
+ * Gets the url attribute.
+ * @return Returns a constant xsAnyURI reference of the url attribute.
+ */
+ const xsAnyURI &getUrl() const { return attrUrl; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( const xsAnyURI &atUrl ) { attrUrl = atUrl; _validAttributeArray[0] = true; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( xsString atUrl ) { attrUrl = atUrl; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[2] = true; }
+
+ /**
+ * Gets the skeleton element array.
+ * @return Returns a reference to the array of skeleton elements.
+ */
+ domSkeleton_Array &getSkeleton_array() { return elemSkeleton_array; }
+ /**
+ * Gets the skeleton element array.
+ * @return Returns a constant reference to the array of skeleton elements.
+ */
+ const domSkeleton_Array &getSkeleton_array() const { return elemSkeleton_array; }
+ /**
+ * Gets the bind_material element.
+ * @return a daeSmartRef to the bind_material element.
+ */
+ const domBind_materialRef getBind_material() const { return elemBind_material; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domInstance_controller(DAE& dae) : daeElement(dae), attrUrl(dae, *this), attrSid(), attrName(), elemSkeleton_array(), elemBind_material(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInstance_controller() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInstance_controller &operator=( const domInstance_controller &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domInstance_effect.h b/1.4.0/dom/include/1.4/dom/domInstance_effect.h
new file mode 100644
index 0000000..7eb7dfd
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domInstance_effect.h
@@ -0,0 +1,330 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Instance_effect_h__
+#define __dom141Instance_effect_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domExtra.h>
+#include <1.4/dom/domFx_basic_type_common.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The instance_effect element declares the instantiation of a COLLADA effect
+ * resource.
+ */
+class domInstance_effect : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INSTANCE_EFFECT; }
+ static daeInt ID() { return 691; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domTechnique_hint;
+
+ typedef daeSmartRef<domTechnique_hint> domTechnique_hintRef;
+ typedef daeTArray<domTechnique_hintRef> domTechnique_hint_Array;
+
+/**
+ * Add a hint for a platform of which technique to use in this effect.
+ */
+ class domTechnique_hint : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TECHNIQUE_HINT; }
+ static daeInt ID() { return 692; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+/**
+ * A platform defines a string that specifies which platform this is hint
+ * is aimed for.
+ */
+ xsNCName attrPlatform;
+/**
+ * A profile defines a string that specifies which API profile this is hint
+ * is aimed for.
+ */
+ xsNCName attrProfile;
+/**
+ * A reference to the technique to use for the specified platform.
+ */
+ xsNCName attrRef;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the platform attribute.
+ * @return Returns a xsNCName of the platform attribute.
+ */
+ xsNCName getPlatform() const { return attrPlatform; }
+ /**
+ * Sets the platform attribute.
+ * @param atPlatform The new value for the platform attribute.
+ */
+ void setPlatform( xsNCName atPlatform ) { *(daeStringRef*)&attrPlatform = atPlatform; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the profile attribute.
+ * @return Returns a xsNCName of the profile attribute.
+ */
+ xsNCName getProfile() const { return attrProfile; }
+ /**
+ * Sets the profile attribute.
+ * @param atProfile The new value for the profile attribute.
+ */
+ void setProfile( xsNCName atProfile ) { *(daeStringRef*)&attrProfile = atProfile; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the ref attribute.
+ * @return Returns a xsNCName of the ref attribute.
+ */
+ xsNCName getRef() const { return attrRef; }
+ /**
+ * Sets the ref attribute.
+ * @param atRef The new value for the ref attribute.
+ */
+ void setRef( xsNCName atRef ) { *(daeStringRef*)&attrRef = atRef; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTechnique_hint(DAE& dae) : daeElement(dae), attrPlatform(), attrProfile(), attrRef() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTechnique_hint() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTechnique_hint &operator=( const domTechnique_hint &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domSetparam;
+
+ typedef daeSmartRef<domSetparam> domSetparamRef;
+ typedef daeTArray<domSetparamRef> domSetparam_Array;
+
+/**
+ * Assigns a new value to a previously defined parameter
+ */
+ class domSetparam : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SETPARAM; }
+ static daeInt ID() { return 693; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+ xsToken attrRef;
+
+ protected: // Element
+ domFx_basic_type_commonRef elemFx_basic_type_common;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the ref attribute.
+ * @return Returns a xsToken of the ref attribute.
+ */
+ xsToken getRef() const { return attrRef; }
+ /**
+ * Sets the ref attribute.
+ * @param atRef The new value for the ref attribute.
+ */
+ void setRef( xsToken atRef ) { *(daeStringRef*)&attrRef = atRef; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the fx_basic_type_common element.
+ * @return a daeSmartRef to the fx_basic_type_common element.
+ */
+ const domFx_basic_type_commonRef getFx_basic_type_common() const { return elemFx_basic_type_common; }
+ protected:
+ /**
+ * Constructor
+ */
+ domSetparam(DAE& dae) : daeElement(dae), attrRef(), elemFx_basic_type_common() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSetparam() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSetparam &operator=( const domSetparam &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+/**
+ * The url attribute refers to resource. This may refer to a local resource
+ * using a relative URL fragment identifier that begins with the “#”
+ * character. The url attribute may refer to an external resource using an
+ * absolute or relative URL.
+ */
+ xsAnyURI attrUrl;
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ xsNCName attrSid;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+
+protected: // Elements
+/**
+ * Add a hint for a platform of which technique to use in this effect. @see
+ * domTechnique_hint
+ */
+ domTechnique_hint_Array elemTechnique_hint_array;
+/**
+ * Assigns a new value to a previously defined parameter @see domSetparam
+ */
+ domSetparam_Array elemSetparam_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the url attribute.
+ * @return Returns a xsAnyURI reference of the url attribute.
+ */
+ xsAnyURI &getUrl() { return attrUrl; }
+ /**
+ * Gets the url attribute.
+ * @return Returns a constant xsAnyURI reference of the url attribute.
+ */
+ const xsAnyURI &getUrl() const { return attrUrl; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( const xsAnyURI &atUrl ) { attrUrl = atUrl; _validAttributeArray[0] = true; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( xsString atUrl ) { attrUrl = atUrl; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[2] = true; }
+
+ /**
+ * Gets the technique_hint element array.
+ * @return Returns a reference to the array of technique_hint elements.
+ */
+ domTechnique_hint_Array &getTechnique_hint_array() { return elemTechnique_hint_array; }
+ /**
+ * Gets the technique_hint element array.
+ * @return Returns a constant reference to the array of technique_hint elements.
+ */
+ const domTechnique_hint_Array &getTechnique_hint_array() const { return elemTechnique_hint_array; }
+ /**
+ * Gets the setparam element array.
+ * @return Returns a reference to the array of setparam elements.
+ */
+ domSetparam_Array &getSetparam_array() { return elemSetparam_array; }
+ /**
+ * Gets the setparam element array.
+ * @return Returns a constant reference to the array of setparam elements.
+ */
+ const domSetparam_Array &getSetparam_array() const { return elemSetparam_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domInstance_effect(DAE& dae) : daeElement(dae), attrUrl(dae, *this), attrSid(), attrName(), elemTechnique_hint_array(), elemSetparam_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInstance_effect() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInstance_effect &operator=( const domInstance_effect &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domInstance_force_field.h b/1.4.0/dom/include/1.4/dom/domInstance_force_field.h
new file mode 100644
index 0000000..0193ed4
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domInstance_force_field.h
@@ -0,0 +1,105 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Instance_force_field_h__
+#define __dom141Instance_force_field_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domInstanceWithExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The instance_force_field element declares the instantiation of a COLLADA
+ * force_field resource.
+ */
+class domInstance_force_field : public daeElement, public domInstanceWithExtra_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INSTANCE_FORCE_FIELD; }
+ static daeInt ID() { return 694; }
+ virtual daeInt typeID() const { return ID(); }
+
+ /**
+ * Gets the url attribute.
+ * @return Returns a xsAnyURI reference of the url attribute.
+ */
+ xsAnyURI &getUrl() { return attrUrl; }
+ /**
+ * Gets the url attribute.
+ * @return Returns a constant xsAnyURI reference of the url attribute.
+ */
+ const xsAnyURI &getUrl() const { return attrUrl; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( const xsAnyURI &atUrl ) { attrUrl = atUrl; _validAttributeArray[0] = true; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( xsString atUrl ) { attrUrl = atUrl; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[2] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domInstance_force_field(DAE& dae) : daeElement(dae), domInstanceWithExtra_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domInstance_force_field() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInstance_force_field &operator=( const domInstance_force_field &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domInstance_geometry.h b/1.4.0/dom/include/1.4/dom/domInstance_geometry.h
new file mode 100644
index 0000000..0904b1e
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domInstance_geometry.h
@@ -0,0 +1,151 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Instance_geometry_h__
+#define __dom141Instance_geometry_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domBind_material.h>
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The instance_geometry element declares the instantiation of a COLLADA geometry
+ * resource.
+ */
+class domInstance_geometry : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INSTANCE_GEOMETRY; }
+ static daeInt ID() { return 695; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The url attribute refers to resource. This may refer to a local resource
+ * using a relative URL fragment identifier that begins with the “#”
+ * character. The url attribute may refer to an external resource using an
+ * absolute or relative URL.
+ */
+ xsAnyURI attrUrl;
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ xsNCName attrSid;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+
+protected: // Elements
+/**
+ * Bind a specific material to a piece of geometry, binding varying and uniform
+ * parameters at the same time. @see domBind_material
+ */
+ domBind_materialRef elemBind_material;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the url attribute.
+ * @return Returns a xsAnyURI reference of the url attribute.
+ */
+ xsAnyURI &getUrl() { return attrUrl; }
+ /**
+ * Gets the url attribute.
+ * @return Returns a constant xsAnyURI reference of the url attribute.
+ */
+ const xsAnyURI &getUrl() const { return attrUrl; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( const xsAnyURI &atUrl ) { attrUrl = atUrl; _validAttributeArray[0] = true; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( xsString atUrl ) { attrUrl = atUrl; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[2] = true; }
+
+ /**
+ * Gets the bind_material element.
+ * @return a daeSmartRef to the bind_material element.
+ */
+ const domBind_materialRef getBind_material() const { return elemBind_material; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domInstance_geometry(DAE& dae) : daeElement(dae), attrUrl(dae, *this), attrSid(), attrName(), elemBind_material(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInstance_geometry() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInstance_geometry &operator=( const domInstance_geometry &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domInstance_light.h b/1.4.0/dom/include/1.4/dom/domInstance_light.h
new file mode 100644
index 0000000..d78c71a
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domInstance_light.h
@@ -0,0 +1,105 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Instance_light_h__
+#define __dom141Instance_light_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domInstanceWithExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The instance_light element declares the instantiation of a COLLADA light
+ * resource.
+ */
+class domInstance_light : public daeElement, public domInstanceWithExtra_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INSTANCE_LIGHT; }
+ static daeInt ID() { return 696; }
+ virtual daeInt typeID() const { return ID(); }
+
+ /**
+ * Gets the url attribute.
+ * @return Returns a xsAnyURI reference of the url attribute.
+ */
+ xsAnyURI &getUrl() { return attrUrl; }
+ /**
+ * Gets the url attribute.
+ * @return Returns a constant xsAnyURI reference of the url attribute.
+ */
+ const xsAnyURI &getUrl() const { return attrUrl; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( const xsAnyURI &atUrl ) { attrUrl = atUrl; _validAttributeArray[0] = true; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( xsString atUrl ) { attrUrl = atUrl; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[2] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domInstance_light(DAE& dae) : daeElement(dae), domInstanceWithExtra_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domInstance_light() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInstance_light &operator=( const domInstance_light &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domInstance_material.h b/1.4.0/dom/include/1.4/dom/domInstance_material.h
new file mode 100644
index 0000000..2956d67
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domInstance_material.h
@@ -0,0 +1,356 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Instance_material_h__
+#define __dom141Instance_material_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The instance_material element declares the instantiation of a COLLADA material
+ * resource.
+ */
+class domInstance_material : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INSTANCE_MATERIAL; }
+ static daeInt ID() { return 697; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domBind;
+
+ typedef daeSmartRef<domBind> domBindRef;
+ typedef daeTArray<domBindRef> domBind_Array;
+
+/**
+ * The bind element binds values to effect parameters upon instantiation.
+ */
+ class domBind : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BIND; }
+ static daeInt ID() { return 698; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+/**
+ * The semantic attribute specifies which effect parameter to bind.
+ */
+ xsNCName attrSemantic;
+/**
+ * The target attribute specifies the location of the value to bind to the
+ * specified semantic. This text string is a path-name following a simple
+ * syntax described in the “Addressing Syntax” section.
+ */
+ xsToken attrTarget;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the semantic attribute.
+ * @return Returns a xsNCName of the semantic attribute.
+ */
+ xsNCName getSemantic() const { return attrSemantic; }
+ /**
+ * Sets the semantic attribute.
+ * @param atSemantic The new value for the semantic attribute.
+ */
+ void setSemantic( xsNCName atSemantic ) { *(daeStringRef*)&attrSemantic = atSemantic; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the target attribute.
+ * @return Returns a xsToken of the target attribute.
+ */
+ xsToken getTarget() const { return attrTarget; }
+ /**
+ * Sets the target attribute.
+ * @param atTarget The new value for the target attribute.
+ */
+ void setTarget( xsToken atTarget ) { *(daeStringRef*)&attrTarget = atTarget; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBind(DAE& dae) : daeElement(dae), attrSemantic(), attrTarget() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBind() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBind &operator=( const domBind &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBind_vertex_input;
+
+ typedef daeSmartRef<domBind_vertex_input> domBind_vertex_inputRef;
+ typedef daeTArray<domBind_vertex_inputRef> domBind_vertex_input_Array;
+
+/**
+ * The bind_vertex_input element binds vertex inputs to effect parameters
+ * upon instantiation.
+ */
+ class domBind_vertex_input : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BIND_VERTEX_INPUT; }
+ static daeInt ID() { return 699; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+/**
+ * The semantic attribute specifies which effect parameter to bind.
+ */
+ xsNCName attrSemantic;
+/**
+ * The input_semantic attribute specifies which input semantic to bind.
+ */
+ xsNCName attrInput_semantic;
+/**
+ * The input_set attribute specifies which input set to bind.
+ */
+ domUint attrInput_set;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the semantic attribute.
+ * @return Returns a xsNCName of the semantic attribute.
+ */
+ xsNCName getSemantic() const { return attrSemantic; }
+ /**
+ * Sets the semantic attribute.
+ * @param atSemantic The new value for the semantic attribute.
+ */
+ void setSemantic( xsNCName atSemantic ) { *(daeStringRef*)&attrSemantic = atSemantic; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the input_semantic attribute.
+ * @return Returns a xsNCName of the input_semantic attribute.
+ */
+ xsNCName getInput_semantic() const { return attrInput_semantic; }
+ /**
+ * Sets the input_semantic attribute.
+ * @param atInput_semantic The new value for the input_semantic attribute.
+ */
+ void setInput_semantic( xsNCName atInput_semantic ) { *(daeStringRef*)&attrInput_semantic = atInput_semantic; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the input_set attribute.
+ * @return Returns a domUint of the input_set attribute.
+ */
+ domUint getInput_set() const { return attrInput_set; }
+ /**
+ * Sets the input_set attribute.
+ * @param atInput_set The new value for the input_set attribute.
+ */
+ void setInput_set( domUint atInput_set ) { attrInput_set = atInput_set; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBind_vertex_input(DAE& dae) : daeElement(dae), attrSemantic(), attrInput_semantic(), attrInput_set() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBind_vertex_input() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBind_vertex_input &operator=( const domBind_vertex_input &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+/**
+ * The symbol attribute specifies which symbol defined from within the geometry
+ * this material binds to.
+ */
+ xsNCName attrSymbol;
+/**
+ * The target attribute specifies the URL of the location of the object to
+ * instantiate.
+ */
+ xsAnyURI attrTarget;
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ xsNCName attrSid;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+
+protected: // Elements
+/**
+ * The bind element binds values to effect parameters upon instantiation.
+ * @see domBind
+ */
+ domBind_Array elemBind_array;
+/**
+ * The bind_vertex_input element binds vertex inputs to effect parameters
+ * upon instantiation. @see domBind_vertex_input
+ */
+ domBind_vertex_input_Array elemBind_vertex_input_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the symbol attribute.
+ * @return Returns a xsNCName of the symbol attribute.
+ */
+ xsNCName getSymbol() const { return attrSymbol; }
+ /**
+ * Sets the symbol attribute.
+ * @param atSymbol The new value for the symbol attribute.
+ */
+ void setSymbol( xsNCName atSymbol ) { *(daeStringRef*)&attrSymbol = atSymbol; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the target attribute.
+ * @return Returns a xsAnyURI reference of the target attribute.
+ */
+ xsAnyURI &getTarget() { return attrTarget; }
+ /**
+ * Gets the target attribute.
+ * @return Returns a constant xsAnyURI reference of the target attribute.
+ */
+ const xsAnyURI &getTarget() const { return attrTarget; }
+ /**
+ * Sets the target attribute.
+ * @param atTarget The new value for the target attribute.
+ */
+ void setTarget( const xsAnyURI &atTarget ) { attrTarget = atTarget; _validAttributeArray[1] = true; }
+ /**
+ * Sets the target attribute.
+ * @param atTarget The new value for the target attribute.
+ */
+ void setTarget( xsString atTarget ) { attrTarget = atTarget; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[2] = true; }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[3] = true; }
+
+ /**
+ * Gets the bind element array.
+ * @return Returns a reference to the array of bind elements.
+ */
+ domBind_Array &getBind_array() { return elemBind_array; }
+ /**
+ * Gets the bind element array.
+ * @return Returns a constant reference to the array of bind elements.
+ */
+ const domBind_Array &getBind_array() const { return elemBind_array; }
+ /**
+ * Gets the bind_vertex_input element array.
+ * @return Returns a reference to the array of bind_vertex_input elements.
+ */
+ domBind_vertex_input_Array &getBind_vertex_input_array() { return elemBind_vertex_input_array; }
+ /**
+ * Gets the bind_vertex_input element array.
+ * @return Returns a constant reference to the array of bind_vertex_input elements.
+ */
+ const domBind_vertex_input_Array &getBind_vertex_input_array() const { return elemBind_vertex_input_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domInstance_material(DAE& dae) : daeElement(dae), attrSymbol(), attrTarget(dae, *this), attrSid(), attrName(), elemBind_array(), elemBind_vertex_input_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInstance_material() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInstance_material &operator=( const domInstance_material &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domInstance_node.h b/1.4.0/dom/include/1.4/dom/domInstance_node.h
new file mode 100644
index 0000000..a5ab3c5
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domInstance_node.h
@@ -0,0 +1,105 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Instance_node_h__
+#define __dom141Instance_node_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domInstanceWithExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The instance_node element declares the instantiation of a COLLADA node
+ * resource.
+ */
+class domInstance_node : public daeElement, public domInstanceWithExtra_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INSTANCE_NODE; }
+ static daeInt ID() { return 700; }
+ virtual daeInt typeID() const { return ID(); }
+
+ /**
+ * Gets the url attribute.
+ * @return Returns a xsAnyURI reference of the url attribute.
+ */
+ xsAnyURI &getUrl() { return attrUrl; }
+ /**
+ * Gets the url attribute.
+ * @return Returns a constant xsAnyURI reference of the url attribute.
+ */
+ const xsAnyURI &getUrl() const { return attrUrl; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( const xsAnyURI &atUrl ) { attrUrl = atUrl; _validAttributeArray[0] = true; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( xsString atUrl ) { attrUrl = atUrl; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[2] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domInstance_node(DAE& dae) : daeElement(dae), domInstanceWithExtra_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domInstance_node() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInstance_node &operator=( const domInstance_node &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domInstance_physics_material.h b/1.4.0/dom/include/1.4/dom/domInstance_physics_material.h
new file mode 100644
index 0000000..027bdf0
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domInstance_physics_material.h
@@ -0,0 +1,105 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Instance_physics_material_h__
+#define __dom141Instance_physics_material_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domInstanceWithExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The instance_physics_material element declares the instantiation of a COLLADA
+ * physics_material resource.
+ */
+class domInstance_physics_material : public daeElement, public domInstanceWithExtra_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INSTANCE_PHYSICS_MATERIAL; }
+ static daeInt ID() { return 701; }
+ virtual daeInt typeID() const { return ID(); }
+
+ /**
+ * Gets the url attribute.
+ * @return Returns a xsAnyURI reference of the url attribute.
+ */
+ xsAnyURI &getUrl() { return attrUrl; }
+ /**
+ * Gets the url attribute.
+ * @return Returns a constant xsAnyURI reference of the url attribute.
+ */
+ const xsAnyURI &getUrl() const { return attrUrl; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( const xsAnyURI &atUrl ) { attrUrl = atUrl; _validAttributeArray[0] = true; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( xsString atUrl ) { attrUrl = atUrl; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[2] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domInstance_physics_material(DAE& dae) : daeElement(dae), domInstanceWithExtra_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domInstance_physics_material() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInstance_physics_material &operator=( const domInstance_physics_material &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domInstance_physics_model.h b/1.4.0/dom/include/1.4/dom/domInstance_physics_model.h
new file mode 100644
index 0000000..51816ed
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domInstance_physics_model.h
@@ -0,0 +1,216 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Instance_physics_model_h__
+#define __dom141Instance_physics_model_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domInstance_force_field.h>
+#include <1.4/dom/domInstance_rigid_body.h>
+#include <1.4/dom/domInstance_rigid_constraint.h>
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * This element allows instancing physics model within another physics model,
+ * or in a physics scene.
+ */
+class domInstance_physics_model : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INSTANCE_PHYSICS_MODEL; }
+ static daeInt ID() { return 702; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The url attribute refers to resource. This may refer to a local resource
+ * using a relative URL fragment identifier that begins with the “#”
+ * character. The url attribute may refer to an external resource using an
+ * absolute or relative URL.
+ */
+ xsAnyURI attrUrl;
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ xsNCName attrSid;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+/**
+ * The parent attribute points to the id of a node in the visual scene. This
+ * allows a physics model to be instantiated under a specific transform node,
+ * which will dictate the initial position and orientation, and could be
+ * animated to influence kinematic rigid bodies.
+ */
+ xsAnyURI attrParent;
+
+protected: // Elements
+/**
+ * The instance_physics_model element may instance any number of force_field
+ * elements. @see domInstance_force_field
+ */
+ domInstance_force_field_Array elemInstance_force_field_array;
+/**
+ * The instance_physics_model element may instance any number of rigid_body
+ * elements. @see domInstance_rigid_body
+ */
+ domInstance_rigid_body_Array elemInstance_rigid_body_array;
+/**
+ * The instance_physics_model element may instance any number of rigid_constraint
+ * elements. @see domInstance_rigid_constraint
+ */
+ domInstance_rigid_constraint_Array elemInstance_rigid_constraint_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the url attribute.
+ * @return Returns a xsAnyURI reference of the url attribute.
+ */
+ xsAnyURI &getUrl() { return attrUrl; }
+ /**
+ * Gets the url attribute.
+ * @return Returns a constant xsAnyURI reference of the url attribute.
+ */
+ const xsAnyURI &getUrl() const { return attrUrl; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( const xsAnyURI &atUrl ) { attrUrl = atUrl; _validAttributeArray[0] = true; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( xsString atUrl ) { attrUrl = atUrl; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[2] = true; }
+
+ /**
+ * Gets the parent attribute.
+ * @return Returns a xsAnyURI reference of the parent attribute.
+ */
+ xsAnyURI &getParent() { return attrParent; }
+ /**
+ * Gets the parent attribute.
+ * @return Returns a constant xsAnyURI reference of the parent attribute.
+ */
+ const xsAnyURI &getParent() const { return attrParent; }
+ /**
+ * Sets the parent attribute.
+ * @param atParent The new value for the parent attribute.
+ */
+ void setParent( const xsAnyURI &atParent ) { attrParent = atParent; _validAttributeArray[3] = true; }
+ /**
+ * Sets the parent attribute.
+ * @param atParent The new value for the parent attribute.
+ */
+ void setParent( xsString atParent ) { attrParent = atParent; _validAttributeArray[3] = true; }
+
+ /**
+ * Gets the instance_force_field element array.
+ * @return Returns a reference to the array of instance_force_field elements.
+ */
+ domInstance_force_field_Array &getInstance_force_field_array() { return elemInstance_force_field_array; }
+ /**
+ * Gets the instance_force_field element array.
+ * @return Returns a constant reference to the array of instance_force_field elements.
+ */
+ const domInstance_force_field_Array &getInstance_force_field_array() const { return elemInstance_force_field_array; }
+ /**
+ * Gets the instance_rigid_body element array.
+ * @return Returns a reference to the array of instance_rigid_body elements.
+ */
+ domInstance_rigid_body_Array &getInstance_rigid_body_array() { return elemInstance_rigid_body_array; }
+ /**
+ * Gets the instance_rigid_body element array.
+ * @return Returns a constant reference to the array of instance_rigid_body elements.
+ */
+ const domInstance_rigid_body_Array &getInstance_rigid_body_array() const { return elemInstance_rigid_body_array; }
+ /**
+ * Gets the instance_rigid_constraint element array.
+ * @return Returns a reference to the array of instance_rigid_constraint elements.
+ */
+ domInstance_rigid_constraint_Array &getInstance_rigid_constraint_array() { return elemInstance_rigid_constraint_array; }
+ /**
+ * Gets the instance_rigid_constraint element array.
+ * @return Returns a constant reference to the array of instance_rigid_constraint elements.
+ */
+ const domInstance_rigid_constraint_Array &getInstance_rigid_constraint_array() const { return elemInstance_rigid_constraint_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domInstance_physics_model(DAE& dae) : daeElement(dae), attrUrl(dae, *this), attrSid(), attrName(), attrParent(dae, *this), elemInstance_force_field_array(), elemInstance_rigid_body_array(), elemInstance_rigid_constraint_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInstance_physics_model() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInstance_physics_model &operator=( const domInstance_physics_model &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domInstance_rigid_body.h b/1.4.0/dom/include/1.4/dom/domInstance_rigid_body.h
new file mode 100644
index 0000000..b621205
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domInstance_rigid_body.h
@@ -0,0 +1,897 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Instance_rigid_body_h__
+#define __dom141Instance_rigid_body_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domTechnique.h>
+#include <1.4/dom/domExtra.h>
+#include <1.4/dom/domInstance_physics_material.h>
+#include <1.4/dom/domPhysics_material.h>
+#include <1.4/dom/domTargetableFloat.h>
+#include <1.4/dom/domTranslate.h>
+#include <1.4/dom/domRotate.h>
+#include <1.4/dom/domTargetableFloat3.h>
+#include <1.4/dom/domInstance_geometry.h>
+#include <1.4/dom/domPlane.h>
+#include <1.4/dom/domBox.h>
+#include <1.4/dom/domSphere.h>
+#include <1.4/dom/domCylinder.h>
+#include <1.4/dom/domTapered_cylinder.h>
+#include <1.4/dom/domCapsule.h>
+#include <1.4/dom/domTapered_capsule.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * This element allows instancing a rigid_body within an instance_physics_model.
+ */
+class domInstance_rigid_body : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INSTANCE_RIGID_BODY; }
+ static daeInt ID() { return 703; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domTechnique_common;
+
+ typedef daeSmartRef<domTechnique_common> domTechnique_commonRef;
+ typedef daeTArray<domTechnique_commonRef> domTechnique_common_Array;
+
+/**
+ * The technique_common element specifies the instance_rigid_body information
+ * for the common profile which all COLLADA implementations need to support.
+ */
+ class domTechnique_common : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TECHNIQUE_COMMON; }
+ static daeInt ID() { return 704; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domAngular_velocity;
+
+ typedef daeSmartRef<domAngular_velocity> domAngular_velocityRef;
+ typedef daeTArray<domAngular_velocityRef> domAngular_velocity_Array;
+
+/**
+ * Specifies the initial angular velocity of the rigid_body instance in degrees
+ * per second around each axis, in the form of an X-Y-Z Euler rotation.
+ */
+ class domAngular_velocity : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ANGULAR_VELOCITY; }
+ static daeInt ID() { return 705; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFloat3 value of the text data of this element.
+ */
+ domFloat3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domFloat3 reference of the _value array.
+ */
+ domFloat3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domFloat3 reference of the _value array.
+ */
+ const domFloat3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domFloat3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domAngular_velocity(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domAngular_velocity() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAngular_velocity &operator=( const domAngular_velocity &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domVelocity;
+
+ typedef daeSmartRef<domVelocity> domVelocityRef;
+ typedef daeTArray<domVelocityRef> domVelocity_Array;
+
+/**
+ * Specifies the initial linear velocity of the rigid_body instance.
+ */
+ class domVelocity : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::VELOCITY; }
+ static daeInt ID() { return 706; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFloat3 value of the text data of this element.
+ */
+ domFloat3 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domFloat3 reference of the _value array.
+ */
+ domFloat3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domFloat3 reference of the _value array.
+ */
+ const domFloat3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domFloat3 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domVelocity(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domVelocity() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domVelocity &operator=( const domVelocity &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDynamic;
+
+ typedef daeSmartRef<domDynamic> domDynamicRef;
+ typedef daeTArray<domDynamicRef> domDynamic_Array;
+
+ class domDynamic : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DYNAMIC; }
+ static daeInt ID() { return 707; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ xsNCName attrSid;
+
+ protected: // Value
+ /**
+ * The domBool value of the text data of this element.
+ */
+ domBool _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the value of this element.
+ * @return a domBool of the value.
+ */
+ domBool getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domBool val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDynamic(DAE& dae) : daeElement(dae), attrSid(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDynamic() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDynamic &operator=( const domDynamic &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMass_frame;
+
+ typedef daeSmartRef<domMass_frame> domMass_frameRef;
+ typedef daeTArray<domMass_frameRef> domMass_frame_Array;
+
+ class domMass_frame : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MASS_FRAME; }
+ static daeInt ID() { return 708; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Elements
+ domTranslate_Array elemTranslate_array;
+ domRotate_Array elemRotate_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the translate element array.
+ * @return Returns a reference to the array of translate elements.
+ */
+ domTranslate_Array &getTranslate_array() { return elemTranslate_array; }
+ /**
+ * Gets the translate element array.
+ * @return Returns a constant reference to the array of translate elements.
+ */
+ const domTranslate_Array &getTranslate_array() const { return elemTranslate_array; }
+ /**
+ * Gets the rotate element array.
+ * @return Returns a reference to the array of rotate elements.
+ */
+ domRotate_Array &getRotate_array() { return elemRotate_array; }
+ /**
+ * Gets the rotate element array.
+ * @return Returns a constant reference to the array of rotate elements.
+ */
+ const domRotate_Array &getRotate_array() const { return elemRotate_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMass_frame(DAE& dae) : daeElement(dae), elemTranslate_array(), elemRotate_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMass_frame() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMass_frame &operator=( const domMass_frame &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domShape;
+
+ typedef daeSmartRef<domShape> domShapeRef;
+ typedef daeTArray<domShapeRef> domShape_Array;
+
+ class domShape : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SHAPE; }
+ static daeInt ID() { return 709; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domHollow;
+
+ typedef daeSmartRef<domHollow> domHollowRef;
+ typedef daeTArray<domHollowRef> domHollow_Array;
+
+ class domHollow : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HOLLOW; }
+ static daeInt ID() { return 710; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ xsNCName attrSid;
+
+ protected: // Value
+ /**
+ * The domBool value of the text data of this element.
+ */
+ domBool _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the value of this element.
+ * @return a domBool of the value.
+ */
+ domBool getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domBool val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domHollow(DAE& dae) : daeElement(dae), attrSid(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHollow() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHollow &operator=( const domHollow &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domHollowRef elemHollow;
+ domTargetableFloatRef elemMass;
+ domTargetableFloatRef elemDensity;
+ domInstance_physics_materialRef elemInstance_physics_material;
+ domPhysics_materialRef elemPhysics_material;
+ domInstance_geometryRef elemInstance_geometry;
+ domPlaneRef elemPlane;
+ domBoxRef elemBox;
+ domSphereRef elemSphere;
+ domCylinderRef elemCylinder;
+ domTapered_cylinderRef elemTapered_cylinder;
+ domCapsuleRef elemCapsule;
+ domTapered_capsuleRef elemTapered_capsule;
+ domTranslate_Array elemTranslate_array;
+ domRotate_Array elemRotate_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the hollow element.
+ * @return a daeSmartRef to the hollow element.
+ */
+ const domHollowRef getHollow() const { return elemHollow; }
+ /**
+ * Gets the mass element.
+ * @return a daeSmartRef to the mass element.
+ */
+ const domTargetableFloatRef getMass() const { return elemMass; }
+ /**
+ * Gets the density element.
+ * @return a daeSmartRef to the density element.
+ */
+ const domTargetableFloatRef getDensity() const { return elemDensity; }
+ /**
+ * Gets the instance_physics_material element.
+ * @return a daeSmartRef to the instance_physics_material element.
+ */
+ const domInstance_physics_materialRef getInstance_physics_material() const { return elemInstance_physics_material; }
+ /**
+ * Gets the physics_material element.
+ * @return a daeSmartRef to the physics_material element.
+ */
+ const domPhysics_materialRef getPhysics_material() const { return elemPhysics_material; }
+ /**
+ * Gets the instance_geometry element.
+ * @return a daeSmartRef to the instance_geometry element.
+ */
+ const domInstance_geometryRef getInstance_geometry() const { return elemInstance_geometry; }
+ /**
+ * Gets the plane element.
+ * @return a daeSmartRef to the plane element.
+ */
+ const domPlaneRef getPlane() const { return elemPlane; }
+ /**
+ * Gets the box element.
+ * @return a daeSmartRef to the box element.
+ */
+ const domBoxRef getBox() const { return elemBox; }
+ /**
+ * Gets the sphere element.
+ * @return a daeSmartRef to the sphere element.
+ */
+ const domSphereRef getSphere() const { return elemSphere; }
+ /**
+ * Gets the cylinder element.
+ * @return a daeSmartRef to the cylinder element.
+ */
+ const domCylinderRef getCylinder() const { return elemCylinder; }
+ /**
+ * Gets the tapered_cylinder element.
+ * @return a daeSmartRef to the tapered_cylinder element.
+ */
+ const domTapered_cylinderRef getTapered_cylinder() const { return elemTapered_cylinder; }
+ /**
+ * Gets the capsule element.
+ * @return a daeSmartRef to the capsule element.
+ */
+ const domCapsuleRef getCapsule() const { return elemCapsule; }
+ /**
+ * Gets the tapered_capsule element.
+ * @return a daeSmartRef to the tapered_capsule element.
+ */
+ const domTapered_capsuleRef getTapered_capsule() const { return elemTapered_capsule; }
+ /**
+ * Gets the translate element array.
+ * @return Returns a reference to the array of translate elements.
+ */
+ domTranslate_Array &getTranslate_array() { return elemTranslate_array; }
+ /**
+ * Gets the translate element array.
+ * @return Returns a constant reference to the array of translate elements.
+ */
+ const domTranslate_Array &getTranslate_array() const { return elemTranslate_array; }
+ /**
+ * Gets the rotate element array.
+ * @return Returns a reference to the array of rotate elements.
+ */
+ domRotate_Array &getRotate_array() { return elemRotate_array; }
+ /**
+ * Gets the rotate element array.
+ * @return Returns a constant reference to the array of rotate elements.
+ */
+ const domRotate_Array &getRotate_array() const { return elemRotate_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domShape(DAE& dae) : daeElement(dae), elemHollow(), elemMass(), elemDensity(), elemInstance_physics_material(), elemPhysics_material(), elemInstance_geometry(), elemPlane(), elemBox(), elemSphere(), elemCylinder(), elemTapered_cylinder(), elemCapsule(), elemTapered_capsule(), elemTranslate_array(), elemRotate_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domShape() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domShape &operator=( const domShape &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+/**
+ * Specifies the initial angular velocity of the rigid_body instance in degrees
+ * per second around each axis, in the form of an X-Y-Z Euler rotation. @see
+ * domAngular_velocity
+ */
+ domAngular_velocityRef elemAngular_velocity;
+/**
+ * Specifies the initial linear velocity of the rigid_body instance. @see
+ * domVelocity
+ */
+ domVelocityRef elemVelocity;
+ domDynamicRef elemDynamic;
+ domTargetableFloatRef elemMass;
+ domMass_frameRef elemMass_frame;
+ domTargetableFloat3Ref elemInertia;
+ domInstance_physics_materialRef elemInstance_physics_material;
+ domPhysics_materialRef elemPhysics_material;
+ domShape_Array elemShape_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the angular_velocity element.
+ * @return a daeSmartRef to the angular_velocity element.
+ */
+ const domAngular_velocityRef getAngular_velocity() const { return elemAngular_velocity; }
+ /**
+ * Gets the velocity element.
+ * @return a daeSmartRef to the velocity element.
+ */
+ const domVelocityRef getVelocity() const { return elemVelocity; }
+ /**
+ * Gets the dynamic element.
+ * @return a daeSmartRef to the dynamic element.
+ */
+ const domDynamicRef getDynamic() const { return elemDynamic; }
+ /**
+ * Gets the mass element.
+ * @return a daeSmartRef to the mass element.
+ */
+ const domTargetableFloatRef getMass() const { return elemMass; }
+ /**
+ * Gets the mass_frame element.
+ * @return a daeSmartRef to the mass_frame element.
+ */
+ const domMass_frameRef getMass_frame() const { return elemMass_frame; }
+ /**
+ * Gets the inertia element.
+ * @return a daeSmartRef to the inertia element.
+ */
+ const domTargetableFloat3Ref getInertia() const { return elemInertia; }
+ /**
+ * Gets the instance_physics_material element.
+ * @return a daeSmartRef to the instance_physics_material element.
+ */
+ const domInstance_physics_materialRef getInstance_physics_material() const { return elemInstance_physics_material; }
+ /**
+ * Gets the physics_material element.
+ * @return a daeSmartRef to the physics_material element.
+ */
+ const domPhysics_materialRef getPhysics_material() const { return elemPhysics_material; }
+ /**
+ * Gets the shape element array.
+ * @return Returns a reference to the array of shape elements.
+ */
+ domShape_Array &getShape_array() { return elemShape_array; }
+ /**
+ * Gets the shape element array.
+ * @return Returns a constant reference to the array of shape elements.
+ */
+ const domShape_Array &getShape_array() const { return elemShape_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTechnique_common(DAE& dae) : daeElement(dae), elemAngular_velocity(), elemVelocity(), elemDynamic(), elemMass(), elemMass_frame(), elemInertia(), elemInstance_physics_material(), elemPhysics_material(), elemShape_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTechnique_common() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTechnique_common &operator=( const domTechnique_common &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+/**
+ * The body attribute indicates which rigid_body to instantiate. Required
+ * attribute.
+ */
+ xsNCName attrBody;
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ xsNCName attrSid;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+/**
+ * The target attribute indicates which node is influenced by this rigid_body
+ * instance. Required attribute
+ */
+ xsAnyURI attrTarget;
+
+protected: // Elements
+/**
+ * The technique_common element specifies the instance_rigid_body information
+ * for the common profile which all COLLADA implementations need to support.
+ * @see domTechnique_common
+ */
+ domTechnique_commonRef elemTechnique_common;
+/**
+ * This element may contain any number of non-common profile techniques.
+ * @see domTechnique
+ */
+ domTechnique_Array elemTechnique_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the body attribute.
+ * @return Returns a xsNCName of the body attribute.
+ */
+ xsNCName getBody() const { return attrBody; }
+ /**
+ * Sets the body attribute.
+ * @param atBody The new value for the body attribute.
+ */
+ void setBody( xsNCName atBody ) { *(daeStringRef*)&attrBody = atBody; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[2] = true; }
+
+ /**
+ * Gets the target attribute.
+ * @return Returns a xsAnyURI reference of the target attribute.
+ */
+ xsAnyURI &getTarget() { return attrTarget; }
+ /**
+ * Gets the target attribute.
+ * @return Returns a constant xsAnyURI reference of the target attribute.
+ */
+ const xsAnyURI &getTarget() const { return attrTarget; }
+ /**
+ * Sets the target attribute.
+ * @param atTarget The new value for the target attribute.
+ */
+ void setTarget( const xsAnyURI &atTarget ) { attrTarget = atTarget; _validAttributeArray[3] = true; }
+ /**
+ * Sets the target attribute.
+ * @param atTarget The new value for the target attribute.
+ */
+ void setTarget( xsString atTarget ) { attrTarget = atTarget; _validAttributeArray[3] = true; }
+
+ /**
+ * Gets the technique_common element.
+ * @return a daeSmartRef to the technique_common element.
+ */
+ const domTechnique_commonRef getTechnique_common() const { return elemTechnique_common; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a reference to the array of technique elements.
+ */
+ domTechnique_Array &getTechnique_array() { return elemTechnique_array; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a constant reference to the array of technique elements.
+ */
+ const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domInstance_rigid_body(DAE& dae) : daeElement(dae), attrBody(), attrSid(), attrName(), attrTarget(dae, *this), elemTechnique_common(), elemTechnique_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInstance_rigid_body() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInstance_rigid_body &operator=( const domInstance_rigid_body &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domInstance_rigid_constraint.h b/1.4.0/dom/include/1.4/dom/domInstance_rigid_constraint.h
new file mode 100644
index 0000000..789d06a
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domInstance_rigid_constraint.h
@@ -0,0 +1,127 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Instance_rigid_constraint_h__
+#define __dom141Instance_rigid_constraint_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * This element allows instancing a rigid_constraint within an instance_physics_model.
+ */
+class domInstance_rigid_constraint : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INSTANCE_RIGID_CONSTRAINT; }
+ static daeInt ID() { return 711; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The constraint attribute indicates which rigid_constraing to instantiate.
+ * Required attribute.
+ */
+ xsNCName attrConstraint;
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ xsNCName attrSid;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+
+protected: // Element
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the constraint attribute.
+ * @return Returns a xsNCName of the constraint attribute.
+ */
+ xsNCName getConstraint() const { return attrConstraint; }
+ /**
+ * Sets the constraint attribute.
+ * @param atConstraint The new value for the constraint attribute.
+ */
+ void setConstraint( xsNCName atConstraint ) { *(daeStringRef*)&attrConstraint = atConstraint; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[2] = true; }
+
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domInstance_rigid_constraint(DAE& dae) : daeElement(dae), attrConstraint(), attrSid(), attrName(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInstance_rigid_constraint() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInstance_rigid_constraint &operator=( const domInstance_rigid_constraint &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domInt_array.h b/1.4.0/dom/include/1.4/dom/domInt_array.h
new file mode 100644
index 0000000..96879ba
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domInt_array.h
@@ -0,0 +1,168 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Int_array_h__
+#define __dom141Int_array_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The int_array element declares the storage for a homogenous array of integer
+ * values.
+ */
+class domInt_array : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT_ARRAY; }
+ static daeInt ID() { return 608; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+/**
+ * The count attribute indicates the number of values in the array. Required
+ * attribute.
+ */
+ domUint attrCount;
+/**
+ * The minInclusive attribute indicates the smallest integer value that can
+ * be contained in the array. The default value is –2147483648. Optional
+ * attribute.
+ */
+ xsInteger attrMinInclusive;
+/**
+ * The maxInclusive attribute indicates the largest integer value that can
+ * be contained in the array. The default value is 2147483647. Optional attribute.
+ */
+ xsInteger attrMaxInclusive;
+
+protected: // Value
+ /**
+ * The domListOfInts value of the text data of this element.
+ */
+ domListOfInts _value;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the count attribute.
+ * @return Returns a domUint of the count attribute.
+ */
+ domUint getCount() const { return attrCount; }
+ /**
+ * Sets the count attribute.
+ * @param atCount The new value for the count attribute.
+ */
+ void setCount( domUint atCount ) { attrCount = atCount; _validAttributeArray[2] = true; }
+
+ /**
+ * Gets the minInclusive attribute.
+ * @return Returns a xsInteger of the minInclusive attribute.
+ */
+ xsInteger getMinInclusive() const { return attrMinInclusive; }
+ /**
+ * Sets the minInclusive attribute.
+ * @param atMinInclusive The new value for the minInclusive attribute.
+ */
+ void setMinInclusive( xsInteger atMinInclusive ) { attrMinInclusive = atMinInclusive; _validAttributeArray[3] = true; }
+
+ /**
+ * Gets the maxInclusive attribute.
+ * @return Returns a xsInteger of the maxInclusive attribute.
+ */
+ xsInteger getMaxInclusive() const { return attrMaxInclusive; }
+ /**
+ * Sets the maxInclusive attribute.
+ * @param atMaxInclusive The new value for the maxInclusive attribute.
+ */
+ void setMaxInclusive( xsInteger atMaxInclusive ) { attrMaxInclusive = atMaxInclusive; _validAttributeArray[4] = true; }
+
+ /**
+ * Gets the _value array.
+ * @return Returns a domListOfInts reference of the _value array.
+ */
+ domListOfInts &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domListOfInts reference of the _value array.
+ */
+ const domListOfInts &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domListOfInts &val ) { _value = val; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domInt_array(DAE& dae) : daeElement(dae), attrId(), attrName(), attrCount(), attrMinInclusive(), attrMaxInclusive(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt_array() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt_array &operator=( const domInt_array &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domLibrary_animation_clips.h b/1.4.0/dom/include/1.4/dom/domLibrary_animation_clips.h
new file mode 100644
index 0000000..af3095d
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domLibrary_animation_clips.h
@@ -0,0 +1,140 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Library_animation_clips_h__
+#define __dom141Library_animation_clips_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domAsset.h>
+#include <1.4/dom/domAnimation_clip.h>
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The library_animation_clips element declares a module of animation_clip
+ * elements.
+ */
+class domLibrary_animation_clips : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIBRARY_ANIMATION_CLIPS; }
+ static daeInt ID() { return 713; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+
+protected: // Elements
+/**
+ * The library_animation_clips element may contain an asset element. @see
+ * domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * There must be at least one animation_clip element. @see domAnimation_clip
+ */
+ domAnimation_clip_Array elemAnimation_clip_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the animation_clip element array.
+ * @return Returns a reference to the array of animation_clip elements.
+ */
+ domAnimation_clip_Array &getAnimation_clip_array() { return elemAnimation_clip_array; }
+ /**
+ * Gets the animation_clip element array.
+ * @return Returns a constant reference to the array of animation_clip elements.
+ */
+ const domAnimation_clip_Array &getAnimation_clip_array() const { return elemAnimation_clip_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domLibrary_animation_clips(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemAnimation_clip_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLibrary_animation_clips() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLibrary_animation_clips &operator=( const domLibrary_animation_clips &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domLibrary_animations.h b/1.4.0/dom/include/1.4/dom/domLibrary_animations.h
new file mode 100644
index 0000000..ee0e225
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domLibrary_animations.h
@@ -0,0 +1,138 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Library_animations_h__
+#define __dom141Library_animations_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domAsset.h>
+#include <1.4/dom/domAnimation.h>
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The library_animations element declares a module of animation elements.
+ */
+class domLibrary_animations : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIBRARY_ANIMATIONS; }
+ static daeInt ID() { return 712; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+
+protected: // Elements
+/**
+ * The library_animations element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * There must be at least one animation element. @see domAnimation
+ */
+ domAnimation_Array elemAnimation_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the animation element array.
+ * @return Returns a reference to the array of animation elements.
+ */
+ domAnimation_Array &getAnimation_array() { return elemAnimation_array; }
+ /**
+ * Gets the animation element array.
+ * @return Returns a constant reference to the array of animation elements.
+ */
+ const domAnimation_Array &getAnimation_array() const { return elemAnimation_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domLibrary_animations(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemAnimation_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLibrary_animations() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLibrary_animations &operator=( const domLibrary_animations &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domLibrary_cameras.h b/1.4.0/dom/include/1.4/dom/domLibrary_cameras.h
new file mode 100644
index 0000000..683c0fd
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domLibrary_cameras.h
@@ -0,0 +1,138 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Library_cameras_h__
+#define __dom141Library_cameras_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domAsset.h>
+#include <1.4/dom/domCamera.h>
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The library_cameras element declares a module of camera elements.
+ */
+class domLibrary_cameras : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIBRARY_CAMERAS; }
+ static daeInt ID() { return 714; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+
+protected: // Elements
+/**
+ * The library_cameras element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * There must be at least one camera element. @see domCamera
+ */
+ domCamera_Array elemCamera_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the camera element array.
+ * @return Returns a reference to the array of camera elements.
+ */
+ domCamera_Array &getCamera_array() { return elemCamera_array; }
+ /**
+ * Gets the camera element array.
+ * @return Returns a constant reference to the array of camera elements.
+ */
+ const domCamera_Array &getCamera_array() const { return elemCamera_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domLibrary_cameras(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemCamera_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLibrary_cameras() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLibrary_cameras &operator=( const domLibrary_cameras &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domLibrary_controllers.h b/1.4.0/dom/include/1.4/dom/domLibrary_controllers.h
new file mode 100644
index 0000000..741913d
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domLibrary_controllers.h
@@ -0,0 +1,138 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Library_controllers_h__
+#define __dom141Library_controllers_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domAsset.h>
+#include <1.4/dom/domController.h>
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The library_controllers element declares a module of controller elements.
+ */
+class domLibrary_controllers : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIBRARY_CONTROLLERS; }
+ static daeInt ID() { return 715; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+
+protected: // Elements
+/**
+ * The library_controllers element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * There must be at least one controller element. @see domController
+ */
+ domController_Array elemController_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the controller element array.
+ * @return Returns a reference to the array of controller elements.
+ */
+ domController_Array &getController_array() { return elemController_array; }
+ /**
+ * Gets the controller element array.
+ * @return Returns a constant reference to the array of controller elements.
+ */
+ const domController_Array &getController_array() const { return elemController_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domLibrary_controllers(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemController_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLibrary_controllers() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLibrary_controllers &operator=( const domLibrary_controllers &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domLibrary_effects.h b/1.4.0/dom/include/1.4/dom/domLibrary_effects.h
new file mode 100644
index 0000000..95e37bb
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domLibrary_effects.h
@@ -0,0 +1,138 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Library_effects_h__
+#define __dom141Library_effects_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domAsset.h>
+#include <1.4/dom/domEffect.h>
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The library_effects element declares a module of effect elements.
+ */
+class domLibrary_effects : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIBRARY_EFFECTS; }
+ static daeInt ID() { return 717; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+
+protected: // Elements
+/**
+ * The library_effects element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * There must be at least one effect element. @see domEffect
+ */
+ domEffect_Array elemEffect_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the effect element array.
+ * @return Returns a reference to the array of effect elements.
+ */
+ domEffect_Array &getEffect_array() { return elemEffect_array; }
+ /**
+ * Gets the effect element array.
+ * @return Returns a constant reference to the array of effect elements.
+ */
+ const domEffect_Array &getEffect_array() const { return elemEffect_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domLibrary_effects(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemEffect_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLibrary_effects() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLibrary_effects &operator=( const domLibrary_effects &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domLibrary_force_fields.h b/1.4.0/dom/include/1.4/dom/domLibrary_force_fields.h
new file mode 100644
index 0000000..77b7c76
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domLibrary_force_fields.h
@@ -0,0 +1,138 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Library_force_fields_h__
+#define __dom141Library_force_fields_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domAsset.h>
+#include <1.4/dom/domForce_field.h>
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The library_force_fields element declares a module of force_field elements.
+ */
+class domLibrary_force_fields : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIBRARY_FORCE_FIELDS; }
+ static daeInt ID() { return 718; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+
+protected: // Elements
+/**
+ * The library_force_fields element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * There must be at least one force_field element. @see domForce_field
+ */
+ domForce_field_Array elemForce_field_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the force_field element array.
+ * @return Returns a reference to the array of force_field elements.
+ */
+ domForce_field_Array &getForce_field_array() { return elemForce_field_array; }
+ /**
+ * Gets the force_field element array.
+ * @return Returns a constant reference to the array of force_field elements.
+ */
+ const domForce_field_Array &getForce_field_array() const { return elemForce_field_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domLibrary_force_fields(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemForce_field_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLibrary_force_fields() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLibrary_force_fields &operator=( const domLibrary_force_fields &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domLibrary_geometries.h b/1.4.0/dom/include/1.4/dom/domLibrary_geometries.h
new file mode 100644
index 0000000..0dde00c
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domLibrary_geometries.h
@@ -0,0 +1,138 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Library_geometries_h__
+#define __dom141Library_geometries_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domAsset.h>
+#include <1.4/dom/domGeometry.h>
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The library_geometries element declares a module of geometry elements.
+ */
+class domLibrary_geometries : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIBRARY_GEOMETRIES; }
+ static daeInt ID() { return 716; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+
+protected: // Elements
+/**
+ * The library_geometries element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * There must be at least one geometry element. @see domGeometry
+ */
+ domGeometry_Array elemGeometry_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the geometry element array.
+ * @return Returns a reference to the array of geometry elements.
+ */
+ domGeometry_Array &getGeometry_array() { return elemGeometry_array; }
+ /**
+ * Gets the geometry element array.
+ * @return Returns a constant reference to the array of geometry elements.
+ */
+ const domGeometry_Array &getGeometry_array() const { return elemGeometry_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domLibrary_geometries(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemGeometry_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLibrary_geometries() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLibrary_geometries &operator=( const domLibrary_geometries &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domLibrary_images.h b/1.4.0/dom/include/1.4/dom/domLibrary_images.h
new file mode 100644
index 0000000..8f9db90
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domLibrary_images.h
@@ -0,0 +1,138 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Library_images_h__
+#define __dom141Library_images_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domAsset.h>
+#include <1.4/dom/domImage.h>
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The library_images element declares a module of image elements.
+ */
+class domLibrary_images : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIBRARY_IMAGES; }
+ static daeInt ID() { return 719; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+
+protected: // Elements
+/**
+ * The library_images element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * There must be at least one image element. @see domImage
+ */
+ domImage_Array elemImage_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the image element array.
+ * @return Returns a reference to the array of image elements.
+ */
+ domImage_Array &getImage_array() { return elemImage_array; }
+ /**
+ * Gets the image element array.
+ * @return Returns a constant reference to the array of image elements.
+ */
+ const domImage_Array &getImage_array() const { return elemImage_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domLibrary_images(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemImage_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLibrary_images() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLibrary_images &operator=( const domLibrary_images &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domLibrary_lights.h b/1.4.0/dom/include/1.4/dom/domLibrary_lights.h
new file mode 100644
index 0000000..e295379
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domLibrary_lights.h
@@ -0,0 +1,138 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Library_lights_h__
+#define __dom141Library_lights_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domAsset.h>
+#include <1.4/dom/domLight.h>
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The library_lights element declares a module of light elements.
+ */
+class domLibrary_lights : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIBRARY_LIGHTS; }
+ static daeInt ID() { return 720; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+
+protected: // Elements
+/**
+ * The library_lights element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * There must be at least one light element. @see domLight
+ */
+ domLight_Array elemLight_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the light element array.
+ * @return Returns a reference to the array of light elements.
+ */
+ domLight_Array &getLight_array() { return elemLight_array; }
+ /**
+ * Gets the light element array.
+ * @return Returns a constant reference to the array of light elements.
+ */
+ const domLight_Array &getLight_array() const { return elemLight_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domLibrary_lights(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemLight_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLibrary_lights() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLibrary_lights &operator=( const domLibrary_lights &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domLibrary_materials.h b/1.4.0/dom/include/1.4/dom/domLibrary_materials.h
new file mode 100644
index 0000000..4bfccd0
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domLibrary_materials.h
@@ -0,0 +1,138 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Library_materials_h__
+#define __dom141Library_materials_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domAsset.h>
+#include <1.4/dom/domMaterial.h>
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The library_materials element declares a module of material elements.
+ */
+class domLibrary_materials : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIBRARY_MATERIALS; }
+ static daeInt ID() { return 721; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+
+protected: // Elements
+/**
+ * The library_materials element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * There must be at least one material element. @see domMaterial
+ */
+ domMaterial_Array elemMaterial_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the material element array.
+ * @return Returns a reference to the array of material elements.
+ */
+ domMaterial_Array &getMaterial_array() { return elemMaterial_array; }
+ /**
+ * Gets the material element array.
+ * @return Returns a constant reference to the array of material elements.
+ */
+ const domMaterial_Array &getMaterial_array() const { return elemMaterial_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domLibrary_materials(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemMaterial_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLibrary_materials() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLibrary_materials &operator=( const domLibrary_materials &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domLibrary_nodes.h b/1.4.0/dom/include/1.4/dom/domLibrary_nodes.h
new file mode 100644
index 0000000..91c0aa0
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domLibrary_nodes.h
@@ -0,0 +1,138 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Library_nodes_h__
+#define __dom141Library_nodes_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domAsset.h>
+#include <1.4/dom/domNode.h>
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The library_nodes element declares a module of node elements.
+ */
+class domLibrary_nodes : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIBRARY_NODES; }
+ static daeInt ID() { return 722; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+
+protected: // Elements
+/**
+ * The library_nodes element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * There must be at least one node element. @see domNode
+ */
+ domNode_Array elemNode_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the node element array.
+ * @return Returns a reference to the array of node elements.
+ */
+ domNode_Array &getNode_array() { return elemNode_array; }
+ /**
+ * Gets the node element array.
+ * @return Returns a constant reference to the array of node elements.
+ */
+ const domNode_Array &getNode_array() const { return elemNode_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domLibrary_nodes(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemNode_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLibrary_nodes() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLibrary_nodes &operator=( const domLibrary_nodes &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domLibrary_physics_materials.h b/1.4.0/dom/include/1.4/dom/domLibrary_physics_materials.h
new file mode 100644
index 0000000..edb5e64
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domLibrary_physics_materials.h
@@ -0,0 +1,140 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Library_physics_materials_h__
+#define __dom141Library_physics_materials_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domAsset.h>
+#include <1.4/dom/domPhysics_material.h>
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The library_physics_materials element declares a module of physics_material
+ * elements.
+ */
+class domLibrary_physics_materials : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIBRARY_PHYSICS_MATERIALS; }
+ static daeInt ID() { return 723; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+
+protected: // Elements
+/**
+ * The library_physics_materials element may contain an asset element. @see
+ * domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * There must be at least one physics_material element. @see domPhysics_material
+ */
+ domPhysics_material_Array elemPhysics_material_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the physics_material element array.
+ * @return Returns a reference to the array of physics_material elements.
+ */
+ domPhysics_material_Array &getPhysics_material_array() { return elemPhysics_material_array; }
+ /**
+ * Gets the physics_material element array.
+ * @return Returns a constant reference to the array of physics_material elements.
+ */
+ const domPhysics_material_Array &getPhysics_material_array() const { return elemPhysics_material_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domLibrary_physics_materials(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemPhysics_material_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLibrary_physics_materials() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLibrary_physics_materials &operator=( const domLibrary_physics_materials &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domLibrary_physics_models.h b/1.4.0/dom/include/1.4/dom/domLibrary_physics_models.h
new file mode 100644
index 0000000..1bc73ce
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domLibrary_physics_models.h
@@ -0,0 +1,139 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Library_physics_models_h__
+#define __dom141Library_physics_models_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domAsset.h>
+#include <1.4/dom/domPhysics_model.h>
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The library_physics_models element declares a module of physics_model elements.
+ */
+class domLibrary_physics_models : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIBRARY_PHYSICS_MODELS; }
+ static daeInt ID() { return 724; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+
+protected: // Elements
+/**
+ * The library_physics_models element may contain an asset element. @see
+ * domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * There must be at least one physics_model element. @see domPhysics_model
+ */
+ domPhysics_model_Array elemPhysics_model_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the physics_model element array.
+ * @return Returns a reference to the array of physics_model elements.
+ */
+ domPhysics_model_Array &getPhysics_model_array() { return elemPhysics_model_array; }
+ /**
+ * Gets the physics_model element array.
+ * @return Returns a constant reference to the array of physics_model elements.
+ */
+ const domPhysics_model_Array &getPhysics_model_array() const { return elemPhysics_model_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domLibrary_physics_models(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemPhysics_model_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLibrary_physics_models() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLibrary_physics_models &operator=( const domLibrary_physics_models &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domLibrary_physics_scenes.h b/1.4.0/dom/include/1.4/dom/domLibrary_physics_scenes.h
new file mode 100644
index 0000000..c109365
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domLibrary_physics_scenes.h
@@ -0,0 +1,139 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Library_physics_scenes_h__
+#define __dom141Library_physics_scenes_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domAsset.h>
+#include <1.4/dom/domPhysics_scene.h>
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The library_physics_scenes element declares a module of physics_scene elements.
+ */
+class domLibrary_physics_scenes : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIBRARY_PHYSICS_SCENES; }
+ static daeInt ID() { return 725; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+
+protected: // Elements
+/**
+ * The library_physics_scenes element may contain an asset element. @see
+ * domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * There must be at least one physics_scene element. @see domPhysics_scene
+ */
+ domPhysics_scene_Array elemPhysics_scene_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the physics_scene element array.
+ * @return Returns a reference to the array of physics_scene elements.
+ */
+ domPhysics_scene_Array &getPhysics_scene_array() { return elemPhysics_scene_array; }
+ /**
+ * Gets the physics_scene element array.
+ * @return Returns a constant reference to the array of physics_scene elements.
+ */
+ const domPhysics_scene_Array &getPhysics_scene_array() const { return elemPhysics_scene_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domLibrary_physics_scenes(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemPhysics_scene_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLibrary_physics_scenes() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLibrary_physics_scenes &operator=( const domLibrary_physics_scenes &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domLibrary_visual_scenes.h b/1.4.0/dom/include/1.4/dom/domLibrary_visual_scenes.h
new file mode 100644
index 0000000..3649ebf
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domLibrary_visual_scenes.h
@@ -0,0 +1,139 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Library_visual_scenes_h__
+#define __dom141Library_visual_scenes_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domAsset.h>
+#include <1.4/dom/domVisual_scene.h>
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The library_visual_scenes element declares a module of visual_scene elements.
+ */
+class domLibrary_visual_scenes : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIBRARY_VISUAL_SCENES; }
+ static daeInt ID() { return 726; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+
+protected: // Elements
+/**
+ * The library_visual_scenes element may contain an asset element. @see
+ * domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * There must be at least one visual_scene element. @see domVisual_scene
+ */
+ domVisual_scene_Array elemVisual_scene_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the visual_scene element array.
+ * @return Returns a reference to the array of visual_scene elements.
+ */
+ domVisual_scene_Array &getVisual_scene_array() { return elemVisual_scene_array; }
+ /**
+ * Gets the visual_scene element array.
+ * @return Returns a constant reference to the array of visual_scene elements.
+ */
+ const domVisual_scene_Array &getVisual_scene_array() const { return elemVisual_scene_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domLibrary_visual_scenes(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemVisual_scene_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLibrary_visual_scenes() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLibrary_visual_scenes &operator=( const domLibrary_visual_scenes &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domLight.h b/1.4.0/dom/include/1.4/dom/domLight.h
new file mode 100644
index 0000000..d9f824d
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domLight.h
@@ -0,0 +1,618 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Light_h__
+#define __dom141Light_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domAsset.h>
+#include <1.4/dom/domTechnique.h>
+#include <1.4/dom/domExtra.h>
+#include <1.4/dom/domTargetableFloat3.h>
+#include <1.4/dom/domTargetableFloat.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The light element declares a light source that illuminates the scene. Light
+ * sources have many different properties and radiate light in many different
+ * patterns and frequencies.
+ */
+class domLight : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT; }
+ static daeInt ID() { return 638; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domTechnique_common;
+
+ typedef daeSmartRef<domTechnique_common> domTechnique_commonRef;
+ typedef daeTArray<domTechnique_commonRef> domTechnique_common_Array;
+
+/**
+ * The technique_common element specifies the light information for the common
+ * profile which all COLLADA implementations need to support.
+ */
+ class domTechnique_common : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TECHNIQUE_COMMON; }
+ static daeInt ID() { return 639; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domAmbient;
+
+ typedef daeSmartRef<domAmbient> domAmbientRef;
+ typedef daeTArray<domAmbientRef> domAmbient_Array;
+
+/**
+ * The ambient element declares the parameters required to describe an ambient
+ * light source. An ambient light is one that lights everything evenly,
+ * regardless of location or orientation.
+ */
+ class domAmbient : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::AMBIENT; }
+ static daeInt ID() { return 640; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Element
+/**
+ * The color element contains three floating point numbers specifying the
+ * color of the light. The color element must occur exactly once. @see domColor
+ */
+ domTargetableFloat3Ref elemColor;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the color element.
+ * @return a daeSmartRef to the color element.
+ */
+ const domTargetableFloat3Ref getColor() const { return elemColor; }
+ protected:
+ /**
+ * Constructor
+ */
+ domAmbient(DAE& dae) : daeElement(dae), elemColor() {}
+ /**
+ * Destructor
+ */
+ virtual ~domAmbient() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAmbient &operator=( const domAmbient &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDirectional;
+
+ typedef daeSmartRef<domDirectional> domDirectionalRef;
+ typedef daeTArray<domDirectionalRef> domDirectional_Array;
+
+/**
+ * The directional element declares the parameters required to describe a
+ * directional light source. A directional light is one that lights everything
+ * from the same direction, regardless of location. The light’s default
+ * direction vector in local coordinates is [0,0,-1], pointing down the -Z
+ * axis. The actual direction of the light is defined by the transform of
+ * the node where the light is instantiated.
+ */
+ class domDirectional : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DIRECTIONAL; }
+ static daeInt ID() { return 641; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Element
+/**
+ * The color element contains three floating point numbers specifying the
+ * color of the light. The color element must occur exactly once. @see domColor
+ */
+ domTargetableFloat3Ref elemColor;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the color element.
+ * @return a daeSmartRef to the color element.
+ */
+ const domTargetableFloat3Ref getColor() const { return elemColor; }
+ protected:
+ /**
+ * Constructor
+ */
+ domDirectional(DAE& dae) : daeElement(dae), elemColor() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDirectional() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDirectional &operator=( const domDirectional &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPoint;
+
+ typedef daeSmartRef<domPoint> domPointRef;
+ typedef daeTArray<domPointRef> domPoint_Array;
+
+/**
+ * The point element declares the parameters required to describe a point
+ * light source. A point light source radiates light in all directions from
+ * a known location in space. The intensity of a point light source is attenuated
+ * as the distance to the light source increases. The position of the light
+ * is defined by the transform of the node in which it is instantiated.
+ */
+ class domPoint : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POINT; }
+ static daeInt ID() { return 642; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Elements
+/**
+ * The color element contains three floating point numbers specifying the
+ * color of the light. The color element must occur exactly once. @see domColor
+ */
+ domTargetableFloat3Ref elemColor;
+/**
+ * The constant_attenuation is used to calculate the total attenuation of
+ * this light given a distance. The equation used is A = constant_attenuation
+ * + Dist*linear_attenuation + Dist^2*quadratic_attenuation. @see domConstant_attenuation
+ */
+ domTargetableFloatRef elemConstant_attenuation;
+/**
+ * The linear_attenuation is used to calculate the total attenuation of this
+ * light given a distance. The equation used is A = constant_attenuation
+ * + Dist*linear_attenuation + Dist^2*quadratic_attenuation. @see domLinear_attenuation
+ */
+ domTargetableFloatRef elemLinear_attenuation;
+/**
+ * The quadratic_attenuation is used to calculate the total attenuation of
+ * this light given a distance. The equation used is A = constant_attenuation
+ * + Dist*linear_attenuation + Dist^2*quadratic_attenuation. @see domQuadratic_attenuation
+ */
+ domTargetableFloatRef elemQuadratic_attenuation;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the color element.
+ * @return a daeSmartRef to the color element.
+ */
+ const domTargetableFloat3Ref getColor() const { return elemColor; }
+ /**
+ * Gets the constant_attenuation element.
+ * @return a daeSmartRef to the constant_attenuation element.
+ */
+ const domTargetableFloatRef getConstant_attenuation() const { return elemConstant_attenuation; }
+ /**
+ * Gets the linear_attenuation element.
+ * @return a daeSmartRef to the linear_attenuation element.
+ */
+ const domTargetableFloatRef getLinear_attenuation() const { return elemLinear_attenuation; }
+ /**
+ * Gets the quadratic_attenuation element.
+ * @return a daeSmartRef to the quadratic_attenuation element.
+ */
+ const domTargetableFloatRef getQuadratic_attenuation() const { return elemQuadratic_attenuation; }
+ protected:
+ /**
+ * Constructor
+ */
+ domPoint(DAE& dae) : daeElement(dae), elemColor(), elemConstant_attenuation(), elemLinear_attenuation(), elemQuadratic_attenuation() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPoint() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPoint &operator=( const domPoint &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domSpot;
+
+ typedef daeSmartRef<domSpot> domSpotRef;
+ typedef daeTArray<domSpotRef> domSpot_Array;
+
+/**
+ * The spot element declares the parameters required to describe a spot light
+ * source. A spot light source radiates light in one direction from a known
+ * location in space. The light radiates from the spot light source in a
+ * cone shape. The intensity of the light is attenuated as the radiation
+ * angle increases away from the direction of the light source. The intensity
+ * of a spot light source is also attenuated as the distance to the light
+ * source increases. The position of the light is defined by the transform
+ * of the node in which it is instantiated. The light’s default direction
+ * vector in local coordinates is [0,0,-1], pointing down the -Z axis. The
+ * actual direction of the light is defined by the transform of the node
+ * where the light is instantiated.
+ */
+ class domSpot : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SPOT; }
+ static daeInt ID() { return 643; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Elements
+/**
+ * The color element contains three floating point numbers specifying the
+ * color of the light. The color element must occur exactly once. @see domColor
+ */
+ domTargetableFloat3Ref elemColor;
+/**
+ * The constant_attenuation is used to calculate the total attenuation of
+ * this light given a distance. The equation used is A = constant_attenuation
+ * + Dist*linear_attenuation + Dist^2*quadratic_attenuation. @see domConstant_attenuation
+ */
+ domTargetableFloatRef elemConstant_attenuation;
+/**
+ * The linear_attenuation is used to calculate the total attenuation of this
+ * light given a distance. The equation used is A = constant_attenuation
+ * + Dist*linear_attenuation + Dist^2*quadratic_attenuation. @see domLinear_attenuation
+ */
+ domTargetableFloatRef elemLinear_attenuation;
+/**
+ * The quadratic_attenuation is used to calculate the total attenuation of
+ * this light given a distance. The equation used is A = constant_attenuation
+ * + Dist*linear_attenuation + Dist^2*quadratic_attenuation. @see domQuadratic_attenuation
+ */
+ domTargetableFloatRef elemQuadratic_attenuation;
+/**
+ * The falloff_angle is used to specify the amount of attenuation based on
+ * the direction of the light. @see domFalloff_angle
+ */
+ domTargetableFloatRef elemFalloff_angle;
+/**
+ * The falloff_exponent is used to specify the amount of attenuation based
+ * on the direction of the light. @see domFalloff_exponent
+ */
+ domTargetableFloatRef elemFalloff_exponent;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the color element.
+ * @return a daeSmartRef to the color element.
+ */
+ const domTargetableFloat3Ref getColor() const { return elemColor; }
+ /**
+ * Gets the constant_attenuation element.
+ * @return a daeSmartRef to the constant_attenuation element.
+ */
+ const domTargetableFloatRef getConstant_attenuation() const { return elemConstant_attenuation; }
+ /**
+ * Gets the linear_attenuation element.
+ * @return a daeSmartRef to the linear_attenuation element.
+ */
+ const domTargetableFloatRef getLinear_attenuation() const { return elemLinear_attenuation; }
+ /**
+ * Gets the quadratic_attenuation element.
+ * @return a daeSmartRef to the quadratic_attenuation element.
+ */
+ const domTargetableFloatRef getQuadratic_attenuation() const { return elemQuadratic_attenuation; }
+ /**
+ * Gets the falloff_angle element.
+ * @return a daeSmartRef to the falloff_angle element.
+ */
+ const domTargetableFloatRef getFalloff_angle() const { return elemFalloff_angle; }
+ /**
+ * Gets the falloff_exponent element.
+ * @return a daeSmartRef to the falloff_exponent element.
+ */
+ const domTargetableFloatRef getFalloff_exponent() const { return elemFalloff_exponent; }
+ protected:
+ /**
+ * Constructor
+ */
+ domSpot(DAE& dae) : daeElement(dae), elemColor(), elemConstant_attenuation(), elemLinear_attenuation(), elemQuadratic_attenuation(), elemFalloff_angle(), elemFalloff_exponent() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSpot() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSpot &operator=( const domSpot &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+/**
+ * The ambient element declares the parameters required to describe an ambient
+ * light source. An ambient light is one that lights everything evenly,
+ * regardless of location or orientation. @see domAmbient
+ */
+ domAmbientRef elemAmbient;
+/**
+ * The directional element declares the parameters required to describe a
+ * directional light source. A directional light is one that lights everything
+ * from the same direction, regardless of location. The light’s default
+ * direction vector in local coordinates is [0,0,-1], pointing down the -Z
+ * axis. The actual direction of the light is defined by the transform of
+ * the node where the light is instantiated. @see domDirectional
+ */
+ domDirectionalRef elemDirectional;
+/**
+ * The point element declares the parameters required to describe a point
+ * light source. A point light source radiates light in all directions from
+ * a known location in space. The intensity of a point light source is attenuated
+ * as the distance to the light source increases. The position of the light
+ * is defined by the transform of the node in which it is instantiated. @see
+ * domPoint
+ */
+ domPointRef elemPoint;
+/**
+ * The spot element declares the parameters required to describe a spot light
+ * source. A spot light source radiates light in one direction from a known
+ * location in space. The light radiates from the spot light source in a
+ * cone shape. The intensity of the light is attenuated as the radiation
+ * angle increases away from the direction of the light source. The intensity
+ * of a spot light source is also attenuated as the distance to the light
+ * source increases. The position of the light is defined by the transform
+ * of the node in which it is instantiated. The light’s default direction
+ * vector in local coordinates is [0,0,-1], pointing down the -Z axis. The
+ * actual direction of the light is defined by the transform of the node
+ * where the light is instantiated. @see domSpot
+ */
+ domSpotRef elemSpot;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the ambient element.
+ * @return a daeSmartRef to the ambient element.
+ */
+ const domAmbientRef getAmbient() const { return elemAmbient; }
+ /**
+ * Gets the directional element.
+ * @return a daeSmartRef to the directional element.
+ */
+ const domDirectionalRef getDirectional() const { return elemDirectional; }
+ /**
+ * Gets the point element.
+ * @return a daeSmartRef to the point element.
+ */
+ const domPointRef getPoint() const { return elemPoint; }
+ /**
+ * Gets the spot element.
+ * @return a daeSmartRef to the spot element.
+ */
+ const domSpotRef getSpot() const { return elemSpot; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTechnique_common(DAE& dae) : daeElement(dae), elemAmbient(), elemDirectional(), elemPoint(), elemSpot() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTechnique_common() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTechnique_common &operator=( const domTechnique_common &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+
+protected: // Elements
+/**
+ * The light element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * The technique_common element specifies the light information for the common
+ * profile which all COLLADA implementations need to support. @see domTechnique_common
+ */
+ domTechnique_commonRef elemTechnique_common;
+/**
+ * This element may contain any number of non-common profile techniques.
+ * @see domTechnique
+ */
+ domTechnique_Array elemTechnique_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the technique_common element.
+ * @return a daeSmartRef to the technique_common element.
+ */
+ const domTechnique_commonRef getTechnique_common() const { return elemTechnique_common; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a reference to the array of technique elements.
+ */
+ domTechnique_Array &getTechnique_array() { return elemTechnique_array; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a constant reference to the array of technique elements.
+ */
+ const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domLight(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemTechnique_common(), elemTechnique_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight &operator=( const domLight &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domLines.h b/1.4.0/dom/include/1.4/dom/domLines.h
new file mode 100644
index 0000000..4838931
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domLines.h
@@ -0,0 +1,158 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Lines_h__
+#define __dom141Lines_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domP.h>
+#include <1.4/dom/domExtra.h>
+#include <1.4/dom/domInputLocalOffset.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The lines element provides the information needed to bind vertex attributes
+ * together and then organize those vertices into individual lines. Each
+ * line described by the mesh has two vertices. The first line is formed
+ * from first and second vertices. The second line is formed from the third
+ * and fourth vertices and so on.
+ */
+class domLines : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LINES; }
+ static daeInt ID() { return 618; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+/**
+ * The count attribute indicates the number of line primitives. Required
+ * attribute.
+ */
+ domUint attrCount;
+/**
+ * The material attribute declares a symbol for a material. This symbol is
+ * bound to a material at the time of instantiation. If the material attribute
+ * is not specified then the lighting and shading results are application
+ * defined. Optional attribute.
+ */
+ xsNCName attrMaterial;
+
+protected: // Elements
+/**
+ * The input element may occur any number of times. This input is a local
+ * input with the offset and set attributes. @see domInput
+ */
+ domInputLocalOffset_Array elemInput_array;
+/**
+ * The p element may occur once. @see domP
+ */
+ domPRef elemP;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the count attribute.
+ * @return Returns a domUint of the count attribute.
+ */
+ domUint getCount() const { return attrCount; }
+ /**
+ * Sets the count attribute.
+ * @param atCount The new value for the count attribute.
+ */
+ void setCount( domUint atCount ) { attrCount = atCount; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the material attribute.
+ * @return Returns a xsNCName of the material attribute.
+ */
+ xsNCName getMaterial() const { return attrMaterial; }
+ /**
+ * Sets the material attribute.
+ * @param atMaterial The new value for the material attribute.
+ */
+ void setMaterial( xsNCName atMaterial ) { *(daeStringRef*)&attrMaterial = atMaterial; _validAttributeArray[2] = true; }
+
+ /**
+ * Gets the input element array.
+ * @return Returns a reference to the array of input elements.
+ */
+ domInputLocalOffset_Array &getInput_array() { return elemInput_array; }
+ /**
+ * Gets the input element array.
+ * @return Returns a constant reference to the array of input elements.
+ */
+ const domInputLocalOffset_Array &getInput_array() const { return elemInput_array; }
+ /**
+ * Gets the p element.
+ * @return a daeSmartRef to the p element.
+ */
+ const domPRef getP() const { return elemP; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domLines(DAE& dae) : daeElement(dae), attrName(), attrCount(), attrMaterial(), elemInput_array(), elemP(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLines() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLines &operator=( const domLines &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domLinestrips.h b/1.4.0/dom/include/1.4/dom/domLinestrips.h
new file mode 100644
index 0000000..9072788
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domLinestrips.h
@@ -0,0 +1,163 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Linestrips_h__
+#define __dom141Linestrips_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domP.h>
+#include <1.4/dom/domExtra.h>
+#include <1.4/dom/domInputLocalOffset.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The linestrips element provides the information needed to bind vertex attributes
+ * together and then organize those vertices into connected line-strips.
+ * Each line-strip described by the mesh has an arbitrary number of vertices.
+ * Each line segment within the line-strip is formed from the current vertex
+ * and the preceding vertex.
+ */
+class domLinestrips : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LINESTRIPS; }
+ static daeInt ID() { return 619; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+/**
+ * The count attribute indicates the number of linestrip primitives. Required
+ * attribute.
+ */
+ domUint attrCount;
+/**
+ * The material attribute declares a symbol for a material. This symbol is
+ * bound to a material at the time of instantiation. If the material attribute
+ * is not specified then the lighting and shading results are application
+ * defined. Optional attribute.
+ */
+ xsNCName attrMaterial;
+
+protected: // Elements
+/**
+ * The input element may occur any number of times. This input is a local
+ * input with the offset and set attributes. @see domInput
+ */
+ domInputLocalOffset_Array elemInput_array;
+/**
+ * The linestrips element may have any number of p elements. @see domP
+ */
+ domP_Array elemP_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the count attribute.
+ * @return Returns a domUint of the count attribute.
+ */
+ domUint getCount() const { return attrCount; }
+ /**
+ * Sets the count attribute.
+ * @param atCount The new value for the count attribute.
+ */
+ void setCount( domUint atCount ) { attrCount = atCount; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the material attribute.
+ * @return Returns a xsNCName of the material attribute.
+ */
+ xsNCName getMaterial() const { return attrMaterial; }
+ /**
+ * Sets the material attribute.
+ * @param atMaterial The new value for the material attribute.
+ */
+ void setMaterial( xsNCName atMaterial ) { *(daeStringRef*)&attrMaterial = atMaterial; _validAttributeArray[2] = true; }
+
+ /**
+ * Gets the input element array.
+ * @return Returns a reference to the array of input elements.
+ */
+ domInputLocalOffset_Array &getInput_array() { return elemInput_array; }
+ /**
+ * Gets the input element array.
+ * @return Returns a constant reference to the array of input elements.
+ */
+ const domInputLocalOffset_Array &getInput_array() const { return elemInput_array; }
+ /**
+ * Gets the p element array.
+ * @return Returns a reference to the array of p elements.
+ */
+ domP_Array &getP_array() { return elemP_array; }
+ /**
+ * Gets the p element array.
+ * @return Returns a constant reference to the array of p elements.
+ */
+ const domP_Array &getP_array() const { return elemP_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domLinestrips(DAE& dae) : daeElement(dae), attrName(), attrCount(), attrMaterial(), elemInput_array(), elemP_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLinestrips() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLinestrips &operator=( const domLinestrips &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domLookat.h b/1.4.0/dom/include/1.4/dom/domLookat.h
new file mode 100644
index 0000000..7a79f97
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domLookat.h
@@ -0,0 +1,104 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Lookat_h__
+#define __dom141Lookat_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The lookat element contains a position and orientation transformation suitable
+ * for aiming a camera. The lookat element contains three mathematical vectors
+ * within it that describe: 1.The position of the object; 2.The position
+ * of the interest point; 3.The direction that points up.
+ */
+class domLookat : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LOOKAT; }
+ static daeInt ID() { return 629; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attribute
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ xsNCName attrSid;
+
+protected: // Value
+ /**
+ * The domFloat3x3 value of the text data of this element.
+ */
+ domFloat3x3 _value;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the _value array.
+ * @return Returns a domFloat3x3 reference of the _value array.
+ */
+ domFloat3x3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domFloat3x3 reference of the _value array.
+ */
+ const domFloat3x3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domFloat3x3 &val ) { _value = val; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domLookat(DAE& dae) : daeElement(dae), attrSid(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLookat() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLookat &operator=( const domLookat &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domMaterial.h b/1.4.0/dom/include/1.4/dom/domMaterial.h
new file mode 100644
index 0000000..b58e529
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domMaterial.h
@@ -0,0 +1,133 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Material_h__
+#define __dom141Material_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domAsset.h>
+#include <1.4/dom/domInstance_effect.h>
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * Materials describe the visual appearance of a geometric object.
+ */
+class domMaterial : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MATERIAL; }
+ static daeInt ID() { return 644; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+
+protected: // Elements
+/**
+ * The material element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * The material must instance an effect. @see domInstance_effect
+ */
+ domInstance_effectRef elemInstance_effect;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the instance_effect element.
+ * @return a daeSmartRef to the instance_effect element.
+ */
+ const domInstance_effectRef getInstance_effect() const { return elemInstance_effect; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domMaterial(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemInstance_effect(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMaterial() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMaterial &operator=( const domMaterial &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domMatrix.h b/1.4.0/dom/include/1.4/dom/domMatrix.h
new file mode 100644
index 0000000..8a7a7f3
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domMatrix.h
@@ -0,0 +1,103 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Matrix_h__
+#define __dom141Matrix_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * Matrix transformations embody mathematical changes to points within a coordinate
+ * systems or the coordinate system itself. The matrix element contains a
+ * 4-by-4 matrix of floating-point values.
+ */
+class domMatrix : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MATRIX; }
+ static daeInt ID() { return 630; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attribute
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ xsNCName attrSid;
+
+protected: // Value
+ /**
+ * The domFloat4x4 value of the text data of this element.
+ */
+ domFloat4x4 _value;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the _value array.
+ * @return Returns a domFloat4x4 reference of the _value array.
+ */
+ domFloat4x4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domFloat4x4 reference of the _value array.
+ */
+ const domFloat4x4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domFloat4x4 &val ) { _value = val; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domMatrix(DAE& dae) : daeElement(dae), attrSid(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMatrix() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMatrix &operator=( const domMatrix &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domMesh.h b/1.4.0/dom/include/1.4/dom/domMesh.h
new file mode 100644
index 0000000..2fba0aa
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domMesh.h
@@ -0,0 +1,235 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Mesh_h__
+#define __dom141Mesh_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domSource.h>
+#include <1.4/dom/domVertices.h>
+#include <1.4/dom/domLines.h>
+#include <1.4/dom/domLinestrips.h>
+#include <1.4/dom/domPolygons.h>
+#include <1.4/dom/domPolylist.h>
+#include <1.4/dom/domTriangles.h>
+#include <1.4/dom/domTrifans.h>
+#include <1.4/dom/domTristrips.h>
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The mesh element contains vertex and primitive information sufficient to
+ * describe basic geometric meshes.
+ */
+class domMesh : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MESH; }
+ static daeInt ID() { return 614; }
+ virtual daeInt typeID() const { return ID(); }
+
+protected: // Elements
+/**
+ * The mesh element must contain one or more source elements. @see domSource
+ */
+ domSource_Array elemSource_array;
+/**
+ * The mesh element must contain one vertices element. @see domVertices
+ */
+ domVerticesRef elemVertices;
+/**
+ * The mesh element may contain any number of lines elements. @see domLines
+ */
+ domLines_Array elemLines_array;
+/**
+ * The mesh element may contain any number of linestrips elements. @see
+ * domLinestrips
+ */
+ domLinestrips_Array elemLinestrips_array;
+/**
+ * The mesh element may contain any number of polygons elements. @see domPolygons
+ */
+ domPolygons_Array elemPolygons_array;
+/**
+ * The mesh element may contain any number of polylist elements. @see domPolylist
+ */
+ domPolylist_Array elemPolylist_array;
+/**
+ * The mesh element may contain any number of triangles elements. @see domTriangles
+ */
+ domTriangles_Array elemTriangles_array;
+/**
+ * The mesh element may contain any number of trifans elements. @see domTrifans
+ */
+ domTrifans_Array elemTrifans_array;
+/**
+ * The mesh element may contain any number of tristrips elements. @see domTristrips
+ */
+ domTristrips_Array elemTristrips_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the source element array.
+ * @return Returns a reference to the array of source elements.
+ */
+ domSource_Array &getSource_array() { return elemSource_array; }
+ /**
+ * Gets the source element array.
+ * @return Returns a constant reference to the array of source elements.
+ */
+ const domSource_Array &getSource_array() const { return elemSource_array; }
+ /**
+ * Gets the vertices element.
+ * @return a daeSmartRef to the vertices element.
+ */
+ const domVerticesRef getVertices() const { return elemVertices; }
+ /**
+ * Gets the lines element array.
+ * @return Returns a reference to the array of lines elements.
+ */
+ domLines_Array &getLines_array() { return elemLines_array; }
+ /**
+ * Gets the lines element array.
+ * @return Returns a constant reference to the array of lines elements.
+ */
+ const domLines_Array &getLines_array() const { return elemLines_array; }
+ /**
+ * Gets the linestrips element array.
+ * @return Returns a reference to the array of linestrips elements.
+ */
+ domLinestrips_Array &getLinestrips_array() { return elemLinestrips_array; }
+ /**
+ * Gets the linestrips element array.
+ * @return Returns a constant reference to the array of linestrips elements.
+ */
+ const domLinestrips_Array &getLinestrips_array() const { return elemLinestrips_array; }
+ /**
+ * Gets the polygons element array.
+ * @return Returns a reference to the array of polygons elements.
+ */
+ domPolygons_Array &getPolygons_array() { return elemPolygons_array; }
+ /**
+ * Gets the polygons element array.
+ * @return Returns a constant reference to the array of polygons elements.
+ */
+ const domPolygons_Array &getPolygons_array() const { return elemPolygons_array; }
+ /**
+ * Gets the polylist element array.
+ * @return Returns a reference to the array of polylist elements.
+ */
+ domPolylist_Array &getPolylist_array() { return elemPolylist_array; }
+ /**
+ * Gets the polylist element array.
+ * @return Returns a constant reference to the array of polylist elements.
+ */
+ const domPolylist_Array &getPolylist_array() const { return elemPolylist_array; }
+ /**
+ * Gets the triangles element array.
+ * @return Returns a reference to the array of triangles elements.
+ */
+ domTriangles_Array &getTriangles_array() { return elemTriangles_array; }
+ /**
+ * Gets the triangles element array.
+ * @return Returns a constant reference to the array of triangles elements.
+ */
+ const domTriangles_Array &getTriangles_array() const { return elemTriangles_array; }
+ /**
+ * Gets the trifans element array.
+ * @return Returns a reference to the array of trifans elements.
+ */
+ domTrifans_Array &getTrifans_array() { return elemTrifans_array; }
+ /**
+ * Gets the trifans element array.
+ * @return Returns a constant reference to the array of trifans elements.
+ */
+ const domTrifans_Array &getTrifans_array() const { return elemTrifans_array; }
+ /**
+ * Gets the tristrips element array.
+ * @return Returns a reference to the array of tristrips elements.
+ */
+ domTristrips_Array &getTristrips_array() { return elemTristrips_array; }
+ /**
+ * Gets the tristrips element array.
+ * @return Returns a constant reference to the array of tristrips elements.
+ */
+ const domTristrips_Array &getTristrips_array() const { return elemTristrips_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domMesh(DAE& dae) : daeElement(dae), elemSource_array(), elemVertices(), elemLines_array(), elemLinestrips_array(), elemPolygons_array(), elemPolylist_array(), elemTriangles_array(), elemTrifans_array(), elemTristrips_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMesh() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMesh &operator=( const domMesh &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domMorph.h b/1.4.0/dom/include/1.4/dom/domMorph.h
new file mode 100644
index 0000000..bb2e16b
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domMorph.h
@@ -0,0 +1,227 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Morph_h__
+#define __dom141Morph_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domSource.h>
+#include <1.4/dom/domExtra.h>
+#include <1.4/dom/domInputLocal.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The morph element describes the data required to blend between sets of
+ * static meshes. Each possible mesh that can be blended (a morph target)
+ * must be specified.
+ */
+class domMorph : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MORPH; }
+ static daeInt ID() { return 662; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domTargets;
+
+ typedef daeSmartRef<domTargets> domTargetsRef;
+ typedef daeTArray<domTargetsRef> domTargets_Array;
+
+/**
+ * The targets element declares the morph targets, their weights and any user
+ * defined attributes associated with them.
+ */
+ class domTargets : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TARGETS; }
+ static daeInt ID() { return 663; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Elements
+/**
+ * The input element must occur at least twice. These inputs are local inputs.
+ * @see domInput
+ */
+ domInputLocal_Array elemInput_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the input element array.
+ * @return Returns a reference to the array of input elements.
+ */
+ domInputLocal_Array &getInput_array() { return elemInput_array; }
+ /**
+ * Gets the input element array.
+ * @return Returns a constant reference to the array of input elements.
+ */
+ const domInputLocal_Array &getInput_array() const { return elemInput_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ protected:
+ /**
+ * Constructor
+ */
+ domTargets(DAE& dae) : daeElement(dae), elemInput_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTargets() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTargets &operator=( const domTargets &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+/**
+ * The method attribute specifies the which blending technique to use. The
+ * accepted values are NORMALIZED, and RELATIVE. The default value if not
+ * specified is NORMALIZED. Optional attribute.
+ */
+ domMorphMethodType attrMethod;
+/**
+ * The source attribute indicates the base mesh. Required attribute.
+ */
+ xsAnyURI attrSource;
+
+protected: // Elements
+/**
+ * The morph element must contain at least two source elements. @see domSource
+ */
+ domSource_Array elemSource_array;
+/**
+ * The targets element declares the morph targets, their weights and any user
+ * defined attributes associated with them. @see domTargets
+ */
+ domTargetsRef elemTargets;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the method attribute.
+ * @return Returns a domMorphMethodType of the method attribute.
+ */
+ domMorphMethodType getMethod() const { return attrMethod; }
+ /**
+ * Sets the method attribute.
+ * @param atMethod The new value for the method attribute.
+ */
+ void setMethod( domMorphMethodType atMethod ) { attrMethod = atMethod; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the source attribute.
+ * @return Returns a xsAnyURI reference of the source attribute.
+ */
+ xsAnyURI &getSource() { return attrSource; }
+ /**
+ * Gets the source attribute.
+ * @return Returns a constant xsAnyURI reference of the source attribute.
+ */
+ const xsAnyURI &getSource() const { return attrSource; }
+ /**
+ * Sets the source attribute.
+ * @param atSource The new value for the source attribute.
+ */
+ void setSource( const xsAnyURI &atSource ) { attrSource = atSource; _validAttributeArray[1] = true; }
+ /**
+ * Sets the source attribute.
+ * @param atSource The new value for the source attribute.
+ */
+ void setSource( xsString atSource ) { attrSource = atSource; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the source element array.
+ * @return Returns a reference to the array of source elements.
+ */
+ domSource_Array &getSource_array() { return elemSource_array; }
+ /**
+ * Gets the source element array.
+ * @return Returns a constant reference to the array of source elements.
+ */
+ const domSource_Array &getSource_array() const { return elemSource_array; }
+ /**
+ * Gets the targets element.
+ * @return a daeSmartRef to the targets element.
+ */
+ const domTargetsRef getTargets() const { return elemTargets; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domMorph(DAE& dae) : daeElement(dae), attrMethod(), attrSource(dae, *this), elemSource_array(), elemTargets(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMorph() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMorph &operator=( const domMorph &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domName_array.h b/1.4.0/dom/include/1.4/dom/domName_array.h
new file mode 100644
index 0000000..8e79aa3
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domName_array.h
@@ -0,0 +1,135 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Name_array_h__
+#define __dom141Name_array_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The Name_array element declares the storage for a homogenous array of Name
+ * string values.
+ */
+class domName_array : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::NAME_ARRAY; }
+ static daeInt ID() { return 605; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+/**
+ * The count attribute indicates the number of values in the array. Required
+ * attribute.
+ */
+ domUint attrCount;
+
+protected: // Value
+ /**
+ * The domListOfNames value of the text data of this element.
+ */
+ domListOfNames _value;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the count attribute.
+ * @return Returns a domUint of the count attribute.
+ */
+ domUint getCount() const { return attrCount; }
+ /**
+ * Sets the count attribute.
+ * @param atCount The new value for the count attribute.
+ */
+ void setCount( domUint atCount ) { attrCount = atCount; _validAttributeArray[2] = true; }
+
+ /**
+ * Gets the _value array.
+ * @return Returns a domListOfNames reference of the _value array.
+ */
+ domListOfNames &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domListOfNames reference of the _value array.
+ */
+ const domListOfNames &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domListOfNames &val ) { _value = val; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domName_array(DAE& dae) : daeElement(dae), attrId(), attrName(), attrCount(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domName_array() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domName_array &operator=( const domName_array &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domNode.h b/1.4.0/dom/include/1.4/dom/domNode.h
new file mode 100644
index 0000000..5c2df8a
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domNode.h
@@ -0,0 +1,388 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Node_h__
+#define __dom141Node_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domAsset.h>
+#include <1.4/dom/domLookat.h>
+#include <1.4/dom/domMatrix.h>
+#include <1.4/dom/domRotate.h>
+#include <1.4/dom/domScale.h>
+#include <1.4/dom/domSkew.h>
+#include <1.4/dom/domTranslate.h>
+#include <1.4/dom/domInstance_camera.h>
+#include <1.4/dom/domInstance_controller.h>
+#include <1.4/dom/domInstance_geometry.h>
+#include <1.4/dom/domInstance_light.h>
+#include <1.4/dom/domInstance_node.h>
+#include <1.4/dom/domNode.h>
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * Nodes embody the hierarchical relationship of elements in the scene.
+ */
+class domNode : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::NODE; }
+ static daeInt ID() { return 681; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ xsNCName attrSid;
+/**
+ * The type attribute indicates the type of the node element. The default
+ * value is “NODE”. Optional attribute.
+ */
+ domNodeType attrType;
+/**
+ * The layer attribute indicates the names of the layers to which this node
+ * belongs. For example, a value of “foreground glowing” indicates that
+ * this node belongs to both the ‘foreground’ layer and the ‘glowing’
+ * layer. The default value is empty, indicating that the node doesn’t
+ * belong to any layer. Optional attribute.
+ */
+ domListOfNames attrLayer;
+
+protected: // Elements
+/**
+ * The node element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * The node element may contain any number of lookat elements. @see domLookat
+ */
+ domLookat_Array elemLookat_array;
+/**
+ * The node element may contain any number of matrix elements. @see domMatrix
+ */
+ domMatrix_Array elemMatrix_array;
+/**
+ * The node element may contain any number of rotate elements. @see domRotate
+ */
+ domRotate_Array elemRotate_array;
+/**
+ * The node element may contain any number of scale elements. @see domScale
+ */
+ domScale_Array elemScale_array;
+/**
+ * The node element may contain any number of skew elements. @see domSkew
+ */
+ domSkew_Array elemSkew_array;
+/**
+ * The node element may contain any number of translate elements. @see domTranslate
+ */
+ domTranslate_Array elemTranslate_array;
+/**
+ * The node element may instance any number of camera objects. @see domInstance_camera
+ */
+ domInstance_camera_Array elemInstance_camera_array;
+/**
+ * The node element may instance any number of controller objects. @see
+ * domInstance_controller
+ */
+ domInstance_controller_Array elemInstance_controller_array;
+/**
+ * The node element may instance any number of geometry objects. @see domInstance_geometry
+ */
+ domInstance_geometry_Array elemInstance_geometry_array;
+/**
+ * The node element may instance any number of light objects. @see domInstance_light
+ */
+ domInstance_light_Array elemInstance_light_array;
+/**
+ * The node element may instance any number of node elements or hierarchies
+ * objects. @see domInstance_node
+ */
+ domInstance_node_Array elemInstance_node_array;
+/**
+ * The node element may be hierarchical and be the parent of any number of
+ * other node elements. @see domNode
+ */
+ domNode_Array elemNode_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[2] = true; }
+
+ /**
+ * Gets the type attribute.
+ * @return Returns a domNodeType of the type attribute.
+ */
+ domNodeType getType() const { return attrType; }
+ /**
+ * Sets the type attribute.
+ * @param atType The new value for the type attribute.
+ */
+ void setType( domNodeType atType ) { attrType = atType; _validAttributeArray[3] = true; }
+
+ /**
+ * Gets the layer array attribute.
+ * @return Returns a domListOfNames reference of the layer array attribute.
+ */
+ domListOfNames &getLayer() { return attrLayer; }
+ /**
+ * Gets the layer array attribute.
+ * @return Returns a constant domListOfNames reference of the layer array attribute.
+ */
+ const domListOfNames &getLayer() const { return attrLayer; }
+ /**
+ * Sets the layer array attribute.
+ * @param atLayer The new value for the layer array attribute.
+ */
+ void setLayer( const domListOfNames &atLayer ) { attrLayer = atLayer; _validAttributeArray[4] = true; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the lookat element array.
+ * @return Returns a reference to the array of lookat elements.
+ */
+ domLookat_Array &getLookat_array() { return elemLookat_array; }
+ /**
+ * Gets the lookat element array.
+ * @return Returns a constant reference to the array of lookat elements.
+ */
+ const domLookat_Array &getLookat_array() const { return elemLookat_array; }
+ /**
+ * Gets the matrix element array.
+ * @return Returns a reference to the array of matrix elements.
+ */
+ domMatrix_Array &getMatrix_array() { return elemMatrix_array; }
+ /**
+ * Gets the matrix element array.
+ * @return Returns a constant reference to the array of matrix elements.
+ */
+ const domMatrix_Array &getMatrix_array() const { return elemMatrix_array; }
+ /**
+ * Gets the rotate element array.
+ * @return Returns a reference to the array of rotate elements.
+ */
+ domRotate_Array &getRotate_array() { return elemRotate_array; }
+ /**
+ * Gets the rotate element array.
+ * @return Returns a constant reference to the array of rotate elements.
+ */
+ const domRotate_Array &getRotate_array() const { return elemRotate_array; }
+ /**
+ * Gets the scale element array.
+ * @return Returns a reference to the array of scale elements.
+ */
+ domScale_Array &getScale_array() { return elemScale_array; }
+ /**
+ * Gets the scale element array.
+ * @return Returns a constant reference to the array of scale elements.
+ */
+ const domScale_Array &getScale_array() const { return elemScale_array; }
+ /**
+ * Gets the skew element array.
+ * @return Returns a reference to the array of skew elements.
+ */
+ domSkew_Array &getSkew_array() { return elemSkew_array; }
+ /**
+ * Gets the skew element array.
+ * @return Returns a constant reference to the array of skew elements.
+ */
+ const domSkew_Array &getSkew_array() const { return elemSkew_array; }
+ /**
+ * Gets the translate element array.
+ * @return Returns a reference to the array of translate elements.
+ */
+ domTranslate_Array &getTranslate_array() { return elemTranslate_array; }
+ /**
+ * Gets the translate element array.
+ * @return Returns a constant reference to the array of translate elements.
+ */
+ const domTranslate_Array &getTranslate_array() const { return elemTranslate_array; }
+ /**
+ * Gets the instance_camera element array.
+ * @return Returns a reference to the array of instance_camera elements.
+ */
+ domInstance_camera_Array &getInstance_camera_array() { return elemInstance_camera_array; }
+ /**
+ * Gets the instance_camera element array.
+ * @return Returns a constant reference to the array of instance_camera elements.
+ */
+ const domInstance_camera_Array &getInstance_camera_array() const { return elemInstance_camera_array; }
+ /**
+ * Gets the instance_controller element array.
+ * @return Returns a reference to the array of instance_controller elements.
+ */
+ domInstance_controller_Array &getInstance_controller_array() { return elemInstance_controller_array; }
+ /**
+ * Gets the instance_controller element array.
+ * @return Returns a constant reference to the array of instance_controller elements.
+ */
+ const domInstance_controller_Array &getInstance_controller_array() const { return elemInstance_controller_array; }
+ /**
+ * Gets the instance_geometry element array.
+ * @return Returns a reference to the array of instance_geometry elements.
+ */
+ domInstance_geometry_Array &getInstance_geometry_array() { return elemInstance_geometry_array; }
+ /**
+ * Gets the instance_geometry element array.
+ * @return Returns a constant reference to the array of instance_geometry elements.
+ */
+ const domInstance_geometry_Array &getInstance_geometry_array() const { return elemInstance_geometry_array; }
+ /**
+ * Gets the instance_light element array.
+ * @return Returns a reference to the array of instance_light elements.
+ */
+ domInstance_light_Array &getInstance_light_array() { return elemInstance_light_array; }
+ /**
+ * Gets the instance_light element array.
+ * @return Returns a constant reference to the array of instance_light elements.
+ */
+ const domInstance_light_Array &getInstance_light_array() const { return elemInstance_light_array; }
+ /**
+ * Gets the instance_node element array.
+ * @return Returns a reference to the array of instance_node elements.
+ */
+ domInstance_node_Array &getInstance_node_array() { return elemInstance_node_array; }
+ /**
+ * Gets the instance_node element array.
+ * @return Returns a constant reference to the array of instance_node elements.
+ */
+ const domInstance_node_Array &getInstance_node_array() const { return elemInstance_node_array; }
+ /**
+ * Gets the node element array.
+ * @return Returns a reference to the array of node elements.
+ */
+ domNode_Array &getNode_array() { return elemNode_array; }
+ /**
+ * Gets the node element array.
+ * @return Returns a constant reference to the array of node elements.
+ */
+ const domNode_Array &getNode_array() const { return elemNode_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domNode(DAE& dae) : daeElement(dae), attrId(), attrName(), attrSid(), attrType(), attrLayer(), elemAsset(), elemLookat_array(), elemMatrix_array(), elemRotate_array(), elemScale_array(), elemSkew_array(), elemTranslate_array(), elemInstance_camera_array(), elemInstance_controller_array(), elemInstance_geometry_array(), elemInstance_light_array(), elemInstance_node_array(), elemNode_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domNode() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domNode &operator=( const domNode &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domP.h b/1.4.0/dom/include/1.4/dom/domP.h
new file mode 100644
index 0000000..e1e0966
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domP.h
@@ -0,0 +1,86 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141P_h__
+#define __dom141P_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The p element represents primitive data for the primitive types (lines,
+ * linestrips, polygons, polylist, triangles, trifans, tristrips). The p
+ * element contains indices that reference into the parent's source elements
+ * referenced by the input elements.
+ */
+class domP : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::P; }
+ static daeInt ID() { return 617; }
+ virtual daeInt typeID() const { return ID(); }
+
+protected: // Value
+ /**
+ * The domListOfUInts value of the text data of this element.
+ */
+ domListOfUInts _value;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domListOfUInts reference of the _value array.
+ */
+ domListOfUInts &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domListOfUInts reference of the _value array.
+ */
+ const domListOfUInts &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domListOfUInts &val ) { _value = val; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domP(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domP() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domP &operator=( const domP &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domParam.h b/1.4.0/dom/include/1.4/dom/domParam.h
new file mode 100644
index 0000000..bd5658c
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domParam.h
@@ -0,0 +1,144 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Param_h__
+#define __dom141Param_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The param element declares parametric information regarding its parent
+ * element.
+ */
+class domParam : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PARAM; }
+ static daeInt ID() { return 610; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ xsNCName attrSid;
+/**
+ * The semantic attribute is the user-defined meaning of the parameter. Optional
+ * attribute.
+ */
+ xsNMTOKEN attrSemantic;
+/**
+ * The type attribute indicates the type of the value data. This text string
+ * must be understood by the application. Required attribute.
+ */
+ xsNMTOKEN attrType;
+
+protected: // Value
+ /**
+ * The xsString value of the text data of this element.
+ */
+ xsString _value;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the semantic attribute.
+ * @return Returns a xsNMTOKEN of the semantic attribute.
+ */
+ xsNMTOKEN getSemantic() const { return attrSemantic; }
+ /**
+ * Sets the semantic attribute.
+ * @param atSemantic The new value for the semantic attribute.
+ */
+ void setSemantic( xsNMTOKEN atSemantic ) { *(daeStringRef*)&attrSemantic = atSemantic; _validAttributeArray[2] = true; }
+
+ /**
+ * Gets the type attribute.
+ * @return Returns a xsNMTOKEN of the type attribute.
+ */
+ xsNMTOKEN getType() const { return attrType; }
+ /**
+ * Sets the type attribute.
+ * @param atType The new value for the type attribute.
+ */
+ void setType( xsNMTOKEN atType ) { *(daeStringRef*)&attrType = atType; _validAttributeArray[3] = true; }
+
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsString of the value.
+ */
+ xsString getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsString val ) { *(daeStringRef*)&_value = val; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domParam(DAE& dae) : daeElement(dae), attrName(), attrSid(), attrSemantic(), attrType(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domParam() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domParam &operator=( const domParam &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domPhysics_material.h b/1.4.0/dom/include/1.4/dom/domPhysics_material.h
new file mode 100644
index 0000000..8ea7f74
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domPhysics_material.h
@@ -0,0 +1,230 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Physics_material_h__
+#define __dom141Physics_material_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domAsset.h>
+#include <1.4/dom/domTechnique.h>
+#include <1.4/dom/domExtra.h>
+#include <1.4/dom/domTargetableFloat.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * This element defines the physical properties of an object. It contains
+ * a technique/profile with parameters. The COMMON profile defines the built-in
+ * names, such as static_friction.
+ */
+class domPhysics_material : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PHYSICS_MATERIAL; }
+ static daeInt ID() { return 791; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domTechnique_common;
+
+ typedef daeSmartRef<domTechnique_common> domTechnique_commonRef;
+ typedef daeTArray<domTechnique_commonRef> domTechnique_common_Array;
+
+/**
+ * The technique_common element specifies the physics_material information
+ * for the common profile which all COLLADA implementations need to support.
+ */
+ class domTechnique_common : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TECHNIQUE_COMMON; }
+ static daeInt ID() { return 792; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Elements
+/**
+ * Dynamic friction coefficient @see domDynamic_friction
+ */
+ domTargetableFloatRef elemDynamic_friction;
+/**
+ * The proportion of the kinetic energy preserved in the impact (typically
+ * ranges from 0.0 to 1.0) @see domRestitution
+ */
+ domTargetableFloatRef elemRestitution;
+/**
+ * Static friction coefficient @see domStatic_friction
+ */
+ domTargetableFloatRef elemStatic_friction;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the dynamic_friction element.
+ * @return a daeSmartRef to the dynamic_friction element.
+ */
+ const domTargetableFloatRef getDynamic_friction() const { return elemDynamic_friction; }
+ /**
+ * Gets the restitution element.
+ * @return a daeSmartRef to the restitution element.
+ */
+ const domTargetableFloatRef getRestitution() const { return elemRestitution; }
+ /**
+ * Gets the static_friction element.
+ * @return a daeSmartRef to the static_friction element.
+ */
+ const domTargetableFloatRef getStatic_friction() const { return elemStatic_friction; }
+ protected:
+ /**
+ * Constructor
+ */
+ domTechnique_common(DAE& dae) : daeElement(dae), elemDynamic_friction(), elemRestitution(), elemStatic_friction() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTechnique_common() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTechnique_common &operator=( const domTechnique_common &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+
+protected: // Elements
+/**
+ * The physics_material element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * The technique_common element specifies the physics_material information
+ * for the common profile which all COLLADA implementations need to support.
+ * @see domTechnique_common
+ */
+ domTechnique_commonRef elemTechnique_common;
+/**
+ * This element may contain any number of non-common profile techniques.
+ * @see domTechnique
+ */
+ domTechnique_Array elemTechnique_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the technique_common element.
+ * @return a daeSmartRef to the technique_common element.
+ */
+ const domTechnique_commonRef getTechnique_common() const { return elemTechnique_common; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a reference to the array of technique elements.
+ */
+ domTechnique_Array &getTechnique_array() { return elemTechnique_array; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a constant reference to the array of technique elements.
+ */
+ const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domPhysics_material(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemTechnique_common(), elemTechnique_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPhysics_material() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPhysics_material &operator=( const domPhysics_material &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domPhysics_model.h b/1.4.0/dom/include/1.4/dom/domPhysics_model.h
new file mode 100644
index 0000000..aa0ab26
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domPhysics_model.h
@@ -0,0 +1,172 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Physics_model_h__
+#define __dom141Physics_model_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domAsset.h>
+#include <1.4/dom/domRigid_body.h>
+#include <1.4/dom/domRigid_constraint.h>
+#include <1.4/dom/domInstance_physics_model.h>
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * This element allows for building complex combinations of rigid-bodies and
+ * constraints that may be instantiated multiple times.
+ */
+class domPhysics_model : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PHYSICS_MODEL; }
+ static daeInt ID() { return 813; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+
+protected: // Elements
+/**
+ * The physics_model element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * The physics_model may define any number of rigid_body elements. @see
+ * domRigid_body
+ */
+ domRigid_body_Array elemRigid_body_array;
+/**
+ * The physics_model may define any number of rigid_constraint elements.
+ * @see domRigid_constraint
+ */
+ domRigid_constraint_Array elemRigid_constraint_array;
+/**
+ * The physics_model may instance any number of other physics_model elements.
+ * @see domInstance_physics_model
+ */
+ domInstance_physics_model_Array elemInstance_physics_model_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the rigid_body element array.
+ * @return Returns a reference to the array of rigid_body elements.
+ */
+ domRigid_body_Array &getRigid_body_array() { return elemRigid_body_array; }
+ /**
+ * Gets the rigid_body element array.
+ * @return Returns a constant reference to the array of rigid_body elements.
+ */
+ const domRigid_body_Array &getRigid_body_array() const { return elemRigid_body_array; }
+ /**
+ * Gets the rigid_constraint element array.
+ * @return Returns a reference to the array of rigid_constraint elements.
+ */
+ domRigid_constraint_Array &getRigid_constraint_array() { return elemRigid_constraint_array; }
+ /**
+ * Gets the rigid_constraint element array.
+ * @return Returns a constant reference to the array of rigid_constraint elements.
+ */
+ const domRigid_constraint_Array &getRigid_constraint_array() const { return elemRigid_constraint_array; }
+ /**
+ * Gets the instance_physics_model element array.
+ * @return Returns a reference to the array of instance_physics_model elements.
+ */
+ domInstance_physics_model_Array &getInstance_physics_model_array() { return elemInstance_physics_model_array; }
+ /**
+ * Gets the instance_physics_model element array.
+ * @return Returns a constant reference to the array of instance_physics_model elements.
+ */
+ const domInstance_physics_model_Array &getInstance_physics_model_array() const { return elemInstance_physics_model_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domPhysics_model(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemRigid_body_array(), elemRigid_constraint_array(), elemInstance_physics_model_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPhysics_model() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPhysics_model &operator=( const domPhysics_model &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domPhysics_scene.h b/1.4.0/dom/include/1.4/dom/domPhysics_scene.h
new file mode 100644
index 0000000..1924191
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domPhysics_scene.h
@@ -0,0 +1,246 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Physics_scene_h__
+#define __dom141Physics_scene_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domAsset.h>
+#include <1.4/dom/domInstance_force_field.h>
+#include <1.4/dom/domInstance_physics_model.h>
+#include <1.4/dom/domTechnique.h>
+#include <1.4/dom/domExtra.h>
+#include <1.4/dom/domTargetableFloat3.h>
+#include <1.4/dom/domTargetableFloat.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+class domPhysics_scene : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PHYSICS_SCENE; }
+ static daeInt ID() { return 793; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domTechnique_common;
+
+ typedef daeSmartRef<domTechnique_common> domTechnique_commonRef;
+ typedef daeTArray<domTechnique_commonRef> domTechnique_common_Array;
+
+/**
+ * The technique_common element specifies the physics_scene information for
+ * the common profile which all COLLADA implementations need to support.
+ */
+ class domTechnique_common : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TECHNIQUE_COMMON; }
+ static daeInt ID() { return 794; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Elements
+/**
+ * The gravity vector to use for the physics_scene. @see domGravity
+ */
+ domTargetableFloat3Ref elemGravity;
+/**
+ * The time_step for the physics_scene. @see domTime_step
+ */
+ domTargetableFloatRef elemTime_step;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the gravity element.
+ * @return a daeSmartRef to the gravity element.
+ */
+ const domTargetableFloat3Ref getGravity() const { return elemGravity; }
+ /**
+ * Gets the time_step element.
+ * @return a daeSmartRef to the time_step element.
+ */
+ const domTargetableFloatRef getTime_step() const { return elemTime_step; }
+ protected:
+ /**
+ * Constructor
+ */
+ domTechnique_common(DAE& dae) : daeElement(dae), elemGravity(), elemTime_step() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTechnique_common() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTechnique_common &operator=( const domTechnique_common &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+
+protected: // Elements
+/**
+ * The physics_scene element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * There may be any number of instance_force_field elements. @see domInstance_force_field
+ */
+ domInstance_force_field_Array elemInstance_force_field_array;
+/**
+ * There may be any number of instance_physics_model elements. @see domInstance_physics_model
+ */
+ domInstance_physics_model_Array elemInstance_physics_model_array;
+/**
+ * The technique_common element specifies the physics_scene information for
+ * the common profile which all COLLADA implementations need to support.
+ * @see domTechnique_common
+ */
+ domTechnique_commonRef elemTechnique_common;
+/**
+ * This element may contain any number of non-common profile techniques.
+ * @see domTechnique
+ */
+ domTechnique_Array elemTechnique_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the instance_force_field element array.
+ * @return Returns a reference to the array of instance_force_field elements.
+ */
+ domInstance_force_field_Array &getInstance_force_field_array() { return elemInstance_force_field_array; }
+ /**
+ * Gets the instance_force_field element array.
+ * @return Returns a constant reference to the array of instance_force_field elements.
+ */
+ const domInstance_force_field_Array &getInstance_force_field_array() const { return elemInstance_force_field_array; }
+ /**
+ * Gets the instance_physics_model element array.
+ * @return Returns a reference to the array of instance_physics_model elements.
+ */
+ domInstance_physics_model_Array &getInstance_physics_model_array() { return elemInstance_physics_model_array; }
+ /**
+ * Gets the instance_physics_model element array.
+ * @return Returns a constant reference to the array of instance_physics_model elements.
+ */
+ const domInstance_physics_model_Array &getInstance_physics_model_array() const { return elemInstance_physics_model_array; }
+ /**
+ * Gets the technique_common element.
+ * @return a daeSmartRef to the technique_common element.
+ */
+ const domTechnique_commonRef getTechnique_common() const { return elemTechnique_common; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a reference to the array of technique elements.
+ */
+ domTechnique_Array &getTechnique_array() { return elemTechnique_array; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a constant reference to the array of technique elements.
+ */
+ const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domPhysics_scene(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemInstance_force_field_array(), elemInstance_physics_model_array(), elemTechnique_common(), elemTechnique_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPhysics_scene() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPhysics_scene &operator=( const domPhysics_scene &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domPlane.h b/1.4.0/dom/include/1.4/dom/domPlane.h
new file mode 100644
index 0000000..c0983d4
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domPlane.h
@@ -0,0 +1,157 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Plane_h__
+#define __dom141Plane_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * An infinite plane primitive.
+ */
+class domPlane : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PLANE; }
+ static daeInt ID() { return 769; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domEquation;
+
+ typedef daeSmartRef<domEquation> domEquationRef;
+ typedef daeTArray<domEquationRef> domEquation_Array;
+
+/**
+ * 4 float values that represent the coefficients for the plane’s equation:
+ * Ax + By + Cz + D = 0
+ */
+ class domEquation : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::EQUATION; }
+ static daeInt ID() { return 770; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFloat4 value of the text data of this element.
+ */
+ domFloat4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domFloat4 reference of the _value array.
+ */
+ domFloat4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domFloat4 reference of the _value array.
+ */
+ const domFloat4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domFloat4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domEquation(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domEquation() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domEquation &operator=( const domEquation &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+/**
+ * 4 float values that represent the coefficients for the plane’s equation:
+ * Ax + By + Cz + D = 0 @see domEquation
+ */
+ domEquationRef elemEquation;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the equation element.
+ * @return a daeSmartRef to the equation element.
+ */
+ const domEquationRef getEquation() const { return elemEquation; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domPlane(DAE& dae) : daeElement(dae), elemEquation(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPlane() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPlane &operator=( const domPlane &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domPolygons.h b/1.4.0/dom/include/1.4/dom/domPolygons.h
new file mode 100644
index 0000000..f7a3a29
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domPolygons.h
@@ -0,0 +1,342 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Polygons_h__
+#define __dom141Polygons_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domP.h>
+#include <1.4/dom/domExtra.h>
+#include <1.4/dom/domInputLocalOffset.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The polygons element provides the information needed to bind vertex attributes
+ * together and then organize those vertices into individual polygons. The
+ * polygons described can contain arbitrary numbers of vertices. These polygons
+ * may be self intersecting and may also contain holes.
+ */
+class domPolygons : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POLYGONS; }
+ static daeInt ID() { return 620; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domPh;
+
+ typedef daeSmartRef<domPh> domPhRef;
+ typedef daeTArray<domPhRef> domPh_Array;
+
+/**
+ * The ph element descripes a polygon with holes.
+ */
+ class domPh : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PH; }
+ static daeInt ID() { return 621; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domH;
+
+ typedef daeSmartRef<domH> domHRef;
+ typedef daeTArray<domHRef> domH_Array;
+
+/**
+ * The h element represents a hole in the polygon specified. There must be
+ * at least one h element.
+ */
+ class domH : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::H; }
+ static daeInt ID() { return 622; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domListOfUInts value of the text data of this element.
+ */
+ domListOfUInts _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domListOfUInts reference of the _value array.
+ */
+ domListOfUInts &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domListOfUInts reference of the _value array.
+ */
+ const domListOfUInts &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domListOfUInts &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domH(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domH() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domH &operator=( const domH &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+/**
+ * Theere may only be one p element. @see domP
+ */
+ domPRef elemP;
+/**
+ * The h element represents a hole in the polygon specified. There must be
+ * at least one h element. @see domH
+ */
+ domH_Array elemH_array;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the p element.
+ * @return a daeSmartRef to the p element.
+ */
+ const domPRef getP() const { return elemP; }
+ /**
+ * Gets the h element array.
+ * @return Returns a reference to the array of h elements.
+ */
+ domH_Array &getH_array() { return elemH_array; }
+ /**
+ * Gets the h element array.
+ * @return Returns a constant reference to the array of h elements.
+ */
+ const domH_Array &getH_array() const { return elemH_array; }
+ protected:
+ /**
+ * Constructor
+ */
+ domPh(DAE& dae) : daeElement(dae), elemP(), elemH_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPh() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPh &operator=( const domPh &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+/**
+ * The count attribute indicates the number of polygon primitives. Required
+ * attribute.
+ */
+ domUint attrCount;
+/**
+ * The material attribute declares a symbol for a material. This symbol is
+ * bound to a material at the time of instantiation. If the material attribute
+ * is not specified then the lighting and shading results are application
+ * defined. Optional attribute.
+ */
+ xsNCName attrMaterial;
+
+protected: // Elements
+/**
+ * The input element may occur any number of times. This input is a local
+ * input with the offset and set attributes. @see domInput
+ */
+ domInputLocalOffset_Array elemInput_array;
+/**
+ * The p element may occur any number of times. @see domP
+ */
+ domP_Array elemP_array;
+/**
+ * The ph element descripes a polygon with holes. @see domPh
+ */
+ domPh_Array elemPh_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the count attribute.
+ * @return Returns a domUint of the count attribute.
+ */
+ domUint getCount() const { return attrCount; }
+ /**
+ * Sets the count attribute.
+ * @param atCount The new value for the count attribute.
+ */
+ void setCount( domUint atCount ) { attrCount = atCount; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the material attribute.
+ * @return Returns a xsNCName of the material attribute.
+ */
+ xsNCName getMaterial() const { return attrMaterial; }
+ /**
+ * Sets the material attribute.
+ * @param atMaterial The new value for the material attribute.
+ */
+ void setMaterial( xsNCName atMaterial ) { *(daeStringRef*)&attrMaterial = atMaterial; _validAttributeArray[2] = true; }
+
+ /**
+ * Gets the input element array.
+ * @return Returns a reference to the array of input elements.
+ */
+ domInputLocalOffset_Array &getInput_array() { return elemInput_array; }
+ /**
+ * Gets the input element array.
+ * @return Returns a constant reference to the array of input elements.
+ */
+ const domInputLocalOffset_Array &getInput_array() const { return elemInput_array; }
+ /**
+ * Gets the p element array.
+ * @return Returns a reference to the array of p elements.
+ */
+ domP_Array &getP_array() { return elemP_array; }
+ /**
+ * Gets the p element array.
+ * @return Returns a constant reference to the array of p elements.
+ */
+ const domP_Array &getP_array() const { return elemP_array; }
+ /**
+ * Gets the ph element array.
+ * @return Returns a reference to the array of ph elements.
+ */
+ domPh_Array &getPh_array() { return elemPh_array; }
+ /**
+ * Gets the ph element array.
+ * @return Returns a constant reference to the array of ph elements.
+ */
+ const domPh_Array &getPh_array() const { return elemPh_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domPolygons(DAE& dae) : daeElement(dae), attrName(), attrCount(), attrMaterial(), elemInput_array(), elemP_array(), elemPh_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPolygons() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPolygons &operator=( const domPolygons &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domPolylist.h b/1.4.0/dom/include/1.4/dom/domPolylist.h
new file mode 100644
index 0000000..0650849
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domPolylist.h
@@ -0,0 +1,239 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Polylist_h__
+#define __dom141Polylist_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domP.h>
+#include <1.4/dom/domExtra.h>
+#include <1.4/dom/domInputLocalOffset.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The polylist element provides the information needed to bind vertex attributes
+ * together and then organize those vertices into individual polygons. The
+ * polygons described in polylist can contain arbitrary numbers of vertices.
+ * Unlike the polygons element, the polylist element cannot contain polygons
+ * with holes.
+ */
+class domPolylist : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POLYLIST; }
+ static daeInt ID() { return 623; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domVcount;
+
+ typedef daeSmartRef<domVcount> domVcountRef;
+ typedef daeTArray<domVcountRef> domVcount_Array;
+
+/**
+ * The vcount element contains a list of integers describing the number of
+ * sides for each polygon described by the polylist element. The vcount element
+ * may occur once.
+ */
+ class domVcount : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::VCOUNT; }
+ static daeInt ID() { return 624; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domListOfUInts value of the text data of this element.
+ */
+ domListOfUInts _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domListOfUInts reference of the _value array.
+ */
+ domListOfUInts &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domListOfUInts reference of the _value array.
+ */
+ const domListOfUInts &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domListOfUInts &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domVcount(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domVcount() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domVcount &operator=( const domVcount &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+/**
+ * The count attribute indicates the number of polygon primitives. Required
+ * attribute.
+ */
+ domUint attrCount;
+/**
+ * The material attribute declares a symbol for a material. This symbol is
+ * bound to a material at the time of instantiation. If the material attribute
+ * is not specified then the lighting and shading results are application
+ * defined. Optional attribute.
+ */
+ xsNCName attrMaterial;
+
+protected: // Elements
+/**
+ * The input element may occur any number of times. This input is a local
+ * input with the offset and set attributes. @see domInput
+ */
+ domInputLocalOffset_Array elemInput_array;
+/**
+ * The vcount element contains a list of integers describing the number of
+ * sides for each polygon described by the polylist element. The vcount element
+ * may occur once. @see domVcount
+ */
+ domVcountRef elemVcount;
+/**
+ * The p element may occur once. @see domP
+ */
+ domPRef elemP;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the count attribute.
+ * @return Returns a domUint of the count attribute.
+ */
+ domUint getCount() const { return attrCount; }
+ /**
+ * Sets the count attribute.
+ * @param atCount The new value for the count attribute.
+ */
+ void setCount( domUint atCount ) { attrCount = atCount; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the material attribute.
+ * @return Returns a xsNCName of the material attribute.
+ */
+ xsNCName getMaterial() const { return attrMaterial; }
+ /**
+ * Sets the material attribute.
+ * @param atMaterial The new value for the material attribute.
+ */
+ void setMaterial( xsNCName atMaterial ) { *(daeStringRef*)&attrMaterial = atMaterial; _validAttributeArray[2] = true; }
+
+ /**
+ * Gets the input element array.
+ * @return Returns a reference to the array of input elements.
+ */
+ domInputLocalOffset_Array &getInput_array() { return elemInput_array; }
+ /**
+ * Gets the input element array.
+ * @return Returns a constant reference to the array of input elements.
+ */
+ const domInputLocalOffset_Array &getInput_array() const { return elemInput_array; }
+ /**
+ * Gets the vcount element.
+ * @return a daeSmartRef to the vcount element.
+ */
+ const domVcountRef getVcount() const { return elemVcount; }
+ /**
+ * Gets the p element.
+ * @return a daeSmartRef to the p element.
+ */
+ const domPRef getP() const { return elemP; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domPolylist(DAE& dae) : daeElement(dae), attrName(), attrCount(), attrMaterial(), elemInput_array(), elemVcount(), elemP(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPolylist() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPolylist &operator=( const domPolylist &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domProfile_CG.h b/1.4.0/dom/include/1.4/dom/domProfile_CG.h
new file mode 100644
index 0000000..b76402c
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domProfile_CG.h
@@ -0,0 +1,1174 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Profile_CG_h__
+#define __dom141Profile_CG_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domFx_profile_abstract.h>
+#include <1.4/dom/domAsset.h>
+#include <1.4/dom/domImage.h>
+#include <1.4/dom/domExtra.h>
+#include <1.4/dom/domFx_code_profile.h>
+#include <1.4/dom/domFx_include_common.h>
+#include <1.4/dom/domCg_newparam.h>
+#include <1.4/dom/domFx_annotate_common.h>
+#include <1.4/dom/domCg_setparam.h>
+#include <1.4/dom/domGl_pipeline_settings.h>
+#include <1.4/dom/domFx_colortarget_common.h>
+#include <1.4/dom/domFx_depthtarget_common.h>
+#include <1.4/dom/domFx_stenciltarget_common.h>
+#include <1.4/dom/domFx_clearcolor_common.h>
+#include <1.4/dom/domFx_cleardepth_common.h>
+#include <1.4/dom/domFx_clearstencil_common.h>
+#include <1.4/dom/domCg_param_type.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * Opens a block of CG platform-specific data types and technique declarations.
+ */
+class domProfile_CG : public domFx_profile_abstract
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PROFILE_CG; }
+ static daeInt ID() { return 746; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domTechnique;
+
+ typedef daeSmartRef<domTechnique> domTechniqueRef;
+ typedef daeTArray<domTechniqueRef> domTechnique_Array;
+
+/**
+ * Holds a description of the textures, samplers, shaders, parameters, and
+ * passes necessary for rendering this effect using one method.
+ */
+ class domTechnique : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TECHNIQUE; }
+ static daeInt ID() { return 747; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domPass;
+
+ typedef daeSmartRef<domPass> domPassRef;
+ typedef daeTArray<domPassRef> domPass_Array;
+
+/**
+ * A static declaration of all the render states, shaders, and settings for
+ * one rendering pipeline.
+ */
+ class domPass : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PASS; }
+ static daeInt ID() { return 748; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domDraw;
+
+ typedef daeSmartRef<domDraw> domDrawRef;
+ typedef daeTArray<domDrawRef> domDraw_Array;
+
+ class domDraw : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DRAW; }
+ static daeInt ID() { return 749; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_draw_common value of the text data of this element.
+ */
+ domFx_draw_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_draw_common of the value.
+ */
+ domFx_draw_common getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFx_draw_common val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDraw(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDraw() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDraw &operator=( const domDraw &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domShader;
+
+ typedef daeSmartRef<domShader> domShaderRef;
+ typedef daeTArray<domShaderRef> domShader_Array;
+
+/**
+ * Declare and prepare a shader for execution in the rendering pipeline of
+ * a pass.
+ */
+ class domShader : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SHADER; }
+ static daeInt ID() { return 750; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domCompiler_target;
+
+ typedef daeSmartRef<domCompiler_target> domCompiler_targetRef;
+ typedef daeTArray<domCompiler_targetRef> domCompiler_target_Array;
+
+ class domCompiler_target : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COMPILER_TARGET; }
+ static daeInt ID() { return 751; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsNMTOKEN value of the text data of this element.
+ */
+ xsNMTOKEN _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsNMTOKEN of the value.
+ */
+ xsNMTOKEN getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsNMTOKEN val ) { *(daeStringRef*)&_value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domCompiler_target(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCompiler_target() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCompiler_target &operator=( const domCompiler_target &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domCompiler_options;
+
+ typedef daeSmartRef<domCompiler_options> domCompiler_optionsRef;
+ typedef daeTArray<domCompiler_optionsRef> domCompiler_options_Array;
+
+/**
+ * A string containing command-line operations for the shader compiler.
+ */
+ class domCompiler_options : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COMPILER_OPTIONS; }
+ static daeInt ID() { return 752; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsString value of the text data of this element.
+ */
+ xsString _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsString of the value.
+ */
+ xsString getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsString val ) { *(daeStringRef*)&_value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domCompiler_options(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCompiler_options() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCompiler_options &operator=( const domCompiler_options &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domName;
+
+ typedef daeSmartRef<domName> domNameRef;
+ typedef daeTArray<domNameRef> domName_Array;
+
+/**
+ * The entry symbol for the shader function.
+ */
+ class domName : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::NAME; }
+ static daeInt ID() { return 753; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+ xsNCName attrSource;
+
+ protected: // Value
+ /**
+ * The xsNCName value of the text data of this element.
+ */
+ xsNCName _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the source attribute.
+ * @return Returns a xsNCName of the source attribute.
+ */
+ xsNCName getSource() const { return attrSource; }
+ /**
+ * Sets the source attribute.
+ * @param atSource The new value for the source attribute.
+ */
+ void setSource( xsNCName atSource ) { *(daeStringRef*)&attrSource = atSource; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsNCName of the value.
+ */
+ xsNCName getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domName(DAE& dae) : daeElement(dae), attrSource(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domName() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domName &operator=( const domName &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBind;
+
+ typedef daeSmartRef<domBind> domBindRef;
+ typedef daeTArray<domBindRef> domBind_Array;
+
+/**
+ * Binds values to uniform inputs of a shader.
+ */
+ class domBind : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BIND; }
+ static daeInt ID() { return 754; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domParam;
+
+ typedef daeSmartRef<domParam> domParamRef;
+ typedef daeTArray<domParamRef> domParam_Array;
+
+/**
+ * References a predefined parameter in shader binding declarations.
+ */
+ class domParam : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PARAM; }
+ static daeInt ID() { return 755; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+ xsNCName attrRef;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the ref attribute.
+ * @return Returns a xsNCName of the ref attribute.
+ */
+ xsNCName getRef() const { return attrRef; }
+ /**
+ * Sets the ref attribute.
+ * @param atRef The new value for the ref attribute.
+ */
+ void setRef( xsNCName atRef ) { *(daeStringRef*)&attrRef = atRef; _validAttributeArray[0] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domParam(DAE& dae) : daeElement(dae), attrRef() {}
+ /**
+ * Destructor
+ */
+ virtual ~domParam() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domParam &operator=( const domParam &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+ protected: // Attribute
+/**
+ * The identifier for a uniform input parameter to the shader (a formal function
+ * parameter or in-scope global) that will be bound to an external resource.
+ */
+ xsNCName attrSymbol;
+
+ protected: // Elements
+ domCg_param_typeRef elemCg_param_type;
+/**
+ * References a predefined parameter in shader binding declarations. @see
+ * domParam
+ */
+ domParamRef elemParam;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the symbol attribute.
+ * @return Returns a xsNCName of the symbol attribute.
+ */
+ xsNCName getSymbol() const { return attrSymbol; }
+ /**
+ * Sets the symbol attribute.
+ * @param atSymbol The new value for the symbol attribute.
+ */
+ void setSymbol( xsNCName atSymbol ) { *(daeStringRef*)&attrSymbol = atSymbol; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the cg_param_type element.
+ * @return a daeSmartRef to the cg_param_type element.
+ */
+ const domCg_param_typeRef getCg_param_type() const { return elemCg_param_type; }
+ /**
+ * Gets the param element.
+ * @return a daeSmartRef to the param element.
+ */
+ const domParamRef getParam() const { return elemParam; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBind(DAE& dae) : daeElement(dae), attrSymbol(), elemCg_param_type(), elemParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBind() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBind &operator=( const domBind &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+ protected: // Attribute
+/**
+ * In which pipeline stage this programmable shader is designed to execute,
+ * for example, VERTEX, FRAGMENT, etc.
+ */
+ domCg_pipeline_stage attrStage;
+
+ protected: // Elements
+ domFx_annotate_common_Array elemAnnotate_array;
+ domCompiler_targetRef elemCompiler_target;
+/**
+ * A string containing command-line operations for the shader compiler. @see
+ * domCompiler_options
+ */
+ domCompiler_optionsRef elemCompiler_options;
+/**
+ * The entry symbol for the shader function. @see domName
+ */
+ domNameRef elemName;
+/**
+ * Binds values to uniform inputs of a shader. @see domBind
+ */
+ domBind_Array elemBind_array;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the stage attribute.
+ * @return Returns a domCg_pipeline_stage of the stage attribute.
+ */
+ domCg_pipeline_stage getStage() const { return attrStage; }
+ /**
+ * Sets the stage attribute.
+ * @param atStage The new value for the stage attribute.
+ */
+ void setStage( domCg_pipeline_stage atStage ) { attrStage = atStage; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the annotate element array.
+ * @return Returns a reference to the array of annotate elements.
+ */
+ domFx_annotate_common_Array &getAnnotate_array() { return elemAnnotate_array; }
+ /**
+ * Gets the annotate element array.
+ * @return Returns a constant reference to the array of annotate elements.
+ */
+ const domFx_annotate_common_Array &getAnnotate_array() const { return elemAnnotate_array; }
+ /**
+ * Gets the compiler_target element.
+ * @return a daeSmartRef to the compiler_target element.
+ */
+ const domCompiler_targetRef getCompiler_target() const { return elemCompiler_target; }
+ /**
+ * Gets the compiler_options element.
+ * @return a daeSmartRef to the compiler_options element.
+ */
+ const domCompiler_optionsRef getCompiler_options() const { return elemCompiler_options; }
+ /**
+ * Gets the name element.
+ * @return a daeSmartRef to the name element.
+ */
+ const domNameRef getName() const { return elemName; }
+ /**
+ * Gets the bind element array.
+ * @return Returns a reference to the array of bind elements.
+ */
+ domBind_Array &getBind_array() { return elemBind_array; }
+ /**
+ * Gets the bind element array.
+ * @return Returns a constant reference to the array of bind elements.
+ */
+ const domBind_Array &getBind_array() const { return elemBind_array; }
+ protected:
+ /**
+ * Constructor
+ */
+ domShader(DAE& dae) : daeElement(dae), attrStage(), elemAnnotate_array(), elemCompiler_target(), elemCompiler_options(), elemName(), elemBind_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domShader() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domShader &operator=( const domShader &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+ protected: // Attribute
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ xsNCName attrSid;
+
+ protected: // Elements
+ domFx_annotate_common_Array elemAnnotate_array;
+ domFx_colortarget_common_Array elemColor_target_array;
+ domFx_depthtarget_common_Array elemDepth_target_array;
+ domFx_stenciltarget_common_Array elemStencil_target_array;
+ domFx_clearcolor_common_Array elemColor_clear_array;
+ domFx_cleardepth_common_Array elemDepth_clear_array;
+ domFx_clearstencil_common_Array elemStencil_clear_array;
+ domDrawRef elemDraw;
+ domGl_pipeline_settings_Array elemGl_pipeline_settings_array;
+/**
+ * Declare and prepare a shader for execution in the rendering pipeline of
+ * a pass. @see domShader
+ */
+ domShader_Array elemShader_array;
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the annotate element array.
+ * @return Returns a reference to the array of annotate elements.
+ */
+ domFx_annotate_common_Array &getAnnotate_array() { return elemAnnotate_array; }
+ /**
+ * Gets the annotate element array.
+ * @return Returns a constant reference to the array of annotate elements.
+ */
+ const domFx_annotate_common_Array &getAnnotate_array() const { return elemAnnotate_array; }
+ /**
+ * Gets the color_target element array.
+ * @return Returns a reference to the array of color_target elements.
+ */
+ domFx_colortarget_common_Array &getColor_target_array() { return elemColor_target_array; }
+ /**
+ * Gets the color_target element array.
+ * @return Returns a constant reference to the array of color_target elements.
+ */
+ const domFx_colortarget_common_Array &getColor_target_array() const { return elemColor_target_array; }
+ /**
+ * Gets the depth_target element array.
+ * @return Returns a reference to the array of depth_target elements.
+ */
+ domFx_depthtarget_common_Array &getDepth_target_array() { return elemDepth_target_array; }
+ /**
+ * Gets the depth_target element array.
+ * @return Returns a constant reference to the array of depth_target elements.
+ */
+ const domFx_depthtarget_common_Array &getDepth_target_array() const { return elemDepth_target_array; }
+ /**
+ * Gets the stencil_target element array.
+ * @return Returns a reference to the array of stencil_target elements.
+ */
+ domFx_stenciltarget_common_Array &getStencil_target_array() { return elemStencil_target_array; }
+ /**
+ * Gets the stencil_target element array.
+ * @return Returns a constant reference to the array of stencil_target elements.
+ */
+ const domFx_stenciltarget_common_Array &getStencil_target_array() const { return elemStencil_target_array; }
+ /**
+ * Gets the color_clear element array.
+ * @return Returns a reference to the array of color_clear elements.
+ */
+ domFx_clearcolor_common_Array &getColor_clear_array() { return elemColor_clear_array; }
+ /**
+ * Gets the color_clear element array.
+ * @return Returns a constant reference to the array of color_clear elements.
+ */
+ const domFx_clearcolor_common_Array &getColor_clear_array() const { return elemColor_clear_array; }
+ /**
+ * Gets the depth_clear element array.
+ * @return Returns a reference to the array of depth_clear elements.
+ */
+ domFx_cleardepth_common_Array &getDepth_clear_array() { return elemDepth_clear_array; }
+ /**
+ * Gets the depth_clear element array.
+ * @return Returns a constant reference to the array of depth_clear elements.
+ */
+ const domFx_cleardepth_common_Array &getDepth_clear_array() const { return elemDepth_clear_array; }
+ /**
+ * Gets the stencil_clear element array.
+ * @return Returns a reference to the array of stencil_clear elements.
+ */
+ domFx_clearstencil_common_Array &getStencil_clear_array() { return elemStencil_clear_array; }
+ /**
+ * Gets the stencil_clear element array.
+ * @return Returns a constant reference to the array of stencil_clear elements.
+ */
+ const domFx_clearstencil_common_Array &getStencil_clear_array() const { return elemStencil_clear_array; }
+ /**
+ * Gets the draw element.
+ * @return a daeSmartRef to the draw element.
+ */
+ const domDrawRef getDraw() const { return elemDraw; }
+ /**
+ * Gets the gl_pipeline_settings element array.
+ * @return Returns a reference to the array of gl_pipeline_settings elements.
+ */
+ domGl_pipeline_settings_Array &getGl_pipeline_settings_array() { return elemGl_pipeline_settings_array; }
+ /**
+ * Gets the gl_pipeline_settings element array.
+ * @return Returns a constant reference to the array of gl_pipeline_settings elements.
+ */
+ const domGl_pipeline_settings_Array &getGl_pipeline_settings_array() const { return elemGl_pipeline_settings_array; }
+ /**
+ * Gets the shader element array.
+ * @return Returns a reference to the array of shader elements.
+ */
+ domShader_Array &getShader_array() { return elemShader_array; }
+ /**
+ * Gets the shader element array.
+ * @return Returns a constant reference to the array of shader elements.
+ */
+ const domShader_Array &getShader_array() const { return elemShader_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ 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() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPass() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPass &operator=( const domPass &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+ protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ xsNCName attrSid;
+
+ protected: // Elements
+/**
+ * The technique element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+ domFx_annotate_common_Array elemAnnotate_array;
+ domFx_code_profile_Array elemCode_array;
+ domFx_include_common_Array elemInclude_array;
+ domImage_Array elemImage_array;
+ domCg_newparam_Array elemNewparam_array;
+ domCg_setparam_Array elemSetparam_array;
+/**
+ * A static declaration of all the render states, shaders, and settings for
+ * one rendering pipeline. @see domPass
+ */
+ domPass_Array elemPass_array;
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the annotate element array.
+ * @return Returns a reference to the array of annotate elements.
+ */
+ domFx_annotate_common_Array &getAnnotate_array() { return elemAnnotate_array; }
+ /**
+ * Gets the annotate element array.
+ * @return Returns a constant reference to the array of annotate elements.
+ */
+ const domFx_annotate_common_Array &getAnnotate_array() const { return elemAnnotate_array; }
+ /**
+ * Gets the code element array.
+ * @return Returns a reference to the array of code elements.
+ */
+ domFx_code_profile_Array &getCode_array() { return elemCode_array; }
+ /**
+ * Gets the code element array.
+ * @return Returns a constant reference to the array of code elements.
+ */
+ const domFx_code_profile_Array &getCode_array() const { return elemCode_array; }
+ /**
+ * Gets the include element array.
+ * @return Returns a reference to the array of include elements.
+ */
+ domFx_include_common_Array &getInclude_array() { return elemInclude_array; }
+ /**
+ * Gets the include element array.
+ * @return Returns a constant reference to the array of include elements.
+ */
+ const domFx_include_common_Array &getInclude_array() const { return elemInclude_array; }
+ /**
+ * Gets the image element array.
+ * @return Returns a reference to the array of image elements.
+ */
+ domImage_Array &getImage_array() { return elemImage_array; }
+ /**
+ * Gets the image element array.
+ * @return Returns a constant reference to the array of image elements.
+ */
+ const domImage_Array &getImage_array() const { return elemImage_array; }
+ /**
+ * Gets the newparam element array.
+ * @return Returns a reference to the array of newparam elements.
+ */
+ domCg_newparam_Array &getNewparam_array() { return elemNewparam_array; }
+ /**
+ * Gets the newparam element array.
+ * @return Returns a constant reference to the array of newparam elements.
+ */
+ const domCg_newparam_Array &getNewparam_array() const { return elemNewparam_array; }
+ /**
+ * Gets the setparam element array.
+ * @return Returns a reference to the array of setparam elements.
+ */
+ domCg_setparam_Array &getSetparam_array() { return elemSetparam_array; }
+ /**
+ * Gets the setparam element array.
+ * @return Returns a constant reference to the array of setparam elements.
+ */
+ const domCg_setparam_Array &getSetparam_array() const { return elemSetparam_array; }
+ /**
+ * Gets the pass element array.
+ * @return Returns a reference to the array of pass elements.
+ */
+ domPass_Array &getPass_array() { return elemPass_array; }
+ /**
+ * Gets the pass element array.
+ * @return Returns a constant reference to the array of pass elements.
+ */
+ const domPass_Array &getPass_array() const { return elemPass_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTechnique(DAE& dae) : daeElement(dae), attrId(), attrSid(), elemAsset(), elemAnnotate_array(), elemCode_array(), elemInclude_array(), elemImage_array(), elemNewparam_array(), elemSetparam_array(), elemPass_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTechnique() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTechnique &operator=( const domTechnique &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The type of platform. This is a vendor-defined character string that indicates
+ * the platform or capability target for the technique. Optional
+ */
+ xsNCName attrPlatform;
+
+protected: // Elements
+ domAssetRef elemAsset;
+ domFx_code_profile_Array elemCode_array;
+ domFx_include_common_Array elemInclude_array;
+ domImage_Array elemImage_array;
+ domCg_newparam_Array elemNewparam_array;
+/**
+ * Holds a description of the textures, samplers, shaders, parameters, and
+ * passes necessary for rendering this effect using one method. @see domTechnique
+ */
+ domTechnique_Array elemTechnique_array;
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the platform attribute.
+ * @return Returns a xsNCName of the platform attribute.
+ */
+ xsNCName getPlatform() const { return attrPlatform; }
+ /**
+ * Sets the platform attribute.
+ * @param atPlatform The new value for the platform attribute.
+ */
+ void setPlatform( xsNCName atPlatform ) { *(daeStringRef*)&attrPlatform = atPlatform; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the code element array.
+ * @return Returns a reference to the array of code elements.
+ */
+ domFx_code_profile_Array &getCode_array() { return elemCode_array; }
+ /**
+ * Gets the code element array.
+ * @return Returns a constant reference to the array of code elements.
+ */
+ const domFx_code_profile_Array &getCode_array() const { return elemCode_array; }
+ /**
+ * Gets the include element array.
+ * @return Returns a reference to the array of include elements.
+ */
+ domFx_include_common_Array &getInclude_array() { return elemInclude_array; }
+ /**
+ * Gets the include element array.
+ * @return Returns a constant reference to the array of include elements.
+ */
+ const domFx_include_common_Array &getInclude_array() const { return elemInclude_array; }
+ /**
+ * Gets the image element array.
+ * @return Returns a reference to the array of image elements.
+ */
+ domImage_Array &getImage_array() { return elemImage_array; }
+ /**
+ * Gets the image element array.
+ * @return Returns a constant reference to the array of image elements.
+ */
+ const domImage_Array &getImage_array() const { return elemImage_array; }
+ /**
+ * Gets the newparam element array.
+ * @return Returns a reference to the array of newparam elements.
+ */
+ domCg_newparam_Array &getNewparam_array() { return elemNewparam_array; }
+ /**
+ * Gets the newparam element array.
+ * @return Returns a constant reference to the array of newparam elements.
+ */
+ const domCg_newparam_Array &getNewparam_array() const { return elemNewparam_array; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a reference to the array of technique elements.
+ */
+ domTechnique_Array &getTechnique_array() { return elemTechnique_array; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a constant reference to the array of technique elements.
+ */
+ const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domProfile_CG(DAE& dae) : domFx_profile_abstract(dae), attrId(), attrPlatform(), elemAsset(), elemCode_array(), elemInclude_array(), elemImage_array(), elemNewparam_array(), elemTechnique_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domProfile_CG() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domProfile_CG &operator=( const domProfile_CG &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domProfile_COMMON.h b/1.4.0/dom/include/1.4/dom/domProfile_COMMON.h
new file mode 100644
index 0000000..f1d3fb2
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domProfile_COMMON.h
@@ -0,0 +1,726 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Profile_COMMON_h__
+#define __dom141Profile_COMMON_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domFx_profile_abstract.h>
+#include <1.4/dom/domAsset.h>
+#include <1.4/dom/domImage.h>
+#include <1.4/dom/domExtra.h>
+#include <1.4/dom/domCommon_newparam_type.h>
+#include <1.4/dom/domCommon_color_or_texture_type.h>
+#include <1.4/dom/domCommon_float_or_param_type.h>
+#include <1.4/dom/domCommon_transparent_type.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * Opens a block of COMMON platform-specific data types and technique declarations.
+ */
+class domProfile_COMMON : public domFx_profile_abstract
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PROFILE_COMMON; }
+ static daeInt ID() { return 740; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domTechnique;
+
+ typedef daeSmartRef<domTechnique> domTechniqueRef;
+ typedef daeTArray<domTechniqueRef> domTechnique_Array;
+
+/**
+ * Holds a description of the textures, samplers, shaders, parameters, and
+ * passes necessary for rendering this effect using one method.
+ */
+ class domTechnique : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TECHNIQUE; }
+ static daeInt ID() { return 741; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domConstant;
+
+ typedef daeSmartRef<domConstant> domConstantRef;
+ typedef daeTArray<domConstantRef> domConstant_Array;
+
+ class domConstant : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CONSTANT; }
+ static daeInt ID() { return 742; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Elements
+ domCommon_color_or_texture_typeRef elemEmission;
+ domCommon_color_or_texture_typeRef elemReflective;
+ domCommon_float_or_param_typeRef elemReflectivity;
+ domCommon_transparent_typeRef elemTransparent;
+ domCommon_float_or_param_typeRef elemTransparency;
+ domCommon_float_or_param_typeRef elemIndex_of_refraction;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the emission element.
+ * @return a daeSmartRef to the emission element.
+ */
+ const domCommon_color_or_texture_typeRef getEmission() const { return elemEmission; }
+ /**
+ * Gets the reflective element.
+ * @return a daeSmartRef to the reflective element.
+ */
+ const domCommon_color_or_texture_typeRef getReflective() const { return elemReflective; }
+ /**
+ * Gets the reflectivity element.
+ * @return a daeSmartRef to the reflectivity element.
+ */
+ const domCommon_float_or_param_typeRef getReflectivity() const { return elemReflectivity; }
+ /**
+ * Gets the transparent element.
+ * @return a daeSmartRef to the transparent element.
+ */
+ const domCommon_transparent_typeRef getTransparent() const { return elemTransparent; }
+ /**
+ * Gets the transparency element.
+ * @return a daeSmartRef to the transparency element.
+ */
+ const domCommon_float_or_param_typeRef getTransparency() const { return elemTransparency; }
+ /**
+ * Gets the index_of_refraction element.
+ * @return a daeSmartRef to the index_of_refraction element.
+ */
+ const domCommon_float_or_param_typeRef getIndex_of_refraction() const { return elemIndex_of_refraction; }
+ protected:
+ /**
+ * Constructor
+ */
+ domConstant(DAE& dae) : daeElement(dae), elemEmission(), elemReflective(), elemReflectivity(), elemTransparent(), elemTransparency(), elemIndex_of_refraction() {}
+ /**
+ * Destructor
+ */
+ virtual ~domConstant() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domConstant &operator=( const domConstant &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLambert;
+
+ typedef daeSmartRef<domLambert> domLambertRef;
+ typedef daeTArray<domLambertRef> domLambert_Array;
+
+ class domLambert : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LAMBERT; }
+ static daeInt ID() { return 743; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Elements
+ domCommon_color_or_texture_typeRef elemEmission;
+ domCommon_color_or_texture_typeRef elemAmbient;
+ domCommon_color_or_texture_typeRef elemDiffuse;
+ domCommon_color_or_texture_typeRef elemReflective;
+ domCommon_float_or_param_typeRef elemReflectivity;
+ domCommon_transparent_typeRef elemTransparent;
+ domCommon_float_or_param_typeRef elemTransparency;
+ domCommon_float_or_param_typeRef elemIndex_of_refraction;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the emission element.
+ * @return a daeSmartRef to the emission element.
+ */
+ const domCommon_color_or_texture_typeRef getEmission() const { return elemEmission; }
+ /**
+ * Gets the ambient element.
+ * @return a daeSmartRef to the ambient element.
+ */
+ const domCommon_color_or_texture_typeRef getAmbient() const { return elemAmbient; }
+ /**
+ * Gets the diffuse element.
+ * @return a daeSmartRef to the diffuse element.
+ */
+ const domCommon_color_or_texture_typeRef getDiffuse() const { return elemDiffuse; }
+ /**
+ * Gets the reflective element.
+ * @return a daeSmartRef to the reflective element.
+ */
+ const domCommon_color_or_texture_typeRef getReflective() const { return elemReflective; }
+ /**
+ * Gets the reflectivity element.
+ * @return a daeSmartRef to the reflectivity element.
+ */
+ const domCommon_float_or_param_typeRef getReflectivity() const { return elemReflectivity; }
+ /**
+ * Gets the transparent element.
+ * @return a daeSmartRef to the transparent element.
+ */
+ const domCommon_transparent_typeRef getTransparent() const { return elemTransparent; }
+ /**
+ * Gets the transparency element.
+ * @return a daeSmartRef to the transparency element.
+ */
+ const domCommon_float_or_param_typeRef getTransparency() const { return elemTransparency; }
+ /**
+ * Gets the index_of_refraction element.
+ * @return a daeSmartRef to the index_of_refraction element.
+ */
+ const domCommon_float_or_param_typeRef getIndex_of_refraction() const { return elemIndex_of_refraction; }
+ protected:
+ /**
+ * Constructor
+ */
+ domLambert(DAE& dae) : daeElement(dae), elemEmission(), elemAmbient(), elemDiffuse(), elemReflective(), elemReflectivity(), elemTransparent(), elemTransparency(), elemIndex_of_refraction() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLambert() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLambert &operator=( const domLambert &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPhong;
+
+ typedef daeSmartRef<domPhong> domPhongRef;
+ typedef daeTArray<domPhongRef> domPhong_Array;
+
+ class domPhong : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PHONG; }
+ static daeInt ID() { return 744; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Elements
+ domCommon_color_or_texture_typeRef elemEmission;
+ domCommon_color_or_texture_typeRef elemAmbient;
+ domCommon_color_or_texture_typeRef elemDiffuse;
+ domCommon_color_or_texture_typeRef elemSpecular;
+ domCommon_float_or_param_typeRef elemShininess;
+ domCommon_color_or_texture_typeRef elemReflective;
+ domCommon_float_or_param_typeRef elemReflectivity;
+ domCommon_transparent_typeRef elemTransparent;
+ domCommon_float_or_param_typeRef elemTransparency;
+ domCommon_float_or_param_typeRef elemIndex_of_refraction;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the emission element.
+ * @return a daeSmartRef to the emission element.
+ */
+ const domCommon_color_or_texture_typeRef getEmission() const { return elemEmission; }
+ /**
+ * Gets the ambient element.
+ * @return a daeSmartRef to the ambient element.
+ */
+ const domCommon_color_or_texture_typeRef getAmbient() const { return elemAmbient; }
+ /**
+ * Gets the diffuse element.
+ * @return a daeSmartRef to the diffuse element.
+ */
+ const domCommon_color_or_texture_typeRef getDiffuse() const { return elemDiffuse; }
+ /**
+ * Gets the specular element.
+ * @return a daeSmartRef to the specular element.
+ */
+ const domCommon_color_or_texture_typeRef getSpecular() const { return elemSpecular; }
+ /**
+ * Gets the shininess element.
+ * @return a daeSmartRef to the shininess element.
+ */
+ const domCommon_float_or_param_typeRef getShininess() const { return elemShininess; }
+ /**
+ * Gets the reflective element.
+ * @return a daeSmartRef to the reflective element.
+ */
+ const domCommon_color_or_texture_typeRef getReflective() const { return elemReflective; }
+ /**
+ * Gets the reflectivity element.
+ * @return a daeSmartRef to the reflectivity element.
+ */
+ const domCommon_float_or_param_typeRef getReflectivity() const { return elemReflectivity; }
+ /**
+ * Gets the transparent element.
+ * @return a daeSmartRef to the transparent element.
+ */
+ const domCommon_transparent_typeRef getTransparent() const { return elemTransparent; }
+ /**
+ * Gets the transparency element.
+ * @return a daeSmartRef to the transparency element.
+ */
+ const domCommon_float_or_param_typeRef getTransparency() const { return elemTransparency; }
+ /**
+ * Gets the index_of_refraction element.
+ * @return a daeSmartRef to the index_of_refraction element.
+ */
+ const domCommon_float_or_param_typeRef getIndex_of_refraction() const { return elemIndex_of_refraction; }
+ protected:
+ /**
+ * Constructor
+ */
+ domPhong(DAE& dae) : daeElement(dae), elemEmission(), elemAmbient(), elemDiffuse(), elemSpecular(), elemShininess(), elemReflective(), elemReflectivity(), elemTransparent(), elemTransparency(), elemIndex_of_refraction() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPhong() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPhong &operator=( const domPhong &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBlinn;
+
+ typedef daeSmartRef<domBlinn> domBlinnRef;
+ typedef daeTArray<domBlinnRef> domBlinn_Array;
+
+ class domBlinn : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BLINN; }
+ static daeInt ID() { return 745; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Elements
+ domCommon_color_or_texture_typeRef elemEmission;
+ domCommon_color_or_texture_typeRef elemAmbient;
+ domCommon_color_or_texture_typeRef elemDiffuse;
+ domCommon_color_or_texture_typeRef elemSpecular;
+ domCommon_float_or_param_typeRef elemShininess;
+ domCommon_color_or_texture_typeRef elemReflective;
+ domCommon_float_or_param_typeRef elemReflectivity;
+ domCommon_transparent_typeRef elemTransparent;
+ domCommon_float_or_param_typeRef elemTransparency;
+ domCommon_float_or_param_typeRef elemIndex_of_refraction;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the emission element.
+ * @return a daeSmartRef to the emission element.
+ */
+ const domCommon_color_or_texture_typeRef getEmission() const { return elemEmission; }
+ /**
+ * Gets the ambient element.
+ * @return a daeSmartRef to the ambient element.
+ */
+ const domCommon_color_or_texture_typeRef getAmbient() const { return elemAmbient; }
+ /**
+ * Gets the diffuse element.
+ * @return a daeSmartRef to the diffuse element.
+ */
+ const domCommon_color_or_texture_typeRef getDiffuse() const { return elemDiffuse; }
+ /**
+ * Gets the specular element.
+ * @return a daeSmartRef to the specular element.
+ */
+ const domCommon_color_or_texture_typeRef getSpecular() const { return elemSpecular; }
+ /**
+ * Gets the shininess element.
+ * @return a daeSmartRef to the shininess element.
+ */
+ const domCommon_float_or_param_typeRef getShininess() const { return elemShininess; }
+ /**
+ * Gets the reflective element.
+ * @return a daeSmartRef to the reflective element.
+ */
+ const domCommon_color_or_texture_typeRef getReflective() const { return elemReflective; }
+ /**
+ * Gets the reflectivity element.
+ * @return a daeSmartRef to the reflectivity element.
+ */
+ const domCommon_float_or_param_typeRef getReflectivity() const { return elemReflectivity; }
+ /**
+ * Gets the transparent element.
+ * @return a daeSmartRef to the transparent element.
+ */
+ const domCommon_transparent_typeRef getTransparent() const { return elemTransparent; }
+ /**
+ * Gets the transparency element.
+ * @return a daeSmartRef to the transparency element.
+ */
+ const domCommon_float_or_param_typeRef getTransparency() const { return elemTransparency; }
+ /**
+ * Gets the index_of_refraction element.
+ * @return a daeSmartRef to the index_of_refraction element.
+ */
+ const domCommon_float_or_param_typeRef getIndex_of_refraction() const { return elemIndex_of_refraction; }
+ protected:
+ /**
+ * Constructor
+ */
+ domBlinn(DAE& dae) : daeElement(dae), elemEmission(), elemAmbient(), elemDiffuse(), elemSpecular(), elemShininess(), elemReflective(), elemReflectivity(), elemTransparent(), elemTransparency(), elemIndex_of_refraction() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBlinn() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBlinn &operator=( const domBlinn &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+ protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ xsNCName attrSid;
+
+ protected: // Elements
+/**
+ * The technique element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+ domImage_Array elemImage_array;
+ domCommon_newparam_type_Array elemNewparam_array;
+ domConstantRef elemConstant;
+ domLambertRef elemLambert;
+ domPhongRef elemPhong;
+ domBlinnRef elemBlinn;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the image element array.
+ * @return Returns a reference to the array of image elements.
+ */
+ domImage_Array &getImage_array() { return elemImage_array; }
+ /**
+ * Gets the image element array.
+ * @return Returns a constant reference to the array of image elements.
+ */
+ const domImage_Array &getImage_array() const { return elemImage_array; }
+ /**
+ * Gets the newparam element array.
+ * @return Returns a reference to the array of newparam elements.
+ */
+ domCommon_newparam_type_Array &getNewparam_array() { return elemNewparam_array; }
+ /**
+ * Gets the newparam element array.
+ * @return Returns a constant reference to the array of newparam elements.
+ */
+ const domCommon_newparam_type_Array &getNewparam_array() const { return elemNewparam_array; }
+ /**
+ * Gets the constant element.
+ * @return a daeSmartRef to the constant element.
+ */
+ const domConstantRef getConstant() const { return elemConstant; }
+ /**
+ * Gets the lambert element.
+ * @return a daeSmartRef to the lambert element.
+ */
+ const domLambertRef getLambert() const { return elemLambert; }
+ /**
+ * Gets the phong element.
+ * @return a daeSmartRef to the phong element.
+ */
+ const domPhongRef getPhong() const { return elemPhong; }
+ /**
+ * Gets the blinn element.
+ * @return a daeSmartRef to the blinn element.
+ */
+ const domBlinnRef getBlinn() const { return elemBlinn; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTechnique(DAE& dae) : daeElement(dae), attrId(), attrSid(), elemAsset(), elemImage_array(), elemNewparam_array(), elemConstant(), elemLambert(), elemPhong(), elemBlinn(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTechnique() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTechnique &operator=( const domTechnique &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attribute
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+
+protected: // Elements
+ domAssetRef elemAsset;
+ domImage_Array elemImage_array;
+ domCommon_newparam_type_Array elemNewparam_array;
+/**
+ * Holds a description of the textures, samplers, shaders, parameters, and
+ * passes necessary for rendering this effect using one method. @see domTechnique
+ */
+ domTechniqueRef elemTechnique;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the image element array.
+ * @return Returns a reference to the array of image elements.
+ */
+ domImage_Array &getImage_array() { return elemImage_array; }
+ /**
+ * Gets the image element array.
+ * @return Returns a constant reference to the array of image elements.
+ */
+ const domImage_Array &getImage_array() const { return elemImage_array; }
+ /**
+ * Gets the newparam element array.
+ * @return Returns a reference to the array of newparam elements.
+ */
+ domCommon_newparam_type_Array &getNewparam_array() { return elemNewparam_array; }
+ /**
+ * Gets the newparam element array.
+ * @return Returns a constant reference to the array of newparam elements.
+ */
+ const domCommon_newparam_type_Array &getNewparam_array() const { return elemNewparam_array; }
+ /**
+ * Gets the technique element.
+ * @return a daeSmartRef to the technique element.
+ */
+ const domTechniqueRef getTechnique() const { return elemTechnique; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domProfile_COMMON(DAE& dae) : domFx_profile_abstract(dae), attrId(), elemAsset(), elemImage_array(), elemNewparam_array(), elemTechnique(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domProfile_COMMON() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domProfile_COMMON &operator=( const domProfile_COMMON &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domProfile_GLES.h b/1.4.0/dom/include/1.4/dom/domProfile_GLES.h
new file mode 100644
index 0000000..94b38f6
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domProfile_GLES.h
@@ -0,0 +1,1021 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Profile_GLES_h__
+#define __dom141Profile_GLES_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domFx_profile_abstract.h>
+#include <1.4/dom/domAsset.h>
+#include <1.4/dom/domImage.h>
+#include <1.4/dom/domExtra.h>
+#include <1.4/dom/domGles_newparam.h>
+#include <1.4/dom/domFx_annotate_common.h>
+#include <1.4/dom/domGles_basic_type_common.h>
+#include <1.4/dom/domGles_pipeline_settings.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * Opens a block of GLES platform-specific data types and technique declarations.
+ */
+class domProfile_GLES : public domFx_profile_abstract
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PROFILE_GLES; }
+ static daeInt ID() { return 756; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domTechnique;
+
+ typedef daeSmartRef<domTechnique> domTechniqueRef;
+ typedef daeTArray<domTechniqueRef> domTechnique_Array;
+
+/**
+ * Holds a description of the textures, samplers, shaders, parameters, and
+ * passes necessary for rendering this effect using one method.
+ */
+ class domTechnique : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TECHNIQUE; }
+ static daeInt ID() { return 757; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domSetparam;
+
+ typedef daeSmartRef<domSetparam> domSetparamRef;
+ typedef daeTArray<domSetparamRef> domSetparam_Array;
+
+ class domSetparam : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SETPARAM; }
+ static daeInt ID() { return 758; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+ xsNCName attrRef;
+
+ protected: // Elements
+ domFx_annotate_common_Array elemAnnotate_array;
+ domGles_basic_type_commonRef elemGles_basic_type_common;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the ref attribute.
+ * @return Returns a xsNCName of the ref attribute.
+ */
+ xsNCName getRef() const { return attrRef; }
+ /**
+ * Sets the ref attribute.
+ * @param atRef The new value for the ref attribute.
+ */
+ void setRef( xsNCName atRef ) { *(daeStringRef*)&attrRef = atRef; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the annotate element array.
+ * @return Returns a reference to the array of annotate elements.
+ */
+ domFx_annotate_common_Array &getAnnotate_array() { return elemAnnotate_array; }
+ /**
+ * Gets the annotate element array.
+ * @return Returns a constant reference to the array of annotate elements.
+ */
+ const domFx_annotate_common_Array &getAnnotate_array() const { return elemAnnotate_array; }
+ /**
+ * Gets the gles_basic_type_common element.
+ * @return a daeSmartRef to the gles_basic_type_common element.
+ */
+ const domGles_basic_type_commonRef getGles_basic_type_common() const { return elemGles_basic_type_common; }
+ protected:
+ /**
+ * Constructor
+ */
+ domSetparam(DAE& dae) : daeElement(dae), attrRef(), elemAnnotate_array(), elemGles_basic_type_common() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSetparam() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSetparam &operator=( const domSetparam &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPass;
+
+ typedef daeSmartRef<domPass> domPassRef;
+ typedef daeTArray<domPassRef> domPass_Array;
+
+/**
+ * A static declaration of all the render states, shaders, and settings for
+ * one rendering pipeline.
+ */
+ class domPass : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PASS; }
+ static daeInt ID() { return 759; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domColor_target;
+
+ typedef daeSmartRef<domColor_target> domColor_targetRef;
+ typedef daeTArray<domColor_targetRef> domColor_target_Array;
+
+ class domColor_target : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COLOR_TARGET; }
+ static daeInt ID() { return 760; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domGles_rendertarget_common value of the text data of this element.
+ */
+ domGles_rendertarget_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domGles_rendertarget_common of the value.
+ */
+ domGles_rendertarget_common getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domGles_rendertarget_common val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domColor_target(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domColor_target() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domColor_target &operator=( const domColor_target &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDepth_target;
+
+ typedef daeSmartRef<domDepth_target> domDepth_targetRef;
+ typedef daeTArray<domDepth_targetRef> domDepth_target_Array;
+
+ class domDepth_target : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DEPTH_TARGET; }
+ static daeInt ID() { return 761; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domGles_rendertarget_common value of the text data of this element.
+ */
+ domGles_rendertarget_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domGles_rendertarget_common of the value.
+ */
+ domGles_rendertarget_common getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domGles_rendertarget_common val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDepth_target(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDepth_target() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDepth_target &operator=( const domDepth_target &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domStencil_target;
+
+ typedef daeSmartRef<domStencil_target> domStencil_targetRef;
+ typedef daeTArray<domStencil_targetRef> domStencil_target_Array;
+
+ class domStencil_target : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::STENCIL_TARGET; }
+ static daeInt ID() { return 762; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domGles_rendertarget_common value of the text data of this element.
+ */
+ domGles_rendertarget_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domGles_rendertarget_common of the value.
+ */
+ domGles_rendertarget_common getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domGles_rendertarget_common val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domStencil_target(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domStencil_target() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domStencil_target &operator=( const domStencil_target &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domColor_clear;
+
+ typedef daeSmartRef<domColor_clear> domColor_clearRef;
+ typedef daeTArray<domColor_clearRef> domColor_clear_Array;
+
+ class domColor_clear : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COLOR_CLEAR; }
+ static daeInt ID() { return 763; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_color_common value of the text data of this element.
+ */
+ domFx_color_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domFx_color_common reference of the _value array.
+ */
+ domFx_color_common &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domFx_color_common reference of the _value array.
+ */
+ const domFx_color_common &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domFx_color_common &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domColor_clear(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domColor_clear() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domColor_clear &operator=( const domColor_clear &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDepth_clear;
+
+ typedef daeSmartRef<domDepth_clear> domDepth_clearRef;
+ typedef daeTArray<domDepth_clearRef> domDepth_clear_Array;
+
+ class domDepth_clear : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DEPTH_CLEAR; }
+ static daeInt ID() { return 764; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFloat value of the text data of this element.
+ */
+ domFloat _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFloat of the value.
+ */
+ domFloat getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFloat val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDepth_clear(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDepth_clear() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDepth_clear &operator=( const domDepth_clear &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domStencil_clear;
+
+ typedef daeSmartRef<domStencil_clear> domStencil_clearRef;
+ typedef daeTArray<domStencil_clearRef> domStencil_clear_Array;
+
+ class domStencil_clear : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::STENCIL_CLEAR; }
+ static daeInt ID() { return 765; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsByte value of the text data of this element.
+ */
+ xsByte _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a xsByte of the value.
+ */
+ xsByte getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsByte val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domStencil_clear(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domStencil_clear() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domStencil_clear &operator=( const domStencil_clear &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDraw;
+
+ typedef daeSmartRef<domDraw> domDrawRef;
+ typedef daeTArray<domDrawRef> domDraw_Array;
+
+ class domDraw : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DRAW; }
+ static daeInt ID() { return 766; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_draw_common value of the text data of this element.
+ */
+ domFx_draw_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_draw_common of the value.
+ */
+ domFx_draw_common getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFx_draw_common val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDraw(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDraw() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDraw &operator=( const domDraw &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+ protected: // Attribute
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ xsNCName attrSid;
+
+ protected: // Elements
+ domFx_annotate_common_Array elemAnnotate_array;
+ domColor_targetRef elemColor_target;
+ domDepth_targetRef elemDepth_target;
+ domStencil_targetRef elemStencil_target;
+ domColor_clearRef elemColor_clear;
+ domDepth_clearRef elemDepth_clear;
+ domStencil_clearRef elemStencil_clear;
+ domDrawRef elemDraw;
+ domGles_pipeline_settings_Array elemGles_pipeline_settings_array;
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the annotate element array.
+ * @return Returns a reference to the array of annotate elements.
+ */
+ domFx_annotate_common_Array &getAnnotate_array() { return elemAnnotate_array; }
+ /**
+ * Gets the annotate element array.
+ * @return Returns a constant reference to the array of annotate elements.
+ */
+ const domFx_annotate_common_Array &getAnnotate_array() const { return elemAnnotate_array; }
+ /**
+ * Gets the color_target element.
+ * @return a daeSmartRef to the color_target element.
+ */
+ const domColor_targetRef getColor_target() const { return elemColor_target; }
+ /**
+ * Gets the depth_target element.
+ * @return a daeSmartRef to the depth_target element.
+ */
+ const domDepth_targetRef getDepth_target() const { return elemDepth_target; }
+ /**
+ * Gets the stencil_target element.
+ * @return a daeSmartRef to the stencil_target element.
+ */
+ const domStencil_targetRef getStencil_target() const { return elemStencil_target; }
+ /**
+ * Gets the color_clear element.
+ * @return a daeSmartRef to the color_clear element.
+ */
+ const domColor_clearRef getColor_clear() const { return elemColor_clear; }
+ /**
+ * Gets the depth_clear element.
+ * @return a daeSmartRef to the depth_clear element.
+ */
+ const domDepth_clearRef getDepth_clear() const { return elemDepth_clear; }
+ /**
+ * Gets the stencil_clear element.
+ * @return a daeSmartRef to the stencil_clear element.
+ */
+ const domStencil_clearRef getStencil_clear() const { return elemStencil_clear; }
+ /**
+ * Gets the draw element.
+ * @return a daeSmartRef to the draw element.
+ */
+ const domDrawRef getDraw() const { return elemDraw; }
+ /**
+ * Gets the gles_pipeline_settings element array.
+ * @return Returns a reference to the array of gles_pipeline_settings elements.
+ */
+ domGles_pipeline_settings_Array &getGles_pipeline_settings_array() { return elemGles_pipeline_settings_array; }
+ /**
+ * Gets the gles_pipeline_settings element array.
+ * @return Returns a constant reference to the array of gles_pipeline_settings elements.
+ */
+ const domGles_pipeline_settings_Array &getGles_pipeline_settings_array() const { return elemGles_pipeline_settings_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPass(DAE& dae) : daeElement(dae), attrSid(), elemAnnotate_array(), elemColor_target(), elemDepth_target(), elemStencil_target(), elemColor_clear(), elemDepth_clear(), elemStencil_clear(), elemDraw(), elemGles_pipeline_settings_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPass() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPass &operator=( const domPass &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+ protected: // Attributes
+ xsID attrId;
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element.
+ */
+ xsNCName attrSid;
+
+ protected: // Elements
+ domAssetRef elemAsset;
+ domFx_annotate_common_Array elemAnnotate_array;
+ domImage_Array elemImage_array;
+ domGles_newparam_Array elemNewparam_array;
+ domSetparam_Array elemSetparam_array;
+/**
+ * A static declaration of all the render states, shaders, and settings for
+ * one rendering pipeline. @see domPass
+ */
+ domPass_Array elemPass_array;
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the annotate element array.
+ * @return Returns a reference to the array of annotate elements.
+ */
+ domFx_annotate_common_Array &getAnnotate_array() { return elemAnnotate_array; }
+ /**
+ * Gets the annotate element array.
+ * @return Returns a constant reference to the array of annotate elements.
+ */
+ const domFx_annotate_common_Array &getAnnotate_array() const { return elemAnnotate_array; }
+ /**
+ * Gets the image element array.
+ * @return Returns a reference to the array of image elements.
+ */
+ domImage_Array &getImage_array() { return elemImage_array; }
+ /**
+ * Gets the image element array.
+ * @return Returns a constant reference to the array of image elements.
+ */
+ const domImage_Array &getImage_array() const { return elemImage_array; }
+ /**
+ * Gets the newparam element array.
+ * @return Returns a reference to the array of newparam elements.
+ */
+ domGles_newparam_Array &getNewparam_array() { return elemNewparam_array; }
+ /**
+ * Gets the newparam element array.
+ * @return Returns a constant reference to the array of newparam elements.
+ */
+ const domGles_newparam_Array &getNewparam_array() const { return elemNewparam_array; }
+ /**
+ * Gets the setparam element array.
+ * @return Returns a reference to the array of setparam elements.
+ */
+ domSetparam_Array &getSetparam_array() { return elemSetparam_array; }
+ /**
+ * Gets the setparam element array.
+ * @return Returns a constant reference to the array of setparam elements.
+ */
+ const domSetparam_Array &getSetparam_array() const { return elemSetparam_array; }
+ /**
+ * Gets the pass element array.
+ * @return Returns a reference to the array of pass elements.
+ */
+ domPass_Array &getPass_array() { return elemPass_array; }
+ /**
+ * Gets the pass element array.
+ * @return Returns a constant reference to the array of pass elements.
+ */
+ const domPass_Array &getPass_array() const { return elemPass_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTechnique(DAE& dae) : daeElement(dae), attrId(), attrSid(), elemAsset(), elemAnnotate_array(), elemImage_array(), elemNewparam_array(), elemSetparam_array(), elemPass_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTechnique() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTechnique &operator=( const domTechnique &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The type of platform. This is a vendor-defined character string that indicates
+ * the platform or capability target for the technique. Optional
+ */
+ xsNCName attrPlatform;
+
+protected: // Elements
+ domAssetRef elemAsset;
+ domImage_Array elemImage_array;
+ domGles_newparam_Array elemNewparam_array;
+/**
+ * Holds a description of the textures, samplers, shaders, parameters, and
+ * passes necessary for rendering this effect using one method. @see domTechnique
+ */
+ domTechnique_Array elemTechnique_array;
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the platform attribute.
+ * @return Returns a xsNCName of the platform attribute.
+ */
+ xsNCName getPlatform() const { return attrPlatform; }
+ /**
+ * Sets the platform attribute.
+ * @param atPlatform The new value for the platform attribute.
+ */
+ void setPlatform( xsNCName atPlatform ) { *(daeStringRef*)&attrPlatform = atPlatform; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the image element array.
+ * @return Returns a reference to the array of image elements.
+ */
+ domImage_Array &getImage_array() { return elemImage_array; }
+ /**
+ * Gets the image element array.
+ * @return Returns a constant reference to the array of image elements.
+ */
+ const domImage_Array &getImage_array() const { return elemImage_array; }
+ /**
+ * Gets the newparam element array.
+ * @return Returns a reference to the array of newparam elements.
+ */
+ domGles_newparam_Array &getNewparam_array() { return elemNewparam_array; }
+ /**
+ * Gets the newparam element array.
+ * @return Returns a constant reference to the array of newparam elements.
+ */
+ const domGles_newparam_Array &getNewparam_array() const { return elemNewparam_array; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a reference to the array of technique elements.
+ */
+ domTechnique_Array &getTechnique_array() { return elemTechnique_array; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a constant reference to the array of technique elements.
+ */
+ const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domProfile_GLES(DAE& dae) : domFx_profile_abstract(dae), attrId(), attrPlatform(), elemAsset(), elemImage_array(), elemNewparam_array(), elemTechnique_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domProfile_GLES() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domProfile_GLES &operator=( const domProfile_GLES &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domProfile_GLSL.h b/1.4.0/dom/include/1.4/dom/domProfile_GLSL.h
new file mode 100644
index 0000000..dd31e9f
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domProfile_GLSL.h
@@ -0,0 +1,1150 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Profile_GLSL_h__
+#define __dom141Profile_GLSL_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domFx_profile_abstract.h>
+#include <1.4/dom/domAsset.h>
+#include <1.4/dom/domImage.h>
+#include <1.4/dom/domExtra.h>
+#include <1.4/dom/domFx_code_profile.h>
+#include <1.4/dom/domFx_include_common.h>
+#include <1.4/dom/domGlsl_newparam.h>
+#include <1.4/dom/domFx_annotate_common.h>
+#include <1.4/dom/domGlsl_setparam.h>
+#include <1.4/dom/domGl_pipeline_settings.h>
+#include <1.4/dom/domFx_colortarget_common.h>
+#include <1.4/dom/domFx_depthtarget_common.h>
+#include <1.4/dom/domFx_stenciltarget_common.h>
+#include <1.4/dom/domFx_clearcolor_common.h>
+#include <1.4/dom/domFx_cleardepth_common.h>
+#include <1.4/dom/domFx_clearstencil_common.h>
+#include <1.4/dom/domGlsl_param_type.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * Opens a block of GLSL platform-specific data types and technique declarations.
+ */
+class domProfile_GLSL : public domFx_profile_abstract
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PROFILE_GLSL; }
+ static daeInt ID() { return 730; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domTechnique;
+
+ typedef daeSmartRef<domTechnique> domTechniqueRef;
+ typedef daeTArray<domTechniqueRef> domTechnique_Array;
+
+/**
+ * Holds a description of the textures, samplers, shaders, parameters, and
+ * passes necessary for rendering this effect using one method.
+ */
+ class domTechnique : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TECHNIQUE; }
+ static daeInt ID() { return 731; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domPass;
+
+ typedef daeSmartRef<domPass> domPassRef;
+ typedef daeTArray<domPassRef> domPass_Array;
+
+/**
+ * A static declaration of all the render states, shaders, and settings for
+ * one rendering pipeline.
+ */
+ class domPass : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PASS; }
+ static daeInt ID() { return 732; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domDraw;
+
+ typedef daeSmartRef<domDraw> domDrawRef;
+ typedef daeTArray<domDrawRef> domDraw_Array;
+
+ class domDraw : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DRAW; }
+ static daeInt ID() { return 733; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFx_draw_common value of the text data of this element.
+ */
+ domFx_draw_common _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_draw_common of the value.
+ */
+ domFx_draw_common getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFx_draw_common val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDraw(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDraw() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDraw &operator=( const domDraw &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domShader;
+
+ typedef daeSmartRef<domShader> domShaderRef;
+ typedef daeTArray<domShaderRef> domShader_Array;
+
+/**
+ * Declare and prepare a shader for execution in the rendering pipeline of
+ * a pass.
+ */
+ class domShader : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SHADER; }
+ static daeInt ID() { return 734; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domCompiler_target;
+
+ typedef daeSmartRef<domCompiler_target> domCompiler_targetRef;
+ typedef daeTArray<domCompiler_targetRef> domCompiler_target_Array;
+
+/**
+ * A string declaring which profile or platform the compiler is targeting
+ * this shader for.
+ */
+ class domCompiler_target : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COMPILER_TARGET; }
+ static daeInt ID() { return 735; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsNMTOKEN value of the text data of this element.
+ */
+ xsNMTOKEN _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsNMTOKEN of the value.
+ */
+ xsNMTOKEN getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsNMTOKEN val ) { *(daeStringRef*)&_value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domCompiler_target(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCompiler_target() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCompiler_target &operator=( const domCompiler_target &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domCompiler_options;
+
+ typedef daeSmartRef<domCompiler_options> domCompiler_optionsRef;
+ typedef daeTArray<domCompiler_optionsRef> domCompiler_options_Array;
+
+/**
+ * A string containing command-line operations for the shader compiler.
+ */
+ class domCompiler_options : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COMPILER_OPTIONS; }
+ static daeInt ID() { return 736; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsString value of the text data of this element.
+ */
+ xsString _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsString of the value.
+ */
+ xsString getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsString val ) { *(daeStringRef*)&_value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domCompiler_options(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCompiler_options() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCompiler_options &operator=( const domCompiler_options &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domName;
+
+ typedef daeSmartRef<domName> domNameRef;
+ typedef daeTArray<domNameRef> domName_Array;
+
+/**
+ * The entry symbol for the shader function.
+ */
+ class domName : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::NAME; }
+ static daeInt ID() { return 737; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+ xsNCName attrSource;
+
+ protected: // Value
+ /**
+ * The xsNCName value of the text data of this element.
+ */
+ xsNCName _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the source attribute.
+ * @return Returns a xsNCName of the source attribute.
+ */
+ xsNCName getSource() const { return attrSource; }
+ /**
+ * Sets the source attribute.
+ * @param atSource The new value for the source attribute.
+ */
+ void setSource( xsNCName atSource ) { *(daeStringRef*)&attrSource = atSource; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsNCName of the value.
+ */
+ xsNCName getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domName(DAE& dae) : daeElement(dae), attrSource(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domName() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domName &operator=( const domName &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBind;
+
+ typedef daeSmartRef<domBind> domBindRef;
+ typedef daeTArray<domBindRef> domBind_Array;
+
+/**
+ * Binds values to uniform inputs of a shader.
+ */
+ class domBind : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BIND; }
+ static daeInt ID() { return 738; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domParam;
+
+ typedef daeSmartRef<domParam> domParamRef;
+ typedef daeTArray<domParamRef> domParam_Array;
+
+ class domParam : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PARAM; }
+ static daeInt ID() { return 739; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+ xsString attrRef;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the ref attribute.
+ * @return Returns a xsString of the ref attribute.
+ */
+ xsString getRef() const { return attrRef; }
+ /**
+ * Sets the ref attribute.
+ * @param atRef The new value for the ref attribute.
+ */
+ void setRef( xsString atRef ) { *(daeStringRef*)&attrRef = atRef; _validAttributeArray[0] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domParam(DAE& dae) : daeElement(dae), attrRef() {}
+ /**
+ * Destructor
+ */
+ virtual ~domParam() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domParam &operator=( const domParam &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+ protected: // Attribute
+/**
+ * The identifier for a uniform input parameter to the shader (a formal function
+ * parameter or in-scope global) that will be bound to an external resource.
+ */
+ xsNCName attrSymbol;
+
+ protected: // Elements
+ domGlsl_param_typeRef elemGlsl_param_type;
+ domParamRef elemParam;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the symbol attribute.
+ * @return Returns a xsNCName of the symbol attribute.
+ */
+ xsNCName getSymbol() const { return attrSymbol; }
+ /**
+ * Sets the symbol attribute.
+ * @param atSymbol The new value for the symbol attribute.
+ */
+ void setSymbol( xsNCName atSymbol ) { *(daeStringRef*)&attrSymbol = atSymbol; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the glsl_param_type element.
+ * @return a daeSmartRef to the glsl_param_type element.
+ */
+ const domGlsl_param_typeRef getGlsl_param_type() const { return elemGlsl_param_type; }
+ /**
+ * Gets the param element.
+ * @return a daeSmartRef to the param element.
+ */
+ const domParamRef getParam() const { return elemParam; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBind(DAE& dae) : daeElement(dae), attrSymbol(), elemGlsl_param_type(), elemParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBind() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBind &operator=( const domBind &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+ protected: // Attribute
+/**
+ * In which pipeline stage this programmable shader is designed to execute,
+ * for example, VERTEX, FRAGMENT, etc.
+ */
+ domGlsl_pipeline_stage attrStage;
+
+ protected: // Elements
+ domFx_annotate_common_Array elemAnnotate_array;
+/**
+ * A string declaring which profile or platform the compiler is targeting
+ * this shader for. @see domCompiler_target
+ */
+ domCompiler_targetRef elemCompiler_target;
+/**
+ * A string containing command-line operations for the shader compiler. @see
+ * domCompiler_options
+ */
+ domCompiler_optionsRef elemCompiler_options;
+/**
+ * The entry symbol for the shader function. @see domName
+ */
+ domNameRef elemName;
+/**
+ * Binds values to uniform inputs of a shader. @see domBind
+ */
+ domBind_Array elemBind_array;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the stage attribute.
+ * @return Returns a domGlsl_pipeline_stage of the stage attribute.
+ */
+ domGlsl_pipeline_stage getStage() const { return attrStage; }
+ /**
+ * Sets the stage attribute.
+ * @param atStage The new value for the stage attribute.
+ */
+ void setStage( domGlsl_pipeline_stage atStage ) { attrStage = atStage; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the annotate element array.
+ * @return Returns a reference to the array of annotate elements.
+ */
+ domFx_annotate_common_Array &getAnnotate_array() { return elemAnnotate_array; }
+ /**
+ * Gets the annotate element array.
+ * @return Returns a constant reference to the array of annotate elements.
+ */
+ const domFx_annotate_common_Array &getAnnotate_array() const { return elemAnnotate_array; }
+ /**
+ * Gets the compiler_target element.
+ * @return a daeSmartRef to the compiler_target element.
+ */
+ const domCompiler_targetRef getCompiler_target() const { return elemCompiler_target; }
+ /**
+ * Gets the compiler_options element.
+ * @return a daeSmartRef to the compiler_options element.
+ */
+ const domCompiler_optionsRef getCompiler_options() const { return elemCompiler_options; }
+ /**
+ * Gets the name element.
+ * @return a daeSmartRef to the name element.
+ */
+ const domNameRef getName() const { return elemName; }
+ /**
+ * Gets the bind element array.
+ * @return Returns a reference to the array of bind elements.
+ */
+ domBind_Array &getBind_array() { return elemBind_array; }
+ /**
+ * Gets the bind element array.
+ * @return Returns a constant reference to the array of bind elements.
+ */
+ const domBind_Array &getBind_array() const { return elemBind_array; }
+ protected:
+ /**
+ * Constructor
+ */
+ domShader(DAE& dae) : daeElement(dae), attrStage(), elemAnnotate_array(), elemCompiler_target(), elemCompiler_options(), elemName(), elemBind_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domShader() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domShader &operator=( const domShader &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+ protected: // Attribute
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ xsNCName attrSid;
+
+ protected: // Elements
+ domFx_annotate_common_Array elemAnnotate_array;
+ domFx_colortarget_common_Array elemColor_target_array;
+ domFx_depthtarget_common_Array elemDepth_target_array;
+ domFx_stenciltarget_common_Array elemStencil_target_array;
+ domFx_clearcolor_common_Array elemColor_clear_array;
+ domFx_cleardepth_common_Array elemDepth_clear_array;
+ domFx_clearstencil_common_Array elemStencil_clear_array;
+ domDrawRef elemDraw;
+ domGl_pipeline_settings_Array elemGl_pipeline_settings_array;
+/**
+ * Declare and prepare a shader for execution in the rendering pipeline of
+ * a pass. @see domShader
+ */
+ domShader_Array elemShader_array;
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the annotate element array.
+ * @return Returns a reference to the array of annotate elements.
+ */
+ domFx_annotate_common_Array &getAnnotate_array() { return elemAnnotate_array; }
+ /**
+ * Gets the annotate element array.
+ * @return Returns a constant reference to the array of annotate elements.
+ */
+ const domFx_annotate_common_Array &getAnnotate_array() const { return elemAnnotate_array; }
+ /**
+ * Gets the color_target element array.
+ * @return Returns a reference to the array of color_target elements.
+ */
+ domFx_colortarget_common_Array &getColor_target_array() { return elemColor_target_array; }
+ /**
+ * Gets the color_target element array.
+ * @return Returns a constant reference to the array of color_target elements.
+ */
+ const domFx_colortarget_common_Array &getColor_target_array() const { return elemColor_target_array; }
+ /**
+ * Gets the depth_target element array.
+ * @return Returns a reference to the array of depth_target elements.
+ */
+ domFx_depthtarget_common_Array &getDepth_target_array() { return elemDepth_target_array; }
+ /**
+ * Gets the depth_target element array.
+ * @return Returns a constant reference to the array of depth_target elements.
+ */
+ const domFx_depthtarget_common_Array &getDepth_target_array() const { return elemDepth_target_array; }
+ /**
+ * Gets the stencil_target element array.
+ * @return Returns a reference to the array of stencil_target elements.
+ */
+ domFx_stenciltarget_common_Array &getStencil_target_array() { return elemStencil_target_array; }
+ /**
+ * Gets the stencil_target element array.
+ * @return Returns a constant reference to the array of stencil_target elements.
+ */
+ const domFx_stenciltarget_common_Array &getStencil_target_array() const { return elemStencil_target_array; }
+ /**
+ * Gets the color_clear element array.
+ * @return Returns a reference to the array of color_clear elements.
+ */
+ domFx_clearcolor_common_Array &getColor_clear_array() { return elemColor_clear_array; }
+ /**
+ * Gets the color_clear element array.
+ * @return Returns a constant reference to the array of color_clear elements.
+ */
+ const domFx_clearcolor_common_Array &getColor_clear_array() const { return elemColor_clear_array; }
+ /**
+ * Gets the depth_clear element array.
+ * @return Returns a reference to the array of depth_clear elements.
+ */
+ domFx_cleardepth_common_Array &getDepth_clear_array() { return elemDepth_clear_array; }
+ /**
+ * Gets the depth_clear element array.
+ * @return Returns a constant reference to the array of depth_clear elements.
+ */
+ const domFx_cleardepth_common_Array &getDepth_clear_array() const { return elemDepth_clear_array; }
+ /**
+ * Gets the stencil_clear element array.
+ * @return Returns a reference to the array of stencil_clear elements.
+ */
+ domFx_clearstencil_common_Array &getStencil_clear_array() { return elemStencil_clear_array; }
+ /**
+ * Gets the stencil_clear element array.
+ * @return Returns a constant reference to the array of stencil_clear elements.
+ */
+ const domFx_clearstencil_common_Array &getStencil_clear_array() const { return elemStencil_clear_array; }
+ /**
+ * Gets the draw element.
+ * @return a daeSmartRef to the draw element.
+ */
+ const domDrawRef getDraw() const { return elemDraw; }
+ /**
+ * Gets the gl_pipeline_settings element array.
+ * @return Returns a reference to the array of gl_pipeline_settings elements.
+ */
+ domGl_pipeline_settings_Array &getGl_pipeline_settings_array() { return elemGl_pipeline_settings_array; }
+ /**
+ * Gets the gl_pipeline_settings element array.
+ * @return Returns a constant reference to the array of gl_pipeline_settings elements.
+ */
+ const domGl_pipeline_settings_Array &getGl_pipeline_settings_array() const { return elemGl_pipeline_settings_array; }
+ /**
+ * Gets the shader element array.
+ * @return Returns a reference to the array of shader elements.
+ */
+ domShader_Array &getShader_array() { return elemShader_array; }
+ /**
+ * Gets the shader element array.
+ * @return Returns a constant reference to the array of shader elements.
+ */
+ const domShader_Array &getShader_array() const { return elemShader_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ 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() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPass() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPass &operator=( const domPass &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+ protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ xsNCName attrSid;
+
+ protected: // Elements
+ domFx_annotate_common_Array elemAnnotate_array;
+ domFx_code_profile_Array elemCode_array;
+ domFx_include_common_Array elemInclude_array;
+ domImage_Array elemImage_array;
+ domGlsl_newparam_Array elemNewparam_array;
+ domGlsl_setparam_Array elemSetparam_array;
+/**
+ * A static declaration of all the render states, shaders, and settings for
+ * one rendering pipeline. @see domPass
+ */
+ domPass_Array elemPass_array;
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the annotate element array.
+ * @return Returns a reference to the array of annotate elements.
+ */
+ domFx_annotate_common_Array &getAnnotate_array() { return elemAnnotate_array; }
+ /**
+ * Gets the annotate element array.
+ * @return Returns a constant reference to the array of annotate elements.
+ */
+ const domFx_annotate_common_Array &getAnnotate_array() const { return elemAnnotate_array; }
+ /**
+ * Gets the code element array.
+ * @return Returns a reference to the array of code elements.
+ */
+ domFx_code_profile_Array &getCode_array() { return elemCode_array; }
+ /**
+ * Gets the code element array.
+ * @return Returns a constant reference to the array of code elements.
+ */
+ const domFx_code_profile_Array &getCode_array() const { return elemCode_array; }
+ /**
+ * Gets the include element array.
+ * @return Returns a reference to the array of include elements.
+ */
+ domFx_include_common_Array &getInclude_array() { return elemInclude_array; }
+ /**
+ * Gets the include element array.
+ * @return Returns a constant reference to the array of include elements.
+ */
+ const domFx_include_common_Array &getInclude_array() const { return elemInclude_array; }
+ /**
+ * Gets the image element array.
+ * @return Returns a reference to the array of image elements.
+ */
+ domImage_Array &getImage_array() { return elemImage_array; }
+ /**
+ * Gets the image element array.
+ * @return Returns a constant reference to the array of image elements.
+ */
+ const domImage_Array &getImage_array() const { return elemImage_array; }
+ /**
+ * Gets the newparam element array.
+ * @return Returns a reference to the array of newparam elements.
+ */
+ domGlsl_newparam_Array &getNewparam_array() { return elemNewparam_array; }
+ /**
+ * Gets the newparam element array.
+ * @return Returns a constant reference to the array of newparam elements.
+ */
+ const domGlsl_newparam_Array &getNewparam_array() const { return elemNewparam_array; }
+ /**
+ * Gets the setparam element array.
+ * @return Returns a reference to the array of setparam elements.
+ */
+ domGlsl_setparam_Array &getSetparam_array() { return elemSetparam_array; }
+ /**
+ * Gets the setparam element array.
+ * @return Returns a constant reference to the array of setparam elements.
+ */
+ const domGlsl_setparam_Array &getSetparam_array() const { return elemSetparam_array; }
+ /**
+ * Gets the pass element array.
+ * @return Returns a reference to the array of pass elements.
+ */
+ domPass_Array &getPass_array() { return elemPass_array; }
+ /**
+ * Gets the pass element array.
+ * @return Returns a constant reference to the array of pass elements.
+ */
+ const domPass_Array &getPass_array() const { return elemPass_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTechnique(DAE& dae) : daeElement(dae), attrId(), attrSid(), elemAnnotate_array(), elemCode_array(), elemInclude_array(), elemImage_array(), elemNewparam_array(), elemSetparam_array(), elemPass_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTechnique() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTechnique &operator=( const domTechnique &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attribute
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+
+protected: // Elements
+ domAssetRef elemAsset;
+ domFx_code_profile_Array elemCode_array;
+ domFx_include_common_Array elemInclude_array;
+ domImage_Array elemImage_array;
+ domGlsl_newparam_Array elemNewparam_array;
+/**
+ * Holds a description of the textures, samplers, shaders, parameters, and
+ * passes necessary for rendering this effect using one method. @see domTechnique
+ */
+ domTechnique_Array elemTechnique_array;
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the code element array.
+ * @return Returns a reference to the array of code elements.
+ */
+ domFx_code_profile_Array &getCode_array() { return elemCode_array; }
+ /**
+ * Gets the code element array.
+ * @return Returns a constant reference to the array of code elements.
+ */
+ const domFx_code_profile_Array &getCode_array() const { return elemCode_array; }
+ /**
+ * Gets the include element array.
+ * @return Returns a reference to the array of include elements.
+ */
+ domFx_include_common_Array &getInclude_array() { return elemInclude_array; }
+ /**
+ * Gets the include element array.
+ * @return Returns a constant reference to the array of include elements.
+ */
+ const domFx_include_common_Array &getInclude_array() const { return elemInclude_array; }
+ /**
+ * Gets the image element array.
+ * @return Returns a reference to the array of image elements.
+ */
+ domImage_Array &getImage_array() { return elemImage_array; }
+ /**
+ * Gets the image element array.
+ * @return Returns a constant reference to the array of image elements.
+ */
+ const domImage_Array &getImage_array() const { return elemImage_array; }
+ /**
+ * Gets the newparam element array.
+ * @return Returns a reference to the array of newparam elements.
+ */
+ domGlsl_newparam_Array &getNewparam_array() { return elemNewparam_array; }
+ /**
+ * Gets the newparam element array.
+ * @return Returns a constant reference to the array of newparam elements.
+ */
+ const domGlsl_newparam_Array &getNewparam_array() const { return elemNewparam_array; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a reference to the array of technique elements.
+ */
+ domTechnique_Array &getTechnique_array() { return elemTechnique_array; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a constant reference to the array of technique elements.
+ */
+ const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domProfile_GLSL(DAE& dae) : domFx_profile_abstract(dae), attrId(), elemAsset(), elemCode_array(), elemInclude_array(), elemImage_array(), elemNewparam_array(), elemTechnique_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domProfile_GLSL() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domProfile_GLSL &operator=( const domProfile_GLSL &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domRigid_body.h b/1.4.0/dom/include/1.4/dom/domRigid_body.h
new file mode 100644
index 0000000..be806fd
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domRigid_body.h
@@ -0,0 +1,790 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Rigid_body_h__
+#define __dom141Rigid_body_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domTechnique.h>
+#include <1.4/dom/domExtra.h>
+#include <1.4/dom/domInstance_physics_material.h>
+#include <1.4/dom/domPhysics_material.h>
+#include <1.4/dom/domTargetableFloat.h>
+#include <1.4/dom/domTranslate.h>
+#include <1.4/dom/domRotate.h>
+#include <1.4/dom/domTargetableFloat3.h>
+#include <1.4/dom/domInstance_geometry.h>
+#include <1.4/dom/domPlane.h>
+#include <1.4/dom/domBox.h>
+#include <1.4/dom/domSphere.h>
+#include <1.4/dom/domCylinder.h>
+#include <1.4/dom/domTapered_cylinder.h>
+#include <1.4/dom/domCapsule.h>
+#include <1.4/dom/domTapered_capsule.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * This element allows for describing simulated bodies that do not deform.
+ * These bodies may or may not be connected by constraints (hinge, ball-joint
+ * etc.). Rigid-bodies, constraints etc. are encapsulated in physics_model
+ * elements to allow for instantiating complex models.
+ */
+class domRigid_body : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::RIGID_BODY; }
+ static daeInt ID() { return 795; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domTechnique_common;
+
+ typedef daeSmartRef<domTechnique_common> domTechnique_commonRef;
+ typedef daeTArray<domTechnique_commonRef> domTechnique_common_Array;
+
+/**
+ * The technique_common element specifies the rigid_body information for the
+ * common profile which all COLLADA implementations need to support.
+ */
+ class domTechnique_common : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TECHNIQUE_COMMON; }
+ static daeInt ID() { return 796; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domDynamic;
+
+ typedef daeSmartRef<domDynamic> domDynamicRef;
+ typedef daeTArray<domDynamicRef> domDynamic_Array;
+
+/**
+ * If false, the rigid_body is not moveable
+ */
+ class domDynamic : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DYNAMIC; }
+ static daeInt ID() { return 797; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ xsNCName attrSid;
+
+ protected: // Value
+ /**
+ * The domBool value of the text data of this element.
+ */
+ domBool _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the value of this element.
+ * @return a domBool of the value.
+ */
+ domBool getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domBool val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDynamic(DAE& dae) : daeElement(dae), attrSid(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDynamic() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDynamic &operator=( const domDynamic &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMass_frame;
+
+ typedef daeSmartRef<domMass_frame> domMass_frameRef;
+ typedef daeTArray<domMass_frameRef> domMass_frame_Array;
+
+/**
+ * Defines the center and orientation of mass of the rigid-body relative to
+ * the local origin of the “root” shape.This makes the off-diagonal elements
+ * of the inertia tensor (products of inertia) all 0 and allows us to just
+ * store the diagonal elements (moments of inertia).
+ */
+ class domMass_frame : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MASS_FRAME; }
+ static daeInt ID() { return 798; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Elements
+ domTranslate_Array elemTranslate_array;
+ domRotate_Array elemRotate_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the translate element array.
+ * @return Returns a reference to the array of translate elements.
+ */
+ domTranslate_Array &getTranslate_array() { return elemTranslate_array; }
+ /**
+ * Gets the translate element array.
+ * @return Returns a constant reference to the array of translate elements.
+ */
+ const domTranslate_Array &getTranslate_array() const { return elemTranslate_array; }
+ /**
+ * Gets the rotate element array.
+ * @return Returns a reference to the array of rotate elements.
+ */
+ domRotate_Array &getRotate_array() { return elemRotate_array; }
+ /**
+ * Gets the rotate element array.
+ * @return Returns a constant reference to the array of rotate elements.
+ */
+ const domRotate_Array &getRotate_array() const { return elemRotate_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMass_frame(DAE& dae) : daeElement(dae), elemTranslate_array(), elemRotate_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMass_frame() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMass_frame &operator=( const domMass_frame &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domShape;
+
+ typedef daeSmartRef<domShape> domShapeRef;
+ typedef daeTArray<domShapeRef> domShape_Array;
+
+/**
+ * This element allows for describing components of a rigid_body.
+ */
+ class domShape : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SHAPE; }
+ static daeInt ID() { return 799; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domHollow;
+
+ typedef daeSmartRef<domHollow> domHollowRef;
+ typedef daeTArray<domHollowRef> domHollow_Array;
+
+/**
+ * If true, the mass is distributed along the surface of the shape
+ */
+ class domHollow : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HOLLOW; }
+ static daeInt ID() { return 800; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ xsNCName attrSid;
+
+ protected: // Value
+ /**
+ * The domBool value of the text data of this element.
+ */
+ domBool _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the value of this element.
+ * @return a domBool of the value.
+ */
+ domBool getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domBool val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domHollow(DAE& dae) : daeElement(dae), attrSid(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHollow() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHollow &operator=( const domHollow &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+/**
+ * If true, the mass is distributed along the surface of the shape @see domHollow
+ */
+ domHollowRef elemHollow;
+/**
+ * The mass of the shape. @see domMass
+ */
+ domTargetableFloatRef elemMass;
+/**
+ * The density of the shape. @see domDensity
+ */
+ domTargetableFloatRef elemDensity;
+/**
+ * References a physics_material for the shape. @see domInstance_physics_material
+ */
+ domInstance_physics_materialRef elemInstance_physics_material;
+/**
+ * Defines a physics_material for the shape. @see domPhysics_material
+ */
+ domPhysics_materialRef elemPhysics_material;
+/**
+ * Instances a geometry to use to define this shape. @see domInstance_geometry
+ */
+ domInstance_geometryRef elemInstance_geometry;
+/**
+ * Defines a plane to use for this shape. @see domPlane
+ */
+ domPlaneRef elemPlane;
+/**
+ * Defines a box to use for this shape. @see domBox
+ */
+ domBoxRef elemBox;
+/**
+ * Defines a sphere to use for this shape. @see domSphere
+ */
+ domSphereRef elemSphere;
+/**
+ * Defines a cyliner to use for this shape. @see domCylinder
+ */
+ domCylinderRef elemCylinder;
+/**
+ * Defines a tapered_cylinder to use for this shape. @see domTapered_cylinder
+ */
+ domTapered_cylinderRef elemTapered_cylinder;
+/**
+ * Defines a capsule to use for this shape. @see domCapsule
+ */
+ domCapsuleRef elemCapsule;
+/**
+ * Defines a tapered_capsule to use for this shape. @see domTapered_capsule
+ */
+ domTapered_capsuleRef elemTapered_capsule;
+/**
+ * Allows a tranformation for the shape. @see domTranslate
+ */
+ domTranslate_Array elemTranslate_array;
+/**
+ * Allows a tranformation for the shape. @see domRotate
+ */
+ domRotate_Array elemRotate_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the hollow element.
+ * @return a daeSmartRef to the hollow element.
+ */
+ const domHollowRef getHollow() const { return elemHollow; }
+ /**
+ * Gets the mass element.
+ * @return a daeSmartRef to the mass element.
+ */
+ const domTargetableFloatRef getMass() const { return elemMass; }
+ /**
+ * Gets the density element.
+ * @return a daeSmartRef to the density element.
+ */
+ const domTargetableFloatRef getDensity() const { return elemDensity; }
+ /**
+ * Gets the instance_physics_material element.
+ * @return a daeSmartRef to the instance_physics_material element.
+ */
+ const domInstance_physics_materialRef getInstance_physics_material() const { return elemInstance_physics_material; }
+ /**
+ * Gets the physics_material element.
+ * @return a daeSmartRef to the physics_material element.
+ */
+ const domPhysics_materialRef getPhysics_material() const { return elemPhysics_material; }
+ /**
+ * Gets the instance_geometry element.
+ * @return a daeSmartRef to the instance_geometry element.
+ */
+ const domInstance_geometryRef getInstance_geometry() const { return elemInstance_geometry; }
+ /**
+ * Gets the plane element.
+ * @return a daeSmartRef to the plane element.
+ */
+ const domPlaneRef getPlane() const { return elemPlane; }
+ /**
+ * Gets the box element.
+ * @return a daeSmartRef to the box element.
+ */
+ const domBoxRef getBox() const { return elemBox; }
+ /**
+ * Gets the sphere element.
+ * @return a daeSmartRef to the sphere element.
+ */
+ const domSphereRef getSphere() const { return elemSphere; }
+ /**
+ * Gets the cylinder element.
+ * @return a daeSmartRef to the cylinder element.
+ */
+ const domCylinderRef getCylinder() const { return elemCylinder; }
+ /**
+ * Gets the tapered_cylinder element.
+ * @return a daeSmartRef to the tapered_cylinder element.
+ */
+ const domTapered_cylinderRef getTapered_cylinder() const { return elemTapered_cylinder; }
+ /**
+ * Gets the capsule element.
+ * @return a daeSmartRef to the capsule element.
+ */
+ const domCapsuleRef getCapsule() const { return elemCapsule; }
+ /**
+ * Gets the tapered_capsule element.
+ * @return a daeSmartRef to the tapered_capsule element.
+ */
+ const domTapered_capsuleRef getTapered_capsule() const { return elemTapered_capsule; }
+ /**
+ * Gets the translate element array.
+ * @return Returns a reference to the array of translate elements.
+ */
+ domTranslate_Array &getTranslate_array() { return elemTranslate_array; }
+ /**
+ * Gets the translate element array.
+ * @return Returns a constant reference to the array of translate elements.
+ */
+ const domTranslate_Array &getTranslate_array() const { return elemTranslate_array; }
+ /**
+ * Gets the rotate element array.
+ * @return Returns a reference to the array of rotate elements.
+ */
+ domRotate_Array &getRotate_array() { return elemRotate_array; }
+ /**
+ * Gets the rotate element array.
+ * @return Returns a constant reference to the array of rotate elements.
+ */
+ const domRotate_Array &getRotate_array() const { return elemRotate_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domShape(DAE& dae) : daeElement(dae), elemHollow(), elemMass(), elemDensity(), elemInstance_physics_material(), elemPhysics_material(), elemInstance_geometry(), elemPlane(), elemBox(), elemSphere(), elemCylinder(), elemTapered_cylinder(), elemCapsule(), elemTapered_capsule(), elemTranslate_array(), elemRotate_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domShape() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domShape &operator=( const domShape &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+/**
+ * If false, the rigid_body is not moveable @see domDynamic
+ */
+ domDynamicRef elemDynamic;
+/**
+ * The total mass of the rigid-body @see domMass
+ */
+ domTargetableFloatRef elemMass;
+/**
+ * Defines the center and orientation of mass of the rigid-body relative to
+ * the local origin of the “root” shape.This makes the off-diagonal elements
+ * of the inertia tensor (products of inertia) all 0 and allows us to just
+ * store the diagonal elements (moments of inertia). @see domMass_frame
+ */
+ domMass_frameRef elemMass_frame;
+/**
+ * float3 – The diagonal elements of the inertia tensor (moments of inertia),
+ * which is represented in the local frame of the center of mass. See above.
+ * @see domInertia
+ */
+ domTargetableFloat3Ref elemInertia;
+/**
+ * References a physics_material for the rigid_body. @see domInstance_physics_material
+ */
+ domInstance_physics_materialRef elemInstance_physics_material;
+/**
+ * Defines a physics_material for the rigid_body. @see domPhysics_material
+ */
+ domPhysics_materialRef elemPhysics_material;
+/**
+ * This element allows for describing components of a rigid_body. @see domShape
+ */
+ domShape_Array elemShape_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the dynamic element.
+ * @return a daeSmartRef to the dynamic element.
+ */
+ const domDynamicRef getDynamic() const { return elemDynamic; }
+ /**
+ * Gets the mass element.
+ * @return a daeSmartRef to the mass element.
+ */
+ const domTargetableFloatRef getMass() const { return elemMass; }
+ /**
+ * Gets the mass_frame element.
+ * @return a daeSmartRef to the mass_frame element.
+ */
+ const domMass_frameRef getMass_frame() const { return elemMass_frame; }
+ /**
+ * Gets the inertia element.
+ * @return a daeSmartRef to the inertia element.
+ */
+ const domTargetableFloat3Ref getInertia() const { return elemInertia; }
+ /**
+ * Gets the instance_physics_material element.
+ * @return a daeSmartRef to the instance_physics_material element.
+ */
+ const domInstance_physics_materialRef getInstance_physics_material() const { return elemInstance_physics_material; }
+ /**
+ * Gets the physics_material element.
+ * @return a daeSmartRef to the physics_material element.
+ */
+ const domPhysics_materialRef getPhysics_material() const { return elemPhysics_material; }
+ /**
+ * Gets the shape element array.
+ * @return Returns a reference to the array of shape elements.
+ */
+ domShape_Array &getShape_array() { return elemShape_array; }
+ /**
+ * Gets the shape element array.
+ * @return Returns a constant reference to the array of shape elements.
+ */
+ const domShape_Array &getShape_array() const { return elemShape_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTechnique_common(DAE& dae) : daeElement(dae), elemDynamic(), elemMass(), elemMass_frame(), elemInertia(), elemInstance_physics_material(), elemPhysics_material(), elemShape_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTechnique_common() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTechnique_common &operator=( const domTechnique_common &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ xsNCName attrSid;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+
+protected: // Elements
+/**
+ * The technique_common element specifies the rigid_body information for the
+ * common profile which all COLLADA implementations need to support. @see
+ * domTechnique_common
+ */
+ domTechnique_commonRef elemTechnique_common;
+/**
+ * This element may contain any number of non-common profile techniques.
+ * @see domTechnique
+ */
+ domTechnique_Array elemTechnique_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the technique_common element.
+ * @return a daeSmartRef to the technique_common element.
+ */
+ const domTechnique_commonRef getTechnique_common() const { return elemTechnique_common; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a reference to the array of technique elements.
+ */
+ domTechnique_Array &getTechnique_array() { return elemTechnique_array; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a constant reference to the array of technique elements.
+ */
+ const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domRigid_body(DAE& dae) : daeElement(dae), attrSid(), attrName(), elemTechnique_common(), elemTechnique_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domRigid_body() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRigid_body &operator=( const domRigid_body &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domRigid_constraint.h b/1.4.0/dom/include/1.4/dom/domRigid_constraint.h
new file mode 100644
index 0000000..5f45899
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domRigid_constraint.h
@@ -0,0 +1,1105 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Rigid_constraint_h__
+#define __dom141Rigid_constraint_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domTechnique.h>
+#include <1.4/dom/domExtra.h>
+#include <1.4/dom/domTranslate.h>
+#include <1.4/dom/domRotate.h>
+#include <1.4/dom/domTargetableFloat3.h>
+#include <1.4/dom/domTargetableFloat.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * This element allows for connecting components, such as rigid_body into
+ * complex physics models with moveable parts.
+ */
+class domRigid_constraint : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::RIGID_CONSTRAINT; }
+ static daeInt ID() { return 801; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domRef_attachment;
+
+ typedef daeSmartRef<domRef_attachment> domRef_attachmentRef;
+ typedef daeTArray<domRef_attachmentRef> domRef_attachment_Array;
+
+/**
+ * Defines the attachment (to a rigid_body or a node) to be used as the reference-frame.
+ */
+ class domRef_attachment : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::REF_ATTACHMENT; }
+ static daeInt ID() { return 802; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+/**
+ * The “rigid_body” attribute is a relative reference to a rigid-body
+ * within the same physics_model.
+ */
+ xsAnyURI attrRigid_body;
+
+ protected: // Elements
+/**
+ * Allows you to "position" the attachment point. @see domTranslate
+ */
+ domTranslate_Array elemTranslate_array;
+/**
+ * Allows you to "position" the attachment point. @see domRotate
+ */
+ domRotate_Array elemRotate_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the rigid_body attribute.
+ * @return Returns a xsAnyURI reference of the rigid_body attribute.
+ */
+ xsAnyURI &getRigid_body() { return attrRigid_body; }
+ /**
+ * Gets the rigid_body attribute.
+ * @return Returns a constant xsAnyURI reference of the rigid_body attribute.
+ */
+ const xsAnyURI &getRigid_body() const { return attrRigid_body; }
+ /**
+ * Sets the rigid_body attribute.
+ * @param atRigid_body The new value for the rigid_body attribute.
+ */
+ void setRigid_body( const xsAnyURI &atRigid_body ) { attrRigid_body = atRigid_body; _validAttributeArray[0] = true; }
+ /**
+ * Sets the rigid_body attribute.
+ * @param atRigid_body The new value for the rigid_body attribute.
+ */
+ void setRigid_body( xsString atRigid_body ) { attrRigid_body = atRigid_body; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the translate element array.
+ * @return Returns a reference to the array of translate elements.
+ */
+ domTranslate_Array &getTranslate_array() { return elemTranslate_array; }
+ /**
+ * Gets the translate element array.
+ * @return Returns a constant reference to the array of translate elements.
+ */
+ const domTranslate_Array &getTranslate_array() const { return elemTranslate_array; }
+ /**
+ * Gets the rotate element array.
+ * @return Returns a reference to the array of rotate elements.
+ */
+ domRotate_Array &getRotate_array() { return elemRotate_array; }
+ /**
+ * Gets the rotate element array.
+ * @return Returns a constant reference to the array of rotate elements.
+ */
+ const domRotate_Array &getRotate_array() const { return elemRotate_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domRef_attachment(DAE& dae) : daeElement(dae), attrRigid_body(dae, *this), elemTranslate_array(), elemRotate_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domRef_attachment() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRef_attachment &operator=( const domRef_attachment &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domAttachment;
+
+ typedef daeSmartRef<domAttachment> domAttachmentRef;
+ typedef daeTArray<domAttachmentRef> domAttachment_Array;
+
+/**
+ * Defines an attachment to a rigid-body or a node.
+ */
+ class domAttachment : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ATTACHMENT; }
+ static daeInt ID() { return 803; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+/**
+ * The “rigid_body” attribute is a relative reference to a rigid-body
+ * within the same physics_model.
+ */
+ xsAnyURI attrRigid_body;
+
+ protected: // Elements
+/**
+ * Allows you to "position" the attachment point. @see domTranslate
+ */
+ domTranslate_Array elemTranslate_array;
+/**
+ * Allows you to "position" the attachment point. @see domRotate
+ */
+ domRotate_Array elemRotate_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the rigid_body attribute.
+ * @return Returns a xsAnyURI reference of the rigid_body attribute.
+ */
+ xsAnyURI &getRigid_body() { return attrRigid_body; }
+ /**
+ * Gets the rigid_body attribute.
+ * @return Returns a constant xsAnyURI reference of the rigid_body attribute.
+ */
+ const xsAnyURI &getRigid_body() const { return attrRigid_body; }
+ /**
+ * Sets the rigid_body attribute.
+ * @param atRigid_body The new value for the rigid_body attribute.
+ */
+ void setRigid_body( const xsAnyURI &atRigid_body ) { attrRigid_body = atRigid_body; _validAttributeArray[0] = true; }
+ /**
+ * Sets the rigid_body attribute.
+ * @param atRigid_body The new value for the rigid_body attribute.
+ */
+ void setRigid_body( xsString atRigid_body ) { attrRigid_body = atRigid_body; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the translate element array.
+ * @return Returns a reference to the array of translate elements.
+ */
+ domTranslate_Array &getTranslate_array() { return elemTranslate_array; }
+ /**
+ * Gets the translate element array.
+ * @return Returns a constant reference to the array of translate elements.
+ */
+ const domTranslate_Array &getTranslate_array() const { return elemTranslate_array; }
+ /**
+ * Gets the rotate element array.
+ * @return Returns a reference to the array of rotate elements.
+ */
+ domRotate_Array &getRotate_array() { return elemRotate_array; }
+ /**
+ * Gets the rotate element array.
+ * @return Returns a constant reference to the array of rotate elements.
+ */
+ const domRotate_Array &getRotate_array() const { return elemRotate_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domAttachment(DAE& dae) : daeElement(dae), attrRigid_body(dae, *this), elemTranslate_array(), elemRotate_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domAttachment() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAttachment &operator=( const domAttachment &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domTechnique_common;
+
+ typedef daeSmartRef<domTechnique_common> domTechnique_commonRef;
+ typedef daeTArray<domTechnique_commonRef> domTechnique_common_Array;
+
+/**
+ * The technique_common element specifies the rigid_constraint information
+ * for the common profile which all COLLADA implementations need to support.
+ */
+ class domTechnique_common : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TECHNIQUE_COMMON; }
+ static daeInt ID() { return 804; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domEnabled;
+
+ typedef daeSmartRef<domEnabled> domEnabledRef;
+ typedef daeTArray<domEnabledRef> domEnabled_Array;
+
+/**
+ * If false, the constraint doesn’t exert any force or influence on the
+ * rigid bodies.
+ */
+ class domEnabled : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ENABLED; }
+ static daeInt ID() { return 805; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ xsNCName attrSid;
+
+ protected: // Value
+ /**
+ * The domBool value of the text data of this element.
+ */
+ domBool _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the value of this element.
+ * @return a domBool of the value.
+ */
+ domBool getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domBool val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domEnabled(DAE& dae) : daeElement(dae), attrSid(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domEnabled() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domEnabled &operator=( const domEnabled &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInterpenetrate;
+
+ typedef daeSmartRef<domInterpenetrate> domInterpenetrateRef;
+ typedef daeTArray<domInterpenetrateRef> domInterpenetrate_Array;
+
+/**
+ * Indicates whether the attached rigid bodies may inter-penetrate.
+ */
+ class domInterpenetrate : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INTERPENETRATE; }
+ static daeInt ID() { return 806; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ xsNCName attrSid;
+
+ protected: // Value
+ /**
+ * The domBool value of the text data of this element.
+ */
+ domBool _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the value of this element.
+ * @return a domBool of the value.
+ */
+ domBool getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domBool val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domInterpenetrate(DAE& dae) : daeElement(dae), attrSid(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInterpenetrate() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInterpenetrate &operator=( const domInterpenetrate &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLimits;
+
+ typedef daeSmartRef<domLimits> domLimitsRef;
+ typedef daeTArray<domLimitsRef> domLimits_Array;
+
+/**
+ * The limits element provides a flexible way to specify the constraint limits
+ * (degrees of freedom and ranges).
+ */
+ class domLimits : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIMITS; }
+ static daeInt ID() { return 807; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domSwing_cone_and_twist;
+
+ typedef daeSmartRef<domSwing_cone_and_twist> domSwing_cone_and_twistRef;
+ typedef daeTArray<domSwing_cone_and_twistRef> domSwing_cone_and_twist_Array;
+
+/**
+ * The swing_cone_and_twist element describes the angular limits along each
+ * rotation axis in degrees. The the X and Y limits describe a “swing cone”
+ * and the Z limits describe the “twist angle” range
+ */
+ class domSwing_cone_and_twist : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SWING_CONE_AND_TWIST; }
+ static daeInt ID() { return 808; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Elements
+/**
+ * The minimum values for the limit. @see domMin
+ */
+ domTargetableFloat3Ref elemMin;
+/**
+ * The maximum values for the limit. @see domMax
+ */
+ domTargetableFloat3Ref elemMax;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the min element.
+ * @return a daeSmartRef to the min element.
+ */
+ const domTargetableFloat3Ref getMin() const { return elemMin; }
+ /**
+ * Gets the max element.
+ * @return a daeSmartRef to the max element.
+ */
+ const domTargetableFloat3Ref getMax() const { return elemMax; }
+ protected:
+ /**
+ * Constructor
+ */
+ domSwing_cone_and_twist(DAE& dae) : daeElement(dae), elemMin(), elemMax() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSwing_cone_and_twist() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSwing_cone_and_twist &operator=( const domSwing_cone_and_twist &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLinear;
+
+ typedef daeSmartRef<domLinear> domLinearRef;
+ typedef daeTArray<domLinearRef> domLinear_Array;
+
+/**
+ * The linear element describes linear (translational) limits along each axis.
+ */
+ class domLinear : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LINEAR; }
+ static daeInt ID() { return 809; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Elements
+/**
+ * The minimum values for the limit. @see domMin
+ */
+ domTargetableFloat3Ref elemMin;
+/**
+ * The maximum values for the limit. @see domMax
+ */
+ domTargetableFloat3Ref elemMax;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the min element.
+ * @return a daeSmartRef to the min element.
+ */
+ const domTargetableFloat3Ref getMin() const { return elemMin; }
+ /**
+ * Gets the max element.
+ * @return a daeSmartRef to the max element.
+ */
+ const domTargetableFloat3Ref getMax() const { return elemMax; }
+ protected:
+ /**
+ * Constructor
+ */
+ domLinear(DAE& dae) : daeElement(dae), elemMin(), elemMax() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLinear() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLinear &operator=( const domLinear &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+/**
+ * The swing_cone_and_twist element describes the angular limits along each
+ * rotation axis in degrees. The the X and Y limits describe a “swing cone”
+ * and the Z limits describe the “twist angle” range @see domSwing_cone_and_twist
+ */
+ domSwing_cone_and_twistRef elemSwing_cone_and_twist;
+/**
+ * The linear element describes linear (translational) limits along each axis.
+ * @see domLinear
+ */
+ domLinearRef elemLinear;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the swing_cone_and_twist element.
+ * @return a daeSmartRef to the swing_cone_and_twist element.
+ */
+ const domSwing_cone_and_twistRef getSwing_cone_and_twist() const { return elemSwing_cone_and_twist; }
+ /**
+ * Gets the linear element.
+ * @return a daeSmartRef to the linear element.
+ */
+ const domLinearRef getLinear() const { return elemLinear; }
+ protected:
+ /**
+ * Constructor
+ */
+ domLimits(DAE& dae) : daeElement(dae), elemSwing_cone_and_twist(), elemLinear() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLimits() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLimits &operator=( const domLimits &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domSpring;
+
+ typedef daeSmartRef<domSpring> domSpringRef;
+ typedef daeTArray<domSpringRef> domSpring_Array;
+
+/**
+ * Spring, based on distance (“LINEAR”) or angle (“ANGULAR”).
+ */
+ class domSpring : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SPRING; }
+ static daeInt ID() { return 810; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domAngular;
+
+ typedef daeSmartRef<domAngular> domAngularRef;
+ typedef daeTArray<domAngularRef> domAngular_Array;
+
+/**
+ * The angular spring properties.
+ */
+ class domAngular : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ANGULAR; }
+ static daeInt ID() { return 811; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Elements
+/**
+ * The stiffness (also called spring coefficient) has units of force/angle
+ * in degrees. @see domStiffness
+ */
+ domTargetableFloatRef elemStiffness;
+/**
+ * The spring damping coefficient. @see domDamping
+ */
+ domTargetableFloatRef elemDamping;
+/**
+ * The spring's target or resting distance. @see domTarget_value
+ */
+ domTargetableFloatRef elemTarget_value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the stiffness element.
+ * @return a daeSmartRef to the stiffness element.
+ */
+ const domTargetableFloatRef getStiffness() const { return elemStiffness; }
+ /**
+ * Gets the damping element.
+ * @return a daeSmartRef to the damping element.
+ */
+ const domTargetableFloatRef getDamping() const { return elemDamping; }
+ /**
+ * Gets the target_value element.
+ * @return a daeSmartRef to the target_value element.
+ */
+ const domTargetableFloatRef getTarget_value() const { return elemTarget_value; }
+ protected:
+ /**
+ * Constructor
+ */
+ domAngular(DAE& dae) : daeElement(dae), elemStiffness(), elemDamping(), elemTarget_value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domAngular() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAngular &operator=( const domAngular &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLinear;
+
+ typedef daeSmartRef<domLinear> domLinearRef;
+ typedef daeTArray<domLinearRef> domLinear_Array;
+
+/**
+ * The linear spring properties.
+ */
+ class domLinear : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LINEAR; }
+ static daeInt ID() { return 812; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Elements
+/**
+ * The stiffness (also called spring coefficient) has units of force/distance.
+ * @see domStiffness
+ */
+ domTargetableFloatRef elemStiffness;
+/**
+ * The spring damping coefficient. @see domDamping
+ */
+ domTargetableFloatRef elemDamping;
+/**
+ * The spring's target or resting distance. @see domTarget_value
+ */
+ domTargetableFloatRef elemTarget_value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the stiffness element.
+ * @return a daeSmartRef to the stiffness element.
+ */
+ const domTargetableFloatRef getStiffness() const { return elemStiffness; }
+ /**
+ * Gets the damping element.
+ * @return a daeSmartRef to the damping element.
+ */
+ const domTargetableFloatRef getDamping() const { return elemDamping; }
+ /**
+ * Gets the target_value element.
+ * @return a daeSmartRef to the target_value element.
+ */
+ const domTargetableFloatRef getTarget_value() const { return elemTarget_value; }
+ protected:
+ /**
+ * Constructor
+ */
+ domLinear(DAE& dae) : daeElement(dae), elemStiffness(), elemDamping(), elemTarget_value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLinear() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLinear &operator=( const domLinear &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+/**
+ * The angular spring properties. @see domAngular
+ */
+ domAngularRef elemAngular;
+/**
+ * The linear spring properties. @see domLinear
+ */
+ domLinearRef elemLinear;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the angular element.
+ * @return a daeSmartRef to the angular element.
+ */
+ const domAngularRef getAngular() const { return elemAngular; }
+ /**
+ * Gets the linear element.
+ * @return a daeSmartRef to the linear element.
+ */
+ const domLinearRef getLinear() const { return elemLinear; }
+ protected:
+ /**
+ * Constructor
+ */
+ domSpring(DAE& dae) : daeElement(dae), elemAngular(), elemLinear() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSpring() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSpring &operator=( const domSpring &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+/**
+ * If false, the constraint doesn’t exert any force or influence on the
+ * rigid bodies. @see domEnabled
+ */
+ domEnabledRef elemEnabled;
+/**
+ * Indicates whether the attached rigid bodies may inter-penetrate. @see domInterpenetrate
+ */
+ domInterpenetrateRef elemInterpenetrate;
+/**
+ * The limits element provides a flexible way to specify the constraint limits
+ * (degrees of freedom and ranges). @see domLimits
+ */
+ domLimitsRef elemLimits;
+/**
+ * Spring, based on distance (“LINEAR”) or angle (“ANGULAR”). @see
+ * domSpring
+ */
+ domSpringRef elemSpring;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the enabled element.
+ * @return a daeSmartRef to the enabled element.
+ */
+ const domEnabledRef getEnabled() const { return elemEnabled; }
+ /**
+ * Gets the interpenetrate element.
+ * @return a daeSmartRef to the interpenetrate element.
+ */
+ const domInterpenetrateRef getInterpenetrate() const { return elemInterpenetrate; }
+ /**
+ * Gets the limits element.
+ * @return a daeSmartRef to the limits element.
+ */
+ const domLimitsRef getLimits() const { return elemLimits; }
+ /**
+ * Gets the spring element.
+ * @return a daeSmartRef to the spring element.
+ */
+ const domSpringRef getSpring() const { return elemSpring; }
+ protected:
+ /**
+ * Constructor
+ */
+ domTechnique_common(DAE& dae) : daeElement(dae), elemEnabled(), elemInterpenetrate(), elemLimits(), elemSpring() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTechnique_common() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTechnique_common &operator=( const domTechnique_common &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ xsNCName attrSid;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+
+protected: // Elements
+/**
+ * Defines the attachment (to a rigid_body or a node) to be used as the reference-frame.
+ * @see domRef_attachment
+ */
+ domRef_attachmentRef elemRef_attachment;
+/**
+ * Defines an attachment to a rigid-body or a node. @see domAttachment
+ */
+ domAttachmentRef elemAttachment;
+/**
+ * The technique_common element specifies the rigid_constraint information
+ * for the common profile which all COLLADA implementations need to support.
+ * @see domTechnique_common
+ */
+ domTechnique_commonRef elemTechnique_common;
+/**
+ * This element may contain any number of non-common profile techniques.
+ * @see domTechnique
+ */
+ domTechnique_Array elemTechnique_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the ref_attachment element.
+ * @return a daeSmartRef to the ref_attachment element.
+ */
+ const domRef_attachmentRef getRef_attachment() const { return elemRef_attachment; }
+ /**
+ * Gets the attachment element.
+ * @return a daeSmartRef to the attachment element.
+ */
+ const domAttachmentRef getAttachment() const { return elemAttachment; }
+ /**
+ * Gets the technique_common element.
+ * @return a daeSmartRef to the technique_common element.
+ */
+ const domTechnique_commonRef getTechnique_common() const { return elemTechnique_common; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a reference to the array of technique elements.
+ */
+ domTechnique_Array &getTechnique_array() { return elemTechnique_array; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a constant reference to the array of technique elements.
+ */
+ const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domRigid_constraint(DAE& dae) : daeElement(dae), attrSid(), attrName(), elemRef_attachment(), elemAttachment(), elemTechnique_common(), elemTechnique_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domRigid_constraint() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRigid_constraint &operator=( const domRigid_constraint &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domRotate.h b/1.4.0/dom/include/1.4/dom/domRotate.h
new file mode 100644
index 0000000..ac28ee1
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domRotate.h
@@ -0,0 +1,102 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Rotate_h__
+#define __dom141Rotate_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The rotate element contains an angle and a mathematical vector that represents
+ * the axis of rotation.
+ */
+class domRotate : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ROTATE; }
+ static daeInt ID() { return 631; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attribute
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ xsNCName attrSid;
+
+protected: // Value
+ /**
+ * The domFloat4 value of the text data of this element.
+ */
+ domFloat4 _value;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the _value array.
+ * @return Returns a domFloat4 reference of the _value array.
+ */
+ domFloat4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domFloat4 reference of the _value array.
+ */
+ const domFloat4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domFloat4 &val ) { _value = val; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domRotate(DAE& dae) : daeElement(dae), attrSid(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domRotate() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRotate &operator=( const domRotate &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domSampler.h b/1.4.0/dom/include/1.4/dom/domSampler.h
new file mode 100644
index 0000000..86bb9e8
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domSampler.h
@@ -0,0 +1,101 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Sampler_h__
+#define __dom141Sampler_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domInputLocal.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The sampler element declares an N-dimensional function used for animation.
+ * Animation function curves are represented by 1-D sampler elements in COLLADA.
+ * The sampler defines sampling points and how to interpolate between them.
+ */
+class domSampler : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SAMPLER; }
+ static daeInt ID() { return 654; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attribute
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+
+protected: // Element
+/**
+ * The input element must occur at least one time. These inputs are local
+ * inputs. @see domInput
+ */
+ domInputLocal_Array elemInput_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the input element array.
+ * @return Returns a reference to the array of input elements.
+ */
+ domInputLocal_Array &getInput_array() { return elemInput_array; }
+ /**
+ * Gets the input element array.
+ * @return Returns a constant reference to the array of input elements.
+ */
+ const domInputLocal_Array &getInput_array() const { return elemInput_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domSampler(DAE& dae) : daeElement(dae), attrId(), elemInput_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSampler() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSampler &operator=( const domSampler &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domScale.h b/1.4.0/dom/include/1.4/dom/domScale.h
new file mode 100644
index 0000000..8eb61eb
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domScale.h
@@ -0,0 +1,73 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Scale_h__
+#define __dom141Scale_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domTargetableFloat3.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The scale element contains a mathematical vector that represents the relative
+ * proportions of the X, Y and Z axes of a coordinated system.
+ */
+class domScale : public daeElement, public domTargetableFloat3_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SCALE; }
+ static daeInt ID() { return 632; }
+ virtual daeInt typeID() const { return ID(); }
+
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domScale(DAE& dae) : daeElement(dae), domTargetableFloat3_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domScale() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domScale &operator=( const domScale &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domSkew.h b/1.4.0/dom/include/1.4/dom/domSkew.h
new file mode 100644
index 0000000..19b8fdd
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domSkew.h
@@ -0,0 +1,102 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Skew_h__
+#define __dom141Skew_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The skew element contains an angle and two mathematical vectors that represent
+ * the axis of rotation and the axis of translation.
+ */
+class domSkew : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SKEW; }
+ static daeInt ID() { return 633; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attribute
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ xsNCName attrSid;
+
+protected: // Value
+ /**
+ * The domFloat7 value of the text data of this element.
+ */
+ domFloat7 _value;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the _value array.
+ * @return Returns a domFloat7 reference of the _value array.
+ */
+ domFloat7 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domFloat7 reference of the _value array.
+ */
+ const domFloat7 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domFloat7 &val ) { _value = val; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domSkew(DAE& dae) : daeElement(dae), attrSid(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSkew() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSkew &operator=( const domSkew &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domSkin.h b/1.4.0/dom/include/1.4/dom/domSkin.h
new file mode 100644
index 0000000..f7611e7
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domSkin.h
@@ -0,0 +1,557 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Skin_h__
+#define __dom141Skin_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domSource.h>
+#include <1.4/dom/domExtra.h>
+#include <1.4/dom/domInputLocal.h>
+#include <1.4/dom/domInputLocalOffset.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The skin element contains vertex and primitive information sufficient to
+ * describe blend-weight skinning.
+ */
+class domSkin : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SKIN; }
+ static daeInt ID() { return 656; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domBind_shape_matrix;
+
+ typedef daeSmartRef<domBind_shape_matrix> domBind_shape_matrixRef;
+ typedef daeTArray<domBind_shape_matrixRef> domBind_shape_matrix_Array;
+
+/**
+ * This provides extra information about the position and orientation of the
+ * base mesh before binding. If bind_shape_matrix is not specified then an
+ * identity matrix may be used as the bind_shape_matrix. The bind_shape_matrix
+ * element may occur zero or one times.
+ */
+ class domBind_shape_matrix : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BIND_SHAPE_MATRIX; }
+ static daeInt ID() { return 657; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFloat4x4 value of the text data of this element.
+ */
+ domFloat4x4 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domFloat4x4 reference of the _value array.
+ */
+ domFloat4x4 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domFloat4x4 reference of the _value array.
+ */
+ const domFloat4x4 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domFloat4x4 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBind_shape_matrix(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBind_shape_matrix() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBind_shape_matrix &operator=( const domBind_shape_matrix &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domJoints;
+
+ typedef daeSmartRef<domJoints> domJointsRef;
+ typedef daeTArray<domJointsRef> domJoints_Array;
+
+/**
+ * The joints element associates joint, or skeleton, nodes with attribute
+ * data. In COLLADA, this is specified by the inverse bind matrix of each
+ * joint (influence) in the skeleton.
+ */
+ class domJoints : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::JOINTS; }
+ static daeInt ID() { return 658; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Elements
+/**
+ * The input element must occur at least twice. These inputs are local inputs.
+ * @see domInput
+ */
+ domInputLocal_Array elemInput_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the input element array.
+ * @return Returns a reference to the array of input elements.
+ */
+ domInputLocal_Array &getInput_array() { return elemInput_array; }
+ /**
+ * Gets the input element array.
+ * @return Returns a constant reference to the array of input elements.
+ */
+ const domInputLocal_Array &getInput_array() const { return elemInput_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ protected:
+ /**
+ * Constructor
+ */
+ domJoints(DAE& dae) : daeElement(dae), elemInput_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domJoints() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domJoints &operator=( const domJoints &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domVertex_weights;
+
+ typedef daeSmartRef<domVertex_weights> domVertex_weightsRef;
+ typedef daeTArray<domVertex_weightsRef> domVertex_weights_Array;
+
+/**
+ * The vertex_weights element associates a set of joint-weight pairs with
+ * each vertex in the base mesh.
+ */
+ class domVertex_weights : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::VERTEX_WEIGHTS; }
+ static daeInt ID() { return 659; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domVcount;
+
+ typedef daeSmartRef<domVcount> domVcountRef;
+ typedef daeTArray<domVcountRef> domVcount_Array;
+
+/**
+ * The vcount element contains a list of integers describing the number of
+ * influences for each vertex. The vcount element may occur once.
+ */
+ class domVcount : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::VCOUNT; }
+ static daeInt ID() { return 660; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domListOfUInts value of the text data of this element.
+ */
+ domListOfUInts _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domListOfUInts reference of the _value array.
+ */
+ domListOfUInts &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domListOfUInts reference of the _value array.
+ */
+ const domListOfUInts &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domListOfUInts &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domVcount(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domVcount() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domVcount &operator=( const domVcount &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domV;
+
+ typedef daeSmartRef<domV> domVRef;
+ typedef daeTArray<domVRef> domV_Array;
+
+/**
+ * The v element describes which bones and attributes are associated with
+ * each vertex. An index of –1 into the array of joints refers to the
+ * bind shape. Weights should be normalized before use. The v element must
+ * occur zero or one times.
+ */
+ class domV : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::V; }
+ static daeInt ID() { return 661; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domListOfInts value of the text data of this element.
+ */
+ domListOfInts _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domListOfInts reference of the _value array.
+ */
+ domListOfInts &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domListOfInts reference of the _value array.
+ */
+ const domListOfInts &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domListOfInts &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domV(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domV() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domV &operator=( const domV &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+ protected: // Attribute
+/**
+ * The count attribute describes the number of vertices in the base mesh.
+ * Required element.
+ */
+ domUint attrCount;
+
+ protected: // Elements
+/**
+ * The input element must occur at least twice. @see domInput
+ */
+ domInputLocalOffset_Array elemInput_array;
+/**
+ * The vcount element contains a list of integers describing the number of
+ * influences for each vertex. The vcount element may occur once. @see domVcount
+ */
+ domVcountRef elemVcount;
+/**
+ * The v element describes which bones and attributes are associated with
+ * each vertex. An index of –1 into the array of joints refers to the
+ * bind shape. Weights should be normalized before use. The v element must
+ * occur zero or one times. @see domV
+ */
+ domVRef elemV;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the count attribute.
+ * @return Returns a domUint of the count attribute.
+ */
+ domUint getCount() const { return attrCount; }
+ /**
+ * Sets the count attribute.
+ * @param atCount The new value for the count attribute.
+ */
+ void setCount( domUint atCount ) { attrCount = atCount; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the input element array.
+ * @return Returns a reference to the array of input elements.
+ */
+ domInputLocalOffset_Array &getInput_array() { return elemInput_array; }
+ /**
+ * Gets the input element array.
+ * @return Returns a constant reference to the array of input elements.
+ */
+ const domInputLocalOffset_Array &getInput_array() const { return elemInput_array; }
+ /**
+ * Gets the vcount element.
+ * @return a daeSmartRef to the vcount element.
+ */
+ const domVcountRef getVcount() const { return elemVcount; }
+ /**
+ * Gets the v element.
+ * @return a daeSmartRef to the v element.
+ */
+ const domVRef getV() const { return elemV; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ protected:
+ /**
+ * Constructor
+ */
+ domVertex_weights(DAE& dae) : daeElement(dae), attrCount(), elemInput_array(), elemVcount(), elemV(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domVertex_weights() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domVertex_weights &operator=( const domVertex_weights &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attribute
+/**
+ * The source attribute contains a URI reference to the base mesh, (a static
+ * mesh or a morphed mesh). This also provides the bind-shape of the skinned
+ * mesh. Required attribute.
+ */
+ xsAnyURI attrSource;
+
+protected: // Elements
+/**
+ * This provides extra information about the position and orientation of the
+ * base mesh before binding. If bind_shape_matrix is not specified then an
+ * identity matrix may be used as the bind_shape_matrix. The bind_shape_matrix
+ * element may occur zero or one times. @see domBind_shape_matrix
+ */
+ domBind_shape_matrixRef elemBind_shape_matrix;
+/**
+ * The skin element must contain at least three source elements. @see domSource
+ */
+ domSource_Array elemSource_array;
+/**
+ * The joints element associates joint, or skeleton, nodes with attribute
+ * data. In COLLADA, this is specified by the inverse bind matrix of each
+ * joint (influence) in the skeleton. @see domJoints
+ */
+ domJointsRef elemJoints;
+/**
+ * The vertex_weights element associates a set of joint-weight pairs with
+ * each vertex in the base mesh. @see domVertex_weights
+ */
+ domVertex_weightsRef elemVertex_weights;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the source attribute.
+ * @return Returns a xsAnyURI reference of the source attribute.
+ */
+ xsAnyURI &getSource() { return attrSource; }
+ /**
+ * Gets the source attribute.
+ * @return Returns a constant xsAnyURI reference of the source attribute.
+ */
+ const xsAnyURI &getSource() const { return attrSource; }
+ /**
+ * Sets the source attribute.
+ * @param atSource The new value for the source attribute.
+ */
+ void setSource( const xsAnyURI &atSource ) { attrSource = atSource; _validAttributeArray[0] = true; }
+ /**
+ * Sets the source attribute.
+ * @param atSource The new value for the source attribute.
+ */
+ void setSource( xsString atSource ) { attrSource = atSource; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the bind_shape_matrix element.
+ * @return a daeSmartRef to the bind_shape_matrix element.
+ */
+ const domBind_shape_matrixRef getBind_shape_matrix() const { return elemBind_shape_matrix; }
+ /**
+ * Gets the source element array.
+ * @return Returns a reference to the array of source elements.
+ */
+ domSource_Array &getSource_array() { return elemSource_array; }
+ /**
+ * Gets the source element array.
+ * @return Returns a constant reference to the array of source elements.
+ */
+ const domSource_Array &getSource_array() const { return elemSource_array; }
+ /**
+ * Gets the joints element.
+ * @return a daeSmartRef to the joints element.
+ */
+ const domJointsRef getJoints() const { return elemJoints; }
+ /**
+ * Gets the vertex_weights element.
+ * @return a daeSmartRef to the vertex_weights element.
+ */
+ const domVertex_weightsRef getVertex_weights() const { return elemVertex_weights; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domSkin(DAE& dae) : daeElement(dae), attrSource(dae, *this), elemBind_shape_matrix(), elemSource_array(), elemJoints(), elemVertex_weights(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSkin() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSkin &operator=( const domSkin &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domSource.h b/1.4.0/dom/include/1.4/dom/domSource.h
new file mode 100644
index 0000000..e6b544e
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domSource.h
@@ -0,0 +1,270 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Source_h__
+#define __dom141Source_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domAsset.h>
+#include <1.4/dom/domIDREF_array.h>
+#include <1.4/dom/domName_array.h>
+#include <1.4/dom/domBool_array.h>
+#include <1.4/dom/domFloat_array.h>
+#include <1.4/dom/domInt_array.h>
+#include <1.4/dom/domTechnique.h>
+#include <1.4/dom/domAccessor.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The source element declares a data repository that provides values according
+ * to the semantics of an input element that refers to it.
+ */
+class domSource : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SOURCE; }
+ static daeInt ID() { return 611; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domTechnique_common;
+
+ typedef daeSmartRef<domTechnique_common> domTechnique_commonRef;
+ typedef daeTArray<domTechnique_commonRef> domTechnique_common_Array;
+
+/**
+ * The technique common specifies the common method for accessing this source
+ * element's data.
+ */
+ class domTechnique_common : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TECHNIQUE_COMMON; }
+ static daeInt ID() { return 612; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Element
+/**
+ * The source's technique_common must have one and only one accessor. @see
+ * domAccessor
+ */
+ domAccessorRef elemAccessor;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the accessor element.
+ * @return a daeSmartRef to the accessor element.
+ */
+ const domAccessorRef getAccessor() const { return elemAccessor; }
+ protected:
+ /**
+ * Constructor
+ */
+ domTechnique_common(DAE& dae) : daeElement(dae), elemAccessor() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTechnique_common() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTechnique_common &operator=( const domTechnique_common &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Required attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+
+protected: // Elements
+/**
+ * The source element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * The source element may contain an IDREF_array. @see domIDREF_array
+ */
+ domIDREF_arrayRef elemIDREF_array;
+/**
+ * The source element may contain a Name_array. @see domName_array
+ */
+ domName_arrayRef elemName_array;
+/**
+ * The source element may contain a bool_array. @see domBool_array
+ */
+ domBool_arrayRef elemBool_array;
+/**
+ * The source element may contain a float_array. @see domFloat_array
+ */
+ domFloat_arrayRef elemFloat_array;
+/**
+ * The source element may contain an int_array. @see domInt_array
+ */
+ domInt_arrayRef elemInt_array;
+/**
+ * The technique common specifies the common method for accessing this source
+ * element's data. @see domTechnique_common
+ */
+ domTechnique_commonRef elemTechnique_common;
+/**
+ * This element may contain any number of non-common profile techniques.
+ * @see domTechnique
+ */
+ domTechnique_Array elemTechnique_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the IDREF_array element.
+ * @return a daeSmartRef to the IDREF_array element.
+ */
+ const domIDREF_arrayRef getIDREF_array() const { return elemIDREF_array; }
+ /**
+ * Gets the Name_array element.
+ * @return a daeSmartRef to the Name_array element.
+ */
+ const domName_arrayRef getName_array() const { return elemName_array; }
+ /**
+ * Gets the bool_array element.
+ * @return a daeSmartRef to the bool_array element.
+ */
+ const domBool_arrayRef getBool_array() const { return elemBool_array; }
+ /**
+ * Gets the float_array element.
+ * @return a daeSmartRef to the float_array element.
+ */
+ const domFloat_arrayRef getFloat_array() const { return elemFloat_array; }
+ /**
+ * Gets the int_array element.
+ * @return a daeSmartRef to the int_array element.
+ */
+ const domInt_arrayRef getInt_array() const { return elemInt_array; }
+ /**
+ * Gets the technique_common element.
+ * @return a daeSmartRef to the technique_common element.
+ */
+ const domTechnique_commonRef getTechnique_common() const { return elemTechnique_common; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a reference to the array of technique elements.
+ */
+ domTechnique_Array &getTechnique_array() { return elemTechnique_array; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a constant reference to the array of technique elements.
+ */
+ const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domSource(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemIDREF_array(), elemName_array(), elemBool_array(), elemFloat_array(), elemInt_array(), elemTechnique_common(), elemTechnique_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSource() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSource &operator=( const domSource &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domSphere.h b/1.4.0/dom/include/1.4/dom/domSphere.h
new file mode 100644
index 0000000..33ce0b0
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domSphere.h
@@ -0,0 +1,150 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Sphere_h__
+#define __dom141Sphere_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * A centered sphere primitive.
+ */
+class domSphere : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SPHERE; }
+ static daeInt ID() { return 771; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domRadius;
+
+ typedef daeSmartRef<domRadius> domRadiusRef;
+ typedef daeTArray<domRadiusRef> domRadius_Array;
+
+/**
+ * A float value that represents the radius of the sphere
+ */
+ class domRadius : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::RADIUS; }
+ static daeInt ID() { return 772; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFloat value of the text data of this element.
+ */
+ domFloat _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFloat of the value.
+ */
+ domFloat getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFloat val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domRadius(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domRadius() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRadius &operator=( const domRadius &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+/**
+ * A float value that represents the radius of the sphere @see domRadius
+ */
+ domRadiusRef elemRadius;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the radius element.
+ * @return a daeSmartRef to the radius element.
+ */
+ const domRadiusRef getRadius() const { return elemRadius; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domSphere(DAE& dae) : daeElement(dae), elemRadius(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSphere() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSphere &operator=( const domSphere &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domSpline.h b/1.4.0/dom/include/1.4/dom/domSpline.h
new file mode 100644
index 0000000..f9e49c2
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domSpline.h
@@ -0,0 +1,196 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Spline_h__
+#define __dom141Spline_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domSource.h>
+#include <1.4/dom/domExtra.h>
+#include <1.4/dom/domInputLocal.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The spline element contains control vertex information sufficient to describe
+ * basic splines.
+ */
+class domSpline : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SPLINE; }
+ static daeInt ID() { return 615; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domControl_vertices;
+
+ typedef daeSmartRef<domControl_vertices> domControl_verticesRef;
+ typedef daeTArray<domControl_verticesRef> domControl_vertices_Array;
+
+/**
+ * The control vertices element must occur exactly one time. It is used
+ * to describe the CVs of the spline.
+ */
+ class domControl_vertices : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CONTROL_VERTICES; }
+ static daeInt ID() { return 616; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Elements
+/**
+ * The input element must occur at least one time. These inputs are local
+ * inputs. @see domInput
+ */
+ domInputLocal_Array elemInput_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the input element array.
+ * @return Returns a reference to the array of input elements.
+ */
+ domInputLocal_Array &getInput_array() { return elemInput_array; }
+ /**
+ * Gets the input element array.
+ * @return Returns a constant reference to the array of input elements.
+ */
+ const domInputLocal_Array &getInput_array() const { return elemInput_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ protected:
+ /**
+ * Constructor
+ */
+ domControl_vertices(DAE& dae) : daeElement(dae), elemInput_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domControl_vertices() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domControl_vertices &operator=( const domControl_vertices &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attribute
+ domBool attrClosed;
+
+protected: // Elements
+/**
+ * The mesh element must contain one or more source elements. @see domSource
+ */
+ domSource_Array elemSource_array;
+/**
+ * The control vertices element must occur exactly one time. It is used
+ * to describe the CVs of the spline. @see domControl_vertices
+ */
+ domControl_verticesRef elemControl_vertices;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the closed attribute.
+ * @return Returns a domBool of the closed attribute.
+ */
+ domBool getClosed() const { return attrClosed; }
+ /**
+ * Sets the closed attribute.
+ * @param atClosed The new value for the closed attribute.
+ */
+ void setClosed( domBool atClosed ) { attrClosed = atClosed; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the source element array.
+ * @return Returns a reference to the array of source elements.
+ */
+ domSource_Array &getSource_array() { return elemSource_array; }
+ /**
+ * Gets the source element array.
+ * @return Returns a constant reference to the array of source elements.
+ */
+ const domSource_Array &getSource_array() const { return elemSource_array; }
+ /**
+ * Gets the control_vertices element.
+ * @return a daeSmartRef to the control_vertices element.
+ */
+ const domControl_verticesRef getControl_vertices() const { return elemControl_vertices; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domSpline(DAE& dae) : daeElement(dae), attrClosed(), elemSource_array(), elemControl_vertices(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSpline() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSpline &operator=( const domSpline &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domTapered_capsule.h b/1.4.0/dom/include/1.4/dom/domTapered_capsule.h
new file mode 100644
index 0000000..2b5c66e
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domTapered_capsule.h
@@ -0,0 +1,309 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Tapered_capsule_h__
+#define __dom141Tapered_capsule_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * A tapered capsule primitive that is centered on, and aligned with, the
+ * local Y axis.
+ */
+class domTapered_capsule : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TAPERED_CAPSULE; }
+ static daeInt ID() { return 785; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domHeight;
+
+ typedef daeSmartRef<domHeight> domHeightRef;
+ typedef daeTArray<domHeightRef> domHeight_Array;
+
+/**
+ * A float value that represents the length of the line segment connecting
+ * the centers of the capping hemispheres.
+ */
+ class domHeight : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HEIGHT; }
+ static daeInt ID() { return 786; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFloat value of the text data of this element.
+ */
+ domFloat _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFloat of the value.
+ */
+ domFloat getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFloat val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domHeight(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHeight() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHeight &operator=( const domHeight &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domRadius1;
+
+ typedef daeSmartRef<domRadius1> domRadius1Ref;
+ typedef daeTArray<domRadius1Ref> domRadius1_Array;
+
+/**
+ * Two float values that represent the radii of the tapered capsule at the
+ * positive (height/2) Y value.Both ends of the tapered capsule may be elliptical.
+ */
+ class domRadius1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::RADIUS1; }
+ static daeInt ID() { return 787; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFloat2 value of the text data of this element.
+ */
+ domFloat2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domFloat2 reference of the _value array.
+ */
+ domFloat2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domFloat2 reference of the _value array.
+ */
+ const domFloat2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domFloat2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domRadius1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domRadius1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRadius1 &operator=( const domRadius1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domRadius2;
+
+ typedef daeSmartRef<domRadius2> domRadius2Ref;
+ typedef daeTArray<domRadius2Ref> domRadius2_Array;
+
+/**
+ * Two float values that represent the radii of the tapered capsule at the
+ * negative (height/2) Y value.Both ends of the tapered capsule may be elliptical.
+ */
+ class domRadius2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::RADIUS2; }
+ static daeInt ID() { return 788; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFloat2 value of the text data of this element.
+ */
+ domFloat2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domFloat2 reference of the _value array.
+ */
+ domFloat2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domFloat2 reference of the _value array.
+ */
+ const domFloat2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domFloat2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domRadius2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domRadius2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRadius2 &operator=( const domRadius2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+/**
+ * A float value that represents the length of the line segment connecting
+ * the centers of the capping hemispheres. @see domHeight
+ */
+ domHeightRef elemHeight;
+/**
+ * Two float values that represent the radii of the tapered capsule at the
+ * positive (height/2) Y value.Both ends of the tapered capsule may be elliptical.
+ * @see domRadius1
+ */
+ domRadius1Ref elemRadius1;
+/**
+ * Two float values that represent the radii of the tapered capsule at the
+ * negative (height/2) Y value.Both ends of the tapered capsule may be elliptical.
+ * @see domRadius2
+ */
+ domRadius2Ref elemRadius2;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the height element.
+ * @return a daeSmartRef to the height element.
+ */
+ const domHeightRef getHeight() const { return elemHeight; }
+ /**
+ * Gets the radius1 element.
+ * @return a daeSmartRef to the radius1 element.
+ */
+ const domRadius1Ref getRadius1() const { return elemRadius1; }
+ /**
+ * Gets the radius2 element.
+ * @return a daeSmartRef to the radius2 element.
+ */
+ const domRadius2Ref getRadius2() const { return elemRadius2; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domTapered_capsule(DAE& dae) : daeElement(dae), elemHeight(), elemRadius1(), elemRadius2(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTapered_capsule() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTapered_capsule &operator=( const domTapered_capsule &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domTapered_cylinder.h b/1.4.0/dom/include/1.4/dom/domTapered_cylinder.h
new file mode 100644
index 0000000..723c6b5
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domTapered_cylinder.h
@@ -0,0 +1,309 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Tapered_cylinder_h__
+#define __dom141Tapered_cylinder_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * A tapered cylinder primitive that is centered on and aligned with the local
+ * Y axis.
+ */
+class domTapered_cylinder : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TAPERED_CYLINDER; }
+ static daeInt ID() { return 778; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domHeight;
+
+ typedef daeSmartRef<domHeight> domHeightRef;
+ typedef daeTArray<domHeightRef> domHeight_Array;
+
+/**
+ * A float value that represents the length of the cylinder along the Y axis.
+ */
+ class domHeight : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HEIGHT; }
+ static daeInt ID() { return 779; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFloat value of the text data of this element.
+ */
+ domFloat _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFloat of the value.
+ */
+ domFloat getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFloat val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domHeight(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHeight() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHeight &operator=( const domHeight &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domRadius1;
+
+ typedef daeSmartRef<domRadius1> domRadius1Ref;
+ typedef daeTArray<domRadius1Ref> domRadius1_Array;
+
+/**
+ * Two float values that represent the radii of the tapered cylinder at the
+ * positive (height/2) Y value. Both ends of the tapered cylinder may be
+ * elliptical.
+ */
+ class domRadius1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::RADIUS1; }
+ static daeInt ID() { return 780; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFloat2 value of the text data of this element.
+ */
+ domFloat2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domFloat2 reference of the _value array.
+ */
+ domFloat2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domFloat2 reference of the _value array.
+ */
+ const domFloat2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domFloat2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domRadius1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domRadius1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRadius1 &operator=( const domRadius1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domRadius2;
+
+ typedef daeSmartRef<domRadius2> domRadius2Ref;
+ typedef daeTArray<domRadius2Ref> domRadius2_Array;
+
+/**
+ * Two float values that represent the radii of the tapered cylinder at the
+ * negative (height/2) Y value.Both ends of the tapered cylinder may be elliptical.
+ */
+ class domRadius2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::RADIUS2; }
+ static daeInt ID() { return 781; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The domFloat2 value of the text data of this element.
+ */
+ domFloat2 _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the _value array.
+ * @return Returns a domFloat2 reference of the _value array.
+ */
+ domFloat2 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domFloat2 reference of the _value array.
+ */
+ const domFloat2 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domFloat2 &val ) { _value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domRadius2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domRadius2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRadius2 &operator=( const domRadius2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+/**
+ * A float value that represents the length of the cylinder along the Y axis.
+ * @see domHeight
+ */
+ domHeightRef elemHeight;
+/**
+ * Two float values that represent the radii of the tapered cylinder at the
+ * positive (height/2) Y value. Both ends of the tapered cylinder may be
+ * elliptical. @see domRadius1
+ */
+ domRadius1Ref elemRadius1;
+/**
+ * Two float values that represent the radii of the tapered cylinder at the
+ * negative (height/2) Y value.Both ends of the tapered cylinder may be elliptical.
+ * @see domRadius2
+ */
+ domRadius2Ref elemRadius2;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the height element.
+ * @return a daeSmartRef to the height element.
+ */
+ const domHeightRef getHeight() const { return elemHeight; }
+ /**
+ * Gets the radius1 element.
+ * @return a daeSmartRef to the radius1 element.
+ */
+ const domRadius1Ref getRadius1() const { return elemRadius1; }
+ /**
+ * Gets the radius2 element.
+ * @return a daeSmartRef to the radius2 element.
+ */
+ const domRadius2Ref getRadius2() const { return elemRadius2; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domTapered_cylinder(DAE& dae) : daeElement(dae), elemHeight(), elemRadius1(), elemRadius2(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTapered_cylinder() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTapered_cylinder &operator=( const domTapered_cylinder &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domTargetableFloat.h b/1.4.0/dom/include/1.4/dom/domTargetableFloat.h
new file mode 100644
index 0000000..7513fdb
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domTargetableFloat.h
@@ -0,0 +1,130 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141TargetableFloat_h__
+#define __dom141TargetableFloat_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The TargetableFloat type is used to represent elements which contain a
+ * single float value which can be targeted for animation.
+ */
+class domTargetableFloat_complexType
+{
+protected: // Attribute
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ xsNCName attrSid;
+
+protected: // Value
+ /**
+ * The domFloat value of the text data of this element.
+ */
+ domFloat _value;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the value of this element.
+ * @return a domFloat of the value.
+ */
+ domFloat getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domFloat val ) { _value = val; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domTargetableFloat_complexType(DAE& dae, daeElement* elt) : attrSid(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTargetableFloat_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTargetableFloat_complexType &operator=( const domTargetableFloat_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domTargetableFloat_complexType.
+ */
+class domTargetableFloat : public daeElement, public domTargetableFloat_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TARGETABLEFLOAT; }
+ static daeInt ID() { return 4; }
+ virtual daeInt typeID() const { return ID(); }
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domTargetableFloat(DAE& dae) : daeElement(dae), domTargetableFloat_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domTargetableFloat() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTargetableFloat &operator=( const domTargetableFloat &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domTargetableFloat3.h b/1.4.0/dom/include/1.4/dom/domTargetableFloat3.h
new file mode 100644
index 0000000..4370976
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domTargetableFloat3.h
@@ -0,0 +1,135 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141TargetableFloat3_h__
+#define __dom141TargetableFloat3_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The TargetableFloat3 type is used to represent elements which contain a
+ * float3 value which can be targeted for animation.
+ */
+class domTargetableFloat3_complexType
+{
+protected: // Attribute
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ xsNCName attrSid;
+
+protected: // Value
+ /**
+ * The domFloat3 value of the text data of this element.
+ */
+ domFloat3 _value;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the _value array.
+ * @return Returns a domFloat3 reference of the _value array.
+ */
+ domFloat3 &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant domFloat3 reference of the _value array.
+ */
+ const domFloat3 &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const domFloat3 &val ) { _value = val; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domTargetableFloat3_complexType(DAE& dae, daeElement* elt) : attrSid(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTargetableFloat3_complexType() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTargetableFloat3_complexType &operator=( const domTargetableFloat3_complexType &cpy ) { (void)cpy; return *this; }
+};
+
+/**
+ * An element of type domTargetableFloat3_complexType.
+ */
+class domTargetableFloat3 : public daeElement, public domTargetableFloat3_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TARGETABLEFLOAT3; }
+ static daeInt ID() { return 5; }
+ virtual daeInt typeID() const { return ID(); }
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domTargetableFloat3(DAE& dae) : daeElement(dae), domTargetableFloat3_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domTargetableFloat3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTargetableFloat3 &operator=( const domTargetableFloat3 &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domTechnique.h b/1.4.0/dom/include/1.4/dom/domTechnique.h
new file mode 100644
index 0000000..2307563
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domTechnique.h
@@ -0,0 +1,128 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Technique_h__
+#define __dom141Technique_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The technique element declares the information used to process some portion
+ * of the content. Each technique conforms to an associated profile. Techniques
+ * generally act as a “switch”. If more than one is present for a particular
+ * portion of content, on import, one or the other is picked, but usually
+ * not both. Selection should be based on which profile the importing application
+ * can support. Techniques contain application data and programs, making them
+ * assets that can be managed as a unit.
+ */
+class domTechnique : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TECHNIQUE; }
+ static daeInt ID() { return 680; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attribute
+ /**
+ * This element may specify its own xmlns.
+ */
+ xsAnyURI attrXmlns;
+/**
+ * The profile attribute indicates the type of profile. This is a vendor
+ * defined character string that indicates the platform or capability target
+ * for the technique. Required attribute.
+ */
+ xsNMTOKEN attrProfile;
+
+protected: // Element
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the xmlns attribute.
+ * @return Returns a xsAnyURI reference of the xmlns attribute.
+ */
+ xsAnyURI &getXmlns() { return attrXmlns; }
+ /**
+ * Gets the xmlns attribute.
+ * @return Returns a constant xsAnyURI reference of the xmlns attribute.
+ */
+ const xsAnyURI &getXmlns() const { return attrXmlns; }
+ /**
+ * Sets the xmlns attribute.
+ * @param xmlns The new value for the xmlns attribute.
+ */
+ void setXmlns( const xsAnyURI &xmlns ) { attrXmlns = xmlns;
+ _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the profile attribute.
+ * @return Returns a xsNMTOKEN of the profile attribute.
+ */
+ xsNMTOKEN getProfile() const { return attrProfile; }
+ /**
+ * Sets the profile attribute.
+ * @param atProfile The new value for the profile attribute.
+ */
+ void setProfile( xsNMTOKEN atProfile ) { *(daeStringRef*)&attrProfile = atProfile; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domTechnique(DAE& dae) : daeElement(dae), attrXmlns(dae, *this), attrProfile() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTechnique() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTechnique &operator=( const domTechnique &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domTranslate.h b/1.4.0/dom/include/1.4/dom/domTranslate.h
new file mode 100644
index 0000000..32b62c8
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domTranslate.h
@@ -0,0 +1,73 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Translate_h__
+#define __dom141Translate_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domTargetableFloat3.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The translate element contains a mathematical vector that represents the
+ * distance along the X, Y and Z-axes.
+ */
+class domTranslate : public daeElement, public domTargetableFloat3_complexType
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TRANSLATE; }
+ static daeInt ID() { return 634; }
+ virtual daeInt typeID() const { return ID(); }
+
+ /**
+ * Gets the sid attribute.
+ * @return Returns a xsNCName of the sid attribute.
+ */
+ xsNCName getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domTranslate(DAE& dae) : daeElement(dae), domTargetableFloat3_complexType(dae, this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domTranslate() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTranslate &operator=( const domTranslate &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domTriangles.h b/1.4.0/dom/include/1.4/dom/domTriangles.h
new file mode 100644
index 0000000..15387cc
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domTriangles.h
@@ -0,0 +1,158 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Triangles_h__
+#define __dom141Triangles_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domP.h>
+#include <1.4/dom/domExtra.h>
+#include <1.4/dom/domInputLocalOffset.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The triangles element provides the information needed to bind vertex attributes
+ * together and then organize those vertices into individual triangles.Each
+ * triangle described by the mesh has three vertices. The first triangle
+ * is formed from the first, second, and third vertices. The second triangle
+ * is formed from the fourth, fifth, and sixth vertices, and so on.
+ */
+class domTriangles : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TRIANGLES; }
+ static daeInt ID() { return 625; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+/**
+ * The count attribute indicates the number of triangle primitives. Required
+ * attribute.
+ */
+ domUint attrCount;
+/**
+ * The material attribute declares a symbol for a material. This symbol is
+ * bound to a material at the time of instantiation. Optional attribute.
+ * If the material attribute is not specified then the lighting and shading
+ * results are application defined.
+ */
+ xsNCName attrMaterial;
+
+protected: // Elements
+/**
+ * The input element may occur any number of times. This input is a local
+ * input with the offset and set attributes. @see domInput
+ */
+ domInputLocalOffset_Array elemInput_array;
+/**
+ * The triangles element may have any number of p elements. @see domP
+ */
+ domPRef elemP;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the count attribute.
+ * @return Returns a domUint of the count attribute.
+ */
+ domUint getCount() const { return attrCount; }
+ /**
+ * Sets the count attribute.
+ * @param atCount The new value for the count attribute.
+ */
+ void setCount( domUint atCount ) { attrCount = atCount; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the material attribute.
+ * @return Returns a xsNCName of the material attribute.
+ */
+ xsNCName getMaterial() const { return attrMaterial; }
+ /**
+ * Sets the material attribute.
+ * @param atMaterial The new value for the material attribute.
+ */
+ void setMaterial( xsNCName atMaterial ) { *(daeStringRef*)&attrMaterial = atMaterial; _validAttributeArray[2] = true; }
+
+ /**
+ * Gets the input element array.
+ * @return Returns a reference to the array of input elements.
+ */
+ domInputLocalOffset_Array &getInput_array() { return elemInput_array; }
+ /**
+ * Gets the input element array.
+ * @return Returns a constant reference to the array of input elements.
+ */
+ const domInputLocalOffset_Array &getInput_array() const { return elemInput_array; }
+ /**
+ * Gets the p element.
+ * @return a daeSmartRef to the p element.
+ */
+ const domPRef getP() const { return elemP; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domTriangles(DAE& dae) : daeElement(dae), attrName(), attrCount(), attrMaterial(), elemInput_array(), elemP(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTriangles() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTriangles &operator=( const domTriangles &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domTrifans.h b/1.4.0/dom/include/1.4/dom/domTrifans.h
new file mode 100644
index 0000000..8fbe354
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domTrifans.h
@@ -0,0 +1,163 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Trifans_h__
+#define __dom141Trifans_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domP.h>
+#include <1.4/dom/domExtra.h>
+#include <1.4/dom/domInputLocalOffset.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The trifans element provides the information needed to bind vertex attributes
+ * together and then organize those vertices into connected triangles. Each
+ * triangle described by the mesh has three vertices. The first triangle
+ * is formed from first, second, and third vertices. Each subsequent triangle
+ * is formed from the current vertex, reusing the first and the previous vertices.
+ */
+class domTrifans : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TRIFANS; }
+ static daeInt ID() { return 626; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+/**
+ * The count attribute indicates the number of triangle fan primitives. Required
+ * attribute.
+ */
+ domUint attrCount;
+/**
+ * The material attribute declares a symbol for a material. This symbol is
+ * bound to a material at the time of instantiation. If the material attribute
+ * is not specified then the lighting and shading results are application
+ * defined. Optional attribute.
+ */
+ xsNCName attrMaterial;
+
+protected: // Elements
+/**
+ * The input element may occur any number of times. This input is a local
+ * input with the offset and set attributes. @see domInput
+ */
+ domInputLocalOffset_Array elemInput_array;
+/**
+ * The trifans element may have any number of p elements. @see domP
+ */
+ domP_Array elemP_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the count attribute.
+ * @return Returns a domUint of the count attribute.
+ */
+ domUint getCount() const { return attrCount; }
+ /**
+ * Sets the count attribute.
+ * @param atCount The new value for the count attribute.
+ */
+ void setCount( domUint atCount ) { attrCount = atCount; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the material attribute.
+ * @return Returns a xsNCName of the material attribute.
+ */
+ xsNCName getMaterial() const { return attrMaterial; }
+ /**
+ * Sets the material attribute.
+ * @param atMaterial The new value for the material attribute.
+ */
+ void setMaterial( xsNCName atMaterial ) { *(daeStringRef*)&attrMaterial = atMaterial; _validAttributeArray[2] = true; }
+
+ /**
+ * Gets the input element array.
+ * @return Returns a reference to the array of input elements.
+ */
+ domInputLocalOffset_Array &getInput_array() { return elemInput_array; }
+ /**
+ * Gets the input element array.
+ * @return Returns a constant reference to the array of input elements.
+ */
+ const domInputLocalOffset_Array &getInput_array() const { return elemInput_array; }
+ /**
+ * Gets the p element array.
+ * @return Returns a reference to the array of p elements.
+ */
+ domP_Array &getP_array() { return elemP_array; }
+ /**
+ * Gets the p element array.
+ * @return Returns a constant reference to the array of p elements.
+ */
+ const domP_Array &getP_array() const { return elemP_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domTrifans(DAE& dae) : daeElement(dae), attrName(), attrCount(), attrMaterial(), elemInput_array(), elemP_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTrifans() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTrifans &operator=( const domTrifans &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domTristrips.h b/1.4.0/dom/include/1.4/dom/domTristrips.h
new file mode 100644
index 0000000..73f766d
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domTristrips.h
@@ -0,0 +1,163 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Tristrips_h__
+#define __dom141Tristrips_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domP.h>
+#include <1.4/dom/domExtra.h>
+#include <1.4/dom/domInputLocalOffset.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The tristrips element provides the information needed to bind vertex attributes
+ * together and then organize those vertices into connected triangles. Each
+ * triangle described by the mesh has three vertices. The first triangle
+ * is formed from first, second, and third vertices. Each subsequent triangle
+ * is formed from the current vertex, reusing the previous two vertices.
+ */
+class domTristrips : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TRISTRIPS; }
+ static daeInt ID() { return 627; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+/**
+ * The count attribute indicates the number of triangle strip primitives.
+ * Required attribute.
+ */
+ domUint attrCount;
+/**
+ * The material attribute declares a symbol for a material. This symbol is
+ * bound to a material at the time of instantiation. If the material attribute
+ * is not specified then the lighting and shading results are application
+ * defined. Optional attribute.
+ */
+ xsNCName attrMaterial;
+
+protected: // Elements
+/**
+ * The input element may occur any number of times. This input is a local
+ * input with the offset and set attributes. @see domInput
+ */
+ domInputLocalOffset_Array elemInput_array;
+/**
+ * The tristrips element may have any number of p elements. @see domP
+ */
+ domP_Array elemP_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the count attribute.
+ * @return Returns a domUint of the count attribute.
+ */
+ domUint getCount() const { return attrCount; }
+ /**
+ * Sets the count attribute.
+ * @param atCount The new value for the count attribute.
+ */
+ void setCount( domUint atCount ) { attrCount = atCount; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the material attribute.
+ * @return Returns a xsNCName of the material attribute.
+ */
+ xsNCName getMaterial() const { return attrMaterial; }
+ /**
+ * Sets the material attribute.
+ * @param atMaterial The new value for the material attribute.
+ */
+ void setMaterial( xsNCName atMaterial ) { *(daeStringRef*)&attrMaterial = atMaterial; _validAttributeArray[2] = true; }
+
+ /**
+ * Gets the input element array.
+ * @return Returns a reference to the array of input elements.
+ */
+ domInputLocalOffset_Array &getInput_array() { return elemInput_array; }
+ /**
+ * Gets the input element array.
+ * @return Returns a constant reference to the array of input elements.
+ */
+ const domInputLocalOffset_Array &getInput_array() const { return elemInput_array; }
+ /**
+ * Gets the p element array.
+ * @return Returns a reference to the array of p elements.
+ */
+ domP_Array &getP_array() { return elemP_array; }
+ /**
+ * Gets the p element array.
+ * @return Returns a constant reference to the array of p elements.
+ */
+ const domP_Array &getP_array() const { return elemP_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domTristrips(DAE& dae) : daeElement(dae), attrName(), attrCount(), attrMaterial(), elemInput_array(), elemP_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTristrips() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTristrips &operator=( const domTristrips &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domTypes.h b/1.4.0/dom/include/1.4/dom/domTypes.h
new file mode 100644
index 0000000..2d5182c
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domTypes.h
@@ -0,0 +1,1249 @@
+/*
+ * Copyright 2006 Sony Computer Entertainment Inc.
+ *
+ * Licensed under the MIT Open Source License, for details please see license.txt or the website
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ */
+
+#ifndef __DOM141_TYPES_H__
+#define __DOM141_TYPES_H__
+
+#include <dae/daeDomTypes.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+typedef xsBoolean domBool;
+typedef xsDateTime domDateTime;
+typedef xsDouble domFloat;
+typedef xsLong domInt;
+typedef xsName domName;
+typedef xsString domString;
+typedef xsToken domToken;
+typedef xsUnsignedLong domUint;
+typedef daeTArray<domBool> domListOfBools;
+typedef daeTArray<domFloat> domListOfFloats;
+typedef xsHexBinaryArray domListOfHexBinary;
+typedef daeTArray<domInt> domListOfInts;
+typedef daeTArray<domName> domListOfNames;
+typedef daeTArray<domToken> domListOfTokens;
+typedef daeTArray<domUint> domListOfUInts;
+typedef domListOfBools domBool2;
+typedef domListOfBools domBool3;
+typedef domListOfBools domBool4;
+typedef domListOfFloats domFloat2;
+typedef domListOfFloats domFloat3;
+typedef domListOfFloats domFloat4;
+typedef domListOfFloats domFloat7;
+typedef domListOfFloats domFloat2x2;
+typedef domListOfFloats domFloat3x3;
+typedef domListOfFloats domFloat4x4;
+typedef domListOfFloats domFloat2x3;
+typedef domListOfFloats domFloat2x4;
+typedef domListOfFloats domFloat3x2;
+typedef domListOfFloats domFloat3x4;
+typedef domListOfFloats domFloat4x2;
+typedef domListOfFloats domFloat4x3;
+typedef domListOfInts domInt2;
+typedef domListOfInts domInt3;
+typedef domListOfInts domInt4;
+typedef domListOfInts domInt2x2;
+typedef domListOfInts domInt3x3;
+typedef domListOfInts domInt4x4;
+/**
+ * This type is used for URI reference which can only reference a resource
+ * declared within it's same document.
+ */
+typedef xsAnyURI domURIFragmentType;
+typedef domFloat4 domFx_color_common;
+typedef xsString domFx_draw_common;
+typedef xsNonNegativeInteger domGL_MAX_LIGHTS_index;
+typedef xsNonNegativeInteger domGL_MAX_CLIP_PLANES_index;
+typedef xsNonNegativeInteger domGL_MAX_TEXTURE_IMAGE_UNITS_index;
+typedef xsFloat domGl_alpha_value_type;
+typedef xsFloat domGlsl_float;
+typedef xsInt domGlsl_int;
+typedef xsBoolean domGlsl_bool;
+typedef daeTArray<domGlsl_bool> domGlsl_ListOfBool;
+typedef daeTArray<domGlsl_float> domGlsl_ListOfFloat;
+typedef daeTArray<domGlsl_int> domGlsl_ListOfInt;
+typedef domGlsl_ListOfBool domGlsl_bool2;
+typedef domGlsl_ListOfBool domGlsl_bool3;
+typedef domGlsl_ListOfBool domGlsl_bool4;
+typedef domGlsl_ListOfFloat domGlsl_float2;
+typedef domGlsl_ListOfFloat domGlsl_float3;
+typedef domGlsl_ListOfFloat domGlsl_float4;
+typedef domGlsl_ListOfFloat domGlsl_float2x2;
+typedef domGlsl_ListOfFloat domGlsl_float3x3;
+typedef domGlsl_ListOfFloat domGlsl_float4x4;
+typedef domGlsl_ListOfInt domGlsl_int2;
+typedef domGlsl_ListOfInt domGlsl_int3;
+typedef domGlsl_ListOfInt domGlsl_int4;
+typedef xsToken domGlsl_identifier;
+typedef xsBoolean domCg_bool;
+typedef xsFloat domCg_float;
+typedef xsInt domCg_int;
+typedef xsFloat domCg_half;
+typedef xsFloat domCg_fixed;
+typedef xsBoolean domCg_bool1;
+typedef xsFloat domCg_float1;
+typedef xsInt domCg_int1;
+typedef xsFloat domCg_half1;
+typedef xsFloat domCg_fixed1;
+typedef daeTArray<domCg_bool> domCg_ListOfBool;
+typedef daeTArray<domCg_float> domCg_ListOfFloat;
+typedef daeTArray<domCg_int> domCg_ListOfInt;
+typedef daeTArray<domCg_half> domCg_ListOfHalf;
+typedef daeTArray<domCg_fixed> domCg_ListOfFixed;
+typedef domCg_ListOfBool domCg_bool2;
+typedef domCg_ListOfBool domCg_bool3;
+typedef domCg_ListOfBool domCg_bool4;
+typedef domCg_ListOfBool domCg_bool1x1;
+typedef domCg_ListOfBool domCg_bool1x2;
+typedef domCg_ListOfBool domCg_bool1x3;
+typedef domCg_ListOfBool domCg_bool1x4;
+typedef domCg_ListOfBool domCg_bool2x1;
+typedef domCg_ListOfBool domCg_bool2x2;
+typedef domCg_ListOfBool domCg_bool2x3;
+typedef domCg_ListOfBool domCg_bool2x4;
+typedef domCg_ListOfBool domCg_bool3x1;
+typedef domCg_ListOfBool domCg_bool3x2;
+typedef domCg_ListOfBool domCg_bool3x3;
+typedef domCg_ListOfBool domCg_bool3x4;
+typedef domCg_ListOfBool domCg_bool4x1;
+typedef domCg_ListOfBool domCg_bool4x2;
+typedef domCg_ListOfBool domCg_bool4x3;
+typedef domCg_ListOfBool domCg_bool4x4;
+typedef domCg_ListOfFloat domCg_float2;
+typedef domCg_ListOfFloat domCg_float3;
+typedef domCg_ListOfFloat domCg_float4;
+typedef domCg_ListOfFloat domCg_float1x1;
+typedef domCg_ListOfFloat domCg_float1x2;
+typedef domCg_ListOfFloat domCg_float1x3;
+typedef domCg_ListOfFloat domCg_float1x4;
+typedef domCg_ListOfFloat domCg_float2x1;
+typedef domCg_ListOfFloat domCg_float2x2;
+typedef domCg_ListOfFloat domCg_float2x3;
+typedef domCg_ListOfFloat domCg_float2x4;
+typedef domCg_ListOfFloat domCg_float3x1;
+typedef domCg_ListOfFloat domCg_float3x2;
+typedef domCg_ListOfFloat domCg_float3x3;
+typedef domCg_ListOfFloat domCg_float3x4;
+typedef domCg_ListOfFloat domCg_float4x1;
+typedef domCg_ListOfFloat domCg_float4x2;
+typedef domCg_ListOfFloat domCg_float4x3;
+typedef domCg_ListOfFloat domCg_float4x4;
+typedef domCg_ListOfInt domCg_int2;
+typedef domCg_ListOfInt domCg_int3;
+typedef domCg_ListOfInt domCg_int4;
+typedef domCg_ListOfInt domCg_int1x1;
+typedef domCg_ListOfInt domCg_int1x2;
+typedef domCg_ListOfInt domCg_int1x3;
+typedef domCg_ListOfInt domCg_int1x4;
+typedef domCg_ListOfInt domCg_int2x1;
+typedef domCg_ListOfInt domCg_int2x2;
+typedef domCg_ListOfInt domCg_int2x3;
+typedef domCg_ListOfInt domCg_int2x4;
+typedef domCg_ListOfInt domCg_int3x1;
+typedef domCg_ListOfInt domCg_int3x2;
+typedef domCg_ListOfInt domCg_int3x3;
+typedef domCg_ListOfInt domCg_int3x4;
+typedef domCg_ListOfInt domCg_int4x1;
+typedef domCg_ListOfInt domCg_int4x2;
+typedef domCg_ListOfInt domCg_int4x3;
+typedef domCg_ListOfInt domCg_int4x4;
+typedef domCg_ListOfHalf domCg_half2;
+typedef domCg_ListOfHalf domCg_half3;
+typedef domCg_ListOfHalf domCg_half4;
+typedef domCg_ListOfHalf domCg_half1x1;
+typedef domCg_ListOfHalf domCg_half1x2;
+typedef domCg_ListOfHalf domCg_half1x3;
+typedef domCg_ListOfHalf domCg_half1x4;
+typedef domCg_ListOfHalf domCg_half2x1;
+typedef domCg_ListOfHalf domCg_half2x2;
+typedef domCg_ListOfHalf domCg_half2x3;
+typedef domCg_ListOfHalf domCg_half2x4;
+typedef domCg_ListOfHalf domCg_half3x1;
+typedef domCg_ListOfHalf domCg_half3x2;
+typedef domCg_ListOfHalf domCg_half3x3;
+typedef domCg_ListOfHalf domCg_half3x4;
+typedef domCg_ListOfHalf domCg_half4x1;
+typedef domCg_ListOfHalf domCg_half4x2;
+typedef domCg_ListOfHalf domCg_half4x3;
+typedef domCg_ListOfHalf domCg_half4x4;
+typedef domCg_ListOfFixed domCg_fixed2;
+typedef domCg_ListOfFixed domCg_fixed3;
+typedef domCg_ListOfFixed domCg_fixed4;
+typedef domCg_ListOfFixed domCg_fixed1x1;
+typedef domCg_ListOfFixed domCg_fixed1x2;
+typedef domCg_ListOfFixed domCg_fixed1x3;
+typedef domCg_ListOfFixed domCg_fixed1x4;
+typedef domCg_ListOfFixed domCg_fixed2x1;
+typedef domCg_ListOfFixed domCg_fixed2x2;
+typedef domCg_ListOfFixed domCg_fixed2x3;
+typedef domCg_ListOfFixed domCg_fixed2x4;
+typedef domCg_ListOfFixed domCg_fixed3x1;
+typedef domCg_ListOfFixed domCg_fixed3x2;
+typedef domCg_ListOfFixed domCg_fixed3x3;
+typedef domCg_ListOfFixed domCg_fixed3x4;
+typedef domCg_ListOfFixed domCg_fixed4x1;
+typedef domCg_ListOfFixed domCg_fixed4x2;
+typedef domCg_ListOfFixed domCg_fixed4x3;
+typedef domCg_ListOfFixed domCg_fixed4x4;
+typedef xsToken domCg_identifier;
+typedef xsNonNegativeInteger domGLES_MAX_LIGHTS_index;
+typedef xsNonNegativeInteger domGLES_MAX_CLIP_PLANES_index;
+typedef xsNonNegativeInteger domGLES_MAX_TEXTURE_COORDS_index;
+typedef xsNonNegativeInteger domGLES_MAX_TEXTURE_IMAGE_UNITS_index;
+typedef xsNonNegativeInteger domGles_texcombiner_argument_index_type;
+typedef xsNCName domGles_rendertarget_common;
+
+/**
+ * An enumuerated type specifying the acceptable morph methods.
+ */
+enum domMorphMethodType {
+ MORPHMETHODTYPE_NORMALIZED,
+ MORPHMETHODTYPE_RELATIVE,
+ MORPHMETHODTYPE_COUNT = 2
+};
+
+/**
+ * An enumerated type specifying the acceptable node types.
+ */
+enum domNodeType {
+ NODETYPE_JOINT,
+ NODETYPE_NODE,
+ NODETYPE_COUNT = 2
+};
+
+/**
+ * An enumerated type specifying the acceptable up-axis values.
+ */
+enum domUpAxisType {
+ UPAXISTYPE_X_UP,
+ UPAXISTYPE_Y_UP,
+ UPAXISTYPE_Z_UP,
+ UPAXISTYPE_COUNT = 3
+};
+
+/**
+ * An enumerated type specifying the acceptable document versions.
+ */
+enum domVersionType {
+ VERSIONTYPE_1_4_0,
+ VERSIONTYPE_1_4_1,
+ VERSIONTYPE_COUNT = 2
+};
+
+enum domFx_opaque_enum {
+ FX_OPAQUE_ENUM_A_ONE, /**< When a transparent opaque attribute is set to A_ONE, it means the transparency information will be taken from the alpha channel of the color, texture, or parameter supplying the value. The value of 1.0 is opaque in this mode. */
+ FX_OPAQUE_ENUM_RGB_ZERO, /**< When a transparent opaque attribute is set to RGB_ZERO, it means the transparency information will be taken from the red, green, and blue channels of the color, texture, or parameter supplying the value. Each channel is modulated independently. The value of 0.0 is opaque in this mode. */
+ FX_OPAQUE_ENUM_COUNT = 2
+};
+
+enum domFx_surface_type_enum {
+ FX_SURFACE_TYPE_ENUM_UNTYPED, /**< When a surface's type attribute is set to UNTYPED, its type is initially unknown and established later by the context in which it is used, such as by a texture sampler that references it. A surface of any other type may be changed into an UNTYPED surface at run-time, as if it were created by <newparam>, using <setparam>. If there is a type mismatch between a <setparam> operation and what the run-time decides the type should be, the result is profile- and platform-specific behavior. */
+ FX_SURFACE_TYPE_ENUM_1D,
+ FX_SURFACE_TYPE_ENUM_2D,
+ FX_SURFACE_TYPE_ENUM_3D,
+ FX_SURFACE_TYPE_ENUM_RECT,
+ FX_SURFACE_TYPE_ENUM_CUBE,
+ FX_SURFACE_TYPE_ENUM_DEPTH,
+ FX_SURFACE_TYPE_ENUM_COUNT = 7
+};
+
+enum domFx_surface_face_enum {
+ FX_SURFACE_FACE_ENUM_POSITIVE_X,
+ FX_SURFACE_FACE_ENUM_NEGATIVE_X,
+ FX_SURFACE_FACE_ENUM_POSITIVE_Y,
+ FX_SURFACE_FACE_ENUM_NEGATIVE_Y,
+ FX_SURFACE_FACE_ENUM_POSITIVE_Z,
+ FX_SURFACE_FACE_ENUM_NEGATIVE_Z,
+ FX_SURFACE_FACE_ENUM_COUNT = 6
+};
+
+/**
+ * The per-texel layout of the format. The length of the string indicate
+ * how many channels there are and the letter respresents the name of the
+ * channel. There are typically 0 to 4 channels.
+ */
+enum domFx_surface_format_hint_channels_enum {
+ FX_SURFACE_FORMAT_HINT_CHANNELS_ENUM_RGB, /**< RGB color map */
+ FX_SURFACE_FORMAT_HINT_CHANNELS_ENUM_RGBA, /**< RGB color + Alpha map often used for color + transparency or other things packed into channel A like specular power */
+ FX_SURFACE_FORMAT_HINT_CHANNELS_ENUM_L, /**< Luminance map often used for light mapping */
+ FX_SURFACE_FORMAT_HINT_CHANNELS_ENUM_LA, /**< Luminance+Alpha map often used for light mapping */
+ FX_SURFACE_FORMAT_HINT_CHANNELS_ENUM_D, /**< Depth map often used for displacement, parellax, relief, or shadow mapping */
+ FX_SURFACE_FORMAT_HINT_CHANNELS_ENUM_XYZ, /**< Typically used for normal maps or 3component displacement maps. */
+ FX_SURFACE_FORMAT_HINT_CHANNELS_ENUM_XYZW, /**< Typically used for normal maps where W is the depth for relief or parrallax mapping */
+ FX_SURFACE_FORMAT_HINT_CHANNELS_ENUM_COUNT = 7
+};
+
+/**
+ * Each channel of the texel has a precision. Typically these are all linked
+ * together. An exact format lay lower the precision of an individual channel
+ * but applying a higher precision by linking the channels together may still
+ * convey the same information.
+ */
+enum domFx_surface_format_hint_precision_enum {
+ FX_SURFACE_FORMAT_HINT_PRECISION_ENUM_LOW, /**< For integers this typically represents 8 bits. For floats typically 16 bits. */
+ FX_SURFACE_FORMAT_HINT_PRECISION_ENUM_MID, /**< For integers this typically represents 8 to 24 bits. For floats typically 16 to 32 bits. */
+ FX_SURFACE_FORMAT_HINT_PRECISION_ENUM_HIGH, /**< For integers this typically represents 16 to 32 bits. For floats typically 24 to 32 bits. */
+ FX_SURFACE_FORMAT_HINT_PRECISION_ENUM_COUNT = 3
+};
+
+/**
+ * Each channel represents a range of values. Some example ranges are signed
+ * or unsigned integers, or between between a clamped range such as 0.0f to
+ * 1.0f, or high dynamic range via floating point
+ */
+enum domFx_surface_format_hint_range_enum {
+ FX_SURFACE_FORMAT_HINT_RANGE_ENUM_SNORM, /**< Format is representing a decimal value that remains within the -1 to 1 range. Implimentation could be integer-fixedpoint or floats. */
+ FX_SURFACE_FORMAT_HINT_RANGE_ENUM_UNORM, /**< Format is representing a decimal value that remains within the 0 to 1 range. Implimentation could be integer-fixedpoint or floats. */
+ FX_SURFACE_FORMAT_HINT_RANGE_ENUM_SINT, /**< Format is representing signed integer numbers. (ex. 8bits = -128 to 127) */
+ FX_SURFACE_FORMAT_HINT_RANGE_ENUM_UINT, /**< Format is representing unsigned integer numbers. (ex. 8bits = 0 to 255) */
+ FX_SURFACE_FORMAT_HINT_RANGE_ENUM_FLOAT, /**< Format should support full floating point ranges. High precision is expected to be 32bit. Mid precision may be 16 to 32 bit. Low precision is expected to be 16 bit. */
+ FX_SURFACE_FORMAT_HINT_RANGE_ENUM_COUNT = 5
+};
+
+/**
+ * Additional hints about data relationships and other things to help the
+ * application pick the best format.
+ */
+enum domFx_surface_format_hint_option_enum {
+ FX_SURFACE_FORMAT_HINT_OPTION_ENUM_SRGB_GAMMA, /**< colors are stored with respect to the sRGB 2.2 gamma curve rather than linear */
+ FX_SURFACE_FORMAT_HINT_OPTION_ENUM_NORMALIZED3, /**< the texel's XYZ/RGB should be normalized such as in a normal map. */
+ FX_SURFACE_FORMAT_HINT_OPTION_ENUM_NORMALIZED4, /**< the texel's XYZW/RGBA should be normalized such as in a normal map. */
+ FX_SURFACE_FORMAT_HINT_OPTION_ENUM_COMPRESSABLE, /**< The surface may use run-time compression. Considering the best compression based on desired, channel, range, precision, and options */
+ FX_SURFACE_FORMAT_HINT_OPTION_ENUM_COUNT = 4
+};
+
+enum domFx_sampler_wrap_common {
+ FX_SAMPLER_WRAP_COMMON_NONE,
+ FX_SAMPLER_WRAP_COMMON_WRAP,
+ FX_SAMPLER_WRAP_COMMON_MIRROR,
+ FX_SAMPLER_WRAP_COMMON_CLAMP,
+ FX_SAMPLER_WRAP_COMMON_BORDER,
+ FX_SAMPLER_WRAP_COMMON_COUNT = 5
+};
+
+enum domFx_sampler_filter_common {
+ FX_SAMPLER_FILTER_COMMON_NONE,
+ FX_SAMPLER_FILTER_COMMON_NEAREST,
+ FX_SAMPLER_FILTER_COMMON_LINEAR,
+ FX_SAMPLER_FILTER_COMMON_NEAREST_MIPMAP_NEAREST,
+ FX_SAMPLER_FILTER_COMMON_LINEAR_MIPMAP_NEAREST,
+ FX_SAMPLER_FILTER_COMMON_NEAREST_MIPMAP_LINEAR,
+ FX_SAMPLER_FILTER_COMMON_LINEAR_MIPMAP_LINEAR,
+ FX_SAMPLER_FILTER_COMMON_COUNT = 7
+};
+
+enum domFx_modifier_enum_common {
+ FX_MODIFIER_ENUM_COMMON_CONST,
+ FX_MODIFIER_ENUM_COMMON_UNIFORM,
+ FX_MODIFIER_ENUM_COMMON_VARYING,
+ FX_MODIFIER_ENUM_COMMON_STATIC,
+ FX_MODIFIER_ENUM_COMMON_VOLATILE,
+ FX_MODIFIER_ENUM_COMMON_EXTERN,
+ FX_MODIFIER_ENUM_COMMON_SHARED,
+ FX_MODIFIER_ENUM_COMMON_COUNT = 7
+};
+
+enum domFx_pipeline_stage_common {
+ FX_PIPELINE_STAGE_COMMON_VERTEXPROGRAM,
+ FX_PIPELINE_STAGE_COMMON_FRAGMENTPROGRAM,
+ FX_PIPELINE_STAGE_COMMON_VERTEXSHADER,
+ FX_PIPELINE_STAGE_COMMON_PIXELSHADER,
+ FX_PIPELINE_STAGE_COMMON_COUNT = 4
+};
+
+enum domGl_blend_type {
+ GL_BLEND_TYPE_ZERO = 0x0,
+ GL_BLEND_TYPE_ONE = 0x1,
+ GL_BLEND_TYPE_SRC_COLOR = 0x0300,
+ GL_BLEND_TYPE_ONE_MINUS_SRC_COLOR = 0x0301,
+ GL_BLEND_TYPE_DEST_COLOR = 0x0306,
+ GL_BLEND_TYPE_ONE_MINUS_DEST_COLOR = 0x0307,
+ GL_BLEND_TYPE_SRC_ALPHA = 0x0302,
+ GL_BLEND_TYPE_ONE_MINUS_SRC_ALPHA = 0x0303,
+ GL_BLEND_TYPE_DST_ALPHA = 0x0304,
+ GL_BLEND_TYPE_ONE_MINUS_DST_ALPHA = 0x0305,
+ GL_BLEND_TYPE_CONSTANT_COLOR = 0x8001,
+ GL_BLEND_TYPE_ONE_MINUS_CONSTANT_COLOR = 0x8002,
+ GL_BLEND_TYPE_CONSTANT_ALPHA = 0x8003,
+ GL_BLEND_TYPE_ONE_MINUS_CONSTANT_ALPHA = 0x8004,
+ GL_BLEND_TYPE_SRC_ALPHA_SATURATE = 0x0308,
+ GL_BLEND_TYPE_COUNT = 15
+};
+
+enum domGl_face_type {
+ GL_FACE_TYPE_FRONT = 0x0404,
+ GL_FACE_TYPE_BACK = 0x0405,
+ GL_FACE_TYPE_FRONT_AND_BACK = 0x0408,
+ GL_FACE_TYPE_COUNT = 3
+};
+
+enum domGl_blend_equation_type {
+ GL_BLEND_EQUATION_TYPE_FUNC_ADD = 0x8006,
+ GL_BLEND_EQUATION_TYPE_FUNC_SUBTRACT = 0x800A,
+ GL_BLEND_EQUATION_TYPE_FUNC_REVERSE_SUBTRACT = 0x800B,
+ GL_BLEND_EQUATION_TYPE_MIN = 0x8007,
+ GL_BLEND_EQUATION_TYPE_MAX = 0x8008,
+ GL_BLEND_EQUATION_TYPE_COUNT = 5
+};
+
+enum domGl_func_type {
+ GL_FUNC_TYPE_NEVER = 0x0200,
+ GL_FUNC_TYPE_LESS = 0x0201,
+ GL_FUNC_TYPE_LEQUAL = 0x0203,
+ GL_FUNC_TYPE_EQUAL = 0x0202,
+ GL_FUNC_TYPE_GREATER = 0x0204,
+ GL_FUNC_TYPE_NOTEQUAL = 0x0205,
+ GL_FUNC_TYPE_GEQUAL = 0x0206,
+ GL_FUNC_TYPE_ALWAYS = 0x0207,
+ GL_FUNC_TYPE_COUNT = 8
+};
+
+enum domGl_stencil_op_type {
+ GL_STENCIL_OP_TYPE_KEEP = 0x1E00,
+ GL_STENCIL_OP_TYPE_ZERO = 0x0,
+ GL_STENCIL_OP_TYPE_REPLACE = 0x1E01,
+ GL_STENCIL_OP_TYPE_INCR = 0x1E02,
+ GL_STENCIL_OP_TYPE_DECR = 0x1E03,
+ GL_STENCIL_OP_TYPE_INVERT = 0x150A,
+ GL_STENCIL_OP_TYPE_INCR_WRAP = 0x8507,
+ GL_STENCIL_OP_TYPE_DECR_WRAP = 0x8508,
+ GL_STENCIL_OP_TYPE_COUNT = 8
+};
+
+enum domGl_material_type {
+ GL_MATERIAL_TYPE_EMISSION = 0x1600,
+ GL_MATERIAL_TYPE_AMBIENT = 0x1200,
+ GL_MATERIAL_TYPE_DIFFUSE = 0x1201,
+ GL_MATERIAL_TYPE_SPECULAR = 0x1202,
+ GL_MATERIAL_TYPE_AMBIENT_AND_DIFFUSE = 0x1602,
+ GL_MATERIAL_TYPE_COUNT = 5
+};
+
+enum domGl_fog_type {
+ GL_FOG_TYPE_LINEAR = 0x2601,
+ GL_FOG_TYPE_EXP = 0x0800,
+ GL_FOG_TYPE_EXP2 = 0x0801,
+ GL_FOG_TYPE_COUNT = 3
+};
+
+enum domGl_fog_coord_src_type {
+ GL_FOG_COORD_SRC_TYPE_FOG_COORDINATE = 0x8451,
+ GL_FOG_COORD_SRC_TYPE_FRAGMENT_DEPTH = 0x8452,
+ GL_FOG_COORD_SRC_TYPE_COUNT = 2
+};
+
+enum domGl_front_face_type {
+ GL_FRONT_FACE_TYPE_CW = 0x0900,
+ GL_FRONT_FACE_TYPE_CCW = 0x0901,
+ GL_FRONT_FACE_TYPE_COUNT = 2
+};
+
+enum domGl_light_model_color_control_type {
+ GL_LIGHT_MODEL_COLOR_CONTROL_TYPE_SINGLE_COLOR = 0x81F9,
+ GL_LIGHT_MODEL_COLOR_CONTROL_TYPE_SEPARATE_SPECULAR_COLOR = 0x81FA,
+ GL_LIGHT_MODEL_COLOR_CONTROL_TYPE_COUNT = 2
+};
+
+enum domGl_logic_op_type {
+ GL_LOGIC_OP_TYPE_CLEAR = 0x1500,
+ GL_LOGIC_OP_TYPE_AND = 0x1501,
+ GL_LOGIC_OP_TYPE_AND_REVERSE = 0x1502,
+ GL_LOGIC_OP_TYPE_COPY = 0x1503,
+ GL_LOGIC_OP_TYPE_AND_INVERTED = 0x1504,
+ GL_LOGIC_OP_TYPE_NOOP = 0x1505,
+ GL_LOGIC_OP_TYPE_XOR = 0x1506,
+ GL_LOGIC_OP_TYPE_OR = 0x1507,
+ GL_LOGIC_OP_TYPE_NOR = 0x1508,
+ GL_LOGIC_OP_TYPE_EQUIV = 0x1509,
+ GL_LOGIC_OP_TYPE_INVERT = 0x150A,
+ GL_LOGIC_OP_TYPE_OR_REVERSE = 0x150B,
+ GL_LOGIC_OP_TYPE_COPY_INVERTED = 0x150C,
+ GL_LOGIC_OP_TYPE_NAND = 0x150E,
+ GL_LOGIC_OP_TYPE_SET = 0x150F,
+ GL_LOGIC_OP_TYPE_COUNT = 15
+};
+
+enum domGl_polygon_mode_type {
+ GL_POLYGON_MODE_TYPE_POINT = 0x1B00,
+ GL_POLYGON_MODE_TYPE_LINE = 0x1B01,
+ GL_POLYGON_MODE_TYPE_FILL = 0x1B02,
+ GL_POLYGON_MODE_TYPE_COUNT = 3
+};
+
+enum domGl_shade_model_type {
+ GL_SHADE_MODEL_TYPE_FLAT = 0x1D00,
+ GL_SHADE_MODEL_TYPE_SMOOTH = 0x1D01,
+ GL_SHADE_MODEL_TYPE_COUNT = 2
+};
+
+enum domGlsl_pipeline_stage {
+ GLSL_PIPELINE_STAGE_VERTEXPROGRAM,
+ GLSL_PIPELINE_STAGE_FRAGMENTPROGRAM,
+ GLSL_PIPELINE_STAGE_COUNT = 2
+};
+
+enum domCg_pipeline_stage {
+ CG_PIPELINE_STAGE_VERTEX,
+ CG_PIPELINE_STAGE_FRAGMENT,
+ CG_PIPELINE_STAGE_COUNT = 2
+};
+
+enum domGles_texenv_mode_enums {
+ GLES_TEXENV_MODE_ENUMS_REPLACE = 0x1E01,
+ GLES_TEXENV_MODE_ENUMS_MODULATE = 0x2100,
+ GLES_TEXENV_MODE_ENUMS_DECAL = 0x2101,
+ GLES_TEXENV_MODE_ENUMS_BLEND = 0x0BE2,
+ GLES_TEXENV_MODE_ENUMS_ADD = 0x0104,
+ GLES_TEXENV_MODE_ENUMS_COUNT = 5
+};
+
+enum domGles_texcombiner_operatorRGB_enums {
+ GLES_TEXCOMBINER_OPERATORRGB_ENUMS_REPLACE = 0x1E01,
+ GLES_TEXCOMBINER_OPERATORRGB_ENUMS_MODULATE = 0x2100,
+ GLES_TEXCOMBINER_OPERATORRGB_ENUMS_ADD = 0x0104,
+ GLES_TEXCOMBINER_OPERATORRGB_ENUMS_ADD_SIGNED = 0x8574,
+ GLES_TEXCOMBINER_OPERATORRGB_ENUMS_INTERPOLATE = 0x8575,
+ GLES_TEXCOMBINER_OPERATORRGB_ENUMS_SUBTRACT = 0x84E7,
+ GLES_TEXCOMBINER_OPERATORRGB_ENUMS_DOT3_RGB = 0x86AE,
+ GLES_TEXCOMBINER_OPERATORRGB_ENUMS_DOT3_RGBA = 0x86AF,
+ GLES_TEXCOMBINER_OPERATORRGB_ENUMS_COUNT = 8
+};
+
+enum domGles_texcombiner_operatorAlpha_enums {
+ GLES_TEXCOMBINER_OPERATORALPHA_ENUMS_REPLACE = 0x1E01,
+ GLES_TEXCOMBINER_OPERATORALPHA_ENUMS_MODULATE = 0x2100,
+ GLES_TEXCOMBINER_OPERATORALPHA_ENUMS_ADD = 0x0104,
+ GLES_TEXCOMBINER_OPERATORALPHA_ENUMS_ADD_SIGNED = 0x8574,
+ GLES_TEXCOMBINER_OPERATORALPHA_ENUMS_INTERPOLATE = 0x8575,
+ GLES_TEXCOMBINER_OPERATORALPHA_ENUMS_SUBTRACT = 0x84E7,
+ GLES_TEXCOMBINER_OPERATORALPHA_ENUMS_COUNT = 6
+};
+
+enum domGles_texcombiner_source_enums {
+ GLES_TEXCOMBINER_SOURCE_ENUMS_TEXTURE = 0x1702,
+ GLES_TEXCOMBINER_SOURCE_ENUMS_CONSTANT = 0x8576,
+ GLES_TEXCOMBINER_SOURCE_ENUMS_PRIMARY = 0x8577,
+ GLES_TEXCOMBINER_SOURCE_ENUMS_PREVIOUS = 0x8578,
+ GLES_TEXCOMBINER_SOURCE_ENUMS_COUNT = 4
+};
+
+enum domGles_texcombiner_operandRGB_enums {
+ GLES_TEXCOMBINER_OPERANDRGB_ENUMS_SRC_COLOR = 0x0300,
+ GLES_TEXCOMBINER_OPERANDRGB_ENUMS_ONE_MINUS_SRC_COLOR = 0x0301,
+ GLES_TEXCOMBINER_OPERANDRGB_ENUMS_SRC_ALPHA = 0x0302,
+ GLES_TEXCOMBINER_OPERANDRGB_ENUMS_ONE_MINUS_SRC_ALPHA = 0x0303,
+ GLES_TEXCOMBINER_OPERANDRGB_ENUMS_COUNT = 4
+};
+
+enum domGles_texcombiner_operandAlpha_enums {
+ GLES_TEXCOMBINER_OPERANDALPHA_ENUMS_SRC_ALPHA = 0x0302,
+ GLES_TEXCOMBINER_OPERANDALPHA_ENUMS_ONE_MINUS_SRC_ALPHA = 0x0303,
+ GLES_TEXCOMBINER_OPERANDALPHA_ENUMS_COUNT = 2
+};
+
+enum domGles_sampler_wrap {
+ GLES_SAMPLER_WRAP_REPEAT,
+ GLES_SAMPLER_WRAP_CLAMP,
+ GLES_SAMPLER_WRAP_CLAMP_TO_EDGE,
+ GLES_SAMPLER_WRAP_MIRRORED_REPEAT, /**< supported by GLES 1.1 only */
+ GLES_SAMPLER_WRAP_COUNT = 4
+};
+
+enum domGles_stencil_op_type {
+ GLES_STENCIL_OP_TYPE_KEEP = 0x1E00,
+ GLES_STENCIL_OP_TYPE_ZERO = 0x0,
+ GLES_STENCIL_OP_TYPE_REPLACE = 0x1E01,
+ GLES_STENCIL_OP_TYPE_INCR = 0x1E02,
+ GLES_STENCIL_OP_TYPE_DECR = 0x1E03,
+ GLES_STENCIL_OP_TYPE_INVERT = 0x150A,
+ GLES_STENCIL_OP_TYPE_COUNT = 6
+};
+
+enum domSpringType {
+ SPRINGTYPE_LINEAR,
+ SPRINGTYPE_ANGULAR,
+ SPRINGTYPE_COUNT = 2
+};
+
+enum domGl_enumeration {
+ GL_ENUMERATION_ZERO = 0x0,
+ GL_ENUMERATION_ONE = 0x1,
+ GL_ENUMERATION_SRC_COLOR = 0x0300,
+ GL_ENUMERATION_ONE_MINUS_SRC_COLOR = 0x0301,
+ GL_ENUMERATION_DEST_COLOR = 0x0306,
+ GL_ENUMERATION_ONE_MINUS_DEST_COLOR = 0x0307,
+ GL_ENUMERATION_SRC_ALPHA = 0x0302,
+ GL_ENUMERATION_ONE_MINUS_SRC_ALPHA = 0x0303,
+ GL_ENUMERATION_DST_ALPHA = 0x0304,
+ GL_ENUMERATION_ONE_MINUS_DST_ALPHA = 0x0305,
+ GL_ENUMERATION_CONSTANT_COLOR = 0x8001,
+ GL_ENUMERATION_ONE_MINUS_CONSTANT_COLOR = 0x8002,
+ GL_ENUMERATION_CONSTANT_ALPHA = 0x8003,
+ GL_ENUMERATION_ONE_MINUS_CONSTANT_ALPHA = 0x8004,
+ GL_ENUMERATION_SRC_ALPHA_SATURATE = 0x0308,
+ GL_ENUMERATION_FRONT = 0x0404,
+ GL_ENUMERATION_BACK = 0x0405,
+ GL_ENUMERATION_FRONT_AND_BACK = 0x0408,
+ GL_ENUMERATION_FUNC_ADD = 0x8006,
+ GL_ENUMERATION_FUNC_SUBTRACT = 0x800A,
+ GL_ENUMERATION_FUNC_REVERSE_SUBTRACT = 0x800B,
+ GL_ENUMERATION_MIN = 0x8007,
+ GL_ENUMERATION_MAX = 0x8008,
+ GL_ENUMERATION_NEVER = 0x0200,
+ GL_ENUMERATION_LESS = 0x0201,
+ GL_ENUMERATION_LEQUAL = 0x0203,
+ GL_ENUMERATION_EQUAL = 0x0202,
+ GL_ENUMERATION_GREATER = 0x0204,
+ GL_ENUMERATION_NOTEQUAL = 0x0205,
+ GL_ENUMERATION_GEQUAL = 0x0206,
+ GL_ENUMERATION_ALWAYS = 0x0207,
+ GL_ENUMERATION_KEEP = 0x1E00,
+ GL_ENUMERATION_REPLACE = 0x1E01,
+ GL_ENUMERATION_INCR = 0x1E02,
+ GL_ENUMERATION_DECR = 0x1E03,
+ GL_ENUMERATION_INVERT = 0x150A,
+ GL_ENUMERATION_INCR_WRAP = 0x8507,
+ GL_ENUMERATION_DECR_WRAP = 0x8508,
+ GL_ENUMERATION_EMISSION = 0x1600,
+ GL_ENUMERATION_AMBIENT = 0x1200,
+ GL_ENUMERATION_DIFFUSE = 0x1201,
+ GL_ENUMERATION_SPECULAR = 0x1202,
+ GL_ENUMERATION_AMBIENT_AND_DIFFUSE = 0x1602,
+ GL_ENUMERATION_LINEAR = 0x2601,
+ GL_ENUMERATION_EXP = 0x0800,
+ GL_ENUMERATION_EXP2 = 0x0801,
+ GL_ENUMERATION_FOG_COORDINATE = 0x8451,
+ GL_ENUMERATION_FRAGMENT_DEPTH = 0x8452,
+ GL_ENUMERATION_CW = 0x0900,
+ GL_ENUMERATION_CCW = 0x0901,
+ GL_ENUMERATION_SINGLE_COLOR = 0x81F9,
+ GL_ENUMERATION_SEPARATE_SPECULAR_COLOR = 0x81FA,
+ GL_ENUMERATION_CLEAR = 0x1500,
+ GL_ENUMERATION_AND = 0x1501,
+ GL_ENUMERATION_AND_REVERSE = 0x1502,
+ GL_ENUMERATION_COPY = 0x1503,
+ GL_ENUMERATION_AND_INVERTED = 0x1504,
+ GL_ENUMERATION_NOOP = 0x1505,
+ GL_ENUMERATION_XOR = 0x1506,
+ GL_ENUMERATION_OR = 0x1507,
+ GL_ENUMERATION_NOR = 0x1508,
+ GL_ENUMERATION_EQUIV = 0x1509,
+ GL_ENUMERATION_OR_REVERSE = 0x150B,
+ GL_ENUMERATION_COPY_INVERTED = 0x150C,
+ GL_ENUMERATION_NAND = 0x150E,
+ GL_ENUMERATION_SET = 0x150F,
+ GL_ENUMERATION_POINT = 0x1B00,
+ GL_ENUMERATION_LINE = 0x1B01,
+ GL_ENUMERATION_FILL = 0x1B02,
+ GL_ENUMERATION_FLAT = 0x1D00,
+ GL_ENUMERATION_SMOOTH = 0x1D01,
+ GL_ENUMERATION_COUNT = 72
+};
+
+enum domGles_enumeration {
+ GLES_ENUMERATION_ZERO = 0x0,
+ GLES_ENUMERATION_ONE = 0x1,
+ GLES_ENUMERATION_SRC_COLOR = 0x0300,
+ GLES_ENUMERATION_ONE_MINUS_SRC_COLOR = 0x0301,
+ GLES_ENUMERATION_DEST_COLOR = 0x0306,
+ GLES_ENUMERATION_ONE_MINUS_DEST_COLOR = 0x0307,
+ GLES_ENUMERATION_SRC_ALPHA = 0x0302,
+ GLES_ENUMERATION_ONE_MINUS_SRC_ALPHA = 0x0303,
+ GLES_ENUMERATION_DST_ALPHA = 0x0304,
+ GLES_ENUMERATION_ONE_MINUS_DST_ALPHA = 0x0305,
+ GLES_ENUMERATION_CONSTANT_COLOR = 0x8001,
+ GLES_ENUMERATION_ONE_MINUS_CONSTANT_COLOR = 0x8002,
+ GLES_ENUMERATION_CONSTANT_ALPHA = 0x8003,
+ GLES_ENUMERATION_ONE_MINUS_CONSTANT_ALPHA = 0x8004,
+ GLES_ENUMERATION_SRC_ALPHA_SATURATE = 0x0308,
+ GLES_ENUMERATION_FRONT = 0x0404,
+ GLES_ENUMERATION_BACK = 0x0405,
+ GLES_ENUMERATION_FRONT_AND_BACK = 0x0408,
+ GLES_ENUMERATION_NEVER = 0x0200,
+ GLES_ENUMERATION_LESS = 0x0201,
+ GLES_ENUMERATION_LEQUAL = 0x0203,
+ GLES_ENUMERATION_EQUAL = 0x0202,
+ GLES_ENUMERATION_GREATER = 0x0204,
+ GLES_ENUMERATION_NOTEQUAL = 0x0205,
+ GLES_ENUMERATION_GEQUAL = 0x0206,
+ GLES_ENUMERATION_ALWAYS = 0x0207,
+ GLES_ENUMERATION_KEEP = 0x1E00,
+ GLES_ENUMERATION_REPLACE = 0x1E01,
+ GLES_ENUMERATION_INCR = 0x1E02,
+ GLES_ENUMERATION_DECR = 0x1E03,
+ GLES_ENUMERATION_INVERT = 0x150A,
+ GLES_ENUMERATION_INCR_WRAP = 0x8507,
+ GLES_ENUMERATION_DECR_WRAP = 0x8508,
+ GLES_ENUMERATION_EMISSION = 0x1600,
+ GLES_ENUMERATION_AMBIENT = 0x1200,
+ GLES_ENUMERATION_DIFFUSE = 0x1201,
+ GLES_ENUMERATION_SPECULAR = 0x1202,
+ GLES_ENUMERATION_AMBIENT_AND_DIFFUSE = 0x1602,
+ GLES_ENUMERATION_LINEAR = 0x2601,
+ GLES_ENUMERATION_EXP = 0x0800,
+ GLES_ENUMERATION_EXP2 = 0x0801,
+ GLES_ENUMERATION_CW = 0x0900,
+ GLES_ENUMERATION_CCW = 0x0901,
+ GLES_ENUMERATION_SINGLE_COLOR = 0x81F9,
+ GLES_ENUMERATION_SEPARATE_SPECULAR_COLOR = 0x81FA,
+ GLES_ENUMERATION_CLEAR = 0x1500,
+ GLES_ENUMERATION_AND = 0x1501,
+ GLES_ENUMERATION_AND_REVERSE = 0x1502,
+ GLES_ENUMERATION_COPY = 0x1503,
+ GLES_ENUMERATION_AND_INVERTED = 0x1504,
+ GLES_ENUMERATION_NOOP = 0x1505,
+ GLES_ENUMERATION_XOR = 0x1506,
+ GLES_ENUMERATION_OR = 0x1507,
+ GLES_ENUMERATION_NOR = 0x1508,
+ GLES_ENUMERATION_EQUIV = 0x1509,
+ GLES_ENUMERATION_OR_REVERSE = 0x150B,
+ GLES_ENUMERATION_COPY_INVERTED = 0x150C,
+ GLES_ENUMERATION_NAND = 0x150E,
+ GLES_ENUMERATION_SET = 0x150F,
+ GLES_ENUMERATION_POINT = 0x1B00,
+ GLES_ENUMERATION_LINE = 0x1B01,
+ GLES_ENUMERATION_FILL = 0x1B02,
+ GLES_ENUMERATION_FLAT = 0x1D00,
+ GLES_ENUMERATION_SMOOTH = 0x1D01,
+ GLES_ENUMERATION_COUNT = 65
+};
+
+//Element Type Enum
+namespace COLLADA_TYPE
+{
+typedef int TypeEnum;
+const int
+ NO_TYPE = 0,
+ ANY = 1,
+ INPUTGLOBAL = 2,
+ INPUTLOCAL = 3,
+ INPUTLOCALOFFSET = 4,
+ INSTANCEWITHEXTRA = 5,
+ TARGETABLEFLOAT = 6,
+ TARGETABLEFLOAT3 = 7,
+ FX_SURFACE_FORMAT_HINT_COMMON = 8,
+ CHANNELS = 9,
+ RANGE = 10,
+ PRECISION = 11,
+ OPTION = 12,
+ FX_SURFACE_INIT_PLANAR_COMMON = 13,
+ ALL = 14,
+ FX_SURFACE_INIT_VOLUME_COMMON = 15,
+ PRIMARY = 16,
+ FX_SURFACE_INIT_CUBE_COMMON = 17,
+ ORDER = 18,
+ FACE = 19,
+ FX_SURFACE_INIT_FROM_COMMON = 20,
+ FX_SURFACE_COMMON = 21,
+ FORMAT = 22,
+ SIZE = 23,
+ VIEWPORT_RATIO = 24,
+ MIP_LEVELS = 25,
+ MIPMAP_GENERATE = 26,
+ FX_SAMPLER1D_COMMON = 27,
+ SOURCE = 28,
+ WRAP_S = 29,
+ MINFILTER = 30,
+ MAGFILTER = 31,
+ MIPFILTER = 32,
+ BORDER_COLOR = 33,
+ MIPMAP_MAXLEVEL = 34,
+ MIPMAP_BIAS = 35,
+ FX_SAMPLER2D_COMMON = 36,
+ WRAP_T = 37,
+ FX_SAMPLER3D_COMMON = 38,
+ WRAP_P = 39,
+ FX_SAMPLERCUBE_COMMON = 40,
+ FX_SAMPLERRECT_COMMON = 41,
+ FX_SAMPLERDEPTH_COMMON = 42,
+ FX_COLORTARGET_COMMON = 43,
+ FX_DEPTHTARGET_COMMON = 44,
+ FX_STENCILTARGET_COMMON = 45,
+ FX_CLEARCOLOR_COMMON = 46,
+ FX_CLEARDEPTH_COMMON = 47,
+ FX_CLEARSTENCIL_COMMON = 48,
+ FX_ANNOTATE_COMMON = 49,
+ FX_INCLUDE_COMMON = 50,
+ FX_NEWPARAM_COMMON = 51,
+ SEMANTIC = 52,
+ MODIFIER = 53,
+ FX_CODE_PROFILE = 54,
+ GL_SAMPLER1D = 55,
+ GL_SAMPLER2D = 56,
+ GL_SAMPLER3D = 57,
+ GL_SAMPLERCUBE = 58,
+ GL_SAMPLERRECT = 59,
+ GL_SAMPLERDEPTH = 60,
+ GLSL_NEWARRAY_TYPE = 61,
+ GLSL_SETARRAY_TYPE = 62,
+ GLSL_SURFACE_TYPE = 63,
+ GENERATOR = 64,
+ NAME = 65,
+ GLSL_NEWPARAM = 66,
+ GLSL_SETPARAM_SIMPLE = 67,
+ GLSL_SETPARAM = 68,
+ COMMON_FLOAT_OR_PARAM_TYPE = 69,
+ FLOAT = 70,
+ PARAM = 71,
+ COMMON_COLOR_OR_TEXTURE_TYPE = 72,
+ COLOR = 73,
+ TEXTURE = 74,
+ COMMON_TRANSPARENT_TYPE = 75,
+ COMMON_NEWPARAM_TYPE = 76,
+ FLOAT2 = 77,
+ FLOAT3 = 78,
+ FLOAT4 = 79,
+ CG_SAMPLER1D = 80,
+ CG_SAMPLER2D = 81,
+ CG_SAMPLER3D = 82,
+ CG_SAMPLERCUBE = 83,
+ CG_SAMPLERRECT = 84,
+ CG_SAMPLERDEPTH = 85,
+ CG_CONNECT_PARAM = 86,
+ CG_NEWARRAY_TYPE = 87,
+ CG_SETARRAY_TYPE = 88,
+ CG_SETUSER_TYPE = 89,
+ CG_SURFACE_TYPE = 90,
+ CG_NEWPARAM = 91,
+ CG_SETPARAM_SIMPLE = 92,
+ CG_SETPARAM = 93,
+ GLES_TEXTURE_CONSTANT_TYPE = 94,
+ GLES_TEXENV_COMMAND_TYPE = 95,
+ GLES_TEXCOMBINER_ARGUMENTRGB_TYPE = 96,
+ GLES_TEXCOMBINER_ARGUMENTALPHA_TYPE = 97,
+ GLES_TEXCOMBINER_COMMANDRGB_TYPE = 98,
+ GLES_TEXCOMBINER_COMMANDALPHA_TYPE = 99,
+ GLES_TEXCOMBINER_COMMAND_TYPE = 100,
+ GLES_TEXTURE_PIPELINE = 101,
+ GLES_TEXTURE_UNIT = 102,
+ SURFACE = 103,
+ SAMPLER_STATE = 104,
+ TEXCOORD = 105,
+ GLES_SAMPLER_STATE = 106,
+ GLES_NEWPARAM = 107,
+ FX_SURFACE_INIT_COMMON = 108,
+ INIT_AS_NULL = 109,
+ INIT_AS_TARGET = 110,
+ FX_ANNOTATE_TYPE_COMMON = 111,
+ BOOL = 112,
+ BOOL2 = 113,
+ BOOL3 = 114,
+ BOOL4 = 115,
+ INT = 116,
+ INT2 = 117,
+ INT3 = 118,
+ INT4 = 119,
+ FLOAT2X2 = 120,
+ FLOAT3X3 = 121,
+ FLOAT4X4 = 122,
+ STRING = 123,
+ FX_BASIC_TYPE_COMMON = 124,
+ FLOAT1X1 = 125,
+ FLOAT1X2 = 126,
+ FLOAT1X3 = 127,
+ FLOAT1X4 = 128,
+ FLOAT2X1 = 129,
+ FLOAT2X3 = 130,
+ FLOAT2X4 = 131,
+ FLOAT3X1 = 132,
+ FLOAT3X2 = 133,
+ FLOAT3X4 = 134,
+ FLOAT4X1 = 135,
+ FLOAT4X2 = 136,
+ FLOAT4X3 = 137,
+ ENUM = 138,
+ GL_PIPELINE_SETTINGS = 139,
+ ALPHA_FUNC = 140,
+ FUNC = 141,
+ VALUE = 142,
+ BLEND_FUNC = 143,
+ SRC = 144,
+ DEST = 145,
+ BLEND_FUNC_SEPARATE = 146,
+ SRC_RGB = 147,
+ DEST_RGB = 148,
+ SRC_ALPHA = 149,
+ DEST_ALPHA = 150,
+ BLEND_EQUATION = 151,
+ BLEND_EQUATION_SEPARATE = 152,
+ RGB = 153,
+ ALPHA = 154,
+ COLOR_MATERIAL = 155,
+ MODE = 156,
+ CULL_FACE = 157,
+ DEPTH_FUNC = 158,
+ FOG_MODE = 159,
+ FOG_COORD_SRC = 160,
+ FRONT_FACE = 161,
+ LIGHT_MODEL_COLOR_CONTROL = 162,
+ LOGIC_OP = 163,
+ POLYGON_MODE = 164,
+ SHADE_MODEL = 165,
+ STENCIL_FUNC = 166,
+ REF = 167,
+ MASK = 168,
+ STENCIL_OP = 169,
+ FAIL = 170,
+ ZFAIL = 171,
+ ZPASS = 172,
+ STENCIL_FUNC_SEPARATE = 173,
+ FRONT = 174,
+ BACK = 175,
+ STENCIL_OP_SEPARATE = 176,
+ STENCIL_MASK_SEPARATE = 177,
+ LIGHT_ENABLE = 178,
+ LIGHT_AMBIENT = 179,
+ LIGHT_DIFFUSE = 180,
+ LIGHT_SPECULAR = 181,
+ LIGHT_POSITION = 182,
+ LIGHT_CONSTANT_ATTENUATION = 183,
+ LIGHT_LINEAR_ATTENUATION = 184,
+ LIGHT_QUADRATIC_ATTENUATION = 185,
+ LIGHT_SPOT_CUTOFF = 186,
+ LIGHT_SPOT_DIRECTION = 187,
+ LIGHT_SPOT_EXPONENT = 188,
+ TEXTURE1D = 189,
+ TEXTURE2D = 190,
+ TEXTURE3D = 191,
+ TEXTURECUBE = 192,
+ TEXTURERECT = 193,
+ TEXTUREDEPTH = 194,
+ TEXTURE1D_ENABLE = 195,
+ TEXTURE2D_ENABLE = 196,
+ TEXTURE3D_ENABLE = 197,
+ TEXTURECUBE_ENABLE = 198,
+ TEXTURERECT_ENABLE = 199,
+ TEXTUREDEPTH_ENABLE = 200,
+ TEXTURE_ENV_COLOR = 201,
+ TEXTURE_ENV_MODE = 202,
+ CLIP_PLANE = 203,
+ CLIP_PLANE_ENABLE = 204,
+ BLEND_COLOR = 205,
+ CLEAR_COLOR = 206,
+ CLEAR_STENCIL = 207,
+ CLEAR_DEPTH = 208,
+ COLOR_MASK = 209,
+ DEPTH_BOUNDS = 210,
+ DEPTH_MASK = 211,
+ DEPTH_RANGE = 212,
+ FOG_DENSITY = 213,
+ FOG_START = 214,
+ FOG_END = 215,
+ FOG_COLOR = 216,
+ LIGHT_MODEL_AMBIENT = 217,
+ LIGHTING_ENABLE = 218,
+ LINE_STIPPLE = 219,
+ LINE_WIDTH = 220,
+ MATERIAL_AMBIENT = 221,
+ MATERIAL_DIFFUSE = 222,
+ MATERIAL_EMISSION = 223,
+ MATERIAL_SHININESS = 224,
+ MATERIAL_SPECULAR = 225,
+ MODEL_VIEW_MATRIX = 226,
+ POINT_DISTANCE_ATTENUATION = 227,
+ POINT_FADE_THRESHOLD_SIZE = 228,
+ POINT_SIZE = 229,
+ POINT_SIZE_MIN = 230,
+ POINT_SIZE_MAX = 231,
+ POLYGON_OFFSET = 232,
+ PROJECTION_MATRIX = 233,
+ SCISSOR = 234,
+ STENCIL_MASK = 235,
+ ALPHA_TEST_ENABLE = 236,
+ AUTO_NORMAL_ENABLE = 237,
+ BLEND_ENABLE = 238,
+ COLOR_LOGIC_OP_ENABLE = 239,
+ COLOR_MATERIAL_ENABLE = 240,
+ CULL_FACE_ENABLE = 241,
+ DEPTH_BOUNDS_ENABLE = 242,
+ DEPTH_CLAMP_ENABLE = 243,
+ DEPTH_TEST_ENABLE = 244,
+ DITHER_ENABLE = 245,
+ FOG_ENABLE = 246,
+ LIGHT_MODEL_LOCAL_VIEWER_ENABLE = 247,
+ LIGHT_MODEL_TWO_SIDE_ENABLE = 248,
+ LINE_SMOOTH_ENABLE = 249,
+ LINE_STIPPLE_ENABLE = 250,
+ LOGIC_OP_ENABLE = 251,
+ MULTISAMPLE_ENABLE = 252,
+ NORMALIZE_ENABLE = 253,
+ POINT_SMOOTH_ENABLE = 254,
+ POLYGON_OFFSET_FILL_ENABLE = 255,
+ POLYGON_OFFSET_LINE_ENABLE = 256,
+ POLYGON_OFFSET_POINT_ENABLE = 257,
+ POLYGON_SMOOTH_ENABLE = 258,
+ POLYGON_STIPPLE_ENABLE = 259,
+ RESCALE_NORMAL_ENABLE = 260,
+ SAMPLE_ALPHA_TO_COVERAGE_ENABLE = 261,
+ SAMPLE_ALPHA_TO_ONE_ENABLE = 262,
+ SAMPLE_COVERAGE_ENABLE = 263,
+ SCISSOR_TEST_ENABLE = 264,
+ STENCIL_TEST_ENABLE = 265,
+ GLSL_PARAM_TYPE = 266,
+ CG_PARAM_TYPE = 267,
+ BOOL1 = 268,
+ BOOL1X1 = 269,
+ BOOL1X2 = 270,
+ BOOL1X3 = 271,
+ BOOL1X4 = 272,
+ BOOL2X1 = 273,
+ BOOL2X2 = 274,
+ BOOL2X3 = 275,
+ BOOL2X4 = 276,
+ BOOL3X1 = 277,
+ BOOL3X2 = 278,
+ BOOL3X3 = 279,
+ BOOL3X4 = 280,
+ BOOL4X1 = 281,
+ BOOL4X2 = 282,
+ BOOL4X3 = 283,
+ BOOL4X4 = 284,
+ FLOAT1 = 285,
+ INT1 = 286,
+ INT1X1 = 287,
+ INT1X2 = 288,
+ INT1X3 = 289,
+ INT1X4 = 290,
+ INT2X1 = 291,
+ INT2X2 = 292,
+ INT2X3 = 293,
+ INT2X4 = 294,
+ INT3X1 = 295,
+ INT3X2 = 296,
+ INT3X3 = 297,
+ INT3X4 = 298,
+ INT4X1 = 299,
+ INT4X2 = 300,
+ INT4X3 = 301,
+ INT4X4 = 302,
+ HALF = 303,
+ HALF1 = 304,
+ HALF2 = 305,
+ HALF3 = 306,
+ HALF4 = 307,
+ HALF1X1 = 308,
+ HALF1X2 = 309,
+ HALF1X3 = 310,
+ HALF1X4 = 311,
+ HALF2X1 = 312,
+ HALF2X2 = 313,
+ HALF2X3 = 314,
+ HALF2X4 = 315,
+ HALF3X1 = 316,
+ HALF3X2 = 317,
+ HALF3X3 = 318,
+ HALF3X4 = 319,
+ HALF4X1 = 320,
+ HALF4X2 = 321,
+ HALF4X3 = 322,
+ HALF4X4 = 323,
+ FIXED = 324,
+ FIXED1 = 325,
+ FIXED2 = 326,
+ FIXED3 = 327,
+ FIXED4 = 328,
+ FIXED1X1 = 329,
+ FIXED1X2 = 330,
+ FIXED1X3 = 331,
+ FIXED1X4 = 332,
+ FIXED2X1 = 333,
+ FIXED2X2 = 334,
+ FIXED2X3 = 335,
+ FIXED2X4 = 336,
+ FIXED3X1 = 337,
+ FIXED3X2 = 338,
+ FIXED3X3 = 339,
+ FIXED3X4 = 340,
+ FIXED4X1 = 341,
+ FIXED4X2 = 342,
+ FIXED4X3 = 343,
+ FIXED4X4 = 344,
+ GLES_PIPELINE_SETTINGS = 345,
+ TEXTURE_PIPELINE = 346,
+ LIGHT_LINEAR_ATTENUTATION = 347,
+ TEXTURE_PIPELINE_ENABLE = 348,
+ GLES_BASIC_TYPE_COMMON = 349,
+ COLLADA = 350,
+ SCENE = 351,
+ IDREF_ARRAY = 352,
+ NAME_ARRAY = 353,
+ BOOL_ARRAY = 354,
+ FLOAT_ARRAY = 355,
+ INT_ARRAY = 356,
+ ACCESSOR = 357,
+ TECHNIQUE_COMMON = 358,
+ GEOMETRY = 359,
+ MESH = 360,
+ SPLINE = 361,
+ CONTROL_VERTICES = 362,
+ P = 363,
+ LINES = 364,
+ LINESTRIPS = 365,
+ POLYGONS = 366,
+ PH = 367,
+ H = 368,
+ POLYLIST = 369,
+ VCOUNT = 370,
+ TRIANGLES = 371,
+ TRIFANS = 372,
+ TRISTRIPS = 373,
+ VERTICES = 374,
+ LOOKAT = 375,
+ MATRIX = 376,
+ ROTATE = 377,
+ SCALE = 378,
+ SKEW = 379,
+ TRANSLATE = 380,
+ IMAGE = 381,
+ DATA = 382,
+ INIT_FROM = 383,
+ LIGHT = 384,
+ AMBIENT = 385,
+ DIRECTIONAL = 386,
+ POINT = 387,
+ SPOT = 388,
+ MATERIAL = 389,
+ CAMERA = 390,
+ OPTICS = 391,
+ ORTHOGRAPHIC = 392,
+ PERSPECTIVE = 393,
+ IMAGER = 394,
+ ANIMATION = 395,
+ ANIMATION_CLIP = 396,
+ CHANNEL = 397,
+ SAMPLER = 398,
+ CONTROLLER = 399,
+ SKIN = 400,
+ BIND_SHAPE_MATRIX = 401,
+ JOINTS = 402,
+ VERTEX_WEIGHTS = 403,
+ V = 404,
+ MORPH = 405,
+ TARGETS = 406,
+ ASSET = 407,
+ CONTRIBUTOR = 408,
+ AUTHOR = 409,
+ AUTHORING_TOOL = 410,
+ COMMENTS = 411,
+ COPYRIGHT = 412,
+ SOURCE_DATA = 413,
+ CREATED = 414,
+ KEYWORDS = 415,
+ MODIFIED = 416,
+ REVISION = 417,
+ SUBJECT = 418,
+ TITLE = 419,
+ UNIT = 420,
+ UP_AXIS = 421,
+ EXTRA = 422,
+ TECHNIQUE = 423,
+ NODE = 424,
+ VISUAL_SCENE = 425,
+ EVALUATE_SCENE = 426,
+ RENDER = 427,
+ LAYER = 428,
+ BIND_MATERIAL = 429,
+ INSTANCE_CAMERA = 430,
+ INSTANCE_CONTROLLER = 431,
+ SKELETON = 432,
+ INSTANCE_EFFECT = 433,
+ TECHNIQUE_HINT = 434,
+ SETPARAM = 435,
+ INSTANCE_FORCE_FIELD = 436,
+ INSTANCE_GEOMETRY = 437,
+ INSTANCE_LIGHT = 438,
+ INSTANCE_MATERIAL = 439,
+ BIND = 440,
+ BIND_VERTEX_INPUT = 441,
+ INSTANCE_NODE = 442,
+ INSTANCE_PHYSICS_MATERIAL = 443,
+ INSTANCE_PHYSICS_MODEL = 444,
+ INSTANCE_RIGID_BODY = 445,
+ ANGULAR_VELOCITY = 446,
+ VELOCITY = 447,
+ DYNAMIC = 448,
+ MASS_FRAME = 449,
+ SHAPE = 450,
+ HOLLOW = 451,
+ INSTANCE_RIGID_CONSTRAINT = 452,
+ LIBRARY_ANIMATIONS = 453,
+ LIBRARY_ANIMATION_CLIPS = 454,
+ LIBRARY_CAMERAS = 455,
+ LIBRARY_CONTROLLERS = 456,
+ LIBRARY_GEOMETRIES = 457,
+ LIBRARY_EFFECTS = 458,
+ LIBRARY_FORCE_FIELDS = 459,
+ LIBRARY_IMAGES = 460,
+ LIBRARY_LIGHTS = 461,
+ LIBRARY_MATERIALS = 462,
+ LIBRARY_NODES = 463,
+ LIBRARY_PHYSICS_MATERIALS = 464,
+ LIBRARY_PHYSICS_MODELS = 465,
+ LIBRARY_PHYSICS_SCENES = 466,
+ LIBRARY_VISUAL_SCENES = 467,
+ FX_PROFILE_ABSTRACT = 468,
+ EFFECT = 469,
+ GL_HOOK_ABSTRACT = 470,
+ PROFILE_GLSL = 471,
+ PASS = 472,
+ DRAW = 473,
+ SHADER = 474,
+ COMPILER_TARGET = 475,
+ COMPILER_OPTIONS = 476,
+ PROFILE_COMMON = 477,
+ CONSTANT = 478,
+ LAMBERT = 479,
+ PHONG = 480,
+ BLINN = 481,
+ PROFILE_CG = 482,
+ PROFILE_GLES = 483,
+ COLOR_TARGET = 484,
+ DEPTH_TARGET = 485,
+ STENCIL_TARGET = 486,
+ COLOR_CLEAR = 487,
+ DEPTH_CLEAR = 488,
+ STENCIL_CLEAR = 489,
+ BOX = 490,
+ HALF_EXTENTS = 491,
+ PLANE = 492,
+ EQUATION = 493,
+ SPHERE = 494,
+ RADIUS = 495,
+ ELLIPSOID = 496,
+ CYLINDER = 497,
+ HEIGHT = 498,
+ TAPERED_CYLINDER = 499,
+ RADIUS1 = 500,
+ RADIUS2 = 501,
+ CAPSULE = 502,
+ TAPERED_CAPSULE = 503,
+ CONVEX_MESH = 504,
+ FORCE_FIELD = 505,
+ PHYSICS_MATERIAL = 506,
+ PHYSICS_SCENE = 507,
+ RIGID_BODY = 508,
+ RIGID_CONSTRAINT = 509,
+ REF_ATTACHMENT = 510,
+ ATTACHMENT = 511,
+ ENABLED = 512,
+ INTERPENETRATE = 513,
+ LIMITS = 514,
+ SWING_CONE_AND_TWIST = 515,
+ LINEAR = 516,
+ SPRING = 517,
+ ANGULAR = 518,
+ PHYSICS_MODEL = 519;
+}
+
+// Returns the total number of schema types/dom* classes
+daeInt DLLSPEC colladaTypeCount();
+
+} // ColladaDOM141
+
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domVertices.h b/1.4.0/dom/include/1.4/dom/domVertices.h
new file mode 100644
index 0000000..d84ccd9
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domVertices.h
@@ -0,0 +1,132 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Vertices_h__
+#define __dom141Vertices_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domExtra.h>
+#include <1.4/dom/domInputLocal.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The vertices element declares the attributes and identity of mesh-vertices.
+ * The vertices element describes mesh-vertices in a mesh geometry. The mesh-vertices
+ * represent the position (identity) of the vertices comprising the mesh
+ * and other vertex attributes that are invariant to tessellation.
+ */
+class domVertices : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::VERTICES; }
+ static daeInt ID() { return 628; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Required attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+
+protected: // Elements
+/**
+ * The input element must occur at least one time. These inputs are local
+ * inputs. @see domInput
+ */
+ domInputLocal_Array elemInput_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the input element array.
+ * @return Returns a reference to the array of input elements.
+ */
+ domInputLocal_Array &getInput_array() { return elemInput_array; }
+ /**
+ * Gets the input element array.
+ * @return Returns a constant reference to the array of input elements.
+ */
+ const domInputLocal_Array &getInput_array() const { return elemInput_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domVertices(DAE& dae) : daeElement(dae), attrId(), attrName(), elemInput_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domVertices() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domVertices &operator=( const domVertices &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.4/dom/domVisual_scene.h b/1.4.0/dom/include/1.4/dom/domVisual_scene.h
new file mode 100644
index 0000000..116f83b
--- /dev/null
+++ b/1.4.0/dom/include/1.4/dom/domVisual_scene.h
@@ -0,0 +1,405 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __dom141Visual_scene_h__
+#define __dom141Visual_scene_h__
+
+#include <dae/daeDocument.h>
+#include <1.4/dom/domTypes.h>
+#include <1.4/dom/domElements.h>
+
+#include <1.4/dom/domAsset.h>
+#include <1.4/dom/domNode.h>
+#include <1.4/dom/domExtra.h>
+#include <1.4/dom/domInstance_effect.h>
+
+class DAE;
+namespace ColladaDOM141 {
+
+/**
+ * The visual_scene element declares the base of the visual_scene hierarchy
+ * or scene graph. The scene contains elements that comprise much of the
+ * visual and transformational information content as created by the authoring
+ * tools.
+ */
+class domVisual_scene : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::VISUAL_SCENE; }
+ static daeInt ID() { return 682; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domEvaluate_scene;
+
+ typedef daeSmartRef<domEvaluate_scene> domEvaluate_sceneRef;
+ typedef daeTArray<domEvaluate_sceneRef> domEvaluate_scene_Array;
+
+/**
+ * The evaluate_scene element declares information specifying a specific way
+ * to evaluate this visual_scene. There may be any number of evaluate_scene
+ * elements.
+ */
+ class domEvaluate_scene : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::EVALUATE_SCENE; }
+ static daeInt ID() { return 683; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domRender;
+
+ typedef daeSmartRef<domRender> domRenderRef;
+ typedef daeTArray<domRenderRef> domRender_Array;
+
+/**
+ * The render element describes one effect pass to evaluate the scene. There
+ * must be at least one render element.
+ */
+ class domRender : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::RENDER; }
+ static daeInt ID() { return 684; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domLayer;
+
+ typedef daeSmartRef<domLayer> domLayerRef;
+ typedef daeTArray<domLayerRef> domLayer_Array;
+
+/**
+ * The layer element specifies which layer to render in this compositing step
+ * while evaluating the scene. You may specify any number of layers.
+ */
+ class domLayer : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LAYER; }
+ static daeInt ID() { return 685; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Value
+ /**
+ * The xsNCName value of the text data of this element.
+ */
+ xsNCName _value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsNCName of the value.
+ */
+ xsNCName getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLayer(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLayer() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLayer &operator=( const domLayer &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+ protected: // Attribute
+/**
+ * The camera_node attribute refers to a node that contains a camera describing
+ * the viewpoint to render this compositing step from.
+ */
+ xsAnyURI attrCamera_node;
+
+ protected: // Elements
+/**
+ * The layer element specifies which layer to render in this compositing step
+ * while evaluating the scene. You may specify any number of layers. @see
+ * domLayer
+ */
+ domLayer_Array elemLayer_array;
+/**
+ * The instance_effect element specifies which effect to render in this compositing
+ * step while evaluating the scene. @see domInstance_effect
+ */
+ domInstance_effectRef elemInstance_effect;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the camera_node attribute.
+ * @return Returns a xsAnyURI reference of the camera_node attribute.
+ */
+ xsAnyURI &getCamera_node() { return attrCamera_node; }
+ /**
+ * Gets the camera_node attribute.
+ * @return Returns a constant xsAnyURI reference of the camera_node attribute.
+ */
+ const xsAnyURI &getCamera_node() const { return attrCamera_node; }
+ /**
+ * Sets the camera_node attribute.
+ * @param atCamera_node The new value for the camera_node attribute.
+ */
+ void setCamera_node( const xsAnyURI &atCamera_node ) { attrCamera_node = atCamera_node; _validAttributeArray[0] = true; }
+ /**
+ * Sets the camera_node attribute.
+ * @param atCamera_node The new value for the camera_node attribute.
+ */
+ void setCamera_node( xsString atCamera_node ) { attrCamera_node = atCamera_node; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the layer element array.
+ * @return Returns a reference to the array of layer elements.
+ */
+ domLayer_Array &getLayer_array() { return elemLayer_array; }
+ /**
+ * Gets the layer element array.
+ * @return Returns a constant reference to the array of layer elements.
+ */
+ const domLayer_Array &getLayer_array() const { return elemLayer_array; }
+ /**
+ * Gets the instance_effect element.
+ * @return a daeSmartRef to the instance_effect element.
+ */
+ const domInstance_effectRef getInstance_effect() const { return elemInstance_effect; }
+ protected:
+ /**
+ * Constructor
+ */
+ domRender(DAE& dae) : daeElement(dae), attrCamera_node(dae, *this), elemLayer_array(), elemInstance_effect() {}
+ /**
+ * Destructor
+ */
+ virtual ~domRender() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRender &operator=( const domRender &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+ protected: // Attribute
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+
+ protected: // Element
+/**
+ * The render element describes one effect pass to evaluate the scene. There
+ * must be at least one render element. @see domRender
+ */
+ domRender_Array elemRender_array;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the render element array.
+ * @return Returns a reference to the array of render elements.
+ */
+ domRender_Array &getRender_array() { return elemRender_array; }
+ /**
+ * Gets the render element array.
+ * @return Returns a constant reference to the array of render elements.
+ */
+ const domRender_Array &getRender_array() const { return elemRender_array; }
+ protected:
+ /**
+ * Constructor
+ */
+ domEvaluate_scene(DAE& dae) : daeElement(dae), attrName(), elemRender_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domEvaluate_scene() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domEvaluate_scene &operator=( const domEvaluate_scene &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsNCName attrName;
+
+protected: // Elements
+/**
+ * The visual_scene element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * The visual_scene element must have at least one node element. @see domNode
+ */
+ domNode_Array elemNode_array;
+/**
+ * The evaluate_scene element declares information specifying a specific way
+ * to evaluate this visual_scene. There may be any number of evaluate_scene
+ * elements. @see domEvaluate_scene
+ */
+ domEvaluate_scene_Array elemEvaluate_scene_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNCName of the name attribute.
+ */
+ xsNCName getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the node element array.
+ * @return Returns a reference to the array of node elements.
+ */
+ domNode_Array &getNode_array() { return elemNode_array; }
+ /**
+ * Gets the node element array.
+ * @return Returns a constant reference to the array of node elements.
+ */
+ const domNode_Array &getNode_array() const { return elemNode_array; }
+ /**
+ * Gets the evaluate_scene element array.
+ * @return Returns a reference to the array of evaluate_scene elements.
+ */
+ domEvaluate_scene_Array &getEvaluate_scene_array() { return elemEvaluate_scene_array; }
+ /**
+ * Gets the evaluate_scene element array.
+ * @return Returns a constant reference to the array of evaluate_scene elements.
+ */
+ const domEvaluate_scene_Array &getEvaluate_scene_array() const { return elemEvaluate_scene_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domVisual_scene(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemNode_array(), elemEvaluate_scene_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domVisual_scene() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domVisual_scene &operator=( const domVisual_scene &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM141
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domAccessor.h b/1.4.0/dom/include/1.5/dom/domAccessor.h
new file mode 100644
index 0000000..9923140
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domAccessor.h
@@ -0,0 +1,150 @@
+#ifndef __dom150Accessor_h__
+#define __dom150Accessor_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domParam.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The accessor element declares an access pattern to one of the array elements:
+ * float_array, int_array, Name_array, bool_array, token_array, and IDREF_array.
+ * The accessor element describes access to arrays that are organized in
+ * either an interleaved or non-interleaved manner, depending on the offset
+ * and stride attributes.
+ */
+class domAccessor : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ACCESSOR; }
+ static daeInt ID() { return 12; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The count attribute indicates the number of times the array is accessed.
+ * Required attribute.
+ */
+ domUint attrCount;
+/**
+ * The offset attribute indicates the index of the first value to be read
+ * from the array. The default value is 0. Optional attribute.
+ */
+ domUint attrOffset;
+/**
+ * The source attribute indicates the location of the array to access using
+ * a URL expression. Required attribute.
+ */
+ xsAnyURI attrSource;
+/**
+ * The stride attribute indicates number of values to be considered a unit
+ * during each access to the array. The default value is 1, indicating that
+ * a single value is accessed. Optional attribute.
+ */
+ domUint attrStride;
+
+protected: // Element
+/**
+ * The accessor element may have any number of param elements. @see domParam
+ */
+ domParam_Array elemParam_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the count attribute.
+ * @return Returns a domUint of the count attribute.
+ */
+ domUint getCount() const { return attrCount; }
+ /**
+ * Sets the count attribute.
+ * @param atCount The new value for the count attribute.
+ */
+ void setCount( domUint atCount ) { attrCount = atCount; }
+
+ /**
+ * Gets the offset attribute.
+ * @return Returns a domUint of the offset attribute.
+ */
+ domUint getOffset() const { return attrOffset; }
+ /**
+ * Sets the offset attribute.
+ * @param atOffset The new value for the offset attribute.
+ */
+ void setOffset( domUint atOffset ) { attrOffset = atOffset; }
+
+ /**
+ * Gets the source attribute.
+ * @return Returns a xsAnyURI reference of the source attribute.
+ */
+ xsAnyURI &getSource() { return attrSource; }
+ /**
+ * Gets the source attribute.
+ * @return Returns a constant xsAnyURI reference of the source attribute.
+ */
+ const xsAnyURI &getSource() const { return attrSource; }
+ /**
+ * Sets the source attribute.
+ * @param atSource The new value for the source attribute.
+ */
+ void setSource( const xsAnyURI &atSource ) { attrSource = atSource; }
+ /**
+ * Sets the source attribute.
+ * @param atSource The new value for the source attribute.
+ */
+ void setSource( xsString atSource ) { attrSource = atSource; }
+
+ /**
+ * Gets the stride attribute.
+ * @return Returns a domUint of the stride attribute.
+ */
+ domUint getStride() const { return attrStride; }
+ /**
+ * Sets the stride attribute.
+ * @param atStride The new value for the stride attribute.
+ */
+ void setStride( domUint atStride ) { attrStride = atStride; }
+
+ /**
+ * Gets the param element array.
+ * @return Returns a reference to the array of param elements.
+ */
+ domParam_Array &getParam_array() { return elemParam_array; }
+ /**
+ * Gets the param element array.
+ * @return Returns a constant reference to the array of param elements.
+ */
+ const domParam_Array &getParam_array() const { return elemParam_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domAccessor(DAE& dae) : daeElement(dae), attrCount(), attrOffset(), attrSource(dae, *this), attrStride(), elemParam_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domAccessor() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAccessor &operator=( const domAccessor &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domAnimation.h b/1.4.0/dom/include/1.5/dom/domAnimation.h
new file mode 100644
index 0000000..b857c9d
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domAnimation.h
@@ -0,0 +1,206 @@
+#ifndef __dom150Animation_h__
+#define __dom150Animation_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domSource.h>
+#include <1.5/dom/domSampler.h>
+#include <1.5/dom/domChannel.h>
+#include <1.5/dom/domAnimation.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The animation element categorizes the declaration of animation information.
+ * The animation hierarchy contains elements that describe the animation's
+ * key-frame data and sampler functions, ordered in such a way to group together
+ * animations that should be executed together.
+ */
+class domAnimation : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ANIMATION; }
+ static daeInt ID() { return 327; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+
+protected: // Elements
+/**
+ * The animation element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * The animation element may contain any number of source elements. @see domSource
+ */
+ domSource_Array elemSource_array;
+/**
+ * The animation element may contain any number of sampler elements. @see
+ * domSampler
+ */
+ domSampler_Array elemSampler_array;
+/**
+ * The animation element may contain any number of channel elements. @see
+ * domChannel
+ */
+ domChannel_Array elemChannel_array;
+/**
+ * The animation may be hierarchical and may contain any number of other animation
+ * elements. @see domAnimation
+ */
+ domAnimation_Array elemAnimation_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the source element array.
+ * @return Returns a reference to the array of source elements.
+ */
+ domSource_Array &getSource_array() { return elemSource_array; }
+ /**
+ * Gets the source element array.
+ * @return Returns a constant reference to the array of source elements.
+ */
+ const domSource_Array &getSource_array() const { return elemSource_array; }
+ /**
+ * Gets the sampler element array.
+ * @return Returns a reference to the array of sampler elements.
+ */
+ domSampler_Array &getSampler_array() { return elemSampler_array; }
+ /**
+ * Gets the sampler element array.
+ * @return Returns a constant reference to the array of sampler elements.
+ */
+ const domSampler_Array &getSampler_array() const { return elemSampler_array; }
+ /**
+ * Gets the channel element array.
+ * @return Returns a reference to the array of channel elements.
+ */
+ domChannel_Array &getChannel_array() { return elemChannel_array; }
+ /**
+ * Gets the channel element array.
+ * @return Returns a constant reference to the array of channel elements.
+ */
+ const domChannel_Array &getChannel_array() const { return elemChannel_array; }
+ /**
+ * Gets the animation element array.
+ * @return Returns a reference to the array of animation elements.
+ */
+ domAnimation_Array &getAnimation_array() { return elemAnimation_array; }
+ /**
+ * Gets the animation element array.
+ * @return Returns a constant reference to the array of animation elements.
+ */
+ const domAnimation_Array &getAnimation_array() const { return elemAnimation_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domAnimation(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemSource_array(), elemSampler_array(), elemChannel_array(), elemAnimation_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domAnimation() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAnimation &operator=( const domAnimation &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domAnimation_clip.h b/1.4.0/dom/include/1.5/dom/domAnimation_clip.h
new file mode 100644
index 0000000..efef822
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domAnimation_clip.h
@@ -0,0 +1,181 @@
+#ifndef __dom150Animation_clip_h__
+#define __dom150Animation_clip_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domInstance_with_extra.h>
+#include <1.5/dom/domInstance_formula.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The animation_clip element defines a section of the animation curves to
+ * be used together as an animation clip.
+ */
+class domAnimation_clip : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ANIMATION_CLIP; }
+ static daeInt ID() { return 476; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+/**
+ * The start attribute is the time in seconds of the beginning of the clip.
+ * This time is the same as that used in the key-frame data and is used to
+ * determine which set of key-frames will be included in the clip. The start
+ * time does not specify when the clip will be played. If the time falls
+ * between two keyframes of a referenced animation, an interpolated value
+ * should be used. The default value is 0.0. Optional attribute.
+ */
+ domFloat attrStart;
+/**
+ * The end attribute is the time in seconds of the end of the clip. This
+ * is used in the same way as the start time. If end is not specified, the
+ * value is taken to be the end time of the longest animation. Optional
+ * attribute.
+ */
+ domFloat attrEnd;
+
+protected: // Elements
+/**
+ * The animation_clip element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * The animation_clip must instance at least one animation element. @see domInstance_animation
+ */
+ domInstance_with_extra_Array elemInstance_animation_array;
+ domInstance_formula_Array elemInstance_formula_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the start attribute.
+ * @return Returns a domFloat of the start attribute.
+ */
+ domFloat getStart() const { return attrStart; }
+ /**
+ * Sets the start attribute.
+ * @param atStart The new value for the start attribute.
+ */
+ void setStart( domFloat atStart ) { attrStart = atStart; }
+
+ /**
+ * Gets the end attribute.
+ * @return Returns a domFloat of the end attribute.
+ */
+ domFloat getEnd() const { return attrEnd; }
+ /**
+ * Sets the end attribute.
+ * @param atEnd The new value for the end attribute.
+ */
+ void setEnd( domFloat atEnd ) { attrEnd = atEnd; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the instance_animation element array.
+ * @return Returns a reference to the array of instance_animation elements.
+ */
+ domInstance_with_extra_Array &getInstance_animation_array() { return elemInstance_animation_array; }
+ /**
+ * Gets the instance_animation element array.
+ * @return Returns a constant reference to the array of instance_animation elements.
+ */
+ const domInstance_with_extra_Array &getInstance_animation_array() const { return elemInstance_animation_array; }
+ /**
+ * Gets the instance_formula element array.
+ * @return Returns a reference to the array of instance_formula elements.
+ */
+ domInstance_formula_Array &getInstance_formula_array() { return elemInstance_formula_array; }
+ /**
+ * Gets the instance_formula element array.
+ * @return Returns a constant reference to the array of instance_formula elements.
+ */
+ const domInstance_formula_Array &getInstance_formula_array() const { return elemInstance_formula_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domAnimation_clip(DAE& dae) : daeElement(dae), attrId(), attrName(), attrStart(), attrEnd(), elemAsset(), elemInstance_animation_array(), elemInstance_formula_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domAnimation_clip() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAnimation_clip &operator=( const domAnimation_clip &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domAny.h b/1.4.0/dom/include/1.5/dom/domAny.h
new file mode 100644
index 0000000..7afead0
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domAny.h
@@ -0,0 +1,171 @@
+/*
+ * Copyright 2006 Sony Computer Entertainment Inc.
+ *
+ * Licensed under the MIT Open Source License, for details please see license.txt or the website
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ */
+#ifndef __dom150Any_h__
+#define __dom150Any_h__
+
+#include <dae/daeElement.h>
+#include <dae/daeMetaElement.h>
+#include <dae/daeArray.h>
+#include <dae/daeURI.h>
+#include <dae/daeIDRef.h>
+#include <1.5/dom/domTypes.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The domAny class allows for weakly typed xml elements. This class is used anywhere in the
+ * COLLADA schema where an xs:any element appears. The content and type information for a domAny
+ * object is generated at runtime.
+ */
+class domAny : public daeElement
+{
+ friend class domAnyAttribute;
+protected: // Attribute
+ /**
+ * The array of daeStrings to hold attribute data for this element.
+ */
+ daeTArray<daeString> attrs;
+ /**
+ * The domString value of the text data of this element.
+ */
+ daeString _value;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+public:
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() {
+ return _contents;
+ }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const {
+ return _contents;
+ }
+
+ /**
+ * Gets the number of attributes this element has.
+ * @return Returns the number of attributes on this element.
+ */
+ daeUInt getAttributeCount() const {
+ return (daeUInt)_meta->getMetaAttributes().getCount();
+ }
+ /**
+ * Gets an attribute's name.
+ * @param index The index into the attribute list.
+ * @return Returns the attribute's name.
+ */
+ daeString getAttributeName( daeUInt index ) const {
+ return _meta->getMetaAttributes()[index]->getName();
+ }
+ /**
+ * Gets an attribute's value.
+ * @param index The index into the attribute list.
+ * @return Returns the attribute's value as a string.
+ */
+ daeString getAttributeValue( daeUInt index ) const {
+ return attrs[ index ];
+ }
+ /**
+ * Gets the value of this element.
+ * @return Returns a daeString of the value.
+ */
+ daeString getValue() const {
+ return _value;
+ }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( daeString val ) {
+ *(daeStringRef*)&_value = val;
+ }
+
+ /**
+ * Gets the element type.
+ * @return Returns the COLLADA_TYPE::TypeEnum value corresponding to this element's type.
+ */
+ virtual COLLADA_TYPE::TypeEnum getElementType() const {
+ return COLLADA_TYPE::ANY;
+ }
+
+ static daeInt ID() {
+ return colladaTypeCount()-1;
+ }
+ virtual daeInt typeID() const {
+ return colladaTypeCount()-1;
+ }
+
+protected:
+ /**
+ * Constructor
+ */
+ domAny() : _value() {
+ }
+ /**
+ * Destructor
+ */
+ virtual ~domAny();
+ /**
+ * Copy Constructor
+ */
+ domAny( const domAny &cpy ) : daeElement() {
+ (void)cpy;
+ }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAny &operator=( const domAny &cpy ) {
+ (void)cpy; return *this;
+ }
+
+public: //METHODS
+ /**
+ * Override of the Base class method. Creates and registers an attribute field with its meta
+ * and assigns its value as the <tt><i> attrValue </i></tt> String.
+ * @param attrName Attribute to set.
+ * @param attrValue String-based value to apply to the attribute.
+ * @return Returns true if the attribute was created and the value was set, false otherwise.
+ */
+ virtual DLLSPEC daeBool setAttribute(daeString attrName, daeString attrValue);
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * @return A daeMetaElement describing this COLLADA element.
+ * @remarks Unlike other dom* elements, domAny will always create a new daeMetaElement when this
+ * function is called.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+
+};
+
+typedef daeSmartRef<domAny> domAnyRef;
+typedef daeTArray<domAnyRef> domAny_Array;
+
+} // ColladaDOM150
+
+#endif
+
diff --git a/1.4.0/dom/include/1.5/dom/domArticulated_system.h b/1.4.0/dom/include/1.5/dom/domArticulated_system.h
new file mode 100644
index 0000000..40e1d3e
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domArticulated_system.h
@@ -0,0 +1,137 @@
+#ifndef __dom150Articulated_system_h__
+#define __dom150Articulated_system_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domKinematics.h>
+#include <1.5/dom/domMotion.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domArticulated_system : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ARTICULATED_SYSTEM; }
+ static daeInt ID() { return 485; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+ xsID attrId;
+ xsToken attrName;
+
+protected: // Elements
+ domAssetRef elemAsset;
+ domKinematicsRef elemKinematics;
+ domMotionRef elemMotion;
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the kinematics element.
+ * @return a daeSmartRef to the kinematics element.
+ */
+ const domKinematicsRef getKinematics() const { return elemKinematics; }
+ /**
+ * Gets the motion element.
+ * @return a daeSmartRef to the motion element.
+ */
+ const domMotionRef getMotion() const { return elemMotion; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domArticulated_system(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemKinematics(), elemMotion(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domArticulated_system() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domArticulated_system &operator=( const domArticulated_system &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domAsset.h b/1.4.0/dom/include/1.5/dom/domAsset.h
new file mode 100644
index 0000000..5336d56
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domAsset.h
@@ -0,0 +1,1589 @@
+#ifndef __dom150Asset_h__
+#define __dom150Asset_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The asset element defines asset management information regarding its parent
+ * element.
+ */
+class domAsset : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ASSET; }
+ static daeInt ID() { return 38; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domContributor;
+
+ typedef daeSmartRef<domContributor> domContributorRef;
+ typedef daeTArray<domContributorRef> domContributor_Array;
+
+/**
+ * The contributor element defines authoring information for asset management
+ */
+ class domContributor : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CONTRIBUTOR; }
+ static daeInt ID() { return 39; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domAuthor;
+
+ typedef daeSmartRef<domAuthor> domAuthorRef;
+ typedef daeTArray<domAuthorRef> domAuthor_Array;
+
+/**
+ * The author element contains a string with the author's name. There may
+ * be only one author element.
+ */
+ class domAuthor : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::AUTHOR; }
+ static daeInt ID() { return 40; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsString of the value.
+ */
+ xsString getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsString val ) { *(daeStringRef*)&_value = val; }
+
+ protected: // Value
+ /**
+ * The xsString value of the text data of this element.
+ */
+ xsString _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domAuthor(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domAuthor() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAuthor &operator=( const domAuthor &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domAuthor_email;
+
+ typedef daeSmartRef<domAuthor_email> domAuthor_emailRef;
+ typedef daeTArray<domAuthor_emailRef> domAuthor_email_Array;
+
+/**
+ * Contains a string with author's email address. String that compliant with
+ * RFC 2822 section 3.4. This element has no attributes. There may be only
+ * one author email address.
+ */
+ class domAuthor_email : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::AUTHOR_EMAIL; }
+ static daeInt ID() { return 41; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsString of the value.
+ */
+ xsString getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsString val ) { *(daeStringRef*)&_value = val; }
+
+ protected: // Value
+ /**
+ * The xsString value of the text data of this element.
+ */
+ xsString _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domAuthor_email(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domAuthor_email() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAuthor_email &operator=( const domAuthor_email &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domAuthor_website;
+
+ typedef daeSmartRef<domAuthor_website> domAuthor_websiteRef;
+ typedef daeTArray<domAuthor_websiteRef> domAuthor_website_Array;
+
+/**
+ * Contains a URI reference (xs:anyURI) to author's website. This element
+ * has no attributes. There may be only one author website.
+ */
+ class domAuthor_website : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::AUTHOR_WEBSITE; }
+ static daeInt ID() { return 42; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsAnyURI of the value.
+ */
+ xsAnyURI &getValue() { return _value; }
+ /**
+ * Gets the value of this element.
+ * @return Returns a constant xsAnyURI of the value.
+ */
+ const xsAnyURI &getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const xsAnyURI &val ) { _value = val; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsString val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The xsAnyURI value of the text data of this element.
+ */
+ xsAnyURI _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domAuthor_website(DAE& dae) : daeElement(dae), _value(dae, *this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domAuthor_website() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAuthor_website &operator=( const domAuthor_website &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domAuthoring_tool;
+
+ typedef daeSmartRef<domAuthoring_tool> domAuthoring_toolRef;
+ typedef daeTArray<domAuthoring_toolRef> domAuthoring_tool_Array;
+
+/**
+ * The authoring_tool element contains a string with the authoring tool's
+ * name. There may be only one authoring_tool element.
+ */
+ class domAuthoring_tool : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::AUTHORING_TOOL; }
+ static daeInt ID() { return 43; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsString of the value.
+ */
+ xsString getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsString val ) { *(daeStringRef*)&_value = val; }
+
+ protected: // Value
+ /**
+ * The xsString value of the text data of this element.
+ */
+ xsString _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domAuthoring_tool(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domAuthoring_tool() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAuthoring_tool &operator=( const domAuthoring_tool &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domComments;
+
+ typedef daeSmartRef<domComments> domCommentsRef;
+ typedef daeTArray<domCommentsRef> domComments_Array;
+
+/**
+ * The comments element contains a string with comments from this contributor.
+ * There may be only one comments element.
+ */
+ class domComments : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COMMENTS; }
+ static daeInt ID() { return 44; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsString of the value.
+ */
+ xsString getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsString val ) { *(daeStringRef*)&_value = val; }
+
+ protected: // Value
+ /**
+ * The xsString value of the text data of this element.
+ */
+ xsString _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domComments(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domComments() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domComments &operator=( const domComments &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domCopyright;
+
+ typedef daeSmartRef<domCopyright> domCopyrightRef;
+ typedef daeTArray<domCopyrightRef> domCopyright_Array;
+
+/**
+ * The copyright element contains a string with copyright information. There
+ * may be only one copyright element.
+ */
+ class domCopyright : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COPYRIGHT; }
+ static daeInt ID() { return 45; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsString of the value.
+ */
+ xsString getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsString val ) { *(daeStringRef*)&_value = val; }
+
+ protected: // Value
+ /**
+ * The xsString value of the text data of this element.
+ */
+ xsString _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domCopyright(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCopyright() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCopyright &operator=( const domCopyright &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domSource_data;
+
+ typedef daeSmartRef<domSource_data> domSource_dataRef;
+ typedef daeTArray<domSource_dataRef> domSource_data_Array;
+
+/**
+ * The source_data element contains a URI reference to the source data used
+ * for this asset. There may be only one source_data element.
+ */
+ class domSource_data : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SOURCE_DATA; }
+ static daeInt ID() { return 46; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsAnyURI of the value.
+ */
+ xsAnyURI &getValue() { return _value; }
+ /**
+ * Gets the value of this element.
+ * @return Returns a constant xsAnyURI of the value.
+ */
+ const xsAnyURI &getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const xsAnyURI &val ) { _value = val; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsString val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The xsAnyURI value of the text data of this element.
+ */
+ xsAnyURI _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domSource_data(DAE& dae) : daeElement(dae), _value(dae, *this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domSource_data() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSource_data &operator=( const domSource_data &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+/**
+ * The author element contains a string with the author's name. There may
+ * be only one author element. @see domAuthor
+ */
+ domAuthorRef elemAuthor;
+/**
+ * Contains a string with author's email address. String that compliant with
+ * RFC 2822 section 3.4. This element has no attributes. There may be only
+ * one author email address. @see domAuthor_email
+ */
+ domAuthor_emailRef elemAuthor_email;
+/**
+ * Contains a URI reference (xs:anyURI) to author's website. This element
+ * has no attributes. There may be only one author website. @see domAuthor_website
+ */
+ domAuthor_websiteRef elemAuthor_website;
+/**
+ * The authoring_tool element contains a string with the authoring tool's
+ * name. There may be only one authoring_tool element. @see domAuthoring_tool
+ */
+ domAuthoring_toolRef elemAuthoring_tool;
+/**
+ * The comments element contains a string with comments from this contributor.
+ * There may be only one comments element. @see domComments
+ */
+ domCommentsRef elemComments;
+/**
+ * The copyright element contains a string with copyright information. There
+ * may be only one copyright element. @see domCopyright
+ */
+ domCopyrightRef elemCopyright;
+/**
+ * The source_data element contains a URI reference to the source data used
+ * for this asset. There may be only one source_data element. @see domSource_data
+ */
+ domSource_dataRef elemSource_data;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the author element.
+ * @return a daeSmartRef to the author element.
+ */
+ const domAuthorRef getAuthor() const { return elemAuthor; }
+ /**
+ * Gets the author_email element.
+ * @return a daeSmartRef to the author_email element.
+ */
+ const domAuthor_emailRef getAuthor_email() const { return elemAuthor_email; }
+ /**
+ * Gets the author_website element.
+ * @return a daeSmartRef to the author_website element.
+ */
+ const domAuthor_websiteRef getAuthor_website() const { return elemAuthor_website; }
+ /**
+ * Gets the authoring_tool element.
+ * @return a daeSmartRef to the authoring_tool element.
+ */
+ const domAuthoring_toolRef getAuthoring_tool() const { return elemAuthoring_tool; }
+ /**
+ * Gets the comments element.
+ * @return a daeSmartRef to the comments element.
+ */
+ const domCommentsRef getComments() const { return elemComments; }
+ /**
+ * Gets the copyright element.
+ * @return a daeSmartRef to the copyright element.
+ */
+ const domCopyrightRef getCopyright() const { return elemCopyright; }
+ /**
+ * Gets the source_data element.
+ * @return a daeSmartRef to the source_data element.
+ */
+ const domSource_dataRef getSource_data() const { return elemSource_data; }
+ protected:
+ /**
+ * Constructor
+ */
+ domContributor(DAE& dae) : daeElement(dae), elemAuthor(), elemAuthor_email(), elemAuthor_website(), elemAuthoring_tool(), elemComments(), elemCopyright(), elemSource_data() {}
+ /**
+ * Destructor
+ */
+ virtual ~domContributor() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domContributor &operator=( const domContributor &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domCoverage;
+
+ typedef daeSmartRef<domCoverage> domCoverageRef;
+ typedef daeTArray<domCoverageRef> domCoverage_Array;
+
+ class domCoverage : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COVERAGE; }
+ static daeInt ID() { return 47; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domGeographic_location;
+
+ typedef daeSmartRef<domGeographic_location> domGeographic_locationRef;
+ typedef daeTArray<domGeographic_locationRef> domGeographic_location_Array;
+
+/**
+ * Specifies the location of the asset using the WGS84 coordinate system.
+ */
+ class domGeographic_location : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GEOGRAPHIC_LOCATION; }
+ static daeInt ID() { return 48; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domLongitude;
+
+ typedef daeSmartRef<domLongitude> domLongitudeRef;
+ typedef daeTArray<domLongitudeRef> domLongitude_Array;
+
+ class domLongitude : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LONGITUDE; }
+ static daeInt ID() { return 49; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a xsFloat of the value.
+ */
+ xsFloat& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const xsFloat& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The xsFloat value of the text data of this element.
+ */
+ xsFloat _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domLongitude(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLongitude() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLongitude &operator=( const domLongitude &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLatitude;
+
+ typedef daeSmartRef<domLatitude> domLatitudeRef;
+ typedef daeTArray<domLatitudeRef> domLatitude_Array;
+
+ class domLatitude : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LATITUDE; }
+ static daeInt ID() { return 50; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a xsFloat of the value.
+ */
+ xsFloat& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const xsFloat& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The xsFloat value of the text data of this element.
+ */
+ xsFloat _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domLatitude(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLatitude() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLatitude &operator=( const domLatitude &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domAltitude;
+
+ typedef daeSmartRef<domAltitude> domAltitudeRef;
+ typedef daeTArray<domAltitudeRef> domAltitude_Array;
+
+/**
+ * Altitude is always given in meters. If the mode is "absolute", then the
+ * value is interpreted as meters from mean sea level. If the mode is "relativeToGround"
+ * then the value is interpreted as meters above the actual ground elevation
+ * at that particular location.
+ */
+ class domAltitude : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ALTITUDE; }
+ static daeInt ID() { return 51; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+ domAltitude_mode attrMode;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the mode attribute.
+ * @return Returns a domAltitude_mode of the mode attribute.
+ */
+ domAltitude_mode getMode() const { return attrMode; }
+ /**
+ * Sets the mode attribute.
+ * @param atMode The new value for the mode attribute.
+ */
+ void setMode( domAltitude_mode atMode ) { attrMode = atMode; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the value of this element.
+ * @return a xsFloat of the value.
+ */
+ xsFloat& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const xsFloat& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The xsFloat value of the text data of this element.
+ */
+ xsFloat _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domAltitude(DAE& dae) : daeElement(dae), attrMode(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domAltitude() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAltitude &operator=( const domAltitude &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domLongitudeRef elemLongitude;
+ domLatitudeRef elemLatitude;
+/**
+ * Altitude is always given in meters. If the mode is "absolute", then the
+ * value is interpreted as meters from mean sea level. If the mode is "relativeToGround"
+ * then the value is interpreted as meters above the actual ground elevation
+ * at that particular location. @see domAltitude
+ */
+ domAltitudeRef elemAltitude;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the longitude element.
+ * @return a daeSmartRef to the longitude element.
+ */
+ const domLongitudeRef getLongitude() const { return elemLongitude; }
+ /**
+ * Gets the latitude element.
+ * @return a daeSmartRef to the latitude element.
+ */
+ const domLatitudeRef getLatitude() const { return elemLatitude; }
+ /**
+ * Gets the altitude element.
+ * @return a daeSmartRef to the altitude element.
+ */
+ const domAltitudeRef getAltitude() const { return elemAltitude; }
+ protected:
+ /**
+ * Constructor
+ */
+ domGeographic_location(DAE& dae) : daeElement(dae), elemLongitude(), elemLatitude(), elemAltitude() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGeographic_location() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGeographic_location &operator=( const domGeographic_location &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Element
+/**
+ * Specifies the location of the asset using the WGS84 coordinate system.
+ * @see domGeographic_location
+ */
+ domGeographic_locationRef elemGeographic_location;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the geographic_location element.
+ * @return a daeSmartRef to the geographic_location element.
+ */
+ const domGeographic_locationRef getGeographic_location() const { return elemGeographic_location; }
+ protected:
+ /**
+ * Constructor
+ */
+ domCoverage(DAE& dae) : daeElement(dae), elemGeographic_location() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCoverage() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCoverage &operator=( const domCoverage &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domCreated;
+
+ typedef daeSmartRef<domCreated> domCreatedRef;
+ typedef daeTArray<domCreatedRef> domCreated_Array;
+
+/**
+ * The created element contains the date and time that the parent element
+ * was created and is represented in an ISO 8601 format. The created element
+ * may appear zero or one time.
+ */
+ class domCreated : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CREATED; }
+ static daeInt ID() { return 52; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsDateTime of the value.
+ */
+ xsDateTime getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsDateTime val ) { *(daeStringRef*)&_value = val; }
+
+ protected: // Value
+ /**
+ * The xsDateTime value of the text data of this element.
+ */
+ xsDateTime _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domCreated(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCreated() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCreated &operator=( const domCreated &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domKeywords;
+
+ typedef daeSmartRef<domKeywords> domKeywordsRef;
+ typedef daeTArray<domKeywordsRef> domKeywords_Array;
+
+/**
+ * The keywords element contains a list of words used as search criteria for
+ * the parent element. There may be only one keywords element.
+ */
+ class domKeywords : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::KEYWORDS; }
+ static daeInt ID() { return 53; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsToken of the value.
+ */
+ xsToken getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsToken val ) { *(daeStringRef*)&_value = val; }
+
+ protected: // Value
+ /**
+ * The xsToken value of the text data of this element.
+ */
+ xsToken _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domKeywords(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domKeywords() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domKeywords &operator=( const domKeywords &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domModified;
+
+ typedef daeSmartRef<domModified> domModifiedRef;
+ typedef daeTArray<domModifiedRef> domModified_Array;
+
+/**
+ * The modified element contains the date and time that the parent element
+ * was last modified and represented in an ISO 8601 format. The modified
+ * element may appear zero or one time.
+ */
+ class domModified : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MODIFIED; }
+ static daeInt ID() { return 54; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsDateTime of the value.
+ */
+ xsDateTime getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsDateTime val ) { *(daeStringRef*)&_value = val; }
+
+ protected: // Value
+ /**
+ * The xsDateTime value of the text data of this element.
+ */
+ xsDateTime _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domModified(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domModified() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domModified &operator=( const domModified &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domRevision;
+
+ typedef daeSmartRef<domRevision> domRevisionRef;
+ typedef daeTArray<domRevisionRef> domRevision_Array;
+
+/**
+ * The revision element contains the revision information for the parent element.
+ * The revision element may appear zero or one time.
+ */
+ class domRevision : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::REVISION; }
+ static daeInt ID() { return 55; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsString of the value.
+ */
+ xsString getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsString val ) { *(daeStringRef*)&_value = val; }
+
+ protected: // Value
+ /**
+ * The xsString value of the text data of this element.
+ */
+ xsString _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domRevision(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domRevision() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRevision &operator=( const domRevision &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domSubject;
+
+ typedef daeSmartRef<domSubject> domSubjectRef;
+ typedef daeTArray<domSubjectRef> domSubject_Array;
+
+/**
+ * The subject element contains a description of the topical subject of the
+ * parent element. The subject element may appear zero or one time.
+ */
+ class domSubject : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SUBJECT; }
+ static daeInt ID() { return 56; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsString of the value.
+ */
+ xsString getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsString val ) { *(daeStringRef*)&_value = val; }
+
+ protected: // Value
+ /**
+ * The xsString value of the text data of this element.
+ */
+ xsString _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domSubject(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSubject() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSubject &operator=( const domSubject &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domTitle;
+
+ typedef daeSmartRef<domTitle> domTitleRef;
+ typedef daeTArray<domTitleRef> domTitle_Array;
+
+/**
+ * The title element contains the title information for the parent element.
+ * The title element may appear zero or one time.
+ */
+ class domTitle : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TITLE; }
+ static daeInt ID() { return 57; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsString of the value.
+ */
+ xsString getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsString val ) { *(daeStringRef*)&_value = val; }
+
+ protected: // Value
+ /**
+ * The xsString value of the text data of this element.
+ */
+ xsString _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domTitle(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTitle() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTitle &operator=( const domTitle &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domUnit;
+
+ typedef daeSmartRef<domUnit> domUnitRef;
+ typedef daeTArray<domUnitRef> domUnit_Array;
+
+/**
+ * The unit element contains descriptive information about unit of measure.
+ * It has attributes for the name of the unit and the measurement with respect
+ * to the meter. The unit element may appear zero or one time.
+ */
+ class domUnit : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::UNIT; }
+ static daeInt ID() { return 58; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+/**
+ * The meter attribute specifies the measurement with respect to the meter.
+ * The default value for the meter attribute is "1.0".
+ */
+ domFloat attrMeter;
+/**
+ * The name attribute specifies the name of the unit. The default value for
+ * the name attribute is "meter".
+ */
+ xsNMTOKEN attrName;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the meter attribute.
+ * @return Returns a domFloat of the meter attribute.
+ */
+ domFloat getMeter() const { return attrMeter; }
+ /**
+ * Sets the meter attribute.
+ * @param atMeter The new value for the meter attribute.
+ */
+ void setMeter( domFloat atMeter ) { attrMeter = atMeter; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsNMTOKEN of the name attribute.
+ */
+ xsNMTOKEN getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsNMTOKEN atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domUnit(DAE& dae) : daeElement(dae), attrMeter(), attrName() {}
+ /**
+ * Destructor
+ */
+ virtual ~domUnit() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domUnit &operator=( const domUnit &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domUp_axis;
+
+ typedef daeSmartRef<domUp_axis> domUp_axisRef;
+ typedef daeTArray<domUp_axisRef> domUp_axis_Array;
+
+/**
+ * The up_axis element contains descriptive information about coordinate system
+ * of the geometric data. All coordinates are right-handed by definition.
+ * This element specifies which axis is considered up. The default is the
+ * Y-axis. The up_axis element may appear zero or one time.
+ */
+ class domUp_axis : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::UP_AXIS; }
+ static daeInt ID() { return 59; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domUp_axis of the value.
+ */
+ ColladaDOM150::domUp_axis& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domUp_axis& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domUp_axis value of the text data of this element.
+ */
+ ColladaDOM150::domUp_axis _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domUp_axis(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domUp_axis() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domUp_axis &operator=( const domUp_axis &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+/**
+ * The contributor element defines authoring information for asset management
+ * @see domContributor
+ */
+ domContributor_Array elemContributor_array;
+ domCoverageRef elemCoverage;
+/**
+ * The created element contains the date and time that the parent element
+ * was created and is represented in an ISO 8601 format. The created element
+ * may appear zero or one time. @see domCreated
+ */
+ domCreatedRef elemCreated;
+/**
+ * The keywords element contains a list of words used as search criteria for
+ * the parent element. There may be only one keywords element. @see domKeywords
+ */
+ domKeywordsRef elemKeywords;
+/**
+ * The modified element contains the date and time that the parent element
+ * was last modified and represented in an ISO 8601 format. The modified
+ * element may appear zero or one time. @see domModified
+ */
+ domModifiedRef elemModified;
+/**
+ * The revision element contains the revision information for the parent element.
+ * The revision element may appear zero or one time. @see domRevision
+ */
+ domRevisionRef elemRevision;
+/**
+ * The subject element contains a description of the topical subject of the
+ * parent element. The subject element may appear zero or one time. @see
+ * domSubject
+ */
+ domSubjectRef elemSubject;
+/**
+ * The title element contains the title information for the parent element.
+ * The title element may appear zero or one time. @see domTitle
+ */
+ domTitleRef elemTitle;
+/**
+ * The unit element contains descriptive information about unit of measure.
+ * It has attributes for the name of the unit and the measurement with respect
+ * to the meter. The unit element may appear zero or one time. @see domUnit
+ */
+ domUnitRef elemUnit;
+/**
+ * The up_axis element contains descriptive information about coordinate system
+ * of the geometric data. All coordinates are right-handed by definition.
+ * This element specifies which axis is considered up. The default is the
+ * Y-axis. The up_axis element may appear zero or one time. @see domUp_axis
+ */
+ domUp_axisRef elemUp_axis;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the contributor element array.
+ * @return Returns a reference to the array of contributor elements.
+ */
+ domContributor_Array &getContributor_array() { return elemContributor_array; }
+ /**
+ * Gets the contributor element array.
+ * @return Returns a constant reference to the array of contributor elements.
+ */
+ const domContributor_Array &getContributor_array() const { return elemContributor_array; }
+ /**
+ * Gets the coverage element.
+ * @return a daeSmartRef to the coverage element.
+ */
+ const domCoverageRef getCoverage() const { return elemCoverage; }
+ /**
+ * Gets the created element.
+ * @return a daeSmartRef to the created element.
+ */
+ const domCreatedRef getCreated() const { return elemCreated; }
+ /**
+ * Gets the keywords element.
+ * @return a daeSmartRef to the keywords element.
+ */
+ const domKeywordsRef getKeywords() const { return elemKeywords; }
+ /**
+ * Gets the modified element.
+ * @return a daeSmartRef to the modified element.
+ */
+ const domModifiedRef getModified() const { return elemModified; }
+ /**
+ * Gets the revision element.
+ * @return a daeSmartRef to the revision element.
+ */
+ const domRevisionRef getRevision() const { return elemRevision; }
+ /**
+ * Gets the subject element.
+ * @return a daeSmartRef to the subject element.
+ */
+ const domSubjectRef getSubject() const { return elemSubject; }
+ /**
+ * Gets the title element.
+ * @return a daeSmartRef to the title element.
+ */
+ const domTitleRef getTitle() const { return elemTitle; }
+ /**
+ * Gets the unit element.
+ * @return a daeSmartRef to the unit element.
+ */
+ const domUnitRef getUnit() const { return elemUnit; }
+ /**
+ * Gets the up_axis element.
+ * @return a daeSmartRef to the up_axis element.
+ */
+ const domUp_axisRef getUp_axis() const { return elemUp_axis; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domAsset(DAE& dae) : daeElement(dae), elemContributor_array(), elemCoverage(), elemCreated(), elemKeywords(), elemModified(), elemRevision(), elemSubject(), elemTitle(), elemUnit(), elemUp_axis(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domAsset() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAsset &operator=( const domAsset &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domAxis.h b/1.4.0/dom/include/1.5/dom/domAxis.h
new file mode 100644
index 0000000..caa6c09
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domAxis.h
@@ -0,0 +1,92 @@
+#ifndef __dom150Axis_h__
+#define __dom150Axis_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domAxis : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::AXIS; }
+ static daeInt ID() { return 460; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+ domSid attrSid;
+ xsToken attrName;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the value of this element.
+ * @return a domFloat3 of the value.
+ */
+ domFloat3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFloat3& val ) { _value = val; }
+
+protected: // Value
+ /**
+ * The domFloat3 value of the text data of this element.
+ */
+ domFloat3 _value;
+protected:
+ /**
+ * Constructor
+ */
+ domAxis(DAE& dae) : daeElement(dae), attrSid(), attrName(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domAxis() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAxis &operator=( const domAxis &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domAxis_constraint.h b/1.4.0/dom/include/1.5/dom/domAxis_constraint.h
new file mode 100644
index 0000000..fec2446
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domAxis_constraint.h
@@ -0,0 +1,79 @@
+#ifndef __dom150Axis_constraint_h__
+#define __dom150Axis_constraint_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAxis.h>
+#include <1.5/dom/domJoint_limits.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domAxis_constraint : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::AXIS_CONSTRAINT; }
+ static daeInt ID() { return 461; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attribute
+ domSid attrSid;
+
+protected: // Elements
+ domAxisRef elemAxis;
+ domJoint_limitsRef elemLimits;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the axis element.
+ * @return a daeSmartRef to the axis element.
+ */
+ const domAxisRef getAxis() const { return elemAxis; }
+ /**
+ * Gets the limits element.
+ * @return a daeSmartRef to the limits element.
+ */
+ const domJoint_limitsRef getLimits() const { return elemLimits; }
+protected:
+ /**
+ * Constructor
+ */
+ domAxis_constraint(DAE& dae) : daeElement(dae), attrSid(), elemAxis(), elemLimits() {}
+ /**
+ * Destructor
+ */
+ virtual ~domAxis_constraint() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAxis_constraint &operator=( const domAxis_constraint &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domBind_joint_axis.h b/1.4.0/dom/include/1.5/dom/domBind_joint_axis.h
new file mode 100644
index 0000000..df35b00
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domBind_joint_axis.h
@@ -0,0 +1,79 @@
+#ifndef __dom150Bind_joint_axis_h__
+#define __dom150Bind_joint_axis_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domCommon_sidref_or_param.h>
+#include <1.5/dom/domCommon_float_or_param.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domBind_joint_axis : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BIND_JOINT_AXIS; }
+ static daeInt ID() { return 432; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attribute
+ xsToken attrTarget;
+
+protected: // Elements
+ domCommon_sidref_or_paramRef elemAxis;
+ domCommon_float_or_paramRef elemValue;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the target attribute.
+ * @return Returns a xsToken of the target attribute.
+ */
+ xsToken getTarget() const { return attrTarget; }
+ /**
+ * Sets the target attribute.
+ * @param atTarget The new value for the target attribute.
+ */
+ void setTarget( xsToken atTarget ) { *(daeStringRef*)&attrTarget = atTarget;}
+
+ /**
+ * Gets the axis element.
+ * @return a daeSmartRef to the axis element.
+ */
+ const domCommon_sidref_or_paramRef getAxis() const { return elemAxis; }
+ /**
+ * Gets the value element.
+ * @return a daeSmartRef to the value element.
+ */
+ const domCommon_float_or_paramRef getValue() const { return elemValue; }
+protected:
+ /**
+ * Constructor
+ */
+ domBind_joint_axis(DAE& dae) : daeElement(dae), attrTarget(), elemAxis(), elemValue() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBind_joint_axis() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBind_joint_axis &operator=( const domBind_joint_axis &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domBind_kinematics_model.h b/1.4.0/dom/include/1.5/dom/domBind_kinematics_model.h
new file mode 100644
index 0000000..886f945
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domBind_kinematics_model.h
@@ -0,0 +1,65 @@
+#ifndef __dom150Bind_kinematics_model_h__
+#define __dom150Bind_kinematics_model_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domCommon_sidref_or_param.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domBind_kinematics_model : public domCommon_sidref_or_param
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BIND_KINEMATICS_MODEL; }
+ static daeInt ID() { return 433; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attribute
+ xsToken attrNode;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the node attribute.
+ * @return Returns a xsToken of the node attribute.
+ */
+ xsToken getNode() const { return attrNode; }
+ /**
+ * Sets the node attribute.
+ * @param atNode The new value for the node attribute.
+ */
+ void setNode( xsToken atNode ) { *(daeStringRef*)&attrNode = atNode;}
+
+protected:
+ /**
+ * Constructor
+ */
+ domBind_kinematics_model(DAE& dae) : domCommon_sidref_or_param(dae), attrNode() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBind_kinematics_model() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBind_kinematics_model &operator=( const domBind_kinematics_model &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domBind_material.h b/1.4.0/dom/include/1.5/dom/domBind_material.h
new file mode 100644
index 0000000..917b3d8
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domBind_material.h
@@ -0,0 +1,180 @@
+#ifndef __dom150Bind_material_h__
+#define __dom150Bind_material_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domParam.h>
+#include <1.5/dom/domInstance_material.h>
+#include <1.5/dom/domTechnique.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * Bind a specific material to a piece of geometry, binding varying and uniform
+ * parameters at the same time.
+ */
+class domBind_material : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BIND_MATERIAL; }
+ static daeInt ID() { return 106; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domTechnique_common;
+
+ typedef daeSmartRef<domTechnique_common> domTechnique_commonRef;
+ typedef daeTArray<domTechnique_commonRef> domTechnique_common_Array;
+
+/**
+ * The technique_common element specifies the bind_material information for
+ * the common profile which all COLLADA implementations need to support.
+ */
+ class domTechnique_common : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TECHNIQUE_COMMON; }
+ static daeInt ID() { return 107; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Element
+/**
+ * The instance_material element specifies the information needed to bind
+ * a geometry to a material. This element must appear at least once. @see
+ * domInstance_material
+ */
+ domInstance_material_Array elemInstance_material_array;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the instance_material element array.
+ * @return Returns a reference to the array of instance_material elements.
+ */
+ domInstance_material_Array &getInstance_material_array() { return elemInstance_material_array; }
+ /**
+ * Gets the instance_material element array.
+ * @return Returns a constant reference to the array of instance_material elements.
+ */
+ const domInstance_material_Array &getInstance_material_array() const { return elemInstance_material_array; }
+ protected:
+ /**
+ * Constructor
+ */
+ domTechnique_common(DAE& dae) : daeElement(dae), elemInstance_material_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTechnique_common() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTechnique_common &operator=( const domTechnique_common &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+/**
+ * The bind_material element may contain any number of param elements. @see
+ * domParam
+ */
+ domParam_Array elemParam_array;
+/**
+ * The technique_common element specifies the bind_material information for
+ * the common profile which all COLLADA implementations need to support.
+ * @see domTechnique_common
+ */
+ domTechnique_commonRef elemTechnique_common;
+/**
+ * This element may contain any number of non-common profile techniques. @see
+ * domTechnique
+ */
+ domTechnique_Array elemTechnique_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the param element array.
+ * @return Returns a reference to the array of param elements.
+ */
+ domParam_Array &getParam_array() { return elemParam_array; }
+ /**
+ * Gets the param element array.
+ * @return Returns a constant reference to the array of param elements.
+ */
+ const domParam_Array &getParam_array() const { return elemParam_array; }
+ /**
+ * Gets the technique_common element.
+ * @return a daeSmartRef to the technique_common element.
+ */
+ const domTechnique_commonRef getTechnique_common() const { return elemTechnique_common; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a reference to the array of technique elements.
+ */
+ domTechnique_Array &getTechnique_array() { return elemTechnique_array; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a constant reference to the array of technique elements.
+ */
+ const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domBind_material(DAE& dae) : daeElement(dae), elemParam_array(), elemTechnique_common(), elemTechnique_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBind_material() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBind_material &operator=( const domBind_material &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domBool_array.h b/1.4.0/dom/include/1.5/dom/domBool_array.h
new file mode 100644
index 0000000..fcb325f
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domBool_array.h
@@ -0,0 +1,122 @@
+#ifndef __dom150Bool_array_h__
+#define __dom150Bool_array_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The bool_array element declares the storage for a homogenous array of boolean
+ * values.
+ */
+class domBool_array : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL_ARRAY; }
+ static daeInt ID() { return 8; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+/**
+ * The count attribute indicates the number of values in the array. Required
+ * attribute.
+ */
+ domUint attrCount;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the count attribute.
+ * @return Returns a domUint of the count attribute.
+ */
+ domUint getCount() const { return attrCount; }
+ /**
+ * Sets the count attribute.
+ * @param atCount The new value for the count attribute.
+ */
+ void setCount( domUint atCount ) { attrCount = atCount; }
+
+ /**
+ * Gets the value of this element.
+ * @return a domList_of_bools of the value.
+ */
+ domList_of_bools& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domList_of_bools& val ) { _value = val; }
+
+protected: // Value
+ /**
+ * The domList_of_bools value of the text data of this element.
+ */
+ domList_of_bools _value;
+protected:
+ /**
+ * Constructor
+ */
+ domBool_array(DAE& dae) : daeElement(dae), attrId(), attrName(), attrCount(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool_array() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool_array &operator=( const domBool_array &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domBox.h b/1.4.0/dom/include/1.5/dom/domBox.h
new file mode 100644
index 0000000..7025260
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domBox.h
@@ -0,0 +1,142 @@
+#ifndef __dom150Box_h__
+#define __dom150Box_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * An axis-aligned, centered box primitive.
+ */
+class domBox : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOX; }
+ static daeInt ID() { return 281; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domHalf_extents;
+
+ typedef daeSmartRef<domHalf_extents> domHalf_extentsRef;
+ typedef daeTArray<domHalf_extentsRef> domHalf_extents_Array;
+
+/**
+ * 3 float values that represent the extents of the box
+ */
+ class domHalf_extents : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HALF_EXTENTS; }
+ static daeInt ID() { return 282; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFloat3 of the value.
+ */
+ domFloat3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFloat3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFloat3 value of the text data of this element.
+ */
+ domFloat3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domHalf_extents(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHalf_extents() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHalf_extents &operator=( const domHalf_extents &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+/**
+ * 3 float values that represent the extents of the box @see domHalf_extents
+ */
+ domHalf_extentsRef elemHalf_extents;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the half_extents element.
+ * @return a daeSmartRef to the half_extents element.
+ */
+ const domHalf_extentsRef getHalf_extents() const { return elemHalf_extents; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domBox(DAE& dae) : daeElement(dae), elemHalf_extents(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBox() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBox &operator=( const domBox &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domBrep.h b/1.4.0/dom/include/1.5/dom/domBrep.h
new file mode 100644
index 0000000..4e69dfc
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domBrep.h
@@ -0,0 +1,190 @@
+#ifndef __dom150Brep_h__
+#define __dom150Brep_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domCurves.h>
+#include <1.5/dom/domSurface_curves.h>
+#include <1.5/dom/domSurfaces.h>
+#include <1.5/dom/domSource.h>
+#include <1.5/dom/domVertices.h>
+#include <1.5/dom/domEdges.h>
+#include <1.5/dom/domWires.h>
+#include <1.5/dom/domFaces.h>
+#include <1.5/dom/domPcurves.h>
+#include <1.5/dom/domShells.h>
+#include <1.5/dom/domSolids.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The brep element contains the complete topological description of a
+ * static structure. There are also the corresponding geometrical descriptions
+ * of the vertices, edges and faces.
+ */
+class domBrep : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BREP; }
+ static daeInt ID() { return 363; }
+ virtual daeInt typeID() const { return ID(); }
+
+protected: // Elements
+/**
+ * The curves element holds all the curves that are needed for the brep structure.
+ * Here are the curves that describes the kind of an edge, but here are also
+ * the curves that are needed to create a extrusion for a surface. This element
+ * is needed, if the edges element is present. @see domCurves
+ */
+ domCurvesRef elemCurves;
+ domSurface_curvesRef elemSurface_curves;
+/**
+ * The surfaces element holds all the surfaces that are needed for the brep
+ * structure. Here are the surfaces that describes the kind of a face. This
+ * element is needed, if the faces element is present. @see domSurfaces
+ */
+ domSurfacesRef elemSurfaces;
+/**
+ * The source elements define the access of the elements vertices, edges and
+ * faces to their geometric entities. At least one source element is needed
+ * for the vertices. If there are edges a second source element is needed
+ * for accessing the curves in the curve element by an IDREF_array. If there
+ * are faces the third source element is needed for accessing the surfaces
+ * in the surface element by an IDREF_array. @see domSource
+ */
+ domSource_Array elemSource_array;
+/**
+ * This element defines all the vertices of an brep structure. Vertices are
+ * the base topological entity for all brep structures, so this element is
+ * ever needed. @see domVertices
+ */
+ domVerticesRef elemVertices;
+/**
+ * This element defines all the edges of the brep structure. @see domEdges
+ */
+ domEdgesRef elemEdges;
+/**
+ * This element defines all the wires of the brep structure. @see domWires
+ */
+ domWiresRef elemWires;
+/**
+ * This element defines all the faces of the brep structure. @see domFaces
+ */
+ domFacesRef elemFaces;
+ domPcurvesRef elemPcurves;
+/**
+ * This element defines all the shells of the brep structure. @see domShells
+ */
+ domShellsRef elemShells;
+/**
+ * This element defines all the solids of the brep structure. @see domSolids
+ */
+ domSolidsRef elemSolids;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the curves element.
+ * @return a daeSmartRef to the curves element.
+ */
+ const domCurvesRef getCurves() const { return elemCurves; }
+ /**
+ * Gets the surface_curves element.
+ * @return a daeSmartRef to the surface_curves element.
+ */
+ const domSurface_curvesRef getSurface_curves() const { return elemSurface_curves; }
+ /**
+ * Gets the surfaces element.
+ * @return a daeSmartRef to the surfaces element.
+ */
+ const domSurfacesRef getSurfaces() const { return elemSurfaces; }
+ /**
+ * Gets the source element array.
+ * @return Returns a reference to the array of source elements.
+ */
+ domSource_Array &getSource_array() { return elemSource_array; }
+ /**
+ * Gets the source element array.
+ * @return Returns a constant reference to the array of source elements.
+ */
+ const domSource_Array &getSource_array() const { return elemSource_array; }
+ /**
+ * Gets the vertices element.
+ * @return a daeSmartRef to the vertices element.
+ */
+ const domVerticesRef getVertices() const { return elemVertices; }
+ /**
+ * Gets the edges element.
+ * @return a daeSmartRef to the edges element.
+ */
+ const domEdgesRef getEdges() const { return elemEdges; }
+ /**
+ * Gets the wires element.
+ * @return a daeSmartRef to the wires element.
+ */
+ const domWiresRef getWires() const { return elemWires; }
+ /**
+ * Gets the faces element.
+ * @return a daeSmartRef to the faces element.
+ */
+ const domFacesRef getFaces() const { return elemFaces; }
+ /**
+ * Gets the pcurves element.
+ * @return a daeSmartRef to the pcurves element.
+ */
+ const domPcurvesRef getPcurves() const { return elemPcurves; }
+ /**
+ * Gets the shells element.
+ * @return a daeSmartRef to the shells element.
+ */
+ const domShellsRef getShells() const { return elemShells; }
+ /**
+ * Gets the solids element.
+ * @return a daeSmartRef to the solids element.
+ */
+ const domSolidsRef getSolids() const { return elemSolids; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domBrep(DAE& dae) : daeElement(dae), elemCurves(), elemSurface_curves(), elemSurfaces(), elemSource_array(), elemVertices(), elemEdges(), elemWires(), elemFaces(), elemPcurves(), elemShells(), elemSolids(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBrep() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBrep &operator=( const domBrep &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domCOLLADA.h b/1.4.0/dom/include/1.5/dom/domCOLLADA.h
new file mode 100644
index 0000000..6d26946
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domCOLLADA.h
@@ -0,0 +1,589 @@
+#ifndef __dom150COLLADA_h__
+#define __dom150COLLADA_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domLibrary_animations.h>
+#include <1.5/dom/domLibrary_animation_clips.h>
+#include <1.5/dom/domLibrary_cameras.h>
+#include <1.5/dom/domLibrary_controllers.h>
+#include <1.5/dom/domLibrary_geometries.h>
+#include <1.5/dom/domLibrary_effects.h>
+#include <1.5/dom/domLibrary_force_fields.h>
+#include <1.5/dom/domLibrary_images.h>
+#include <1.5/dom/domLibrary_lights.h>
+#include <1.5/dom/domLibrary_materials.h>
+#include <1.5/dom/domLibrary_nodes.h>
+#include <1.5/dom/domLibrary_physics_materials.h>
+#include <1.5/dom/domLibrary_physics_models.h>
+#include <1.5/dom/domLibrary_physics_scenes.h>
+#include <1.5/dom/domLibrary_visual_scenes.h>
+#include <1.5/dom/domLibrary_joints.h>
+#include <1.5/dom/domLibrary_kinematics_models.h>
+#include <1.5/dom/domLibrary_articulated_systems.h>
+#include <1.5/dom/domLibrary_kinematics_scenes.h>
+#include <1.5/dom/domLibrary_formulas.h>
+#include <1.5/dom/domInstance_with_extra.h>
+#include <1.5/dom/domInstance_kinematics_scene.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The COLLADA element declares the root of the document that comprises some
+ * of the content in the COLLADA schema.
+ */
+class domCOLLADA : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COLLADA; }
+ static daeInt ID() { return 966; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domScene;
+
+ typedef daeSmartRef<domScene> domSceneRef;
+ typedef daeTArray<domSceneRef> domScene_Array;
+
+/**
+ * The scene embodies the entire set of information that can be visualized
+ * from the contents of a COLLADA resource. The scene element declares the
+ * base of the scene hierarchy or scene graph. The scene contains elements
+ * that comprise much of the visual and transformational information content
+ * as created by the authoring tools.
+ */
+ class domScene : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SCENE; }
+ static daeInt ID() { return 967; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Elements
+/**
+ * The instance_physics_scene element declares the instantiation of a COLLADA
+ * physics_scene resource. The instance_physics_scene element may appear any
+ * number of times. @see domInstance_physics_scene
+ */
+ domInstance_with_extra_Array elemInstance_physics_scene_array;
+/**
+ * The instance_visual_scene element declares the instantiation of a COLLADA
+ * visual_scene resource. The instance_visual_scene element may only appear
+ * once. @see domInstance_visual_scene
+ */
+ domInstance_with_extraRef elemInstance_visual_scene;
+ domInstance_kinematics_scene_Array elemInstance_kinematics_scene_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the instance_physics_scene element array.
+ * @return Returns a reference to the array of instance_physics_scene elements.
+ */
+ domInstance_with_extra_Array &getInstance_physics_scene_array() { return elemInstance_physics_scene_array; }
+ /**
+ * Gets the instance_physics_scene element array.
+ * @return Returns a constant reference to the array of instance_physics_scene elements.
+ */
+ const domInstance_with_extra_Array &getInstance_physics_scene_array() const { return elemInstance_physics_scene_array; }
+ /**
+ * Gets the instance_visual_scene element.
+ * @return a daeSmartRef to the instance_visual_scene element.
+ */
+ const domInstance_with_extraRef getInstance_visual_scene() const { return elemInstance_visual_scene; }
+ /**
+ * Gets the instance_kinematics_scene element array.
+ * @return Returns a reference to the array of instance_kinematics_scene elements.
+ */
+ domInstance_kinematics_scene_Array &getInstance_kinematics_scene_array() { return elemInstance_kinematics_scene_array; }
+ /**
+ * Gets the instance_kinematics_scene element array.
+ * @return Returns a constant reference to the array of instance_kinematics_scene elements.
+ */
+ const domInstance_kinematics_scene_Array &getInstance_kinematics_scene_array() const { return elemInstance_kinematics_scene_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ protected:
+ /**
+ * Constructor
+ */
+ domScene(DAE& dae) : daeElement(dae), elemInstance_physics_scene_array(), elemInstance_visual_scene(), elemInstance_kinematics_scene_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domScene() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domScene &operator=( const domScene &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+ /**
+ * This element may specify its own xmlns.
+ */
+ xsAnyURI attrXmlns;
+/**
+ * The version attribute is the COLLADA schema revision with which the instance
+ * document conforms. Required Attribute.
+ */
+ domVersion attrVersion;
+/**
+ * The xml:base attribute allows you to define the base URI for this COLLADA
+ * document. See http://www.w3.org/TR/xmlbase/ for more information.
+ */
+ xsAnyURI attrXml_base;
+
+protected: // Elements
+/**
+ * The COLLADA element must contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * The COLLADA element may contain any number of library_animations elements.
+ * @see domLibrary_animations
+ */
+ domLibrary_animations_Array elemLibrary_animations_array;
+/**
+ * The COLLADA element may contain any number of library_animation_clips elements.
+ * @see domLibrary_animation_clips
+ */
+ domLibrary_animation_clips_Array elemLibrary_animation_clips_array;
+/**
+ * The COLLADA element may contain any number of library_cameras elements.
+ * @see domLibrary_cameras
+ */
+ domLibrary_cameras_Array elemLibrary_cameras_array;
+/**
+ * The COLLADA element may contain any number of library_controllerss elements.
+ * @see domLibrary_controllers
+ */
+ domLibrary_controllers_Array elemLibrary_controllers_array;
+/**
+ * The COLLADA element may contain any number of library_geometriess elements.
+ * @see domLibrary_geometries
+ */
+ domLibrary_geometries_Array elemLibrary_geometries_array;
+/**
+ * The COLLADA element may contain any number of library_effects elements.
+ * @see domLibrary_effects
+ */
+ domLibrary_effects_Array elemLibrary_effects_array;
+/**
+ * The COLLADA element may contain any number of library_force_fields elements.
+ * @see domLibrary_force_fields
+ */
+ domLibrary_force_fields_Array elemLibrary_force_fields_array;
+/**
+ * The COLLADA element may contain any number of library_images elements.
+ * @see domLibrary_images
+ */
+ domLibrary_images_Array elemLibrary_images_array;
+/**
+ * The COLLADA element may contain any number of library_lights elements.
+ * @see domLibrary_lights
+ */
+ domLibrary_lights_Array elemLibrary_lights_array;
+/**
+ * The COLLADA element may contain any number of library_materials elements.
+ * @see domLibrary_materials
+ */
+ domLibrary_materials_Array elemLibrary_materials_array;
+/**
+ * The COLLADA element may contain any number of library_nodes elements. @see
+ * domLibrary_nodes
+ */
+ domLibrary_nodes_Array elemLibrary_nodes_array;
+/**
+ * The COLLADA element may contain any number of library_materials elements.
+ * @see domLibrary_physics_materials
+ */
+ domLibrary_physics_materials_Array elemLibrary_physics_materials_array;
+/**
+ * The COLLADA element may contain any number of library_physics_models elements.
+ * @see domLibrary_physics_models
+ */
+ domLibrary_physics_models_Array elemLibrary_physics_models_array;
+/**
+ * The COLLADA element may contain any number of library_physics_scenes elements.
+ * @see domLibrary_physics_scenes
+ */
+ domLibrary_physics_scenes_Array elemLibrary_physics_scenes_array;
+/**
+ * The COLLADA element may contain any number of library_visual_scenes elements.
+ * @see domLibrary_visual_scenes
+ */
+ domLibrary_visual_scenes_Array elemLibrary_visual_scenes_array;
+ domLibrary_joints_Array elemLibrary_joints_array;
+ domLibrary_kinematics_models_Array elemLibrary_kinematics_models_array;
+ domLibrary_articulated_systems_Array elemLibrary_articulated_systems_array;
+ domLibrary_kinematics_scenes_Array elemLibrary_kinematics_scenes_array;
+ domLibrary_formulas_Array elemLibrary_formulas_array;
+/**
+ * The scene embodies the entire set of information that can be visualized
+ * from the contents of a COLLADA resource. The scene element declares the
+ * base of the scene hierarchy or scene graph. The scene contains elements
+ * that comprise much of the visual and transformational information content
+ * as created by the authoring tools. @see domScene
+ */
+ domSceneRef elemScene;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the xmlns attribute.
+ * @return Returns a xsAnyURI reference of the xmlns attribute.
+ */
+ xsAnyURI &getXmlns() { return attrXmlns; }
+ /**
+ * Gets the xmlns attribute.
+ * @return Returns a constant xsAnyURI reference of the xmlns attribute.
+ */
+ const xsAnyURI &getXmlns() const { return attrXmlns; }
+ /**
+ * Sets the xmlns attribute.
+ * @param xmlns The new value for the xmlns attribute.
+ */
+ void setXmlns( const xsAnyURI &xmlns ) { attrXmlns = xmlns;
+ _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the version attribute.
+ * @return Returns a domVersion of the version attribute.
+ */
+ domVersion getVersion() const { return attrVersion; }
+ /**
+ * Sets the version attribute.
+ * @param atVersion The new value for the version attribute.
+ */
+ void setVersion( domVersion atVersion ) { attrVersion = atVersion; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the xml_base attribute.
+ * @return Returns a xsAnyURI reference of the xml_base attribute.
+ */
+ xsAnyURI &getXml_base() { return attrXml_base; }
+ /**
+ * Gets the xml_base attribute.
+ * @return Returns a constant xsAnyURI reference of the xml_base attribute.
+ */
+ const xsAnyURI &getXml_base() const { return attrXml_base; }
+ /**
+ * Sets the xml_base attribute.
+ * @param atXml_base The new value for the xml_base attribute.
+ */
+ void setXml_base( const xsAnyURI &atXml_base ) { attrXml_base = atXml_base; _validAttributeArray[2] = true; }
+ /**
+ * Sets the xml_base attribute.
+ * @param atXml_base The new value for the xml_base attribute.
+ */
+ void setXml_base( xsString atXml_base ) { attrXml_base = atXml_base; _validAttributeArray[2] = true; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the library_animations element array.
+ * @return Returns a reference to the array of library_animations elements.
+ */
+ domLibrary_animations_Array &getLibrary_animations_array() { return elemLibrary_animations_array; }
+ /**
+ * Gets the library_animations element array.
+ * @return Returns a constant reference to the array of library_animations elements.
+ */
+ const domLibrary_animations_Array &getLibrary_animations_array() const { return elemLibrary_animations_array; }
+ /**
+ * Gets the library_animation_clips element array.
+ * @return Returns a reference to the array of library_animation_clips elements.
+ */
+ domLibrary_animation_clips_Array &getLibrary_animation_clips_array() { return elemLibrary_animation_clips_array; }
+ /**
+ * Gets the library_animation_clips element array.
+ * @return Returns a constant reference to the array of library_animation_clips elements.
+ */
+ const domLibrary_animation_clips_Array &getLibrary_animation_clips_array() const { return elemLibrary_animation_clips_array; }
+ /**
+ * Gets the library_cameras element array.
+ * @return Returns a reference to the array of library_cameras elements.
+ */
+ domLibrary_cameras_Array &getLibrary_cameras_array() { return elemLibrary_cameras_array; }
+ /**
+ * Gets the library_cameras element array.
+ * @return Returns a constant reference to the array of library_cameras elements.
+ */
+ const domLibrary_cameras_Array &getLibrary_cameras_array() const { return elemLibrary_cameras_array; }
+ /**
+ * Gets the library_controllers element array.
+ * @return Returns a reference to the array of library_controllers elements.
+ */
+ domLibrary_controllers_Array &getLibrary_controllers_array() { return elemLibrary_controllers_array; }
+ /**
+ * Gets the library_controllers element array.
+ * @return Returns a constant reference to the array of library_controllers elements.
+ */
+ const domLibrary_controllers_Array &getLibrary_controllers_array() const { return elemLibrary_controllers_array; }
+ /**
+ * Gets the library_geometries element array.
+ * @return Returns a reference to the array of library_geometries elements.
+ */
+ domLibrary_geometries_Array &getLibrary_geometries_array() { return elemLibrary_geometries_array; }
+ /**
+ * Gets the library_geometries element array.
+ * @return Returns a constant reference to the array of library_geometries elements.
+ */
+ const domLibrary_geometries_Array &getLibrary_geometries_array() const { return elemLibrary_geometries_array; }
+ /**
+ * Gets the library_effects element array.
+ * @return Returns a reference to the array of library_effects elements.
+ */
+ domLibrary_effects_Array &getLibrary_effects_array() { return elemLibrary_effects_array; }
+ /**
+ * Gets the library_effects element array.
+ * @return Returns a constant reference to the array of library_effects elements.
+ */
+ const domLibrary_effects_Array &getLibrary_effects_array() const { return elemLibrary_effects_array; }
+ /**
+ * Gets the library_force_fields element array.
+ * @return Returns a reference to the array of library_force_fields elements.
+ */
+ domLibrary_force_fields_Array &getLibrary_force_fields_array() { return elemLibrary_force_fields_array; }
+ /**
+ * Gets the library_force_fields element array.
+ * @return Returns a constant reference to the array of library_force_fields elements.
+ */
+ const domLibrary_force_fields_Array &getLibrary_force_fields_array() const { return elemLibrary_force_fields_array; }
+ /**
+ * Gets the library_images element array.
+ * @return Returns a reference to the array of library_images elements.
+ */
+ domLibrary_images_Array &getLibrary_images_array() { return elemLibrary_images_array; }
+ /**
+ * Gets the library_images element array.
+ * @return Returns a constant reference to the array of library_images elements.
+ */
+ const domLibrary_images_Array &getLibrary_images_array() const { return elemLibrary_images_array; }
+ /**
+ * Gets the library_lights element array.
+ * @return Returns a reference to the array of library_lights elements.
+ */
+ domLibrary_lights_Array &getLibrary_lights_array() { return elemLibrary_lights_array; }
+ /**
+ * Gets the library_lights element array.
+ * @return Returns a constant reference to the array of library_lights elements.
+ */
+ const domLibrary_lights_Array &getLibrary_lights_array() const { return elemLibrary_lights_array; }
+ /**
+ * Gets the library_materials element array.
+ * @return Returns a reference to the array of library_materials elements.
+ */
+ domLibrary_materials_Array &getLibrary_materials_array() { return elemLibrary_materials_array; }
+ /**
+ * Gets the library_materials element array.
+ * @return Returns a constant reference to the array of library_materials elements.
+ */
+ const domLibrary_materials_Array &getLibrary_materials_array() const { return elemLibrary_materials_array; }
+ /**
+ * Gets the library_nodes element array.
+ * @return Returns a reference to the array of library_nodes elements.
+ */
+ domLibrary_nodes_Array &getLibrary_nodes_array() { return elemLibrary_nodes_array; }
+ /**
+ * Gets the library_nodes element array.
+ * @return Returns a constant reference to the array of library_nodes elements.
+ */
+ const domLibrary_nodes_Array &getLibrary_nodes_array() const { return elemLibrary_nodes_array; }
+ /**
+ * Gets the library_physics_materials element array.
+ * @return Returns a reference to the array of library_physics_materials elements.
+ */
+ domLibrary_physics_materials_Array &getLibrary_physics_materials_array() { return elemLibrary_physics_materials_array; }
+ /**
+ * Gets the library_physics_materials element array.
+ * @return Returns a constant reference to the array of library_physics_materials elements.
+ */
+ const domLibrary_physics_materials_Array &getLibrary_physics_materials_array() const { return elemLibrary_physics_materials_array; }
+ /**
+ * Gets the library_physics_models element array.
+ * @return Returns a reference to the array of library_physics_models elements.
+ */
+ domLibrary_physics_models_Array &getLibrary_physics_models_array() { return elemLibrary_physics_models_array; }
+ /**
+ * Gets the library_physics_models element array.
+ * @return Returns a constant reference to the array of library_physics_models elements.
+ */
+ const domLibrary_physics_models_Array &getLibrary_physics_models_array() const { return elemLibrary_physics_models_array; }
+ /**
+ * Gets the library_physics_scenes element array.
+ * @return Returns a reference to the array of library_physics_scenes elements.
+ */
+ domLibrary_physics_scenes_Array &getLibrary_physics_scenes_array() { return elemLibrary_physics_scenes_array; }
+ /**
+ * Gets the library_physics_scenes element array.
+ * @return Returns a constant reference to the array of library_physics_scenes elements.
+ */
+ const domLibrary_physics_scenes_Array &getLibrary_physics_scenes_array() const { return elemLibrary_physics_scenes_array; }
+ /**
+ * Gets the library_visual_scenes element array.
+ * @return Returns a reference to the array of library_visual_scenes elements.
+ */
+ domLibrary_visual_scenes_Array &getLibrary_visual_scenes_array() { return elemLibrary_visual_scenes_array; }
+ /**
+ * Gets the library_visual_scenes element array.
+ * @return Returns a constant reference to the array of library_visual_scenes elements.
+ */
+ const domLibrary_visual_scenes_Array &getLibrary_visual_scenes_array() const { return elemLibrary_visual_scenes_array; }
+ /**
+ * Gets the library_joints element array.
+ * @return Returns a reference to the array of library_joints elements.
+ */
+ domLibrary_joints_Array &getLibrary_joints_array() { return elemLibrary_joints_array; }
+ /**
+ * Gets the library_joints element array.
+ * @return Returns a constant reference to the array of library_joints elements.
+ */
+ const domLibrary_joints_Array &getLibrary_joints_array() const { return elemLibrary_joints_array; }
+ /**
+ * Gets the library_kinematics_models element array.
+ * @return Returns a reference to the array of library_kinematics_models elements.
+ */
+ domLibrary_kinematics_models_Array &getLibrary_kinematics_models_array() { return elemLibrary_kinematics_models_array; }
+ /**
+ * Gets the library_kinematics_models element array.
+ * @return Returns a constant reference to the array of library_kinematics_models elements.
+ */
+ const domLibrary_kinematics_models_Array &getLibrary_kinematics_models_array() const { return elemLibrary_kinematics_models_array; }
+ /**
+ * Gets the library_articulated_systems element array.
+ * @return Returns a reference to the array of library_articulated_systems elements.
+ */
+ domLibrary_articulated_systems_Array &getLibrary_articulated_systems_array() { return elemLibrary_articulated_systems_array; }
+ /**
+ * Gets the library_articulated_systems element array.
+ * @return Returns a constant reference to the array of library_articulated_systems elements.
+ */
+ const domLibrary_articulated_systems_Array &getLibrary_articulated_systems_array() const { return elemLibrary_articulated_systems_array; }
+ /**
+ * Gets the library_kinematics_scenes element array.
+ * @return Returns a reference to the array of library_kinematics_scenes elements.
+ */
+ domLibrary_kinematics_scenes_Array &getLibrary_kinematics_scenes_array() { return elemLibrary_kinematics_scenes_array; }
+ /**
+ * Gets the library_kinematics_scenes element array.
+ * @return Returns a constant reference to the array of library_kinematics_scenes elements.
+ */
+ const domLibrary_kinematics_scenes_Array &getLibrary_kinematics_scenes_array() const { return elemLibrary_kinematics_scenes_array; }
+ /**
+ * Gets the library_formulas element array.
+ * @return Returns a reference to the array of library_formulas elements.
+ */
+ domLibrary_formulas_Array &getLibrary_formulas_array() { return elemLibrary_formulas_array; }
+ /**
+ * Gets the library_formulas element array.
+ * @return Returns a constant reference to the array of library_formulas elements.
+ */
+ const domLibrary_formulas_Array &getLibrary_formulas_array() const { return elemLibrary_formulas_array; }
+ /**
+ * Gets the scene element.
+ * @return a daeSmartRef to the scene element.
+ */
+ const domSceneRef getScene() const { return elemScene; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domCOLLADA(DAE& dae) : daeElement(dae), attrXmlns(dae, *this), attrVersion(), attrXml_base(dae, *this), elemAsset(), elemLibrary_animations_array(), elemLibrary_animation_clips_array(), elemLibrary_cameras_array(), elemLibrary_controllers_array(), elemLibrary_geometries_array(), elemLibrary_effects_array(), elemLibrary_force_fields_array(), elemLibrary_images_array(), elemLibrary_lights_array(), elemLibrary_materials_array(), elemLibrary_nodes_array(), elemLibrary_physics_materials_array(), elemLibrary_physics_models_array(), elemLibrary_physics_scenes_array(), elemLibrary_visual_scenes_array(), elemLibrary_joints_array(), elemLibrary_kinematics_models_array(), elemLibrary_articulated_systems_array(), elemLibrary_kinematics_scenes_array(), elemLibrary_formulas_array(), elemScene(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCOLLADA() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCOLLADA &operator=( const domCOLLADA &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domCamera.h b/1.4.0/dom/include/1.5/dom/domCamera.h
new file mode 100644
index 0000000..c94b13f
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domCamera.h
@@ -0,0 +1,648 @@
+#ifndef __dom150Camera_h__
+#define __dom150Camera_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domTargetable_float.h>
+#include <1.5/dom/domTechnique.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The camera element declares a view into the scene hierarchy or scene graph.
+ * The camera contains elements that describe the camera's optics and imager.
+ */
+class domCamera : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CAMERA; }
+ static daeInt ID() { return 86; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domOptics;
+
+ typedef daeSmartRef<domOptics> domOpticsRef;
+ typedef daeTArray<domOpticsRef> domOptics_Array;
+
+/**
+ * Optics represents the apparatus on a camera that projects the image onto
+ * the image sensor.
+ */
+ class domOptics : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::OPTICS; }
+ static daeInt ID() { return 87; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domTechnique_common;
+
+ typedef daeSmartRef<domTechnique_common> domTechnique_commonRef;
+ typedef daeTArray<domTechnique_commonRef> domTechnique_common_Array;
+
+/**
+ * The technique_common element specifies the optics information for the common
+ * profile which all COLLADA implementations need to support.
+ */
+ class domTechnique_common : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TECHNIQUE_COMMON; }
+ static daeInt ID() { return 88; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domOrthographic;
+
+ typedef daeSmartRef<domOrthographic> domOrthographicRef;
+ typedef daeTArray<domOrthographicRef> domOrthographic_Array;
+
+/**
+ * The orthographic element describes the field of view of an orthographic
+ * camera.
+ */
+ class domOrthographic : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ORTHOGRAPHIC; }
+ static daeInt ID() { return 89; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Elements
+/**
+ * The xmag element contains a floating point number describing the horizontal
+ * magnification of the view. @see domXmag
+ */
+ domTargetable_floatRef elemXmag;
+/**
+ * The ymag element contains a floating point number describing the vertical
+ * magnification of the view. It can also have a sid. @see domYmag
+ */
+ domTargetable_floatRef elemYmag;
+/**
+ * The aspect_ratio element contains a floating point number describing the
+ * aspect ratio of the field of view. If the aspect_ratio element is not
+ * present the aspect ratio is to be calculated from the xmag or ymag elements
+ * and the current viewport. @see domAspect_ratio
+ */
+ domTargetable_floatRef elemAspect_ratio;
+/**
+ * The znear element contains a floating point number that describes the distance
+ * to the near clipping plane. The znear element must occur exactly once.
+ * @see domZnear
+ */
+ domTargetable_floatRef elemZnear;
+/**
+ * The zfar element contains a floating point number that describes the distance
+ * to the far clipping plane. The zfar element must occur exactly once. @see
+ * domZfar
+ */
+ domTargetable_floatRef elemZfar;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the xmag element.
+ * @return a daeSmartRef to the xmag element.
+ */
+ const domTargetable_floatRef getXmag() const { return elemXmag; }
+ /**
+ * Gets the ymag element.
+ * @return a daeSmartRef to the ymag element.
+ */
+ const domTargetable_floatRef getYmag() const { return elemYmag; }
+ /**
+ * Gets the aspect_ratio element.
+ * @return a daeSmartRef to the aspect_ratio element.
+ */
+ const domTargetable_floatRef getAspect_ratio() const { return elemAspect_ratio; }
+ /**
+ * Gets the znear element.
+ * @return a daeSmartRef to the znear element.
+ */
+ const domTargetable_floatRef getZnear() const { return elemZnear; }
+ /**
+ * Gets the zfar element.
+ * @return a daeSmartRef to the zfar element.
+ */
+ const domTargetable_floatRef getZfar() const { return elemZfar; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domOrthographic(DAE& dae) : daeElement(dae), elemXmag(), elemYmag(), elemAspect_ratio(), elemZnear(), elemZfar() {}
+ /**
+ * Destructor
+ */
+ virtual ~domOrthographic() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domOrthographic &operator=( const domOrthographic &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPerspective;
+
+ typedef daeSmartRef<domPerspective> domPerspectiveRef;
+ typedef daeTArray<domPerspectiveRef> domPerspective_Array;
+
+/**
+ * The perspective element describes the optics of a perspective camera.
+ */
+ class domPerspective : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PERSPECTIVE; }
+ static daeInt ID() { return 90; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Elements
+/**
+ * The xfov element contains a floating point number describing the horizontal
+ * field of view in degrees. @see domXfov
+ */
+ domTargetable_floatRef elemXfov;
+/**
+ * The yfov element contains a floating point number describing the verticle
+ * field of view in degrees. @see domYfov
+ */
+ domTargetable_floatRef elemYfov;
+/**
+ * The aspect_ratio element contains a floating point number describing the
+ * aspect ratio of the field of view. If the aspect_ratio element is not
+ * present the aspect ratio is to be calculated from the xfov or yfov elements
+ * and the current viewport. @see domAspect_ratio
+ */
+ domTargetable_floatRef elemAspect_ratio;
+/**
+ * The znear element contains a floating point number that describes the distance
+ * to the near clipping plane. The znear element must occur exactly once.
+ * @see domZnear
+ */
+ domTargetable_floatRef elemZnear;
+/**
+ * The zfar element contains a floating point number that describes the distance
+ * to the far clipping plane. The zfar element must occur exactly once. @see
+ * domZfar
+ */
+ domTargetable_floatRef elemZfar;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the xfov element.
+ * @return a daeSmartRef to the xfov element.
+ */
+ const domTargetable_floatRef getXfov() const { return elemXfov; }
+ /**
+ * Gets the yfov element.
+ * @return a daeSmartRef to the yfov element.
+ */
+ const domTargetable_floatRef getYfov() const { return elemYfov; }
+ /**
+ * Gets the aspect_ratio element.
+ * @return a daeSmartRef to the aspect_ratio element.
+ */
+ const domTargetable_floatRef getAspect_ratio() const { return elemAspect_ratio; }
+ /**
+ * Gets the znear element.
+ * @return a daeSmartRef to the znear element.
+ */
+ const domTargetable_floatRef getZnear() const { return elemZnear; }
+ /**
+ * Gets the zfar element.
+ * @return a daeSmartRef to the zfar element.
+ */
+ const domTargetable_floatRef getZfar() const { return elemZfar; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPerspective(DAE& dae) : daeElement(dae), elemXfov(), elemYfov(), elemAspect_ratio(), elemZnear(), elemZfar() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPerspective() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPerspective &operator=( const domPerspective &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+/**
+ * The orthographic element describes the field of view of an orthographic
+ * camera. @see domOrthographic
+ */
+ domOrthographicRef elemOrthographic;
+/**
+ * The perspective element describes the optics of a perspective camera. @see
+ * domPerspective
+ */
+ domPerspectiveRef elemPerspective;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the orthographic element.
+ * @return a daeSmartRef to the orthographic element.
+ */
+ const domOrthographicRef getOrthographic() const { return elemOrthographic; }
+ /**
+ * Gets the perspective element.
+ * @return a daeSmartRef to the perspective element.
+ */
+ const domPerspectiveRef getPerspective() const { return elemPerspective; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTechnique_common(DAE& dae) : daeElement(dae), elemOrthographic(), elemPerspective() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTechnique_common() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTechnique_common &operator=( const domTechnique_common &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+/**
+ * The technique_common element specifies the optics information for the common
+ * profile which all COLLADA implementations need to support. @see domTechnique_common
+ */
+ domTechnique_commonRef elemTechnique_common;
+/**
+ * This element may contain any number of non-common profile techniques. @see
+ * domTechnique
+ */
+ domTechnique_Array elemTechnique_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the technique_common element.
+ * @return a daeSmartRef to the technique_common element.
+ */
+ const domTechnique_commonRef getTechnique_common() const { return elemTechnique_common; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a reference to the array of technique elements.
+ */
+ domTechnique_Array &getTechnique_array() { return elemTechnique_array; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a constant reference to the array of technique elements.
+ */
+ const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ protected:
+ /**
+ * Constructor
+ */
+ domOptics(DAE& dae) : daeElement(dae), elemTechnique_common(), elemTechnique_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domOptics() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domOptics &operator=( const domOptics &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domImager;
+
+ typedef daeSmartRef<domImager> domImagerRef;
+ typedef daeTArray<domImagerRef> domImager_Array;
+
+/**
+ * Imagers represent the image sensor of a camera (for example film or CCD).
+ */
+ class domImager : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::IMAGER; }
+ static daeInt ID() { return 91; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Elements
+/**
+ * This element may contain any number of non-common profile techniques. There
+ * is no common technique for imager. @see domTechnique
+ */
+ domTechnique_Array elemTechnique_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the technique element array.
+ * @return Returns a reference to the array of technique elements.
+ */
+ domTechnique_Array &getTechnique_array() { return elemTechnique_array; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a constant reference to the array of technique elements.
+ */
+ const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ protected:
+ /**
+ * Constructor
+ */
+ domImager(DAE& dae) : daeElement(dae), elemTechnique_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domImager() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domImager &operator=( const domImager &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+
+protected: // Elements
+/**
+ * The camera element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * Optics represents the apparatus on a camera that projects the image onto
+ * the image sensor. @see domOptics
+ */
+ domOpticsRef elemOptics;
+/**
+ * Imagers represent the image sensor of a camera (for example film or CCD).
+ * @see domImager
+ */
+ domImagerRef elemImager;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the optics element.
+ * @return a daeSmartRef to the optics element.
+ */
+ const domOpticsRef getOptics() const { return elemOptics; }
+ /**
+ * Gets the imager element.
+ * @return a daeSmartRef to the imager element.
+ */
+ const domImagerRef getImager() const { return elemImager; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domCamera(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemOptics(), elemImager(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCamera() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCamera &operator=( const domCamera &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domCapsule.h b/1.4.0/dom/include/1.5/dom/domCapsule.h
new file mode 100644
index 0000000..a51d0b9
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domCapsule.h
@@ -0,0 +1,215 @@
+#ifndef __dom150Capsule_h__
+#define __dom150Capsule_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * A capsule primitive that is centered on and aligned with the local Y axis.
+ */
+class domCapsule : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CAPSULE; }
+ static daeInt ID() { return 292; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domHeight;
+
+ typedef daeSmartRef<domHeight> domHeightRef;
+ typedef daeTArray<domHeightRef> domHeight_Array;
+
+/**
+ * A float value that represents the length of the line segment connecting
+ * the centers of the capping hemispheres.
+ */
+ class domHeight : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HEIGHT; }
+ static daeInt ID() { return 293; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFloat of the value.
+ */
+ domFloat& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFloat& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFloat value of the text data of this element.
+ */
+ domFloat _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domHeight(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHeight() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHeight &operator=( const domHeight &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domRadius;
+
+ typedef daeSmartRef<domRadius> domRadiusRef;
+ typedef daeTArray<domRadiusRef> domRadius_Array;
+
+/**
+ * Three float values that represent the radii of the capsule (it may be elliptical).
+ */
+ class domRadius : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::RADIUS; }
+ static daeInt ID() { return 294; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFloat3 of the value.
+ */
+ domFloat3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFloat3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFloat3 value of the text data of this element.
+ */
+ domFloat3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domRadius(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domRadius() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRadius &operator=( const domRadius &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+/**
+ * A float value that represents the length of the line segment connecting
+ * the centers of the capping hemispheres. @see domHeight
+ */
+ domHeightRef elemHeight;
+/**
+ * Three float values that represent the radii of the capsule (it may be elliptical).
+ * @see domRadius
+ */
+ domRadiusRef elemRadius;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the height element.
+ * @return a daeSmartRef to the height element.
+ */
+ const domHeightRef getHeight() const { return elemHeight; }
+ /**
+ * Gets the radius element.
+ * @return a daeSmartRef to the radius element.
+ */
+ const domRadiusRef getRadius() const { return elemRadius; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domCapsule(DAE& dae) : daeElement(dae), elemHeight(), elemRadius(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCapsule() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCapsule &operator=( const domCapsule &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domCg_array.h b/1.4.0/dom/include/1.5/dom/domCg_array.h
new file mode 100644
index 0000000..8a67deb
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domCg_array.h
@@ -0,0 +1,104 @@
+#ifndef __dom150Cg_array_h__
+#define __dom150Cg_array_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domCg_param.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * Creates a parameter of a one-dimensional array type.
+ */
+class domCg_array : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CG_ARRAY; }
+ static daeInt ID() { return 243; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The length attribute specifies the length of the array.
+ */
+ xsPositiveInteger attrLength;
+/**
+ * The array may be resized when changed because it is connected to a Cg unsized
+ * array.
+ */
+ xsBoolean attrResizable;
+
+protected: // Element
+/**
+ * First element types the array. If more than one then init entire array
+ * and must match length attribute. If only one then repeat based on length
+ * attribute. @see domCg_param
+ */
+ domCg_param_Array elemCg_param_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the length attribute.
+ * @return Returns a xsPositiveInteger of the length attribute.
+ */
+ xsPositiveInteger getLength() const { return attrLength; }
+ /**
+ * Sets the length attribute.
+ * @param atLength The new value for the length attribute.
+ */
+ void setLength( xsPositiveInteger atLength ) { attrLength = atLength; }
+
+ /**
+ * Gets the resizable attribute.
+ * @return Returns a xsBoolean of the resizable attribute.
+ */
+ xsBoolean getResizable() const { return attrResizable; }
+ /**
+ * Sets the resizable attribute.
+ * @param atResizable The new value for the resizable attribute.
+ */
+ void setResizable( xsBoolean atResizable ) { attrResizable = atResizable; }
+
+ /**
+ * Gets the cg_param element array.
+ * @return Returns a reference to the array of cg_param elements.
+ */
+ domCg_param_Array &getCg_param_array() { return elemCg_param_array; }
+ /**
+ * Gets the cg_param element array.
+ * @return Returns a constant reference to the array of cg_param elements.
+ */
+ const domCg_param_Array &getCg_param_array() const { return elemCg_param_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domCg_array(DAE& dae) : daeElement(dae), attrLength(), attrResizable(), elemCg_param_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCg_array() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCg_array &operator=( const domCg_array &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domCg_newparam.h b/1.4.0/dom/include/1.5/dom/domCg_newparam.h
new file mode 100644
index 0000000..bb8932e
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domCg_newparam.h
@@ -0,0 +1,236 @@
+#ifndef __dom150Cg_newparam_h__
+#define __dom150Cg_newparam_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domCg_param.h>
+#include <1.5/dom/domFx_annotate.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * Create a new, named param object in the CG Runtime, assign it a type, an
+ * initial value, and additional attributes at declaration time.
+ */
+class domCg_newparam : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CG_NEWPARAM; }
+ static daeInt ID() { return 246; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domSemantic;
+
+ typedef daeSmartRef<domSemantic> domSemanticRef;
+ typedef daeTArray<domSemanticRef> domSemantic_Array;
+
+/**
+ * The semantic element allows you to specify a semantic for this new param.
+ */
+ class domSemantic : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SEMANTIC; }
+ static daeInt ID() { return 247; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsNCName of the value.
+ */
+ xsNCName getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; }
+
+ protected: // Value
+ /**
+ * The xsNCName value of the text data of this element.
+ */
+ xsNCName _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domSemantic(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSemantic() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSemantic &operator=( const domSemantic &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domModifier;
+
+ typedef daeSmartRef<domModifier> domModifierRef;
+ typedef daeTArray<domModifierRef> domModifier_Array;
+
+/**
+ * The modifier element allows you to specify a modifier for this new param.
+ */
+ class domModifier : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MODIFIER; }
+ static daeInt ID() { return 248; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_modifier of the value.
+ */
+ domFx_modifier& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFx_modifier& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFx_modifier value of the text data of this element.
+ */
+ domFx_modifier _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domModifier(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domModifier() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domModifier &operator=( const domModifier &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attribute
+ domSid attrSid;
+
+protected: // Elements
+/**
+ * The annotate element allows you to specify an annotation for this new param.
+ * @see domAnnotate
+ */
+ domFx_annotate_Array elemAnnotate_array;
+/**
+ * The semantic element allows you to specify a semantic for this new param.
+ * @see domSemantic
+ */
+ domSemanticRef elemSemantic;
+/**
+ * The modifier element allows you to specify a modifier for this new param.
+ * @see domModifier
+ */
+ domModifierRef elemModifier;
+ domCg_paramRef elemCg_param;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the annotate element array.
+ * @return Returns a reference to the array of annotate elements.
+ */
+ domFx_annotate_Array &getAnnotate_array() { return elemAnnotate_array; }
+ /**
+ * Gets the annotate element array.
+ * @return Returns a constant reference to the array of annotate elements.
+ */
+ const domFx_annotate_Array &getAnnotate_array() const { return elemAnnotate_array; }
+ /**
+ * Gets the semantic element.
+ * @return a daeSmartRef to the semantic element.
+ */
+ const domSemanticRef getSemantic() const { return elemSemantic; }
+ /**
+ * Gets the modifier element.
+ * @return a daeSmartRef to the modifier element.
+ */
+ const domModifierRef getModifier() const { return elemModifier; }
+ /**
+ * Gets the cg_param element.
+ * @return a daeSmartRef to the cg_param element.
+ */
+ const domCg_paramRef getCg_param() const { return elemCg_param; }
+protected:
+ /**
+ * Constructor
+ */
+ domCg_newparam(DAE& dae) : daeElement(dae), attrSid(), elemAnnotate_array(), elemSemantic(), elemModifier(), elemCg_param() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCg_newparam() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCg_newparam &operator=( const domCg_newparam &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domCg_param.h b/1.4.0/dom/include/1.5/dom/domCg_param.h
new file mode 100644
index 0000000..fd37ef6
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domCg_param.h
@@ -0,0 +1,5386 @@
+#ifndef __dom150Cg_param_h__
+#define __dom150Cg_param_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domFx_sampler1D.h>
+#include <1.5/dom/domFx_sampler2D.h>
+#include <1.5/dom/domFx_sampler3D.h>
+#include <1.5/dom/domFx_samplerRECT.h>
+#include <1.5/dom/domFx_samplerCUBE.h>
+#include <1.5/dom/domFx_samplerDEPTH.h>
+#include <1.5/dom/domCg_array.h>
+#include <1.5/dom/domCg_user.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * A group that specifies the allowable types for CG profile parameters.
+ */
+class domCg_param : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CG_PARAM; }
+ static daeInt ID() { return 764; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domBool;
+
+ typedef daeSmartRef<domBool> domBoolRef;
+ typedef daeTArray<domBoolRef> domBool_Array;
+
+ class domBool : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL; }
+ static daeInt ID() { return 765; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a xsBoolean of the value.
+ */
+ xsBoolean& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const xsBoolean& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The xsBoolean value of the text data of this element.
+ */
+ xsBoolean _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBool(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool &operator=( const domBool &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool2;
+
+ typedef daeSmartRef<domBool2> domBool2Ref;
+ typedef daeTArray<domBool2Ref> domBool2_Array;
+
+ class domBool2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL2; }
+ static daeInt ID() { return 766; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domBool2 of the value.
+ */
+ ColladaDOM150::domBool2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domBool2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domBool2 value of the text data of this element.
+ */
+ ColladaDOM150::domBool2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBool2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool2 &operator=( const domBool2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool3;
+
+ typedef daeSmartRef<domBool3> domBool3Ref;
+ typedef daeTArray<domBool3Ref> domBool3_Array;
+
+ class domBool3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL3; }
+ static daeInt ID() { return 767; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domBool3 of the value.
+ */
+ ColladaDOM150::domBool3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domBool3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domBool3 value of the text data of this element.
+ */
+ ColladaDOM150::domBool3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBool3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool3 &operator=( const domBool3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool4;
+
+ typedef daeSmartRef<domBool4> domBool4Ref;
+ typedef daeTArray<domBool4Ref> domBool4_Array;
+
+ class domBool4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL4; }
+ static daeInt ID() { return 768; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domBool4 of the value.
+ */
+ ColladaDOM150::domBool4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domBool4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domBool4 value of the text data of this element.
+ */
+ ColladaDOM150::domBool4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBool4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool4 &operator=( const domBool4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool2x1;
+
+ typedef daeSmartRef<domBool2x1> domBool2x1Ref;
+ typedef daeTArray<domBool2x1Ref> domBool2x1_Array;
+
+ class domBool2x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL2X1; }
+ static daeInt ID() { return 769; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domBool2 of the value.
+ */
+ ColladaDOM150::domBool2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domBool2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domBool2 value of the text data of this element.
+ */
+ ColladaDOM150::domBool2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBool2x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool2x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool2x1 &operator=( const domBool2x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool2x2;
+
+ typedef daeSmartRef<domBool2x2> domBool2x2Ref;
+ typedef daeTArray<domBool2x2Ref> domBool2x2_Array;
+
+ class domBool2x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL2X2; }
+ static daeInt ID() { return 770; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domBool2x2 of the value.
+ */
+ ColladaDOM150::domBool2x2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domBool2x2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domBool2x2 value of the text data of this element.
+ */
+ ColladaDOM150::domBool2x2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBool2x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool2x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool2x2 &operator=( const domBool2x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool2x3;
+
+ typedef daeSmartRef<domBool2x3> domBool2x3Ref;
+ typedef daeTArray<domBool2x3Ref> domBool2x3_Array;
+
+ class domBool2x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL2X3; }
+ static daeInt ID() { return 771; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domBool2x3 of the value.
+ */
+ ColladaDOM150::domBool2x3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domBool2x3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domBool2x3 value of the text data of this element.
+ */
+ ColladaDOM150::domBool2x3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBool2x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool2x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool2x3 &operator=( const domBool2x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool2x4;
+
+ typedef daeSmartRef<domBool2x4> domBool2x4Ref;
+ typedef daeTArray<domBool2x4Ref> domBool2x4_Array;
+
+ class domBool2x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL2X4; }
+ static daeInt ID() { return 772; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domBool2x4 of the value.
+ */
+ ColladaDOM150::domBool2x4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domBool2x4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domBool2x4 value of the text data of this element.
+ */
+ ColladaDOM150::domBool2x4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBool2x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool2x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool2x4 &operator=( const domBool2x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool3x1;
+
+ typedef daeSmartRef<domBool3x1> domBool3x1Ref;
+ typedef daeTArray<domBool3x1Ref> domBool3x1_Array;
+
+ class domBool3x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL3X1; }
+ static daeInt ID() { return 773; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domBool3 of the value.
+ */
+ ColladaDOM150::domBool3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domBool3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domBool3 value of the text data of this element.
+ */
+ ColladaDOM150::domBool3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBool3x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool3x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool3x1 &operator=( const domBool3x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool3x2;
+
+ typedef daeSmartRef<domBool3x2> domBool3x2Ref;
+ typedef daeTArray<domBool3x2Ref> domBool3x2_Array;
+
+ class domBool3x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL3X2; }
+ static daeInt ID() { return 774; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domBool3x2 of the value.
+ */
+ ColladaDOM150::domBool3x2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domBool3x2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domBool3x2 value of the text data of this element.
+ */
+ ColladaDOM150::domBool3x2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBool3x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool3x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool3x2 &operator=( const domBool3x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool3x3;
+
+ typedef daeSmartRef<domBool3x3> domBool3x3Ref;
+ typedef daeTArray<domBool3x3Ref> domBool3x3_Array;
+
+ class domBool3x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL3X3; }
+ static daeInt ID() { return 775; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domBool3x3 of the value.
+ */
+ ColladaDOM150::domBool3x3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domBool3x3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domBool3x3 value of the text data of this element.
+ */
+ ColladaDOM150::domBool3x3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBool3x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool3x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool3x3 &operator=( const domBool3x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool3x4;
+
+ typedef daeSmartRef<domBool3x4> domBool3x4Ref;
+ typedef daeTArray<domBool3x4Ref> domBool3x4_Array;
+
+ class domBool3x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL3X4; }
+ static daeInt ID() { return 776; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domBool3x4 of the value.
+ */
+ ColladaDOM150::domBool3x4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domBool3x4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domBool3x4 value of the text data of this element.
+ */
+ ColladaDOM150::domBool3x4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBool3x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool3x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool3x4 &operator=( const domBool3x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool4x1;
+
+ typedef daeSmartRef<domBool4x1> domBool4x1Ref;
+ typedef daeTArray<domBool4x1Ref> domBool4x1_Array;
+
+ class domBool4x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL4X1; }
+ static daeInt ID() { return 777; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domBool4 of the value.
+ */
+ ColladaDOM150::domBool4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domBool4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domBool4 value of the text data of this element.
+ */
+ ColladaDOM150::domBool4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBool4x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool4x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool4x1 &operator=( const domBool4x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool4x2;
+
+ typedef daeSmartRef<domBool4x2> domBool4x2Ref;
+ typedef daeTArray<domBool4x2Ref> domBool4x2_Array;
+
+ class domBool4x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL4X2; }
+ static daeInt ID() { return 778; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domBool4x2 of the value.
+ */
+ ColladaDOM150::domBool4x2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domBool4x2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domBool4x2 value of the text data of this element.
+ */
+ ColladaDOM150::domBool4x2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBool4x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool4x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool4x2 &operator=( const domBool4x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool4x3;
+
+ typedef daeSmartRef<domBool4x3> domBool4x3Ref;
+ typedef daeTArray<domBool4x3Ref> domBool4x3_Array;
+
+ class domBool4x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL4X3; }
+ static daeInt ID() { return 779; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domBool4x3 of the value.
+ */
+ ColladaDOM150::domBool4x3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domBool4x3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domBool4x3 value of the text data of this element.
+ */
+ ColladaDOM150::domBool4x3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBool4x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool4x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool4x3 &operator=( const domBool4x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool4x4;
+
+ typedef daeSmartRef<domBool4x4> domBool4x4Ref;
+ typedef daeTArray<domBool4x4Ref> domBool4x4_Array;
+
+ class domBool4x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL4X4; }
+ static daeInt ID() { return 780; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domBool4x4 of the value.
+ */
+ ColladaDOM150::domBool4x4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domBool4x4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domBool4x4 value of the text data of this element.
+ */
+ ColladaDOM150::domBool4x4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBool4x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool4x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool4x4 &operator=( const domBool4x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat;
+
+ typedef daeSmartRef<domFloat> domFloatRef;
+ typedef daeTArray<domFloatRef> domFloat_Array;
+
+ class domFloat : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT; }
+ static daeInt ID() { return 781; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat of the value.
+ */
+ ColladaDOM150::domFloat& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat value of the text data of this element.
+ */
+ ColladaDOM150::domFloat _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat &operator=( const domFloat &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat2;
+
+ typedef daeSmartRef<domFloat2> domFloat2Ref;
+ typedef daeTArray<domFloat2Ref> domFloat2_Array;
+
+ class domFloat2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2; }
+ static daeInt ID() { return 782; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat2 of the value.
+ */
+ ColladaDOM150::domFloat2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat2 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat2 &operator=( const domFloat2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat3;
+
+ typedef daeSmartRef<domFloat3> domFloat3Ref;
+ typedef daeTArray<domFloat3Ref> domFloat3_Array;
+
+ class domFloat3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3; }
+ static daeInt ID() { return 783; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat3 of the value.
+ */
+ ColladaDOM150::domFloat3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat3 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat3 &operator=( const domFloat3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat4;
+
+ typedef daeSmartRef<domFloat4> domFloat4Ref;
+ typedef daeTArray<domFloat4Ref> domFloat4_Array;
+
+ class domFloat4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4; }
+ static daeInt ID() { return 784; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat4 of the value.
+ */
+ ColladaDOM150::domFloat4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat4 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat4 &operator=( const domFloat4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat2x1;
+
+ typedef daeSmartRef<domFloat2x1> domFloat2x1Ref;
+ typedef daeTArray<domFloat2x1Ref> domFloat2x1_Array;
+
+ class domFloat2x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2X1; }
+ static daeInt ID() { return 785; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat2 of the value.
+ */
+ ColladaDOM150::domFloat2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat2 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat2x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat2x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat2x1 &operator=( const domFloat2x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat2x2;
+
+ typedef daeSmartRef<domFloat2x2> domFloat2x2Ref;
+ typedef daeTArray<domFloat2x2Ref> domFloat2x2_Array;
+
+ class domFloat2x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2X2; }
+ static daeInt ID() { return 786; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat2x2 of the value.
+ */
+ ColladaDOM150::domFloat2x2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat2x2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat2x2 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat2x2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat2x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat2x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat2x2 &operator=( const domFloat2x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat2x3;
+
+ typedef daeSmartRef<domFloat2x3> domFloat2x3Ref;
+ typedef daeTArray<domFloat2x3Ref> domFloat2x3_Array;
+
+ class domFloat2x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2X3; }
+ static daeInt ID() { return 787; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat2x3 of the value.
+ */
+ ColladaDOM150::domFloat2x3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat2x3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat2x3 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat2x3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat2x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat2x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat2x3 &operator=( const domFloat2x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat2x4;
+
+ typedef daeSmartRef<domFloat2x4> domFloat2x4Ref;
+ typedef daeTArray<domFloat2x4Ref> domFloat2x4_Array;
+
+ class domFloat2x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2X4; }
+ static daeInt ID() { return 788; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat2x4 of the value.
+ */
+ ColladaDOM150::domFloat2x4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat2x4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat2x4 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat2x4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat2x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat2x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat2x4 &operator=( const domFloat2x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat3x1;
+
+ typedef daeSmartRef<domFloat3x1> domFloat3x1Ref;
+ typedef daeTArray<domFloat3x1Ref> domFloat3x1_Array;
+
+ class domFloat3x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3X1; }
+ static daeInt ID() { return 789; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat3 of the value.
+ */
+ ColladaDOM150::domFloat3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat3 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat3x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat3x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat3x1 &operator=( const domFloat3x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat3x2;
+
+ typedef daeSmartRef<domFloat3x2> domFloat3x2Ref;
+ typedef daeTArray<domFloat3x2Ref> domFloat3x2_Array;
+
+ class domFloat3x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3X2; }
+ static daeInt ID() { return 790; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat3x2 of the value.
+ */
+ ColladaDOM150::domFloat3x2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat3x2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat3x2 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat3x2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat3x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat3x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat3x2 &operator=( const domFloat3x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat3x3;
+
+ typedef daeSmartRef<domFloat3x3> domFloat3x3Ref;
+ typedef daeTArray<domFloat3x3Ref> domFloat3x3_Array;
+
+ class domFloat3x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3X3; }
+ static daeInt ID() { return 791; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat3x3 of the value.
+ */
+ ColladaDOM150::domFloat3x3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat3x3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat3x3 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat3x3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat3x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat3x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat3x3 &operator=( const domFloat3x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat3x4;
+
+ typedef daeSmartRef<domFloat3x4> domFloat3x4Ref;
+ typedef daeTArray<domFloat3x4Ref> domFloat3x4_Array;
+
+ class domFloat3x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3X4; }
+ static daeInt ID() { return 792; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat3x4 of the value.
+ */
+ ColladaDOM150::domFloat3x4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat3x4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat3x4 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat3x4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat3x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat3x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat3x4 &operator=( const domFloat3x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat4x1;
+
+ typedef daeSmartRef<domFloat4x1> domFloat4x1Ref;
+ typedef daeTArray<domFloat4x1Ref> domFloat4x1_Array;
+
+ class domFloat4x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4X1; }
+ static daeInt ID() { return 793; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat4 of the value.
+ */
+ ColladaDOM150::domFloat4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat4 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat4x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat4x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat4x1 &operator=( const domFloat4x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat4x2;
+
+ typedef daeSmartRef<domFloat4x2> domFloat4x2Ref;
+ typedef daeTArray<domFloat4x2Ref> domFloat4x2_Array;
+
+ class domFloat4x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4X2; }
+ static daeInt ID() { return 794; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat4x2 of the value.
+ */
+ ColladaDOM150::domFloat4x2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat4x2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat4x2 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat4x2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat4x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat4x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat4x2 &operator=( const domFloat4x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat4x3;
+
+ typedef daeSmartRef<domFloat4x3> domFloat4x3Ref;
+ typedef daeTArray<domFloat4x3Ref> domFloat4x3_Array;
+
+ class domFloat4x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4X3; }
+ static daeInt ID() { return 795; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat4x3 of the value.
+ */
+ ColladaDOM150::domFloat4x3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat4x3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat4x3 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat4x3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat4x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat4x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat4x3 &operator=( const domFloat4x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat4x4;
+
+ typedef daeSmartRef<domFloat4x4> domFloat4x4Ref;
+ typedef daeTArray<domFloat4x4Ref> domFloat4x4_Array;
+
+ class domFloat4x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4X4; }
+ static daeInt ID() { return 796; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat4x4 of the value.
+ */
+ ColladaDOM150::domFloat4x4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat4x4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat4x4 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat4x4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat4x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat4x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat4x4 &operator=( const domFloat4x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt;
+
+ typedef daeSmartRef<domInt> domIntRef;
+ typedef daeTArray<domIntRef> domInt_Array;
+
+ class domInt : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT; }
+ static daeInt ID() { return 797; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domInt of the value.
+ */
+ ColladaDOM150::domInt& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domInt& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domInt value of the text data of this element.
+ */
+ ColladaDOM150::domInt _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domInt(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt &operator=( const domInt &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt2;
+
+ typedef daeSmartRef<domInt2> domInt2Ref;
+ typedef daeTArray<domInt2Ref> domInt2_Array;
+
+ class domInt2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT2; }
+ static daeInt ID() { return 798; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domInt2 of the value.
+ */
+ ColladaDOM150::domInt2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domInt2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domInt2 value of the text data of this element.
+ */
+ ColladaDOM150::domInt2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domInt2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt2 &operator=( const domInt2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt3;
+
+ typedef daeSmartRef<domInt3> domInt3Ref;
+ typedef daeTArray<domInt3Ref> domInt3_Array;
+
+ class domInt3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT3; }
+ static daeInt ID() { return 799; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domInt3 of the value.
+ */
+ ColladaDOM150::domInt3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domInt3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domInt3 value of the text data of this element.
+ */
+ ColladaDOM150::domInt3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domInt3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt3 &operator=( const domInt3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt4;
+
+ typedef daeSmartRef<domInt4> domInt4Ref;
+ typedef daeTArray<domInt4Ref> domInt4_Array;
+
+ class domInt4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT4; }
+ static daeInt ID() { return 800; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domInt4 of the value.
+ */
+ ColladaDOM150::domInt4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domInt4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domInt4 value of the text data of this element.
+ */
+ ColladaDOM150::domInt4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domInt4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt4 &operator=( const domInt4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt2x1;
+
+ typedef daeSmartRef<domInt2x1> domInt2x1Ref;
+ typedef daeTArray<domInt2x1Ref> domInt2x1_Array;
+
+ class domInt2x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT2X1; }
+ static daeInt ID() { return 801; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domInt2 of the value.
+ */
+ ColladaDOM150::domInt2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domInt2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domInt2 value of the text data of this element.
+ */
+ ColladaDOM150::domInt2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domInt2x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt2x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt2x1 &operator=( const domInt2x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt2x2;
+
+ typedef daeSmartRef<domInt2x2> domInt2x2Ref;
+ typedef daeTArray<domInt2x2Ref> domInt2x2_Array;
+
+ class domInt2x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT2X2; }
+ static daeInt ID() { return 802; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domInt2x2 of the value.
+ */
+ ColladaDOM150::domInt2x2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domInt2x2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domInt2x2 value of the text data of this element.
+ */
+ ColladaDOM150::domInt2x2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domInt2x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt2x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt2x2 &operator=( const domInt2x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt2x3;
+
+ typedef daeSmartRef<domInt2x3> domInt2x3Ref;
+ typedef daeTArray<domInt2x3Ref> domInt2x3_Array;
+
+ class domInt2x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT2X3; }
+ static daeInt ID() { return 803; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domInt2x3 of the value.
+ */
+ ColladaDOM150::domInt2x3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domInt2x3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domInt2x3 value of the text data of this element.
+ */
+ ColladaDOM150::domInt2x3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domInt2x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt2x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt2x3 &operator=( const domInt2x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt2x4;
+
+ typedef daeSmartRef<domInt2x4> domInt2x4Ref;
+ typedef daeTArray<domInt2x4Ref> domInt2x4_Array;
+
+ class domInt2x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT2X4; }
+ static daeInt ID() { return 804; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domInt2x4 of the value.
+ */
+ ColladaDOM150::domInt2x4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domInt2x4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domInt2x4 value of the text data of this element.
+ */
+ ColladaDOM150::domInt2x4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domInt2x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt2x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt2x4 &operator=( const domInt2x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt3x1;
+
+ typedef daeSmartRef<domInt3x1> domInt3x1Ref;
+ typedef daeTArray<domInt3x1Ref> domInt3x1_Array;
+
+ class domInt3x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT3X1; }
+ static daeInt ID() { return 805; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domInt3 of the value.
+ */
+ ColladaDOM150::domInt3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domInt3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domInt3 value of the text data of this element.
+ */
+ ColladaDOM150::domInt3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domInt3x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt3x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt3x1 &operator=( const domInt3x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt3x2;
+
+ typedef daeSmartRef<domInt3x2> domInt3x2Ref;
+ typedef daeTArray<domInt3x2Ref> domInt3x2_Array;
+
+ class domInt3x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT3X2; }
+ static daeInt ID() { return 806; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domInt3x2 of the value.
+ */
+ ColladaDOM150::domInt3x2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domInt3x2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domInt3x2 value of the text data of this element.
+ */
+ ColladaDOM150::domInt3x2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domInt3x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt3x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt3x2 &operator=( const domInt3x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt3x3;
+
+ typedef daeSmartRef<domInt3x3> domInt3x3Ref;
+ typedef daeTArray<domInt3x3Ref> domInt3x3_Array;
+
+ class domInt3x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT3X3; }
+ static daeInt ID() { return 807; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domInt3x3 of the value.
+ */
+ ColladaDOM150::domInt3x3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domInt3x3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domInt3x3 value of the text data of this element.
+ */
+ ColladaDOM150::domInt3x3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domInt3x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt3x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt3x3 &operator=( const domInt3x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt3x4;
+
+ typedef daeSmartRef<domInt3x4> domInt3x4Ref;
+ typedef daeTArray<domInt3x4Ref> domInt3x4_Array;
+
+ class domInt3x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT3X4; }
+ static daeInt ID() { return 808; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domInt3x4 of the value.
+ */
+ ColladaDOM150::domInt3x4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domInt3x4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domInt3x4 value of the text data of this element.
+ */
+ ColladaDOM150::domInt3x4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domInt3x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt3x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt3x4 &operator=( const domInt3x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt4x1;
+
+ typedef daeSmartRef<domInt4x1> domInt4x1Ref;
+ typedef daeTArray<domInt4x1Ref> domInt4x1_Array;
+
+ class domInt4x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT4X1; }
+ static daeInt ID() { return 809; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domInt4 of the value.
+ */
+ ColladaDOM150::domInt4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domInt4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domInt4 value of the text data of this element.
+ */
+ ColladaDOM150::domInt4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domInt4x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt4x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt4x1 &operator=( const domInt4x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt4x2;
+
+ typedef daeSmartRef<domInt4x2> domInt4x2Ref;
+ typedef daeTArray<domInt4x2Ref> domInt4x2_Array;
+
+ class domInt4x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT4X2; }
+ static daeInt ID() { return 810; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domInt4x2 of the value.
+ */
+ ColladaDOM150::domInt4x2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domInt4x2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domInt4x2 value of the text data of this element.
+ */
+ ColladaDOM150::domInt4x2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domInt4x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt4x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt4x2 &operator=( const domInt4x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt4x3;
+
+ typedef daeSmartRef<domInt4x3> domInt4x3Ref;
+ typedef daeTArray<domInt4x3Ref> domInt4x3_Array;
+
+ class domInt4x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT4X3; }
+ static daeInt ID() { return 811; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domInt4x3 of the value.
+ */
+ ColladaDOM150::domInt4x3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domInt4x3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domInt4x3 value of the text data of this element.
+ */
+ ColladaDOM150::domInt4x3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domInt4x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt4x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt4x3 &operator=( const domInt4x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt4x4;
+
+ typedef daeSmartRef<domInt4x4> domInt4x4Ref;
+ typedef daeTArray<domInt4x4Ref> domInt4x4_Array;
+
+ class domInt4x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT4X4; }
+ static daeInt ID() { return 812; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domInt4x4 of the value.
+ */
+ ColladaDOM150::domInt4x4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domInt4x4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domInt4x4 value of the text data of this element.
+ */
+ ColladaDOM150::domInt4x4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domInt4x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt4x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt4x4 &operator=( const domInt4x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domHalf;
+
+ typedef daeSmartRef<domHalf> domHalfRef;
+ typedef daeTArray<domHalfRef> domHalf_Array;
+
+ class domHalf : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HALF; }
+ static daeInt ID() { return 813; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat of the value.
+ */
+ ColladaDOM150::domFloat& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat value of the text data of this element.
+ */
+ ColladaDOM150::domFloat _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domHalf(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHalf() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHalf &operator=( const domHalf &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domHalf2;
+
+ typedef daeSmartRef<domHalf2> domHalf2Ref;
+ typedef daeTArray<domHalf2Ref> domHalf2_Array;
+
+ class domHalf2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HALF2; }
+ static daeInt ID() { return 814; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat2 of the value.
+ */
+ ColladaDOM150::domFloat2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat2 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domHalf2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHalf2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHalf2 &operator=( const domHalf2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domHalf3;
+
+ typedef daeSmartRef<domHalf3> domHalf3Ref;
+ typedef daeTArray<domHalf3Ref> domHalf3_Array;
+
+ class domHalf3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HALF3; }
+ static daeInt ID() { return 815; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat3 of the value.
+ */
+ ColladaDOM150::domFloat3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat3 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domHalf3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHalf3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHalf3 &operator=( const domHalf3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domHalf4;
+
+ typedef daeSmartRef<domHalf4> domHalf4Ref;
+ typedef daeTArray<domHalf4Ref> domHalf4_Array;
+
+ class domHalf4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HALF4; }
+ static daeInt ID() { return 816; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat4 of the value.
+ */
+ ColladaDOM150::domFloat4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat4 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domHalf4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHalf4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHalf4 &operator=( const domHalf4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domHalf2x1;
+
+ typedef daeSmartRef<domHalf2x1> domHalf2x1Ref;
+ typedef daeTArray<domHalf2x1Ref> domHalf2x1_Array;
+
+ class domHalf2x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HALF2X1; }
+ static daeInt ID() { return 817; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat2 of the value.
+ */
+ ColladaDOM150::domFloat2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat2 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domHalf2x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHalf2x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHalf2x1 &operator=( const domHalf2x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domHalf2x2;
+
+ typedef daeSmartRef<domHalf2x2> domHalf2x2Ref;
+ typedef daeTArray<domHalf2x2Ref> domHalf2x2_Array;
+
+ class domHalf2x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HALF2X2; }
+ static daeInt ID() { return 818; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat2x2 of the value.
+ */
+ ColladaDOM150::domFloat2x2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat2x2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat2x2 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat2x2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domHalf2x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHalf2x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHalf2x2 &operator=( const domHalf2x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domHalf2x3;
+
+ typedef daeSmartRef<domHalf2x3> domHalf2x3Ref;
+ typedef daeTArray<domHalf2x3Ref> domHalf2x3_Array;
+
+ class domHalf2x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HALF2X3; }
+ static daeInt ID() { return 819; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat2x3 of the value.
+ */
+ ColladaDOM150::domFloat2x3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat2x3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat2x3 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat2x3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domHalf2x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHalf2x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHalf2x3 &operator=( const domHalf2x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domHalf2x4;
+
+ typedef daeSmartRef<domHalf2x4> domHalf2x4Ref;
+ typedef daeTArray<domHalf2x4Ref> domHalf2x4_Array;
+
+ class domHalf2x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HALF2X4; }
+ static daeInt ID() { return 820; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat2x4 of the value.
+ */
+ ColladaDOM150::domFloat2x4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat2x4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat2x4 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat2x4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domHalf2x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHalf2x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHalf2x4 &operator=( const domHalf2x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domHalf3x1;
+
+ typedef daeSmartRef<domHalf3x1> domHalf3x1Ref;
+ typedef daeTArray<domHalf3x1Ref> domHalf3x1_Array;
+
+ class domHalf3x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HALF3X1; }
+ static daeInt ID() { return 821; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat3 of the value.
+ */
+ ColladaDOM150::domFloat3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat3 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domHalf3x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHalf3x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHalf3x1 &operator=( const domHalf3x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domHalf3x2;
+
+ typedef daeSmartRef<domHalf3x2> domHalf3x2Ref;
+ typedef daeTArray<domHalf3x2Ref> domHalf3x2_Array;
+
+ class domHalf3x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HALF3X2; }
+ static daeInt ID() { return 822; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat3x2 of the value.
+ */
+ ColladaDOM150::domFloat3x2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat3x2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat3x2 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat3x2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domHalf3x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHalf3x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHalf3x2 &operator=( const domHalf3x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domHalf3x3;
+
+ typedef daeSmartRef<domHalf3x3> domHalf3x3Ref;
+ typedef daeTArray<domHalf3x3Ref> domHalf3x3_Array;
+
+ class domHalf3x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HALF3X3; }
+ static daeInt ID() { return 823; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat3x3 of the value.
+ */
+ ColladaDOM150::domFloat3x3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat3x3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat3x3 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat3x3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domHalf3x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHalf3x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHalf3x3 &operator=( const domHalf3x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domHalf3x4;
+
+ typedef daeSmartRef<domHalf3x4> domHalf3x4Ref;
+ typedef daeTArray<domHalf3x4Ref> domHalf3x4_Array;
+
+ class domHalf3x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HALF3X4; }
+ static daeInt ID() { return 824; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat3x4 of the value.
+ */
+ ColladaDOM150::domFloat3x4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat3x4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat3x4 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat3x4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domHalf3x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHalf3x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHalf3x4 &operator=( const domHalf3x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domHalf4x1;
+
+ typedef daeSmartRef<domHalf4x1> domHalf4x1Ref;
+ typedef daeTArray<domHalf4x1Ref> domHalf4x1_Array;
+
+ class domHalf4x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HALF4X1; }
+ static daeInt ID() { return 825; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat4 of the value.
+ */
+ ColladaDOM150::domFloat4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat4 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domHalf4x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHalf4x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHalf4x1 &operator=( const domHalf4x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domHalf4x2;
+
+ typedef daeSmartRef<domHalf4x2> domHalf4x2Ref;
+ typedef daeTArray<domHalf4x2Ref> domHalf4x2_Array;
+
+ class domHalf4x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HALF4X2; }
+ static daeInt ID() { return 826; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat4x2 of the value.
+ */
+ ColladaDOM150::domFloat4x2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat4x2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat4x2 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat4x2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domHalf4x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHalf4x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHalf4x2 &operator=( const domHalf4x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domHalf4x3;
+
+ typedef daeSmartRef<domHalf4x3> domHalf4x3Ref;
+ typedef daeTArray<domHalf4x3Ref> domHalf4x3_Array;
+
+ class domHalf4x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HALF4X3; }
+ static daeInt ID() { return 827; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat4x3 of the value.
+ */
+ ColladaDOM150::domFloat4x3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat4x3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat4x3 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat4x3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domHalf4x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHalf4x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHalf4x3 &operator=( const domHalf4x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domHalf4x4;
+
+ typedef daeSmartRef<domHalf4x4> domHalf4x4Ref;
+ typedef daeTArray<domHalf4x4Ref> domHalf4x4_Array;
+
+ class domHalf4x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HALF4X4; }
+ static daeInt ID() { return 828; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat4x4 of the value.
+ */
+ ColladaDOM150::domFloat4x4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat4x4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat4x4 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat4x4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domHalf4x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHalf4x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHalf4x4 &operator=( const domHalf4x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFixed;
+
+ typedef daeSmartRef<domFixed> domFixedRef;
+ typedef daeTArray<domFixedRef> domFixed_Array;
+
+ class domFixed : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FIXED; }
+ static daeInt ID() { return 829; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat of the value.
+ */
+ ColladaDOM150::domFloat& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat value of the text data of this element.
+ */
+ ColladaDOM150::domFloat _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFixed(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFixed() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFixed &operator=( const domFixed &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFixed2;
+
+ typedef daeSmartRef<domFixed2> domFixed2Ref;
+ typedef daeTArray<domFixed2Ref> domFixed2_Array;
+
+ class domFixed2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FIXED2; }
+ static daeInt ID() { return 830; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat2 of the value.
+ */
+ ColladaDOM150::domFloat2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat2 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFixed2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFixed2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFixed2 &operator=( const domFixed2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFixed3;
+
+ typedef daeSmartRef<domFixed3> domFixed3Ref;
+ typedef daeTArray<domFixed3Ref> domFixed3_Array;
+
+ class domFixed3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FIXED3; }
+ static daeInt ID() { return 831; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat3 of the value.
+ */
+ ColladaDOM150::domFloat3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat3 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFixed3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFixed3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFixed3 &operator=( const domFixed3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFixed4;
+
+ typedef daeSmartRef<domFixed4> domFixed4Ref;
+ typedef daeTArray<domFixed4Ref> domFixed4_Array;
+
+ class domFixed4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FIXED4; }
+ static daeInt ID() { return 832; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat4 of the value.
+ */
+ ColladaDOM150::domFloat4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat4 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFixed4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFixed4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFixed4 &operator=( const domFixed4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFixed2x1;
+
+ typedef daeSmartRef<domFixed2x1> domFixed2x1Ref;
+ typedef daeTArray<domFixed2x1Ref> domFixed2x1_Array;
+
+ class domFixed2x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FIXED2X1; }
+ static daeInt ID() { return 833; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat2 of the value.
+ */
+ ColladaDOM150::domFloat2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat2 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFixed2x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFixed2x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFixed2x1 &operator=( const domFixed2x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFixed2x2;
+
+ typedef daeSmartRef<domFixed2x2> domFixed2x2Ref;
+ typedef daeTArray<domFixed2x2Ref> domFixed2x2_Array;
+
+ class domFixed2x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FIXED2X2; }
+ static daeInt ID() { return 834; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat2x2 of the value.
+ */
+ ColladaDOM150::domFloat2x2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat2x2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat2x2 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat2x2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFixed2x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFixed2x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFixed2x2 &operator=( const domFixed2x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFixed2x3;
+
+ typedef daeSmartRef<domFixed2x3> domFixed2x3Ref;
+ typedef daeTArray<domFixed2x3Ref> domFixed2x3_Array;
+
+ class domFixed2x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FIXED2X3; }
+ static daeInt ID() { return 835; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat2x3 of the value.
+ */
+ ColladaDOM150::domFloat2x3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat2x3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat2x3 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat2x3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFixed2x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFixed2x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFixed2x3 &operator=( const domFixed2x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFixed2x4;
+
+ typedef daeSmartRef<domFixed2x4> domFixed2x4Ref;
+ typedef daeTArray<domFixed2x4Ref> domFixed2x4_Array;
+
+ class domFixed2x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FIXED2X4; }
+ static daeInt ID() { return 836; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat2x4 of the value.
+ */
+ ColladaDOM150::domFloat2x4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat2x4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat2x4 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat2x4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFixed2x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFixed2x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFixed2x4 &operator=( const domFixed2x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFixed3x1;
+
+ typedef daeSmartRef<domFixed3x1> domFixed3x1Ref;
+ typedef daeTArray<domFixed3x1Ref> domFixed3x1_Array;
+
+ class domFixed3x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FIXED3X1; }
+ static daeInt ID() { return 837; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat3 of the value.
+ */
+ ColladaDOM150::domFloat3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat3 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFixed3x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFixed3x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFixed3x1 &operator=( const domFixed3x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFixed3x2;
+
+ typedef daeSmartRef<domFixed3x2> domFixed3x2Ref;
+ typedef daeTArray<domFixed3x2Ref> domFixed3x2_Array;
+
+ class domFixed3x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FIXED3X2; }
+ static daeInt ID() { return 838; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat3x2 of the value.
+ */
+ ColladaDOM150::domFloat3x2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat3x2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat3x2 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat3x2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFixed3x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFixed3x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFixed3x2 &operator=( const domFixed3x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFixed3x3;
+
+ typedef daeSmartRef<domFixed3x3> domFixed3x3Ref;
+ typedef daeTArray<domFixed3x3Ref> domFixed3x3_Array;
+
+ class domFixed3x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FIXED3X3; }
+ static daeInt ID() { return 839; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat3x3 of the value.
+ */
+ ColladaDOM150::domFloat3x3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat3x3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat3x3 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat3x3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFixed3x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFixed3x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFixed3x3 &operator=( const domFixed3x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFixed3x4;
+
+ typedef daeSmartRef<domFixed3x4> domFixed3x4Ref;
+ typedef daeTArray<domFixed3x4Ref> domFixed3x4_Array;
+
+ class domFixed3x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FIXED3X4; }
+ static daeInt ID() { return 840; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat3x4 of the value.
+ */
+ ColladaDOM150::domFloat3x4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat3x4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat3x4 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat3x4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFixed3x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFixed3x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFixed3x4 &operator=( const domFixed3x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFixed4x1;
+
+ typedef daeSmartRef<domFixed4x1> domFixed4x1Ref;
+ typedef daeTArray<domFixed4x1Ref> domFixed4x1_Array;
+
+ class domFixed4x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FIXED4X1; }
+ static daeInt ID() { return 841; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat4 of the value.
+ */
+ ColladaDOM150::domFloat4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat4 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFixed4x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFixed4x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFixed4x1 &operator=( const domFixed4x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFixed4x2;
+
+ typedef daeSmartRef<domFixed4x2> domFixed4x2Ref;
+ typedef daeTArray<domFixed4x2Ref> domFixed4x2_Array;
+
+ class domFixed4x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FIXED4X2; }
+ static daeInt ID() { return 842; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat4x2 of the value.
+ */
+ ColladaDOM150::domFloat4x2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat4x2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat4x2 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat4x2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFixed4x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFixed4x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFixed4x2 &operator=( const domFixed4x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFixed4x3;
+
+ typedef daeSmartRef<domFixed4x3> domFixed4x3Ref;
+ typedef daeTArray<domFixed4x3Ref> domFixed4x3_Array;
+
+ class domFixed4x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FIXED4X3; }
+ static daeInt ID() { return 843; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat4x3 of the value.
+ */
+ ColladaDOM150::domFloat4x3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat4x3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat4x3 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat4x3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFixed4x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFixed4x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFixed4x3 &operator=( const domFixed4x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFixed4x4;
+
+ typedef daeSmartRef<domFixed4x4> domFixed4x4Ref;
+ typedef daeTArray<domFixed4x4Ref> domFixed4x4_Array;
+
+ class domFixed4x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FIXED4X4; }
+ static daeInt ID() { return 844; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat4x4 of the value.
+ */
+ ColladaDOM150::domFloat4x4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat4x4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat4x4 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat4x4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFixed4x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFixed4x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFixed4x4 &operator=( const domFixed4x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domString;
+
+ typedef daeSmartRef<domString> domStringRef;
+ typedef daeTArray<domStringRef> domString_Array;
+
+ class domString : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::STRING; }
+ static daeInt ID() { return 845; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a ::xsString of the value.
+ */
+ ::xsString getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( ::xsString val ) { *(daeStringRef*)&_value = val; }
+
+ protected: // Value
+ /**
+ * The ::xsString value of the text data of this element.
+ */
+ ::xsString _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domString(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domString() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domString &operator=( const domString &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domEnum;
+
+ typedef daeSmartRef<domEnum> domEnumRef;
+ typedef daeTArray<domEnumRef> domEnum_Array;
+
+ class domEnum : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ENUM; }
+ static daeInt ID() { return 846; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domGl_enumeration of the value.
+ */
+ domGl_enumeration& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domGl_enumeration& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domGl_enumeration value of the text data of this element.
+ */
+ domGl_enumeration _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domEnum(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domEnum() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domEnum &operator=( const domEnum &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+ domBoolRef elemBool;
+ domBool2Ref elemBool2;
+ domBool3Ref elemBool3;
+ domBool4Ref elemBool4;
+ domBool2x1Ref elemBool2x1;
+ domBool2x2Ref elemBool2x2;
+ domBool2x3Ref elemBool2x3;
+ domBool2x4Ref elemBool2x4;
+ domBool3x1Ref elemBool3x1;
+ domBool3x2Ref elemBool3x2;
+ domBool3x3Ref elemBool3x3;
+ domBool3x4Ref elemBool3x4;
+ domBool4x1Ref elemBool4x1;
+ domBool4x2Ref elemBool4x2;
+ domBool4x3Ref elemBool4x3;
+ domBool4x4Ref elemBool4x4;
+ domFloatRef elemFloat;
+ domFloat2Ref elemFloat2;
+ domFloat3Ref elemFloat3;
+ domFloat4Ref elemFloat4;
+ domFloat2x1Ref elemFloat2x1;
+ domFloat2x2Ref elemFloat2x2;
+ domFloat2x3Ref elemFloat2x3;
+ domFloat2x4Ref elemFloat2x4;
+ domFloat3x1Ref elemFloat3x1;
+ domFloat3x2Ref elemFloat3x2;
+ domFloat3x3Ref elemFloat3x3;
+ domFloat3x4Ref elemFloat3x4;
+ domFloat4x1Ref elemFloat4x1;
+ domFloat4x2Ref elemFloat4x2;
+ domFloat4x3Ref elemFloat4x3;
+ domFloat4x4Ref elemFloat4x4;
+ domIntRef elemInt;
+ domInt2Ref elemInt2;
+ domInt3Ref elemInt3;
+ domInt4Ref elemInt4;
+ domInt2x1Ref elemInt2x1;
+ domInt2x2Ref elemInt2x2;
+ domInt2x3Ref elemInt2x3;
+ domInt2x4Ref elemInt2x4;
+ domInt3x1Ref elemInt3x1;
+ domInt3x2Ref elemInt3x2;
+ domInt3x3Ref elemInt3x3;
+ domInt3x4Ref elemInt3x4;
+ domInt4x1Ref elemInt4x1;
+ domInt4x2Ref elemInt4x2;
+ domInt4x3Ref elemInt4x3;
+ domInt4x4Ref elemInt4x4;
+ domHalfRef elemHalf;
+ domHalf2Ref elemHalf2;
+ domHalf3Ref elemHalf3;
+ domHalf4Ref elemHalf4;
+ domHalf2x1Ref elemHalf2x1;
+ domHalf2x2Ref elemHalf2x2;
+ domHalf2x3Ref elemHalf2x3;
+ domHalf2x4Ref elemHalf2x4;
+ domHalf3x1Ref elemHalf3x1;
+ domHalf3x2Ref elemHalf3x2;
+ domHalf3x3Ref elemHalf3x3;
+ domHalf3x4Ref elemHalf3x4;
+ domHalf4x1Ref elemHalf4x1;
+ domHalf4x2Ref elemHalf4x2;
+ domHalf4x3Ref elemHalf4x3;
+ domHalf4x4Ref elemHalf4x4;
+ domFixedRef elemFixed;
+ domFixed2Ref elemFixed2;
+ domFixed3Ref elemFixed3;
+ domFixed4Ref elemFixed4;
+ domFixed2x1Ref elemFixed2x1;
+ domFixed2x2Ref elemFixed2x2;
+ domFixed2x3Ref elemFixed2x3;
+ domFixed2x4Ref elemFixed2x4;
+ domFixed3x1Ref elemFixed3x1;
+ domFixed3x2Ref elemFixed3x2;
+ domFixed3x3Ref elemFixed3x3;
+ domFixed3x4Ref elemFixed3x4;
+ domFixed4x1Ref elemFixed4x1;
+ domFixed4x2Ref elemFixed4x2;
+ domFixed4x3Ref elemFixed4x3;
+ domFixed4x4Ref elemFixed4x4;
+ domFx_sampler1DRef elemSampler1D;
+ domFx_sampler2DRef elemSampler2D;
+ domFx_sampler3DRef elemSampler3D;
+ domFx_samplerRECTRef elemSamplerRECT;
+ domFx_samplerCUBERef elemSamplerCUBE;
+ domFx_samplerDEPTHRef elemSamplerDEPTH;
+ domStringRef elemString;
+ domEnumRef elemEnum;
+ domCg_arrayRef elemArray;
+ domCg_userRef elemUsertype;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the bool element.
+ * @return a daeSmartRef to the bool element.
+ */
+ const domBoolRef getBool() const { return elemBool; }
+ /**
+ * Gets the bool2 element.
+ * @return a daeSmartRef to the bool2 element.
+ */
+ const domBool2Ref getBool2() const { return elemBool2; }
+ /**
+ * Gets the bool3 element.
+ * @return a daeSmartRef to the bool3 element.
+ */
+ const domBool3Ref getBool3() const { return elemBool3; }
+ /**
+ * Gets the bool4 element.
+ * @return a daeSmartRef to the bool4 element.
+ */
+ const domBool4Ref getBool4() const { return elemBool4; }
+ /**
+ * Gets the bool2x1 element.
+ * @return a daeSmartRef to the bool2x1 element.
+ */
+ const domBool2x1Ref getBool2x1() const { return elemBool2x1; }
+ /**
+ * Gets the bool2x2 element.
+ * @return a daeSmartRef to the bool2x2 element.
+ */
+ const domBool2x2Ref getBool2x2() const { return elemBool2x2; }
+ /**
+ * Gets the bool2x3 element.
+ * @return a daeSmartRef to the bool2x3 element.
+ */
+ const domBool2x3Ref getBool2x3() const { return elemBool2x3; }
+ /**
+ * Gets the bool2x4 element.
+ * @return a daeSmartRef to the bool2x4 element.
+ */
+ const domBool2x4Ref getBool2x4() const { return elemBool2x4; }
+ /**
+ * Gets the bool3x1 element.
+ * @return a daeSmartRef to the bool3x1 element.
+ */
+ const domBool3x1Ref getBool3x1() const { return elemBool3x1; }
+ /**
+ * Gets the bool3x2 element.
+ * @return a daeSmartRef to the bool3x2 element.
+ */
+ const domBool3x2Ref getBool3x2() const { return elemBool3x2; }
+ /**
+ * Gets the bool3x3 element.
+ * @return a daeSmartRef to the bool3x3 element.
+ */
+ const domBool3x3Ref getBool3x3() const { return elemBool3x3; }
+ /**
+ * Gets the bool3x4 element.
+ * @return a daeSmartRef to the bool3x4 element.
+ */
+ const domBool3x4Ref getBool3x4() const { return elemBool3x4; }
+ /**
+ * Gets the bool4x1 element.
+ * @return a daeSmartRef to the bool4x1 element.
+ */
+ const domBool4x1Ref getBool4x1() const { return elemBool4x1; }
+ /**
+ * Gets the bool4x2 element.
+ * @return a daeSmartRef to the bool4x2 element.
+ */
+ const domBool4x2Ref getBool4x2() const { return elemBool4x2; }
+ /**
+ * Gets the bool4x3 element.
+ * @return a daeSmartRef to the bool4x3 element.
+ */
+ const domBool4x3Ref getBool4x3() const { return elemBool4x3; }
+ /**
+ * Gets the bool4x4 element.
+ * @return a daeSmartRef to the bool4x4 element.
+ */
+ const domBool4x4Ref getBool4x4() const { return elemBool4x4; }
+ /**
+ * Gets the float element.
+ * @return a daeSmartRef to the float element.
+ */
+ const domFloatRef getFloat() const { return elemFloat; }
+ /**
+ * Gets the float2 element.
+ * @return a daeSmartRef to the float2 element.
+ */
+ const domFloat2Ref getFloat2() const { return elemFloat2; }
+ /**
+ * Gets the float3 element.
+ * @return a daeSmartRef to the float3 element.
+ */
+ const domFloat3Ref getFloat3() const { return elemFloat3; }
+ /**
+ * Gets the float4 element.
+ * @return a daeSmartRef to the float4 element.
+ */
+ const domFloat4Ref getFloat4() const { return elemFloat4; }
+ /**
+ * Gets the float2x1 element.
+ * @return a daeSmartRef to the float2x1 element.
+ */
+ const domFloat2x1Ref getFloat2x1() const { return elemFloat2x1; }
+ /**
+ * Gets the float2x2 element.
+ * @return a daeSmartRef to the float2x2 element.
+ */
+ const domFloat2x2Ref getFloat2x2() const { return elemFloat2x2; }
+ /**
+ * Gets the float2x3 element.
+ * @return a daeSmartRef to the float2x3 element.
+ */
+ const domFloat2x3Ref getFloat2x3() const { return elemFloat2x3; }
+ /**
+ * Gets the float2x4 element.
+ * @return a daeSmartRef to the float2x4 element.
+ */
+ const domFloat2x4Ref getFloat2x4() const { return elemFloat2x4; }
+ /**
+ * Gets the float3x1 element.
+ * @return a daeSmartRef to the float3x1 element.
+ */
+ const domFloat3x1Ref getFloat3x1() const { return elemFloat3x1; }
+ /**
+ * Gets the float3x2 element.
+ * @return a daeSmartRef to the float3x2 element.
+ */
+ const domFloat3x2Ref getFloat3x2() const { return elemFloat3x2; }
+ /**
+ * Gets the float3x3 element.
+ * @return a daeSmartRef to the float3x3 element.
+ */
+ const domFloat3x3Ref getFloat3x3() const { return elemFloat3x3; }
+ /**
+ * Gets the float3x4 element.
+ * @return a daeSmartRef to the float3x4 element.
+ */
+ const domFloat3x4Ref getFloat3x4() const { return elemFloat3x4; }
+ /**
+ * Gets the float4x1 element.
+ * @return a daeSmartRef to the float4x1 element.
+ */
+ const domFloat4x1Ref getFloat4x1() const { return elemFloat4x1; }
+ /**
+ * Gets the float4x2 element.
+ * @return a daeSmartRef to the float4x2 element.
+ */
+ const domFloat4x2Ref getFloat4x2() const { return elemFloat4x2; }
+ /**
+ * Gets the float4x3 element.
+ * @return a daeSmartRef to the float4x3 element.
+ */
+ const domFloat4x3Ref getFloat4x3() const { return elemFloat4x3; }
+ /**
+ * Gets the float4x4 element.
+ * @return a daeSmartRef to the float4x4 element.
+ */
+ const domFloat4x4Ref getFloat4x4() const { return elemFloat4x4; }
+ /**
+ * Gets the int element.
+ * @return a daeSmartRef to the int element.
+ */
+ const domIntRef getInt() const { return elemInt; }
+ /**
+ * Gets the int2 element.
+ * @return a daeSmartRef to the int2 element.
+ */
+ const domInt2Ref getInt2() const { return elemInt2; }
+ /**
+ * Gets the int3 element.
+ * @return a daeSmartRef to the int3 element.
+ */
+ const domInt3Ref getInt3() const { return elemInt3; }
+ /**
+ * Gets the int4 element.
+ * @return a daeSmartRef to the int4 element.
+ */
+ const domInt4Ref getInt4() const { return elemInt4; }
+ /**
+ * Gets the int2x1 element.
+ * @return a daeSmartRef to the int2x1 element.
+ */
+ const domInt2x1Ref getInt2x1() const { return elemInt2x1; }
+ /**
+ * Gets the int2x2 element.
+ * @return a daeSmartRef to the int2x2 element.
+ */
+ const domInt2x2Ref getInt2x2() const { return elemInt2x2; }
+ /**
+ * Gets the int2x3 element.
+ * @return a daeSmartRef to the int2x3 element.
+ */
+ const domInt2x3Ref getInt2x3() const { return elemInt2x3; }
+ /**
+ * Gets the int2x4 element.
+ * @return a daeSmartRef to the int2x4 element.
+ */
+ const domInt2x4Ref getInt2x4() const { return elemInt2x4; }
+ /**
+ * Gets the int3x1 element.
+ * @return a daeSmartRef to the int3x1 element.
+ */
+ const domInt3x1Ref getInt3x1() const { return elemInt3x1; }
+ /**
+ * Gets the int3x2 element.
+ * @return a daeSmartRef to the int3x2 element.
+ */
+ const domInt3x2Ref getInt3x2() const { return elemInt3x2; }
+ /**
+ * Gets the int3x3 element.
+ * @return a daeSmartRef to the int3x3 element.
+ */
+ const domInt3x3Ref getInt3x3() const { return elemInt3x3; }
+ /**
+ * Gets the int3x4 element.
+ * @return a daeSmartRef to the int3x4 element.
+ */
+ const domInt3x4Ref getInt3x4() const { return elemInt3x4; }
+ /**
+ * Gets the int4x1 element.
+ * @return a daeSmartRef to the int4x1 element.
+ */
+ const domInt4x1Ref getInt4x1() const { return elemInt4x1; }
+ /**
+ * Gets the int4x2 element.
+ * @return a daeSmartRef to the int4x2 element.
+ */
+ const domInt4x2Ref getInt4x2() const { return elemInt4x2; }
+ /**
+ * Gets the int4x3 element.
+ * @return a daeSmartRef to the int4x3 element.
+ */
+ const domInt4x3Ref getInt4x3() const { return elemInt4x3; }
+ /**
+ * Gets the int4x4 element.
+ * @return a daeSmartRef to the int4x4 element.
+ */
+ const domInt4x4Ref getInt4x4() const { return elemInt4x4; }
+ /**
+ * Gets the half element.
+ * @return a daeSmartRef to the half element.
+ */
+ const domHalfRef getHalf() const { return elemHalf; }
+ /**
+ * Gets the half2 element.
+ * @return a daeSmartRef to the half2 element.
+ */
+ const domHalf2Ref getHalf2() const { return elemHalf2; }
+ /**
+ * Gets the half3 element.
+ * @return a daeSmartRef to the half3 element.
+ */
+ const domHalf3Ref getHalf3() const { return elemHalf3; }
+ /**
+ * Gets the half4 element.
+ * @return a daeSmartRef to the half4 element.
+ */
+ const domHalf4Ref getHalf4() const { return elemHalf4; }
+ /**
+ * Gets the half2x1 element.
+ * @return a daeSmartRef to the half2x1 element.
+ */
+ const domHalf2x1Ref getHalf2x1() const { return elemHalf2x1; }
+ /**
+ * Gets the half2x2 element.
+ * @return a daeSmartRef to the half2x2 element.
+ */
+ const domHalf2x2Ref getHalf2x2() const { return elemHalf2x2; }
+ /**
+ * Gets the half2x3 element.
+ * @return a daeSmartRef to the half2x3 element.
+ */
+ const domHalf2x3Ref getHalf2x3() const { return elemHalf2x3; }
+ /**
+ * Gets the half2x4 element.
+ * @return a daeSmartRef to the half2x4 element.
+ */
+ const domHalf2x4Ref getHalf2x4() const { return elemHalf2x4; }
+ /**
+ * Gets the half3x1 element.
+ * @return a daeSmartRef to the half3x1 element.
+ */
+ const domHalf3x1Ref getHalf3x1() const { return elemHalf3x1; }
+ /**
+ * Gets the half3x2 element.
+ * @return a daeSmartRef to the half3x2 element.
+ */
+ const domHalf3x2Ref getHalf3x2() const { return elemHalf3x2; }
+ /**
+ * Gets the half3x3 element.
+ * @return a daeSmartRef to the half3x3 element.
+ */
+ const domHalf3x3Ref getHalf3x3() const { return elemHalf3x3; }
+ /**
+ * Gets the half3x4 element.
+ * @return a daeSmartRef to the half3x4 element.
+ */
+ const domHalf3x4Ref getHalf3x4() const { return elemHalf3x4; }
+ /**
+ * Gets the half4x1 element.
+ * @return a daeSmartRef to the half4x1 element.
+ */
+ const domHalf4x1Ref getHalf4x1() const { return elemHalf4x1; }
+ /**
+ * Gets the half4x2 element.
+ * @return a daeSmartRef to the half4x2 element.
+ */
+ const domHalf4x2Ref getHalf4x2() const { return elemHalf4x2; }
+ /**
+ * Gets the half4x3 element.
+ * @return a daeSmartRef to the half4x3 element.
+ */
+ const domHalf4x3Ref getHalf4x3() const { return elemHalf4x3; }
+ /**
+ * Gets the half4x4 element.
+ * @return a daeSmartRef to the half4x4 element.
+ */
+ const domHalf4x4Ref getHalf4x4() const { return elemHalf4x4; }
+ /**
+ * Gets the fixed element.
+ * @return a daeSmartRef to the fixed element.
+ */
+ const domFixedRef getFixed() const { return elemFixed; }
+ /**
+ * Gets the fixed2 element.
+ * @return a daeSmartRef to the fixed2 element.
+ */
+ const domFixed2Ref getFixed2() const { return elemFixed2; }
+ /**
+ * Gets the fixed3 element.
+ * @return a daeSmartRef to the fixed3 element.
+ */
+ const domFixed3Ref getFixed3() const { return elemFixed3; }
+ /**
+ * Gets the fixed4 element.
+ * @return a daeSmartRef to the fixed4 element.
+ */
+ const domFixed4Ref getFixed4() const { return elemFixed4; }
+ /**
+ * Gets the fixed2x1 element.
+ * @return a daeSmartRef to the fixed2x1 element.
+ */
+ const domFixed2x1Ref getFixed2x1() const { return elemFixed2x1; }
+ /**
+ * Gets the fixed2x2 element.
+ * @return a daeSmartRef to the fixed2x2 element.
+ */
+ const domFixed2x2Ref getFixed2x2() const { return elemFixed2x2; }
+ /**
+ * Gets the fixed2x3 element.
+ * @return a daeSmartRef to the fixed2x3 element.
+ */
+ const domFixed2x3Ref getFixed2x3() const { return elemFixed2x3; }
+ /**
+ * Gets the fixed2x4 element.
+ * @return a daeSmartRef to the fixed2x4 element.
+ */
+ const domFixed2x4Ref getFixed2x4() const { return elemFixed2x4; }
+ /**
+ * Gets the fixed3x1 element.
+ * @return a daeSmartRef to the fixed3x1 element.
+ */
+ const domFixed3x1Ref getFixed3x1() const { return elemFixed3x1; }
+ /**
+ * Gets the fixed3x2 element.
+ * @return a daeSmartRef to the fixed3x2 element.
+ */
+ const domFixed3x2Ref getFixed3x2() const { return elemFixed3x2; }
+ /**
+ * Gets the fixed3x3 element.
+ * @return a daeSmartRef to the fixed3x3 element.
+ */
+ const domFixed3x3Ref getFixed3x3() const { return elemFixed3x3; }
+ /**
+ * Gets the fixed3x4 element.
+ * @return a daeSmartRef to the fixed3x4 element.
+ */
+ const domFixed3x4Ref getFixed3x4() const { return elemFixed3x4; }
+ /**
+ * Gets the fixed4x1 element.
+ * @return a daeSmartRef to the fixed4x1 element.
+ */
+ const domFixed4x1Ref getFixed4x1() const { return elemFixed4x1; }
+ /**
+ * Gets the fixed4x2 element.
+ * @return a daeSmartRef to the fixed4x2 element.
+ */
+ const domFixed4x2Ref getFixed4x2() const { return elemFixed4x2; }
+ /**
+ * Gets the fixed4x3 element.
+ * @return a daeSmartRef to the fixed4x3 element.
+ */
+ const domFixed4x3Ref getFixed4x3() const { return elemFixed4x3; }
+ /**
+ * Gets the fixed4x4 element.
+ * @return a daeSmartRef to the fixed4x4 element.
+ */
+ const domFixed4x4Ref getFixed4x4() const { return elemFixed4x4; }
+ /**
+ * Gets the sampler1D element.
+ * @return a daeSmartRef to the sampler1D element.
+ */
+ const domFx_sampler1DRef getSampler1D() const { return elemSampler1D; }
+ /**
+ * Gets the sampler2D element.
+ * @return a daeSmartRef to the sampler2D element.
+ */
+ const domFx_sampler2DRef getSampler2D() const { return elemSampler2D; }
+ /**
+ * Gets the sampler3D element.
+ * @return a daeSmartRef to the sampler3D element.
+ */
+ const domFx_sampler3DRef getSampler3D() const { return elemSampler3D; }
+ /**
+ * Gets the samplerRECT element.
+ * @return a daeSmartRef to the samplerRECT element.
+ */
+ const domFx_samplerRECTRef getSamplerRECT() const { return elemSamplerRECT; }
+ /**
+ * Gets the samplerCUBE element.
+ * @return a daeSmartRef to the samplerCUBE element.
+ */
+ const domFx_samplerCUBERef getSamplerCUBE() const { return elemSamplerCUBE; }
+ /**
+ * Gets the samplerDEPTH element.
+ * @return a daeSmartRef to the samplerDEPTH element.
+ */
+ const domFx_samplerDEPTHRef getSamplerDEPTH() const { return elemSamplerDEPTH; }
+ /**
+ * Gets the string element.
+ * @return a daeSmartRef to the string element.
+ */
+ const domStringRef getString() const { return elemString; }
+ /**
+ * Gets the enum element.
+ * @return a daeSmartRef to the enum element.
+ */
+ const domEnumRef getEnum() const { return elemEnum; }
+ /**
+ * Gets the array element.
+ * @return a daeSmartRef to the array element.
+ */
+ const domCg_arrayRef getArray() const { return elemArray; }
+ /**
+ * Gets the usertype element.
+ * @return a daeSmartRef to the usertype element.
+ */
+ const domCg_userRef getUsertype() const { return elemUsertype; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domCg_param(DAE& dae) : daeElement(dae), elemBool(), elemBool2(), elemBool3(), elemBool4(), elemBool2x1(), elemBool2x2(), elemBool2x3(), elemBool2x4(), elemBool3x1(), elemBool3x2(), elemBool3x3(), elemBool3x4(), elemBool4x1(), elemBool4x2(), elemBool4x3(), elemBool4x4(), elemFloat(), elemFloat2(), elemFloat3(), elemFloat4(), elemFloat2x1(), elemFloat2x2(), elemFloat2x3(), elemFloat2x4(), elemFloat3x1(), elemFloat3x2(), elemFloat3x3(), elemFloat3x4(), elemFloat4x1(), elemFloat4x2(), elemFloat4x3(), elemFloat4x4(), elemInt(), elemInt2(), elemInt3(), elemInt4(), elemInt2x1(), elemInt2x2(), elemInt2x3(), elemInt2x4(), elemInt3x1(), elemInt3x2(), elemInt3x3(), elemInt3x4(), elemInt4x1(), elemInt4x2(), elemInt4x3(), elemInt4x4(), elemHalf(), elemHalf2(), elemHalf3(), elemHalf4(), elemHalf2x1(), elemHalf2x2(), elemHalf2x3(), elemHalf2x4(), elemHalf3x1(), elemHalf3x2(), elemHalf3x3(), elemHalf3x4(), elemHalf4x1(), elemHalf4x2(), elemHalf4x3(), elemHalf4x4(), elemFixed(), elemFixed2(), elemFixed3(), elemFixed4(), elemFixed2x1(), elemFixed2x2(), elemFixed2x3(), elemFixed2x4(), elemFixed3x1(), elemFixed3x2(), elemFixed3x3(), elemFixed3x4(), elemFixed4x1(), elemFixed4x2(), elemFixed4x3(), elemFixed4x4(), elemSampler1D(), elemSampler2D(), elemSampler3D(), elemSamplerRECT(), elemSamplerCUBE(), elemSamplerDEPTH(), elemString(), elemEnum(), elemArray(), elemUsertype() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCg_param() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCg_param &operator=( const domCg_param &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domCg_pass.h b/1.4.0/dom/include/1.5/dom/domCg_pass.h
new file mode 100644
index 0000000..ab155bb
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domCg_pass.h
@@ -0,0 +1,740 @@
+#ifndef __dom150Cg_pass_h__
+#define __dom150Cg_pass_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domFx_annotate.h>
+#include <1.5/dom/domGl_pipeline_settings.h>
+#include <1.5/dom/domFx_sources.h>
+#include <1.5/dom/domFx_target.h>
+#include <1.5/dom/domCg_param.h>
+#include <1.5/dom/domFx_colortarget.h>
+#include <1.5/dom/domFx_depthtarget.h>
+#include <1.5/dom/domFx_stenciltarget.h>
+#include <1.5/dom/domFx_clearcolor.h>
+#include <1.5/dom/domFx_cleardepth.h>
+#include <1.5/dom/domFx_clearstencil.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domCg_pass : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CG_PASS; }
+ static daeInt ID() { return 249; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domStates;
+
+ typedef daeSmartRef<domStates> domStatesRef;
+ typedef daeTArray<domStatesRef> domStates_Array;
+
+ class domStates : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::STATES; }
+ static daeInt ID() { return 250; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Element
+ domGl_pipeline_settings_Array elemGl_pipeline_settings_array;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the gl_pipeline_settings element array.
+ * @return Returns a reference to the array of gl_pipeline_settings elements.
+ */
+ domGl_pipeline_settings_Array &getGl_pipeline_settings_array() { return elemGl_pipeline_settings_array; }
+ /**
+ * Gets the gl_pipeline_settings element array.
+ * @return Returns a constant reference to the array of gl_pipeline_settings elements.
+ */
+ const domGl_pipeline_settings_Array &getGl_pipeline_settings_array() const { return elemGl_pipeline_settings_array; }
+ protected:
+ /**
+ * Constructor
+ */
+ domStates(DAE& dae) : daeElement(dae), elemGl_pipeline_settings_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domStates() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domStates &operator=( const domStates &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domProgram;
+
+ typedef daeSmartRef<domProgram> domProgramRef;
+ typedef daeTArray<domProgramRef> domProgram_Array;
+
+ class domProgram : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PROGRAM; }
+ static daeInt ID() { return 251; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domShader;
+
+ typedef daeSmartRef<domShader> domShaderRef;
+ typedef daeTArray<domShaderRef> domShader_Array;
+
+/**
+ * Declare and prepare a shader for execution in the rendering pipeline of
+ * a pass.
+ */
+ class domShader : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SHADER; }
+ static daeInt ID() { return 252; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domSources;
+
+ typedef daeSmartRef<domSources> domSourcesRef;
+ typedef daeTArray<domSourcesRef> domSources_Array;
+
+/**
+ * collect the sources together for the shader. Use concat to make the final
+ * string.
+ */
+ class domSources : public domFx_sources
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SOURCES; }
+ static daeInt ID() { return 253; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+/**
+ * entry function name for this shader
+ */
+ xsToken attrEntry;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the entry attribute.
+ * @return Returns a xsToken of the entry attribute.
+ */
+ xsToken getEntry() const { return attrEntry; }
+ /**
+ * Sets the entry attribute.
+ * @param atEntry The new value for the entry attribute.
+ */
+ void setEntry( xsToken atEntry ) { *(daeStringRef*)&attrEntry = atEntry; _validAttributeArray[0] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSources(DAE& dae) : domFx_sources(dae), attrEntry() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSources() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSources &operator=( const domSources &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBind_uniform;
+
+ typedef daeSmartRef<domBind_uniform> domBind_uniformRef;
+ typedef daeTArray<domBind_uniformRef> domBind_uniform_Array;
+
+/**
+ * Binds values to uniform inputs of a shader.
+ */
+ class domBind_uniform : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BIND_UNIFORM; }
+ static daeInt ID() { return 254; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domParam;
+
+ typedef daeSmartRef<domParam> domParamRef;
+ typedef daeTArray<domParamRef> domParam_Array;
+
+/**
+ * References a predefined parameter in shader binding declarations.
+ */
+ class domParam : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PARAM; }
+ static daeInt ID() { return 255; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+ xsNCName attrRef;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the ref attribute.
+ * @return Returns a xsNCName of the ref attribute.
+ */
+ xsNCName getRef() const { return attrRef; }
+ /**
+ * Sets the ref attribute.
+ * @param atRef The new value for the ref attribute.
+ */
+ void setRef( xsNCName atRef ) { *(daeStringRef*)&attrRef = atRef; _validAttributeArray[0] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domParam(DAE& dae) : daeElement(dae), attrRef() {}
+ /**
+ * Destructor
+ */
+ virtual ~domParam() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domParam &operator=( const domParam &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+ protected: // Attribute
+/**
+ * The identifier for a uniform input parameter to the shader (a formal function
+ * parameter or in-scope global) that will be bound to an external resource.
+ */
+ xsNCName attrSymbol;
+
+ protected: // Elements
+/**
+ * References a predefined parameter in shader binding declarations. @see
+ * domParam
+ */
+ domParamRef elemParam;
+ domCg_paramRef elemCg_param;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the symbol attribute.
+ * @return Returns a xsNCName of the symbol attribute.
+ */
+ xsNCName getSymbol() const { return attrSymbol; }
+ /**
+ * Sets the symbol attribute.
+ * @param atSymbol The new value for the symbol attribute.
+ */
+ void setSymbol( xsNCName atSymbol ) { *(daeStringRef*)&attrSymbol = atSymbol; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param element.
+ * @return a daeSmartRef to the param element.
+ */
+ const domParamRef getParam() const { return elemParam; }
+ /**
+ * Gets the cg_param element.
+ * @return a daeSmartRef to the cg_param element.
+ */
+ const domCg_paramRef getCg_param() const { return elemCg_param; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBind_uniform(DAE& dae) : daeElement(dae), attrSymbol(), elemParam(), elemCg_param() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBind_uniform() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBind_uniform &operator=( const domBind_uniform &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+ protected: // Attribute
+/**
+ * In which pipeline stage this programmable shader is designed to execute,
+ * for example, VERTEX, FRAGMENT, etc.
+ */
+ domFx_pipeline_stage attrStage;
+
+ protected: // Elements
+/**
+ * collect the sources together for the shader. Use concat to make the final
+ * string. @see domSources
+ */
+ domSourcesRef elemSources;
+ domFx_target_Array elemCompiler_array;
+/**
+ * Binds values to uniform inputs of a shader. @see domBind_uniform
+ */
+ domBind_uniform_Array elemBind_uniform_array;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the stage attribute.
+ * @return Returns a domFx_pipeline_stage of the stage attribute.
+ */
+ domFx_pipeline_stage getStage() const { return attrStage; }
+ /**
+ * Sets the stage attribute.
+ * @param atStage The new value for the stage attribute.
+ */
+ void setStage( domFx_pipeline_stage atStage ) { attrStage = atStage; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the sources element.
+ * @return a daeSmartRef to the sources element.
+ */
+ const domSourcesRef getSources() const { return elemSources; }
+ /**
+ * Gets the compiler element array.
+ * @return Returns a reference to the array of compiler elements.
+ */
+ domFx_target_Array &getCompiler_array() { return elemCompiler_array; }
+ /**
+ * Gets the compiler element array.
+ * @return Returns a constant reference to the array of compiler elements.
+ */
+ const domFx_target_Array &getCompiler_array() const { return elemCompiler_array; }
+ /**
+ * Gets the bind_uniform element array.
+ * @return Returns a reference to the array of bind_uniform elements.
+ */
+ domBind_uniform_Array &getBind_uniform_array() { return elemBind_uniform_array; }
+ /**
+ * Gets the bind_uniform element array.
+ * @return Returns a constant reference to the array of bind_uniform elements.
+ */
+ const domBind_uniform_Array &getBind_uniform_array() const { return elemBind_uniform_array; }
+ protected:
+ /**
+ * Constructor
+ */
+ domShader(DAE& dae) : daeElement(dae), attrStage(), elemSources(), elemCompiler_array(), elemBind_uniform_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domShader() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domShader &operator=( const domShader &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Element
+/**
+ * Declare and prepare a shader for execution in the rendering pipeline of
+ * a pass. @see domShader
+ */
+ domShader_Array elemShader_array;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the shader element array.
+ * @return Returns a reference to the array of shader elements.
+ */
+ domShader_Array &getShader_array() { return elemShader_array; }
+ /**
+ * Gets the shader element array.
+ * @return Returns a constant reference to the array of shader elements.
+ */
+ const domShader_Array &getShader_array() const { return elemShader_array; }
+ protected:
+ /**
+ * Constructor
+ */
+ domProgram(DAE& dae) : daeElement(dae), elemShader_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domProgram() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domProgram &operator=( const domProgram &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domEvaluate;
+
+ typedef daeSmartRef<domEvaluate> domEvaluateRef;
+ typedef daeTArray<domEvaluateRef> domEvaluate_Array;
+
+ class domEvaluate : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::EVALUATE; }
+ static daeInt ID() { return 256; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domDraw;
+
+ typedef daeSmartRef<domDraw> domDrawRef;
+ typedef daeTArray<domDrawRef> domDraw_Array;
+
+ class domDraw : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DRAW; }
+ static daeInt ID() { return 257; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_draw of the value.
+ */
+ domFx_draw& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFx_draw& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFx_draw value of the text data of this element.
+ */
+ domFx_draw _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domDraw(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDraw() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDraw &operator=( const domDraw &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domFx_colortarget_Array elemColor_target_array;
+ domFx_depthtarget_Array elemDepth_target_array;
+ domFx_stenciltarget_Array elemStencil_target_array;
+ domFx_clearcolor_Array elemColor_clear_array;
+ domFx_cleardepth_Array elemDepth_clear_array;
+ domFx_clearstencil_Array elemStencil_clear_array;
+ domDrawRef elemDraw;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the color_target element array.
+ * @return Returns a reference to the array of color_target elements.
+ */
+ domFx_colortarget_Array &getColor_target_array() { return elemColor_target_array; }
+ /**
+ * Gets the color_target element array.
+ * @return Returns a constant reference to the array of color_target elements.
+ */
+ const domFx_colortarget_Array &getColor_target_array() const { return elemColor_target_array; }
+ /**
+ * Gets the depth_target element array.
+ * @return Returns a reference to the array of depth_target elements.
+ */
+ domFx_depthtarget_Array &getDepth_target_array() { return elemDepth_target_array; }
+ /**
+ * Gets the depth_target element array.
+ * @return Returns a constant reference to the array of depth_target elements.
+ */
+ const domFx_depthtarget_Array &getDepth_target_array() const { return elemDepth_target_array; }
+ /**
+ * Gets the stencil_target element array.
+ * @return Returns a reference to the array of stencil_target elements.
+ */
+ domFx_stenciltarget_Array &getStencil_target_array() { return elemStencil_target_array; }
+ /**
+ * Gets the stencil_target element array.
+ * @return Returns a constant reference to the array of stencil_target elements.
+ */
+ const domFx_stenciltarget_Array &getStencil_target_array() const { return elemStencil_target_array; }
+ /**
+ * Gets the color_clear element array.
+ * @return Returns a reference to the array of color_clear elements.
+ */
+ domFx_clearcolor_Array &getColor_clear_array() { return elemColor_clear_array; }
+ /**
+ * Gets the color_clear element array.
+ * @return Returns a constant reference to the array of color_clear elements.
+ */
+ const domFx_clearcolor_Array &getColor_clear_array() const { return elemColor_clear_array; }
+ /**
+ * Gets the depth_clear element array.
+ * @return Returns a reference to the array of depth_clear elements.
+ */
+ domFx_cleardepth_Array &getDepth_clear_array() { return elemDepth_clear_array; }
+ /**
+ * Gets the depth_clear element array.
+ * @return Returns a constant reference to the array of depth_clear elements.
+ */
+ const domFx_cleardepth_Array &getDepth_clear_array() const { return elemDepth_clear_array; }
+ /**
+ * Gets the stencil_clear element array.
+ * @return Returns a reference to the array of stencil_clear elements.
+ */
+ domFx_clearstencil_Array &getStencil_clear_array() { return elemStencil_clear_array; }
+ /**
+ * Gets the stencil_clear element array.
+ * @return Returns a constant reference to the array of stencil_clear elements.
+ */
+ const domFx_clearstencil_Array &getStencil_clear_array() const { return elemStencil_clear_array; }
+ /**
+ * Gets the draw element.
+ * @return a daeSmartRef to the draw element.
+ */
+ const domDrawRef getDraw() const { return elemDraw; }
+ protected:
+ /**
+ * Constructor
+ */
+ domEvaluate(DAE& dae) : daeElement(dae), elemColor_target_array(), elemDepth_target_array(), elemStencil_target_array(), elemColor_clear_array(), elemDepth_clear_array(), elemStencil_clear_array(), elemDraw() {}
+ /**
+ * Destructor
+ */
+ virtual ~domEvaluate() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domEvaluate &operator=( const domEvaluate &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attribute
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ domSid attrSid;
+
+protected: // Elements
+ domFx_annotate_Array elemAnnotate_array;
+ domStatesRef elemStates;
+ domProgramRef elemProgram;
+ domEvaluateRef elemEvaluate;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the annotate element array.
+ * @return Returns a reference to the array of annotate elements.
+ */
+ domFx_annotate_Array &getAnnotate_array() { return elemAnnotate_array; }
+ /**
+ * Gets the annotate element array.
+ * @return Returns a constant reference to the array of annotate elements.
+ */
+ const domFx_annotate_Array &getAnnotate_array() const { return elemAnnotate_array; }
+ /**
+ * Gets the states element.
+ * @return a daeSmartRef to the states element.
+ */
+ const domStatesRef getStates() const { return elemStates; }
+ /**
+ * Gets the program element.
+ * @return a daeSmartRef to the program element.
+ */
+ const domProgramRef getProgram() const { return elemProgram; }
+ /**
+ * Gets the evaluate element.
+ * @return a daeSmartRef to the evaluate element.
+ */
+ const domEvaluateRef getEvaluate() const { return elemEvaluate; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domCg_pass(DAE& dae) : daeElement(dae), attrSid(), elemAnnotate_array(), elemStates(), elemProgram(), elemEvaluate(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCg_pass() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCg_pass &operator=( const domCg_pass &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domCg_setparam.h b/1.4.0/dom/include/1.5/dom/domCg_setparam.h
new file mode 100644
index 0000000..331c9c4
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domCg_setparam.h
@@ -0,0 +1,75 @@
+#ifndef __dom150Cg_setparam_h__
+#define __dom150Cg_setparam_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domCg_param.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * Assigns a new value to a previously defined parameter.
+ */
+class domCg_setparam : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CG_SETPARAM; }
+ static daeInt ID() { return 244; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attribute
+ xsToken attrRef;
+
+protected: // Element
+ domCg_paramRef elemCg_param;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the ref attribute.
+ * @return Returns a xsToken of the ref attribute.
+ */
+ xsToken getRef() const { return attrRef; }
+ /**
+ * Sets the ref attribute.
+ * @param atRef The new value for the ref attribute.
+ */
+ void setRef( xsToken atRef ) { *(daeStringRef*)&attrRef = atRef;}
+
+ /**
+ * Gets the cg_param element.
+ * @return a daeSmartRef to the cg_param element.
+ */
+ const domCg_paramRef getCg_param() const { return elemCg_param; }
+protected:
+ /**
+ * Constructor
+ */
+ domCg_setparam(DAE& dae) : daeElement(dae), attrRef(), elemCg_param() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCg_setparam() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCg_setparam &operator=( const domCg_setparam &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domCg_user.h b/1.4.0/dom/include/1.5/dom/domCg_user.h
new file mode 100644
index 0000000..b83822c
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domCg_user.h
@@ -0,0 +1,99 @@
+#ifndef __dom150Cg_user_h__
+#define __dom150Cg_user_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domCg_setparam.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * Creates an instance of a structured class.
+ */
+class domCg_user : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CG_USER; }
+ static daeInt ID() { return 245; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+ xsToken attrTypename;
+/**
+ * Reference a code or include element which defines the usertype
+ */
+ xsNCName attrSource;
+
+protected: // Element
+/**
+ * Use a series of these to set the members by name. The ref attribute will
+ * be relative to the usertype you are in right now. @see domSetparam
+ */
+ domCg_setparam_Array elemSetparam_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the typename attribute.
+ * @return Returns a xsToken of the typename attribute.
+ */
+ xsToken getTypename() const { return attrTypename; }
+ /**
+ * Sets the typename attribute.
+ * @param atTypename The new value for the typename attribute.
+ */
+ void setTypename( xsToken atTypename ) { *(daeStringRef*)&attrTypename = atTypename;}
+
+ /**
+ * Gets the source attribute.
+ * @return Returns a xsNCName of the source attribute.
+ */
+ xsNCName getSource() const { return attrSource; }
+ /**
+ * Sets the source attribute.
+ * @param atSource The new value for the source attribute.
+ */
+ void setSource( xsNCName atSource ) { *(daeStringRef*)&attrSource = atSource;}
+
+ /**
+ * Gets the setparam element array.
+ * @return Returns a reference to the array of setparam elements.
+ */
+ domCg_setparam_Array &getSetparam_array() { return elemSetparam_array; }
+ /**
+ * Gets the setparam element array.
+ * @return Returns a constant reference to the array of setparam elements.
+ */
+ const domCg_setparam_Array &getSetparam_array() const { return elemSetparam_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domCg_user(DAE& dae) : daeElement(dae), attrTypename(), attrSource(), elemSetparam_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCg_user() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCg_user &operator=( const domCg_user &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domChannel.h b/1.4.0/dom/include/1.5/dom/domChannel.h
new file mode 100644
index 0000000..d9dbdb5
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domChannel.h
@@ -0,0 +1,89 @@
+#ifndef __dom150Channel_h__
+#define __dom150Channel_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The channel element declares an output channel of an animation.
+ */
+class domChannel : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CHANNEL; }
+ static daeInt ID() { return 23; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The source attribute indicates the location of the sampler using a URL
+ * expression. The sampler must be declared within the same document. Required
+ * attribute.
+ */
+ domUrifragment attrSource;
+/**
+ * The target attribute indicates the location of the element bound to the
+ * output of the sampler. This text string is a path-name following a simple
+ * syntax described in Address Syntax. Required attribute.
+ */
+ xsToken attrTarget;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the source attribute.
+ * @return Returns a domUrifragment of the source attribute.
+ */
+ domUrifragment getSource() const { return attrSource; }
+ /**
+ * Sets the source attribute.
+ * @param atSource The new value for the source attribute.
+ */
+ void setSource( domUrifragment atSource ) { attrSource = atSource; }
+
+ /**
+ * Gets the target attribute.
+ * @return Returns a xsToken of the target attribute.
+ */
+ xsToken getTarget() const { return attrTarget; }
+ /**
+ * Sets the target attribute.
+ * @param atTarget The new value for the target attribute.
+ */
+ void setTarget( xsToken atTarget ) { *(daeStringRef*)&attrTarget = atTarget;}
+
+protected:
+ /**
+ * Constructor
+ */
+ domChannel(DAE& dae) : daeElement(dae), attrSource(dae, *this), attrTarget() {}
+ /**
+ * Destructor
+ */
+ virtual ~domChannel() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domChannel &operator=( const domChannel &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domCircle.h b/1.4.0/dom/include/1.5/dom/domCircle.h
new file mode 100644
index 0000000..af08209
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domCircle.h
@@ -0,0 +1,152 @@
+#ifndef __dom150Circle_h__
+#define __dom150Circle_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * Describes a circle. A circle is defined by its radius and, as with
+ * any conic curve, is positioned in space with a right-handed coordinate
+ * system where: - the origin is the center of the circle, and - the origin,
+ * "X Direction" and "Y Direction" define the plane of the circle.
+ * This coordinate system is the local coordinate system of the circle.
+ * The "main Direction" of this coordinate system is the vector normal
+ * to the plane of the circle. The axis, of which the origin and unit
+ * vector are respectively the origin and "main Direction" of the local
+ * coordinate system, is termed the "Axis" or "main Axis" of the circle.
+ * The "main Direction" of the local coordinate system gives an explicit
+ * orientation to the circle (definition of the trigonometric sense),
+ * determining the direction in which the parameter increases along the
+ * circle. The Geom_Circle circle is parameterized by an angle: P(U) =
+ * O + R*Cos(U)*XDir + R*Sin(U)*YDir, where: - P is the point of parameter
+ * U, - O, XDir and YDir are respectively the origin, "X Direction"
+ * and "Y Direction" of its local coordinate system, - R is the radius
+ * of the circle. The "X Axis" of the local coordinate system therefore
+ * defines the origin of the parameter of the circle. The parameter is
+ * the angle with this "X Direction". A circle is a closed and periodic
+ * curve. The period is 2.*Pi and the parameter range is [ 0, 2.*Pi [.
+ */
+class domCircle : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CIRCLE; }
+ static daeInt ID() { return 312; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domRadius;
+
+ typedef daeSmartRef<domRadius> domRadiusRef;
+ typedef daeTArray<domRadiusRef> domRadius_Array;
+
+ class domRadius : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::RADIUS; }
+ static daeInt ID() { return 313; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFloat of the value.
+ */
+ domFloat& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFloat& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFloat value of the text data of this element.
+ */
+ domFloat _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domRadius(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domRadius() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRadius &operator=( const domRadius &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+ domRadiusRef elemRadius;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the radius element.
+ * @return a daeSmartRef to the radius element.
+ */
+ const domRadiusRef getRadius() const { return elemRadius; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domCircle(DAE& dae) : daeElement(dae), elemRadius(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCircle() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCircle &operator=( const domCircle &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domCommon_bool_or_param.h b/1.4.0/dom/include/1.5/dom/domCommon_bool_or_param.h
new file mode 100644
index 0000000..a4d9da8
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domCommon_bool_or_param.h
@@ -0,0 +1,150 @@
+#ifndef __dom150Common_bool_or_param_h__
+#define __dom150Common_bool_or_param_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domCommon_param.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domCommon_bool_or_param : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COMMON_BOOL_OR_PARAM; }
+ static daeInt ID() { return 425; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domBool;
+
+ typedef daeSmartRef<domBool> domBoolRef;
+ typedef daeTArray<domBoolRef> domBool_Array;
+
+ class domBool : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL; }
+ static daeInt ID() { return 426; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a xsBoolean of the value.
+ */
+ xsBoolean& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const xsBoolean& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The xsBoolean value of the text data of this element.
+ */
+ xsBoolean _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBool(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool &operator=( const domBool &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+ domBoolRef elemBool;
+ domCommon_paramRef elemParam;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the bool element.
+ * @return a daeSmartRef to the bool element.
+ */
+ const domBoolRef getBool() const { return elemBool; }
+ /**
+ * Gets the param element.
+ * @return a daeSmartRef to the param element.
+ */
+ const domCommon_paramRef getParam() const { return elemParam; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domCommon_bool_or_param(DAE& dae) : daeElement(dae), elemBool(), elemParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCommon_bool_or_param() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCommon_bool_or_param &operator=( const domCommon_bool_or_param &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domCommon_float2_or_param.h b/1.4.0/dom/include/1.5/dom/domCommon_float2_or_param.h
new file mode 100644
index 0000000..07a9f42
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domCommon_float2_or_param.h
@@ -0,0 +1,150 @@
+#ifndef __dom150Common_float2_or_param_h__
+#define __dom150Common_float2_or_param_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domCommon_param.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domCommon_float2_or_param : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COMMON_FLOAT2_OR_PARAM; }
+ static daeInt ID() { return 453; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domFloat2;
+
+ typedef daeSmartRef<domFloat2> domFloat2Ref;
+ typedef daeTArray<domFloat2Ref> domFloat2_Array;
+
+ class domFloat2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2; }
+ static daeInt ID() { return 454; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat2 of the value.
+ */
+ ColladaDOM150::domFloat2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat2 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat2 &operator=( const domFloat2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+ domFloat2Ref elemFloat2;
+ domCommon_paramRef elemParam;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the float2 element.
+ * @return a daeSmartRef to the float2 element.
+ */
+ const domFloat2Ref getFloat2() const { return elemFloat2; }
+ /**
+ * Gets the param element.
+ * @return a daeSmartRef to the param element.
+ */
+ const domCommon_paramRef getParam() const { return elemParam; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domCommon_float2_or_param(DAE& dae) : daeElement(dae), elemFloat2(), elemParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCommon_float2_or_param() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCommon_float2_or_param &operator=( const domCommon_float2_or_param &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domCommon_float_or_param.h b/1.4.0/dom/include/1.5/dom/domCommon_float_or_param.h
new file mode 100644
index 0000000..3a43b75
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domCommon_float_or_param.h
@@ -0,0 +1,150 @@
+#ifndef __dom150Common_float_or_param_h__
+#define __dom150Common_float_or_param_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domCommon_param.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domCommon_float_or_param : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COMMON_FLOAT_OR_PARAM; }
+ static daeInt ID() { return 427; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domFloat;
+
+ typedef daeSmartRef<domFloat> domFloatRef;
+ typedef daeTArray<domFloatRef> domFloat_Array;
+
+ class domFloat : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT; }
+ static daeInt ID() { return 428; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat of the value.
+ */
+ ColladaDOM150::domFloat& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat value of the text data of this element.
+ */
+ ColladaDOM150::domFloat _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat &operator=( const domFloat &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+ domFloatRef elemFloat;
+ domCommon_paramRef elemParam;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the float element.
+ * @return a daeSmartRef to the float element.
+ */
+ const domFloatRef getFloat() const { return elemFloat; }
+ /**
+ * Gets the param element.
+ * @return a daeSmartRef to the param element.
+ */
+ const domCommon_paramRef getParam() const { return elemParam; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domCommon_float_or_param(DAE& dae) : daeElement(dae), elemFloat(), elemParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCommon_float_or_param() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCommon_float_or_param &operator=( const domCommon_float_or_param &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domCommon_int_or_param.h b/1.4.0/dom/include/1.5/dom/domCommon_int_or_param.h
new file mode 100644
index 0000000..e73d340
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domCommon_int_or_param.h
@@ -0,0 +1,150 @@
+#ifndef __dom150Common_int_or_param_h__
+#define __dom150Common_int_or_param_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domCommon_param.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domCommon_int_or_param : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COMMON_INT_OR_PARAM; }
+ static daeInt ID() { return 423; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domInt;
+
+ typedef daeSmartRef<domInt> domIntRef;
+ typedef daeTArray<domIntRef> domInt_Array;
+
+ class domInt : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT; }
+ static daeInt ID() { return 424; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domInt of the value.
+ */
+ ColladaDOM150::domInt& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domInt& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domInt value of the text data of this element.
+ */
+ ColladaDOM150::domInt _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domInt(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt &operator=( const domInt &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+ domIntRef elemInt;
+ domCommon_paramRef elemParam;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the int element.
+ * @return a daeSmartRef to the int element.
+ */
+ const domIntRef getInt() const { return elemInt; }
+ /**
+ * Gets the param element.
+ * @return a daeSmartRef to the param element.
+ */
+ const domCommon_paramRef getParam() const { return elemParam; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domCommon_int_or_param(DAE& dae) : daeElement(dae), elemInt(), elemParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCommon_int_or_param() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCommon_int_or_param &operator=( const domCommon_int_or_param &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domCommon_param.h b/1.4.0/dom/include/1.5/dom/domCommon_param.h
new file mode 100644
index 0000000..9d9a6d2
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domCommon_param.h
@@ -0,0 +1,67 @@
+#ifndef __dom150Common_param_h__
+#define __dom150Common_param_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domCommon_param : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COMMON_PARAM; }
+ static daeInt ID() { return 422; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsToken of the value.
+ */
+ xsToken getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsToken val ) { *(daeStringRef*)&_value = val; }
+
+protected: // Value
+ /**
+ * The xsToken value of the text data of this element.
+ */
+ xsToken _value;
+protected:
+ /**
+ * Constructor
+ */
+ domCommon_param(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCommon_param() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCommon_param &operator=( const domCommon_param &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domCommon_sidref_or_param.h b/1.4.0/dom/include/1.5/dom/domCommon_sidref_or_param.h
new file mode 100644
index 0000000..e670147
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domCommon_sidref_or_param.h
@@ -0,0 +1,150 @@
+#ifndef __dom150Common_sidref_or_param_h__
+#define __dom150Common_sidref_or_param_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domCommon_param.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domCommon_sidref_or_param : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COMMON_SIDREF_OR_PARAM; }
+ static daeInt ID() { return 430; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domSIDREF;
+
+ typedef daeSmartRef<domSIDREF> domSIDREFRef;
+ typedef daeTArray<domSIDREFRef> domSIDREF_Array;
+
+ class domSIDREF : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SIDREF; }
+ static daeInt ID() { return 431; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a domSidref of the value.
+ */
+ domSidref getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domSidref val ) { *(daeStringRef*)&_value = val; }
+
+ protected: // Value
+ /**
+ * The domSidref value of the text data of this element.
+ */
+ domSidref _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domSIDREF(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSIDREF() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSIDREF &operator=( const domSIDREF &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+ domSIDREFRef elemSIDREF;
+ domCommon_paramRef elemParam;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the SIDREF element.
+ * @return a daeSmartRef to the SIDREF element.
+ */
+ const domSIDREFRef getSIDREF() const { return elemSIDREF; }
+ /**
+ * Gets the param element.
+ * @return a daeSmartRef to the param element.
+ */
+ const domCommon_paramRef getParam() const { return elemParam; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domCommon_sidref_or_param(DAE& dae) : daeElement(dae), elemSIDREF(), elemParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCommon_sidref_or_param() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCommon_sidref_or_param &operator=( const domCommon_sidref_or_param &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domCone.h b/1.4.0/dom/include/1.5/dom/domCone.h
new file mode 100644
index 0000000..9504ad3
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domCone.h
@@ -0,0 +1,194 @@
+#ifndef __dom150Cone_h__
+#define __dom150Cone_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domCone : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CONE; }
+ static daeInt ID() { return 356; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domRadius;
+
+ typedef daeSmartRef<domRadius> domRadiusRef;
+ typedef daeTArray<domRadiusRef> domRadius_Array;
+
+ class domRadius : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::RADIUS; }
+ static daeInt ID() { return 357; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFloat of the value.
+ */
+ domFloat& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFloat& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFloat value of the text data of this element.
+ */
+ domFloat _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domRadius(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domRadius() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRadius &operator=( const domRadius &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domAngle;
+
+ typedef daeSmartRef<domAngle> domAngleRef;
+ typedef daeTArray<domAngleRef> domAngle_Array;
+
+ class domAngle : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ANGLE; }
+ static daeInt ID() { return 358; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a xsFloat of the value.
+ */
+ xsFloat& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const xsFloat& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The xsFloat value of the text data of this element.
+ */
+ xsFloat _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domAngle(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domAngle() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAngle &operator=( const domAngle &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+ domRadiusRef elemRadius;
+ domAngleRef elemAngle;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the radius element.
+ * @return a daeSmartRef to the radius element.
+ */
+ const domRadiusRef getRadius() const { return elemRadius; }
+ /**
+ * Gets the angle element.
+ * @return a daeSmartRef to the angle element.
+ */
+ const domAngleRef getAngle() const { return elemAngle; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domCone(DAE& dae) : daeElement(dae), elemRadius(), elemAngle(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCone() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCone &operator=( const domCone &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domConstants.h b/1.4.0/dom/include/1.5/dom/domConstants.h
new file mode 100644
index 0000000..d8b669b
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domConstants.h
@@ -0,0 +1,1217 @@
+#ifndef __DOM150_CONSTANTS_H__
+#define __DOM150_CONSTANTS_H__
+
+#include <dae/daeDomTypes.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+extern DLLSPEC daeString COLLADA_VERSION;
+extern DLLSPEC daeString COLLADA_NAMESPACE;
+extern DLLSPEC daeString COMMON_PROFILE_INPUT_BINORMAL;
+extern DLLSPEC daeString COMMON_PROFILE_INPUT_COLOR;
+extern DLLSPEC daeString COMMON_PROFILE_INPUT_CONTINUITY;
+extern DLLSPEC daeString COMMON_PROFILE_INPUT_IMAGE;
+extern DLLSPEC daeString COMMON_PROFILE_INPUT_IN_TANGENT;
+extern DLLSPEC daeString COMMON_PROFILE_INPUT_INPUT;
+extern DLLSPEC daeString COMMON_PROFILE_INPUT_INTERPOLATION;
+extern DLLSPEC daeString COMMON_PROFILE_INPUT_INV_BIND_MATRIX;
+extern DLLSPEC daeString COMMON_PROFILE_INPUT_JOINT;
+extern DLLSPEC daeString COMMON_PROFILE_INPUT_LINEAR_STEPS;
+extern DLLSPEC daeString COMMON_PROFILE_INPUT_MORPH_TARGET;
+extern DLLSPEC daeString COMMON_PROFILE_INPUT_MORPH_WEIGHT;
+extern DLLSPEC daeString COMMON_PROFILE_INPUT_NORMAL;
+extern DLLSPEC daeString COMMON_PROFILE_INPUT_OUTPUT;
+extern DLLSPEC daeString COMMON_PROFILE_INPUT_OUT_TANGENT;
+extern DLLSPEC daeString COMMON_PROFILE_INPUT_POSITION;
+extern DLLSPEC daeString COMMON_PROFILE_INPUT_TANGENT;
+extern DLLSPEC daeString COMMON_PROFILE_INPUT_TEXBINORMAL;
+extern DLLSPEC daeString COMMON_PROFILE_INPUT_TEXCOORD;
+extern DLLSPEC daeString COMMON_PROFILE_INPUT_TEXTANGENT;
+extern DLLSPEC daeString COMMON_PROFILE_INPUT_UV;
+extern DLLSPEC daeString COMMON_PROFILE_INPUT_VERTEX;
+extern DLLSPEC daeString COMMON_PROFILE_INPUT_WEIGHT;
+
+extern DLLSPEC daeString COMMON_PROFILE_PARAM_A;
+extern DLLSPEC daeString COMMON_PROFILE_PARAM_ANGLE;
+extern DLLSPEC daeString COMMON_PROFILE_PARAM_B;
+extern DLLSPEC daeString COMMON_PROFILE_PARAM_DOUBLE_SIDED;
+extern DLLSPEC daeString COMMON_PROFILE_PARAM_G;
+extern DLLSPEC daeString COMMON_PROFILE_PARAM_P;
+extern DLLSPEC daeString COMMON_PROFILE_PARAM_Q;
+extern DLLSPEC daeString COMMON_PROFILE_PARAM_R;
+extern DLLSPEC daeString COMMON_PROFILE_PARAM_S;
+extern DLLSPEC daeString COMMON_PROFILE_PARAM_T;
+extern DLLSPEC daeString COMMON_PROFILE_PARAM_TIME;
+extern DLLSPEC daeString COMMON_PROFILE_PARAM_U;
+extern DLLSPEC daeString COMMON_PROFILE_PARAM_V;
+extern DLLSPEC daeString COMMON_PROFILE_PARAM_W;
+extern DLLSPEC daeString COMMON_PROFILE_PARAM_X;
+extern DLLSPEC daeString COMMON_PROFILE_PARAM_Y;
+extern DLLSPEC daeString COMMON_PROFILE_PARAM_Z;
+
+
+extern DLLSPEC daeString COLLADA_TYPE_INPUT_GLOBAL;
+extern DLLSPEC daeString COLLADA_TYPE_INPUT_LOCAL;
+extern DLLSPEC daeString COLLADA_TYPE_INPUT_LOCAL_OFFSET;
+extern DLLSPEC daeString COLLADA_TYPE_TARGETABLE_FLOAT;
+extern DLLSPEC daeString COLLADA_TYPE_TARGETABLE_FLOAT3;
+extern DLLSPEC daeString COLLADA_TYPE_TOKEN_ARRAY;
+extern DLLSPEC daeString COLLADA_TYPE_IDREF_ARRAY;
+extern DLLSPEC daeString COLLADA_TYPE_NAME_ARRAY;
+extern DLLSPEC daeString COLLADA_TYPE_BOOL_ARRAY;
+extern DLLSPEC daeString COLLADA_TYPE_FLOAT_ARRAY;
+extern DLLSPEC daeString COLLADA_TYPE_INT_ARRAY;
+extern DLLSPEC daeString COLLADA_TYPE_PARAM;
+extern DLLSPEC daeString COLLADA_TYPE_ACCESSOR;
+extern DLLSPEC daeString COLLADA_TYPE_P;
+extern DLLSPEC daeString COLLADA_TYPE_LOOKAT;
+extern DLLSPEC daeString COLLADA_TYPE_MATRIX;
+extern DLLSPEC daeString COLLADA_TYPE_SCALE;
+extern DLLSPEC daeString COLLADA_TYPE_SKEW;
+extern DLLSPEC daeString COLLADA_TYPE_TRANSLATE;
+extern DLLSPEC daeString COLLADA_TYPE_IMAGE_SOURCE;
+extern DLLSPEC daeString COLLADA_TYPE_REF;
+extern DLLSPEC daeString COLLADA_TYPE_HEX;
+extern DLLSPEC daeString COLLADA_TYPE_IMAGE_MIPS;
+extern DLLSPEC daeString COLLADA_TYPE_CHANNEL;
+extern DLLSPEC daeString COLLADA_TYPE_SAMPLER;
+extern DLLSPEC daeString COLLADA_TYPE_TECHNIQUE;
+extern DLLSPEC daeString COLLADA_TYPE_EXTRA;
+extern DLLSPEC daeString COLLADA_TYPE_POLYLIST;
+extern DLLSPEC daeString COLLADA_TYPE_VCOUNT;
+extern DLLSPEC daeString COLLADA_TYPE_POLYGONS;
+extern DLLSPEC daeString COLLADA_TYPE_PH;
+extern DLLSPEC daeString COLLADA_TYPE_H;
+extern DLLSPEC daeString COLLADA_TYPE_LINESTRIPS;
+extern DLLSPEC daeString COLLADA_TYPE_TRISTRIPS;
+extern DLLSPEC daeString COLLADA_TYPE_LINES;
+extern DLLSPEC daeString COLLADA_TYPE_TRIANGLES;
+extern DLLSPEC daeString COLLADA_TYPE_TRIFANS;
+extern DLLSPEC daeString COLLADA_TYPE_VERTICES;
+extern DLLSPEC daeString COLLADA_TYPE_ASSET;
+extern DLLSPEC daeString COLLADA_TYPE_CONTRIBUTOR;
+extern DLLSPEC daeString COLLADA_TYPE_AUTHOR;
+extern DLLSPEC daeString COLLADA_TYPE_AUTHOR_EMAIL;
+extern DLLSPEC daeString COLLADA_TYPE_AUTHOR_WEBSITE;
+extern DLLSPEC daeString COLLADA_TYPE_AUTHORING_TOOL;
+extern DLLSPEC daeString COLLADA_TYPE_COMMENTS;
+extern DLLSPEC daeString COLLADA_TYPE_COPYRIGHT;
+extern DLLSPEC daeString COLLADA_TYPE_SOURCE_DATA;
+extern DLLSPEC daeString COLLADA_TYPE_COVERAGE;
+extern DLLSPEC daeString COLLADA_TYPE_GEOGRAPHIC_LOCATION;
+extern DLLSPEC daeString COLLADA_TYPE_LONGITUDE;
+extern DLLSPEC daeString COLLADA_TYPE_LATITUDE;
+extern DLLSPEC daeString COLLADA_TYPE_ALTITUDE;
+extern DLLSPEC daeString COLLADA_TYPE_CREATED;
+extern DLLSPEC daeString COLLADA_TYPE_KEYWORDS;
+extern DLLSPEC daeString COLLADA_TYPE_MODIFIED;
+extern DLLSPEC daeString COLLADA_TYPE_REVISION;
+extern DLLSPEC daeString COLLADA_TYPE_SUBJECT;
+extern DLLSPEC daeString COLLADA_TYPE_TITLE;
+extern DLLSPEC daeString COLLADA_TYPE_UNIT;
+extern DLLSPEC daeString COLLADA_TYPE_UP_AXIS;
+extern DLLSPEC daeString COLLADA_TYPE_IMAGE;
+extern DLLSPEC daeString COLLADA_TYPE_RENDERABLE;
+extern DLLSPEC daeString COLLADA_TYPE_INIT_FROM;
+extern DLLSPEC daeString COLLADA_TYPE_CREATE_2D;
+extern DLLSPEC daeString COLLADA_TYPE_SIZE_EXACT;
+extern DLLSPEC daeString COLLADA_TYPE_SIZE_RATIO;
+extern DLLSPEC daeString COLLADA_TYPE_UNNORMALIZED;
+extern DLLSPEC daeString COLLADA_TYPE_ARRAY;
+extern DLLSPEC daeString COLLADA_TYPE_FORMAT;
+extern DLLSPEC daeString COLLADA_TYPE_HINT;
+extern DLLSPEC daeString COLLADA_TYPE_EXACT;
+extern DLLSPEC daeString COLLADA_TYPE_CREATE_3D;
+extern DLLSPEC daeString COLLADA_TYPE_SIZE;
+extern DLLSPEC daeString COLLADA_TYPE_CREATE_CUBE;
+extern DLLSPEC daeString COLLADA_TYPE_CAMERA;
+extern DLLSPEC daeString COLLADA_TYPE_OPTICS;
+extern DLLSPEC daeString COLLADA_TYPE_TECHNIQUE_COMMON;
+extern DLLSPEC daeString COLLADA_TYPE_ORTHOGRAPHIC;
+extern DLLSPEC daeString COLLADA_TYPE_PERSPECTIVE;
+extern DLLSPEC daeString COLLADA_TYPE_IMAGER;
+extern DLLSPEC daeString COLLADA_TYPE_LIGHT;
+extern DLLSPEC daeString COLLADA_TYPE_AMBIENT;
+extern DLLSPEC daeString COLLADA_TYPE_DIRECTIONAL;
+extern DLLSPEC daeString COLLADA_TYPE_POINT;
+extern DLLSPEC daeString COLLADA_TYPE_SPOT;
+extern DLLSPEC daeString COLLADA_TYPE_INSTANCE_WITH_EXTRA;
+extern DLLSPEC daeString COLLADA_TYPE_INSTANCE_IMAGE;
+extern DLLSPEC daeString COLLADA_TYPE_INSTANCE_CAMERA;
+extern DLLSPEC daeString COLLADA_TYPE_INSTANCE_FORCE_FIELD;
+extern DLLSPEC daeString COLLADA_TYPE_INSTANCE_LIGHT;
+extern DLLSPEC daeString COLLADA_TYPE_INSTANCE_MATERIAL;
+extern DLLSPEC daeString COLLADA_TYPE_BIND;
+extern DLLSPEC daeString COLLADA_TYPE_BIND_VERTEX_INPUT;
+extern DLLSPEC daeString COLLADA_TYPE_BIND_MATERIAL;
+extern DLLSPEC daeString COLLADA_TYPE_INSTANCE_CONTROLLER;
+extern DLLSPEC daeString COLLADA_TYPE_SKELETON;
+extern DLLSPEC daeString COLLADA_TYPE_INSTANCE_GEOMETRY;
+extern DLLSPEC daeString COLLADA_TYPE_INSTANCE_NODE;
+extern DLLSPEC daeString COLLADA_TYPE_INSTANCE_PHYSICS_MATERIAL;
+extern DLLSPEC daeString COLLADA_TYPE_INSTANCE_RIGID_CONSTRAINT;
+extern DLLSPEC daeString COLLADA_TYPE_LIBRARY_CAMERAS;
+extern DLLSPEC daeString COLLADA_TYPE_LIBRARY_IMAGES;
+extern DLLSPEC daeString COLLADA_TYPE_LIBRARY_LIGHTS;
+extern DLLSPEC daeString COLLADA_TYPE_INSTANCE_EFFECT;
+extern DLLSPEC daeString COLLADA_TYPE_TECHNIQUE_HINT;
+extern DLLSPEC daeString COLLADA_TYPE_SETPARAM;
+extern DLLSPEC daeString COLLADA_TYPE_MATERIAL;
+extern DLLSPEC daeString COLLADA_TYPE_LIBRARY_MATERIALS;
+extern DLLSPEC daeString COLLADA_TYPE_FX_SAMPLER;
+extern DLLSPEC daeString COLLADA_TYPE_FX_SAMPLER1D;
+extern DLLSPEC daeString COLLADA_TYPE_FX_SAMPLER2D;
+extern DLLSPEC daeString COLLADA_TYPE_FX_SAMPLER3D;
+extern DLLSPEC daeString COLLADA_TYPE_FX_SAMPLERCUBE;
+extern DLLSPEC daeString COLLADA_TYPE_FX_SAMPLERRECT;
+extern DLLSPEC daeString COLLADA_TYPE_FX_SAMPLERDEPTH;
+extern DLLSPEC daeString COLLADA_TYPE_FX_RENDERTARGET;
+extern DLLSPEC daeString COLLADA_TYPE_FX_COLORTARGET;
+extern DLLSPEC daeString COLLADA_TYPE_FX_DEPTHTARGET;
+extern DLLSPEC daeString COLLADA_TYPE_FX_STENCILTARGET;
+extern DLLSPEC daeString COLLADA_TYPE_FX_CLEARCOLOR;
+extern DLLSPEC daeString COLLADA_TYPE_FX_CLEARDEPTH;
+extern DLLSPEC daeString COLLADA_TYPE_FX_CLEARSTENCIL;
+extern DLLSPEC daeString COLLADA_TYPE_FX_ANNOTATE;
+extern DLLSPEC daeString COLLADA_TYPE_BOOL;
+extern DLLSPEC daeString COLLADA_TYPE_BOOL2;
+extern DLLSPEC daeString COLLADA_TYPE_BOOL3;
+extern DLLSPEC daeString COLLADA_TYPE_BOOL4;
+extern DLLSPEC daeString COLLADA_TYPE_INT;
+extern DLLSPEC daeString COLLADA_TYPE_INT2;
+extern DLLSPEC daeString COLLADA_TYPE_INT3;
+extern DLLSPEC daeString COLLADA_TYPE_INT4;
+extern DLLSPEC daeString COLLADA_TYPE_FLOAT;
+extern DLLSPEC daeString COLLADA_TYPE_FLOAT2;
+extern DLLSPEC daeString COLLADA_TYPE_FLOAT3;
+extern DLLSPEC daeString COLLADA_TYPE_FLOAT4;
+extern DLLSPEC daeString COLLADA_TYPE_FLOAT2X2;
+extern DLLSPEC daeString COLLADA_TYPE_FLOAT3X3;
+extern DLLSPEC daeString COLLADA_TYPE_FLOAT4X4;
+extern DLLSPEC daeString COLLADA_TYPE_STRING;
+extern DLLSPEC daeString COLLADA_TYPE_FX_NEWPARAM;
+extern DLLSPEC daeString COLLADA_TYPE_FLOAT2X1;
+extern DLLSPEC daeString COLLADA_TYPE_FLOAT2X3;
+extern DLLSPEC daeString COLLADA_TYPE_FLOAT2X4;
+extern DLLSPEC daeString COLLADA_TYPE_FLOAT3X1;
+extern DLLSPEC daeString COLLADA_TYPE_FLOAT3X2;
+extern DLLSPEC daeString COLLADA_TYPE_FLOAT3X4;
+extern DLLSPEC daeString COLLADA_TYPE_FLOAT4X1;
+extern DLLSPEC daeString COLLADA_TYPE_FLOAT4X2;
+extern DLLSPEC daeString COLLADA_TYPE_FLOAT4X3;
+extern DLLSPEC daeString COLLADA_TYPE_ENUM;
+extern DLLSPEC daeString COLLADA_TYPE_FX_INCLUDE;
+extern DLLSPEC daeString COLLADA_TYPE_FX_CODE;
+extern DLLSPEC daeString COLLADA_TYPE_FX_SOURCES;
+extern DLLSPEC daeString COLLADA_TYPE_INLINE;
+extern DLLSPEC daeString COLLADA_TYPE_IMPORT;
+extern DLLSPEC daeString COLLADA_TYPE_FX_TARGET;
+extern DLLSPEC daeString COLLADA_TYPE_BINARY;
+extern DLLSPEC daeString COLLADA_TYPE_FX_COMMON_FLOAT_OR_PARAM;
+extern DLLSPEC daeString COLLADA_TYPE_FX_COMMON_COLOR_OR_TEXTURE;
+extern DLLSPEC daeString COLLADA_TYPE_COLOR;
+extern DLLSPEC daeString COLLADA_TYPE_TEXTURE;
+extern DLLSPEC daeString COLLADA_TYPE_FX_COMMON_TRANSPARENT;
+extern DLLSPEC daeString COLLADA_TYPE_FX_COMMON_NEWPARAM;
+extern DLLSPEC daeString COLLADA_TYPE_SEMANTIC;
+extern DLLSPEC daeString COLLADA_TYPE_PROFILE_COMMON;
+extern DLLSPEC daeString COLLADA_TYPE_CONSTANT;
+extern DLLSPEC daeString COLLADA_TYPE_LAMBERT;
+extern DLLSPEC daeString COLLADA_TYPE_PHONG;
+extern DLLSPEC daeString COLLADA_TYPE_BLINN;
+extern DLLSPEC daeString COLLADA_TYPE_PROFILE_BRIDGE;
+extern DLLSPEC daeString COLLADA_TYPE_GLES2_NEWPARAM;
+extern DLLSPEC daeString COLLADA_TYPE_MODIFIER;
+extern DLLSPEC daeString COLLADA_TYPE_GLES2_SHADER;
+extern DLLSPEC daeString COLLADA_TYPE_SOURCES;
+extern DLLSPEC daeString COLLADA_TYPE_GLES2_PROGRAM;
+extern DLLSPEC daeString COLLADA_TYPE_BIND_ATTRIBUTE;
+extern DLLSPEC daeString COLLADA_TYPE_BIND_UNIFORM;
+extern DLLSPEC daeString COLLADA_TYPE_GLES2_PASS;
+extern DLLSPEC daeString COLLADA_TYPE_STATES;
+extern DLLSPEC daeString COLLADA_TYPE_EVALUATE;
+extern DLLSPEC daeString COLLADA_TYPE_DRAW;
+extern DLLSPEC daeString COLLADA_TYPE_PROFILE_GLES2;
+extern DLLSPEC daeString COLLADA_TYPE_NEWPARAM;
+extern DLLSPEC daeString COLLADA_TYPE_GLSL_ARRAY;
+extern DLLSPEC daeString COLLADA_TYPE_GLSL_NEWPARAM;
+extern DLLSPEC daeString COLLADA_TYPE_GLSL_SHADER;
+extern DLLSPEC daeString COLLADA_TYPE_GLSL_PROGRAM;
+extern DLLSPEC daeString COLLADA_TYPE_PROFILE_GLSL;
+extern DLLSPEC daeString COLLADA_TYPE_PASS;
+extern DLLSPEC daeString COLLADA_TYPE_CG_ARRAY;
+extern DLLSPEC daeString COLLADA_TYPE_CG_SETPARAM;
+extern DLLSPEC daeString COLLADA_TYPE_CG_USER;
+extern DLLSPEC daeString COLLADA_TYPE_CG_NEWPARAM;
+extern DLLSPEC daeString COLLADA_TYPE_CG_PASS;
+extern DLLSPEC daeString COLLADA_TYPE_PROGRAM;
+extern DLLSPEC daeString COLLADA_TYPE_SHADER;
+extern DLLSPEC daeString COLLADA_TYPE_PROFILE_CG;
+extern DLLSPEC daeString COLLADA_TYPE_GLES_TEXTURE_CONSTANT;
+extern DLLSPEC daeString COLLADA_TYPE_GLES_TEXENV_COMMAND;
+extern DLLSPEC daeString COLLADA_TYPE_GLES_TEXCOMBINER_ARGUMENT_RGB;
+extern DLLSPEC daeString COLLADA_TYPE_GLES_TEXCOMBINER_ARGUMENT_ALPHA;
+extern DLLSPEC daeString COLLADA_TYPE_GLES_TEXCOMBINER_COMMAND_RGB;
+extern DLLSPEC daeString COLLADA_TYPE_GLES_TEXCOMBINER_COMMAND_ALPHA;
+extern DLLSPEC daeString COLLADA_TYPE_GLES_TEXCOMBINER_COMMAND;
+extern DLLSPEC daeString COLLADA_TYPE_GLES_TEXTURE_PIPELINE;
+extern DLLSPEC daeString COLLADA_TYPE_GLES_SAMPLER;
+extern DLLSPEC daeString COLLADA_TYPE_TEXCOORD;
+extern DLLSPEC daeString COLLADA_TYPE_GLES_NEWPARAM;
+extern DLLSPEC daeString COLLADA_TYPE_PROFILE_GLES;
+extern DLLSPEC daeString COLLADA_TYPE_EFFECT;
+extern DLLSPEC daeString COLLADA_TYPE_LIBRARY_EFFECTS;
+extern DLLSPEC daeString COLLADA_TYPE_BOX;
+extern DLLSPEC daeString COLLADA_TYPE_HALF_EXTENTS;
+extern DLLSPEC daeString COLLADA_TYPE_PLANE;
+extern DLLSPEC daeString COLLADA_TYPE_EQUATION;
+extern DLLSPEC daeString COLLADA_TYPE_SPHERE;
+extern DLLSPEC daeString COLLADA_TYPE_RADIUS;
+extern DLLSPEC daeString COLLADA_TYPE_ELLIPSOID;
+extern DLLSPEC daeString COLLADA_TYPE_CYLINDER;
+extern DLLSPEC daeString COLLADA_TYPE_HEIGHT;
+extern DLLSPEC daeString COLLADA_TYPE_CAPSULE;
+extern DLLSPEC daeString COLLADA_TYPE_FORCE_FIELD;
+extern DLLSPEC daeString COLLADA_TYPE_LIBRARY_FORCE_FIELDS;
+extern DLLSPEC daeString COLLADA_TYPE_PHYSICS_MATERIAL;
+extern DLLSPEC daeString COLLADA_TYPE_LIBRARY_PHYSICS_MATERIALS;
+extern DLLSPEC daeString COLLADA_TYPE_EDGES;
+extern DLLSPEC daeString COLLADA_TYPE_WIRES;
+extern DLLSPEC daeString COLLADA_TYPE_FACES;
+extern DLLSPEC daeString COLLADA_TYPE_SHELLS;
+extern DLLSPEC daeString COLLADA_TYPE_SOLIDS;
+extern DLLSPEC daeString COLLADA_TYPE_LINE;
+extern DLLSPEC daeString COLLADA_TYPE_ORIGIN;
+extern DLLSPEC daeString COLLADA_TYPE_DIRECTION;
+extern DLLSPEC daeString COLLADA_TYPE_CIRCLE;
+extern DLLSPEC daeString COLLADA_TYPE_ELLIPSE;
+extern DLLSPEC daeString COLLADA_TYPE_PARABOLA;
+extern DLLSPEC daeString COLLADA_TYPE_FOCAL;
+extern DLLSPEC daeString COLLADA_TYPE_HYPERBOLA;
+extern DLLSPEC daeString COLLADA_TYPE_TORUS;
+extern DLLSPEC daeString COLLADA_TYPE_PCURVES;
+extern DLLSPEC daeString COLLADA_TYPE_SIDREF_ARRAY;
+extern DLLSPEC daeString COLLADA_TYPE_SOURCE;
+extern DLLSPEC daeString COLLADA_TYPE_ANIMATION;
+extern DLLSPEC daeString COLLADA_TYPE_LIBRARY_ANIMATIONS;
+extern DLLSPEC daeString COLLADA_TYPE_SKIN;
+extern DLLSPEC daeString COLLADA_TYPE_BIND_SHAPE_MATRIX;
+extern DLLSPEC daeString COLLADA_TYPE_JOINTS;
+extern DLLSPEC daeString COLLADA_TYPE_VERTEX_WEIGHTS;
+extern DLLSPEC daeString COLLADA_TYPE_V;
+extern DLLSPEC daeString COLLADA_TYPE_CONVEX_MESH;
+extern DLLSPEC daeString COLLADA_TYPE_MESH;
+extern DLLSPEC daeString COLLADA_TYPE_SPLINE;
+extern DLLSPEC daeString COLLADA_TYPE_CONTROL_VERTICES;
+extern DLLSPEC daeString COLLADA_TYPE_NURBS_SURFACE;
+extern DLLSPEC daeString COLLADA_TYPE_NURBS;
+extern DLLSPEC daeString COLLADA_TYPE_MORPH;
+extern DLLSPEC daeString COLLADA_TYPE_TARGETS;
+extern DLLSPEC daeString COLLADA_TYPE_CONTROLLER;
+extern DLLSPEC daeString COLLADA_TYPE_LIBRARY_CONTROLLERS;
+extern DLLSPEC daeString COLLADA_TYPE_ORIENT;
+extern DLLSPEC daeString COLLADA_TYPE_CURVE;
+extern DLLSPEC daeString COLLADA_TYPE_SURFACE_CURVES;
+extern DLLSPEC daeString COLLADA_TYPE_CURVES;
+extern DLLSPEC daeString COLLADA_TYPE_SWEPT_SURFACE;
+extern DLLSPEC daeString COLLADA_TYPE_AXIS;
+extern DLLSPEC daeString COLLADA_TYPE_CONE;
+extern DLLSPEC daeString COLLADA_TYPE_ANGLE;
+extern DLLSPEC daeString COLLADA_TYPE_SURFACE;
+extern DLLSPEC daeString COLLADA_TYPE_SURFACES;
+extern DLLSPEC daeString COLLADA_TYPE_BREP;
+extern DLLSPEC daeString COLLADA_TYPE_GEOMETRY;
+extern DLLSPEC daeString COLLADA_TYPE_LIBRARY_GEOMETRIES;
+extern DLLSPEC daeString COLLADA_TYPE_LIMITS_SUB;
+extern DLLSPEC daeString COLLADA_TYPE_INSTANCE_JOINT;
+extern DLLSPEC daeString COLLADA_TYPE_TARGETABLE_FLOAT4;
+extern DLLSPEC daeString COLLADA_TYPE_ROTATE;
+extern DLLSPEC daeString COLLADA_TYPE_LINK;
+extern DLLSPEC daeString COLLADA_TYPE_ATTACHMENT_FULL;
+extern DLLSPEC daeString COLLADA_TYPE_ATTACHMENT_START;
+extern DLLSPEC daeString COLLADA_TYPE_ATTACHMENT_END;
+extern DLLSPEC daeString COLLADA_TYPE_RIGID_CONSTRAINT;
+extern DLLSPEC daeString COLLADA_TYPE_REF_ATTACHMENT;
+extern DLLSPEC daeString COLLADA_TYPE_ATTACHMENT;
+extern DLLSPEC daeString COLLADA_TYPE_ENABLED;
+extern DLLSPEC daeString COLLADA_TYPE_INTERPENETRATE;
+extern DLLSPEC daeString COLLADA_TYPE_LIMITS;
+extern DLLSPEC daeString COLLADA_TYPE_SWING_CONE_AND_TWIST;
+extern DLLSPEC daeString COLLADA_TYPE_LINEAR;
+extern DLLSPEC daeString COLLADA_TYPE_SPRING;
+extern DLLSPEC daeString COLLADA_TYPE_ANGULAR;
+extern DLLSPEC daeString COLLADA_TYPE_NODE;
+extern DLLSPEC daeString COLLADA_TYPE_LIBRARY_NODES;
+extern DLLSPEC daeString COLLADA_TYPE_VISUAL_SCENE;
+extern DLLSPEC daeString COLLADA_TYPE_EVALUATE_SCENE;
+extern DLLSPEC daeString COLLADA_TYPE_RENDER;
+extern DLLSPEC daeString COLLADA_TYPE_LAYER;
+extern DLLSPEC daeString COLLADA_TYPE_TECHNIQUE_OVERRIDE;
+extern DLLSPEC daeString COLLADA_TYPE_LIBRARY_VISUAL_SCENES;
+extern DLLSPEC daeString COLLADA_TYPE_RIGID_BODY;
+extern DLLSPEC daeString COLLADA_TYPE_DYNAMIC;
+extern DLLSPEC daeString COLLADA_TYPE_MASS_FRAME;
+extern DLLSPEC daeString COLLADA_TYPE_SHAPE;
+extern DLLSPEC daeString COLLADA_TYPE_HOLLOW;
+extern DLLSPEC daeString COLLADA_TYPE_INSTANCE_RIGID_BODY;
+extern DLLSPEC daeString COLLADA_TYPE_ANGULAR_VELOCITY;
+extern DLLSPEC daeString COLLADA_TYPE_VELOCITY;
+extern DLLSPEC daeString COLLADA_TYPE_INSTANCE_PHYSICS_MODEL;
+extern DLLSPEC daeString COLLADA_TYPE_PHYSICS_MODEL;
+extern DLLSPEC daeString COLLADA_TYPE_LIBRARY_PHYSICS_MODELS;
+extern DLLSPEC daeString COLLADA_TYPE_PHYSICS_SCENE;
+extern DLLSPEC daeString COLLADA_TYPE_LIBRARY_PHYSICS_SCENES;
+extern DLLSPEC daeString COLLADA_TYPE_KINEMATICS_NEWPARAM;
+extern DLLSPEC daeString COLLADA_TYPE_SIDREF;
+extern DLLSPEC daeString COLLADA_TYPE_KINEMATICS_FRAME;
+extern DLLSPEC daeString COLLADA_TYPE_COMMON_PARAM;
+extern DLLSPEC daeString COLLADA_TYPE_COMMON_INT_OR_PARAM;
+extern DLLSPEC daeString COLLADA_TYPE_COMMON_BOOL_OR_PARAM;
+extern DLLSPEC daeString COLLADA_TYPE_COMMON_FLOAT_OR_PARAM;
+extern DLLSPEC daeString COLLADA_TYPE_KINEMATICS_LIMITS;
+extern DLLSPEC daeString COLLADA_TYPE_COMMON_SIDREF_OR_PARAM;
+extern DLLSPEC daeString COLLADA_TYPE_BIND_JOINT_AXIS;
+extern DLLSPEC daeString COLLADA_TYPE_BIND_KINEMATICS_MODEL;
+extern DLLSPEC daeString COLLADA_TYPE_KINEMATICS_CONNECT_PARAM;
+extern DLLSPEC daeString COLLADA_TYPE_KINEMATICS_SETPARAM;
+extern DLLSPEC daeString COLLADA_TYPE_INSTANCE_KINEMATICS_SCENE;
+extern DLLSPEC daeString COLLADA_TYPE_KINEMATICS_INDEX;
+extern DLLSPEC daeString COLLADA_TYPE_KINEMATICS_PARAM;
+extern DLLSPEC daeString COLLADA_TYPE_KINEMATICS_BIND;
+extern DLLSPEC daeString COLLADA_TYPE_MOTION_AXIS_INFO;
+extern DLLSPEC daeString COLLADA_TYPE_INSTANCE_KINEMATICS_MODEL;
+extern DLLSPEC daeString COLLADA_TYPE_INSTANCE_ARTICULATED_SYSTEM;
+extern DLLSPEC daeString COLLADA_TYPE_KINEMATICS_SCENE;
+extern DLLSPEC daeString COLLADA_TYPE_LIBRARY_KINEMATICS_SCENES;
+extern DLLSPEC daeString COLLADA_TYPE_COMMON_FLOAT2_OR_PARAM;
+extern DLLSPEC daeString COLLADA_TYPE_MOTION_EFFECTOR_INFO;
+extern DLLSPEC daeString COLLADA_TYPE_MOTION_TECHNIQUE;
+extern DLLSPEC daeString COLLADA_TYPE_MOTION;
+extern DLLSPEC daeString COLLADA_TYPE_MINMAX;
+extern DLLSPEC daeString COLLADA_TYPE_JOINT_LIMITS;
+extern DLLSPEC daeString COLLADA_TYPE_AXIS_CONSTRAINT;
+extern DLLSPEC daeString COLLADA_TYPE_JOINT;
+extern DLLSPEC daeString COLLADA_TYPE_LIBRARY_JOINTS;
+extern DLLSPEC daeString COLLADA_TYPE_FORMULA_TECHNIQUE;
+extern DLLSPEC daeString COLLADA_TYPE_FORMULA_NEWPARAM;
+extern DLLSPEC daeString COLLADA_TYPE_FORMULA_SETPARAM;
+extern DLLSPEC daeString COLLADA_TYPE_INSTANCE_FORMULA;
+extern DLLSPEC daeString COLLADA_TYPE_ANIMATION_CLIP;
+extern DLLSPEC daeString COLLADA_TYPE_LIBRARY_ANIMATION_CLIPS;
+extern DLLSPEC daeString COLLADA_TYPE_FORMULA;
+extern DLLSPEC daeString COLLADA_TYPE_KINEMATICS_MODEL_TECHNIQUE;
+extern DLLSPEC daeString COLLADA_TYPE_KINEMATICS_MODEL;
+extern DLLSPEC daeString COLLADA_TYPE_LIBRARY_KINEMATICS_MODELS;
+extern DLLSPEC daeString COLLADA_TYPE_KINEMATICS_AXIS_INFO;
+extern DLLSPEC daeString COLLADA_TYPE_KINEMATICS_TECHNIQUE;
+extern DLLSPEC daeString COLLADA_TYPE_KINEMATICS;
+extern DLLSPEC daeString COLLADA_TYPE_ARTICULATED_SYSTEM;
+extern DLLSPEC daeString COLLADA_TYPE_LIBRARY_ARTICULATED_SYSTEMS;
+extern DLLSPEC daeString COLLADA_TYPE_LIBRARY_FORMULAS;
+extern DLLSPEC daeString COLLADA_TYPE_FX_SAMPLER_STATES;
+extern DLLSPEC daeString COLLADA_TYPE_WRAP_S;
+extern DLLSPEC daeString COLLADA_TYPE_WRAP_T;
+extern DLLSPEC daeString COLLADA_TYPE_WRAP_P;
+extern DLLSPEC daeString COLLADA_TYPE_MINFILTER;
+extern DLLSPEC daeString COLLADA_TYPE_MAGFILTER;
+extern DLLSPEC daeString COLLADA_TYPE_MIPFILTER;
+extern DLLSPEC daeString COLLADA_TYPE_BORDER_COLOR;
+extern DLLSPEC daeString COLLADA_TYPE_MIP_MAX_LEVEL;
+extern DLLSPEC daeString COLLADA_TYPE_MIP_MIN_LEVEL;
+extern DLLSPEC daeString COLLADA_TYPE_MIP_BIAS;
+extern DLLSPEC daeString COLLADA_TYPE_MAX_ANISOTROPY;
+extern DLLSPEC daeString COLLADA_TYPE_FX_SETPARAM;
+extern DLLSPEC daeString COLLADA_TYPE_SAMPLER_STATES;
+extern DLLSPEC daeString COLLADA_TYPE_GL_PIPELINE_SETTINGS;
+extern DLLSPEC daeString COLLADA_TYPE_ALPHA_FUNC;
+extern DLLSPEC daeString COLLADA_TYPE_FUNC;
+extern DLLSPEC daeString COLLADA_TYPE_VALUE;
+extern DLLSPEC daeString COLLADA_TYPE_BLEND_FUNC;
+extern DLLSPEC daeString COLLADA_TYPE_SRC;
+extern DLLSPEC daeString COLLADA_TYPE_DEST;
+extern DLLSPEC daeString COLLADA_TYPE_BLEND_FUNC_SEPARATE;
+extern DLLSPEC daeString COLLADA_TYPE_SRC_RGB;
+extern DLLSPEC daeString COLLADA_TYPE_DEST_RGB;
+extern DLLSPEC daeString COLLADA_TYPE_SRC_ALPHA;
+extern DLLSPEC daeString COLLADA_TYPE_DEST_ALPHA;
+extern DLLSPEC daeString COLLADA_TYPE_BLEND_EQUATION;
+extern DLLSPEC daeString COLLADA_TYPE_BLEND_EQUATION_SEPARATE;
+extern DLLSPEC daeString COLLADA_TYPE_RGB;
+extern DLLSPEC daeString COLLADA_TYPE_ALPHA;
+extern DLLSPEC daeString COLLADA_TYPE_COLOR_MATERIAL;
+extern DLLSPEC daeString COLLADA_TYPE_FACE;
+extern DLLSPEC daeString COLLADA_TYPE_MODE;
+extern DLLSPEC daeString COLLADA_TYPE_CULL_FACE;
+extern DLLSPEC daeString COLLADA_TYPE_DEPTH_FUNC;
+extern DLLSPEC daeString COLLADA_TYPE_FOG_MODE;
+extern DLLSPEC daeString COLLADA_TYPE_FOG_COORD_SRC;
+extern DLLSPEC daeString COLLADA_TYPE_FRONT_FACE;
+extern DLLSPEC daeString COLLADA_TYPE_LIGHT_MODEL_COLOR_CONTROL;
+extern DLLSPEC daeString COLLADA_TYPE_LOGIC_OP;
+extern DLLSPEC daeString COLLADA_TYPE_POLYGON_MODE;
+extern DLLSPEC daeString COLLADA_TYPE_SHADE_MODEL;
+extern DLLSPEC daeString COLLADA_TYPE_STENCIL_FUNC;
+extern DLLSPEC daeString COLLADA_TYPE_MASK;
+extern DLLSPEC daeString COLLADA_TYPE_STENCIL_OP;
+extern DLLSPEC daeString COLLADA_TYPE_FAIL;
+extern DLLSPEC daeString COLLADA_TYPE_ZFAIL;
+extern DLLSPEC daeString COLLADA_TYPE_ZPASS;
+extern DLLSPEC daeString COLLADA_TYPE_STENCIL_FUNC_SEPARATE;
+extern DLLSPEC daeString COLLADA_TYPE_FRONT;
+extern DLLSPEC daeString COLLADA_TYPE_BACK;
+extern DLLSPEC daeString COLLADA_TYPE_STENCIL_OP_SEPARATE;
+extern DLLSPEC daeString COLLADA_TYPE_STENCIL_MASK_SEPARATE;
+extern DLLSPEC daeString COLLADA_TYPE_LIGHT_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_LIGHT_AMBIENT;
+extern DLLSPEC daeString COLLADA_TYPE_LIGHT_DIFFUSE;
+extern DLLSPEC daeString COLLADA_TYPE_LIGHT_SPECULAR;
+extern DLLSPEC daeString COLLADA_TYPE_LIGHT_POSITION;
+extern DLLSPEC daeString COLLADA_TYPE_LIGHT_CONSTANT_ATTENUATION;
+extern DLLSPEC daeString COLLADA_TYPE_LIGHT_LINEAR_ATTENUATION;
+extern DLLSPEC daeString COLLADA_TYPE_LIGHT_QUADRATIC_ATTENUATION;
+extern DLLSPEC daeString COLLADA_TYPE_LIGHT_SPOT_CUTOFF;
+extern DLLSPEC daeString COLLADA_TYPE_LIGHT_SPOT_DIRECTION;
+extern DLLSPEC daeString COLLADA_TYPE_LIGHT_SPOT_EXPONENT;
+extern DLLSPEC daeString COLLADA_TYPE_TEXTURE1D;
+extern DLLSPEC daeString COLLADA_TYPE_TEXTURE2D;
+extern DLLSPEC daeString COLLADA_TYPE_TEXTURE3D;
+extern DLLSPEC daeString COLLADA_TYPE_TEXTURECUBE;
+extern DLLSPEC daeString COLLADA_TYPE_TEXTURERECT;
+extern DLLSPEC daeString COLLADA_TYPE_TEXTUREDEPTH;
+extern DLLSPEC daeString COLLADA_TYPE_TEXTURE1D_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_TEXTURE2D_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_TEXTURE3D_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_TEXTURECUBE_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_TEXTURERECT_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_TEXTUREDEPTH_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_TEXTURE_ENV_COLOR;
+extern DLLSPEC daeString COLLADA_TYPE_TEXTURE_ENV_MODE;
+extern DLLSPEC daeString COLLADA_TYPE_CLIP_PLANE;
+extern DLLSPEC daeString COLLADA_TYPE_CLIP_PLANE_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_BLEND_COLOR;
+extern DLLSPEC daeString COLLADA_TYPE_COLOR_MASK;
+extern DLLSPEC daeString COLLADA_TYPE_DEPTH_BOUNDS;
+extern DLLSPEC daeString COLLADA_TYPE_DEPTH_MASK;
+extern DLLSPEC daeString COLLADA_TYPE_DEPTH_RANGE;
+extern DLLSPEC daeString COLLADA_TYPE_FOG_DENSITY;
+extern DLLSPEC daeString COLLADA_TYPE_FOG_START;
+extern DLLSPEC daeString COLLADA_TYPE_FOG_END;
+extern DLLSPEC daeString COLLADA_TYPE_FOG_COLOR;
+extern DLLSPEC daeString COLLADA_TYPE_LIGHT_MODEL_AMBIENT;
+extern DLLSPEC daeString COLLADA_TYPE_LIGHTING_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_LINE_STIPPLE;
+extern DLLSPEC daeString COLLADA_TYPE_LINE_WIDTH;
+extern DLLSPEC daeString COLLADA_TYPE_MATERIAL_AMBIENT;
+extern DLLSPEC daeString COLLADA_TYPE_MATERIAL_DIFFUSE;
+extern DLLSPEC daeString COLLADA_TYPE_MATERIAL_EMISSION;
+extern DLLSPEC daeString COLLADA_TYPE_MATERIAL_SHININESS;
+extern DLLSPEC daeString COLLADA_TYPE_MATERIAL_SPECULAR;
+extern DLLSPEC daeString COLLADA_TYPE_MODEL_VIEW_MATRIX;
+extern DLLSPEC daeString COLLADA_TYPE_POINT_DISTANCE_ATTENUATION;
+extern DLLSPEC daeString COLLADA_TYPE_POINT_FADE_THRESHOLD_SIZE;
+extern DLLSPEC daeString COLLADA_TYPE_POINT_SIZE;
+extern DLLSPEC daeString COLLADA_TYPE_POINT_SIZE_MIN;
+extern DLLSPEC daeString COLLADA_TYPE_POINT_SIZE_MAX;
+extern DLLSPEC daeString COLLADA_TYPE_POLYGON_OFFSET;
+extern DLLSPEC daeString COLLADA_TYPE_PROJECTION_MATRIX;
+extern DLLSPEC daeString COLLADA_TYPE_SCISSOR;
+extern DLLSPEC daeString COLLADA_TYPE_STENCIL_MASK;
+extern DLLSPEC daeString COLLADA_TYPE_ALPHA_TEST_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_BLEND_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_COLOR_LOGIC_OP_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_COLOR_MATERIAL_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_CULL_FACE_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_DEPTH_BOUNDS_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_DEPTH_CLAMP_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_DEPTH_TEST_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_DITHER_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_FOG_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_LIGHT_MODEL_LOCAL_VIEWER_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_LIGHT_MODEL_TWO_SIDE_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_LINE_SMOOTH_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_LINE_STIPPLE_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_LOGIC_OP_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_MULTISAMPLE_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_NORMALIZE_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_POINT_SMOOTH_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_POLYGON_OFFSET_FILL_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_POLYGON_OFFSET_LINE_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_POLYGON_OFFSET_POINT_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_POLYGON_SMOOTH_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_POLYGON_STIPPLE_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_RESCALE_NORMAL_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_SAMPLE_ALPHA_TO_COVERAGE_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_SAMPLE_ALPHA_TO_ONE_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_SAMPLE_COVERAGE_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_SCISSOR_TEST_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_STENCIL_TEST_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_GLES2_PIPELINE_SETTINGS;
+extern DLLSPEC daeString COLLADA_TYPE_SAMPLE_COVERAGE;
+extern DLLSPEC daeString COLLADA_TYPE_INVERT;
+extern DLLSPEC daeString COLLADA_TYPE_POINT_SIZE_ENABLE;
+extern DLLSPEC daeString COLLADA_TYPE_GLES2_VALUE;
+extern DLLSPEC daeString COLLADA_TYPE_BVEC2;
+extern DLLSPEC daeString COLLADA_TYPE_BVEC3;
+extern DLLSPEC daeString COLLADA_TYPE_BVEC4;
+extern DLLSPEC daeString COLLADA_TYPE_VEC2;
+extern DLLSPEC daeString COLLADA_TYPE_VEC3;
+extern DLLSPEC daeString COLLADA_TYPE_VEC4;
+extern DLLSPEC daeString COLLADA_TYPE_MAT2;
+extern DLLSPEC daeString COLLADA_TYPE_MAT3;
+extern DLLSPEC daeString COLLADA_TYPE_MAT4;
+extern DLLSPEC daeString COLLADA_TYPE_IVEC2;
+extern DLLSPEC daeString COLLADA_TYPE_IVEC3;
+extern DLLSPEC daeString COLLADA_TYPE_IVEC4;
+extern DLLSPEC daeString COLLADA_TYPE_USERTYPE;
+extern DLLSPEC daeString COLLADA_TYPE_GLSL_VALUE;
+extern DLLSPEC daeString COLLADA_TYPE_CG_PARAM;
+extern DLLSPEC daeString COLLADA_TYPE_BOOL2X1;
+extern DLLSPEC daeString COLLADA_TYPE_BOOL2X2;
+extern DLLSPEC daeString COLLADA_TYPE_BOOL2X3;
+extern DLLSPEC daeString COLLADA_TYPE_BOOL2X4;
+extern DLLSPEC daeString COLLADA_TYPE_BOOL3X1;
+extern DLLSPEC daeString COLLADA_TYPE_BOOL3X2;
+extern DLLSPEC daeString COLLADA_TYPE_BOOL3X3;
+extern DLLSPEC daeString COLLADA_TYPE_BOOL3X4;
+extern DLLSPEC daeString COLLADA_TYPE_BOOL4X1;
+extern DLLSPEC daeString COLLADA_TYPE_BOOL4X2;
+extern DLLSPEC daeString COLLADA_TYPE_BOOL4X3;
+extern DLLSPEC daeString COLLADA_TYPE_BOOL4X4;
+extern DLLSPEC daeString COLLADA_TYPE_INT2X1;
+extern DLLSPEC daeString COLLADA_TYPE_INT2X2;
+extern DLLSPEC daeString COLLADA_TYPE_INT2X3;
+extern DLLSPEC daeString COLLADA_TYPE_INT2X4;
+extern DLLSPEC daeString COLLADA_TYPE_INT3X1;
+extern DLLSPEC daeString COLLADA_TYPE_INT3X2;
+extern DLLSPEC daeString COLLADA_TYPE_INT3X3;
+extern DLLSPEC daeString COLLADA_TYPE_INT3X4;
+extern DLLSPEC daeString COLLADA_TYPE_INT4X1;
+extern DLLSPEC daeString COLLADA_TYPE_INT4X2;
+extern DLLSPEC daeString COLLADA_TYPE_INT4X3;
+extern DLLSPEC daeString COLLADA_TYPE_INT4X4;
+extern DLLSPEC daeString COLLADA_TYPE_HALF;
+extern DLLSPEC daeString COLLADA_TYPE_HALF2;
+extern DLLSPEC daeString COLLADA_TYPE_HALF3;
+extern DLLSPEC daeString COLLADA_TYPE_HALF4;
+extern DLLSPEC daeString COLLADA_TYPE_HALF2X1;
+extern DLLSPEC daeString COLLADA_TYPE_HALF2X2;
+extern DLLSPEC daeString COLLADA_TYPE_HALF2X3;
+extern DLLSPEC daeString COLLADA_TYPE_HALF2X4;
+extern DLLSPEC daeString COLLADA_TYPE_HALF3X1;
+extern DLLSPEC daeString COLLADA_TYPE_HALF3X2;
+extern DLLSPEC daeString COLLADA_TYPE_HALF3X3;
+extern DLLSPEC daeString COLLADA_TYPE_HALF3X4;
+extern DLLSPEC daeString COLLADA_TYPE_HALF4X1;
+extern DLLSPEC daeString COLLADA_TYPE_HALF4X2;
+extern DLLSPEC daeString COLLADA_TYPE_HALF4X3;
+extern DLLSPEC daeString COLLADA_TYPE_HALF4X4;
+extern DLLSPEC daeString COLLADA_TYPE_FIXED;
+extern DLLSPEC daeString COLLADA_TYPE_FIXED2;
+extern DLLSPEC daeString COLLADA_TYPE_FIXED3;
+extern DLLSPEC daeString COLLADA_TYPE_FIXED4;
+extern DLLSPEC daeString COLLADA_TYPE_FIXED2X1;
+extern DLLSPEC daeString COLLADA_TYPE_FIXED2X2;
+extern DLLSPEC daeString COLLADA_TYPE_FIXED2X3;
+extern DLLSPEC daeString COLLADA_TYPE_FIXED2X4;
+extern DLLSPEC daeString COLLADA_TYPE_FIXED3X1;
+extern DLLSPEC daeString COLLADA_TYPE_FIXED3X2;
+extern DLLSPEC daeString COLLADA_TYPE_FIXED3X3;
+extern DLLSPEC daeString COLLADA_TYPE_FIXED3X4;
+extern DLLSPEC daeString COLLADA_TYPE_FIXED4X1;
+extern DLLSPEC daeString COLLADA_TYPE_FIXED4X2;
+extern DLLSPEC daeString COLLADA_TYPE_FIXED4X3;
+extern DLLSPEC daeString COLLADA_TYPE_FIXED4X4;
+extern DLLSPEC daeString COLLADA_TYPE_GLES_SAMPLER_STATES;
+extern DLLSPEC daeString COLLADA_TYPE_GLES_PIPELINE_SETTINGS;
+extern DLLSPEC daeString COLLADA_TYPE_TEXTURE_PIPELINE;
+extern DLLSPEC daeString COLLADA_TYPE_GLES_PARAM;
+extern DLLSPEC daeString COLLADA_TYPE_FLOAT1X1;
+extern DLLSPEC daeString COLLADA_TYPE_FLOAT1X2;
+extern DLLSPEC daeString COLLADA_TYPE_FLOAT1X3;
+extern DLLSPEC daeString COLLADA_TYPE_FLOAT1X4;
+extern DLLSPEC daeString COLLADA_TYPE_FX_PROFILE;
+extern DLLSPEC daeString COLLADA_TYPE_COLLADA;
+extern DLLSPEC daeString COLLADA_TYPE_SCENE;
+
+extern DLLSPEC daeString COLLADA_ELEMENT_COLLADA;
+extern DLLSPEC daeString COLLADA_ELEMENT_PARAM;
+extern DLLSPEC daeString COLLADA_ELEMENT_REF;
+extern DLLSPEC daeString COLLADA_ELEMENT_HEX;
+extern DLLSPEC daeString COLLADA_ELEMENT_INPUT;
+extern DLLSPEC daeString COLLADA_ELEMENT_ASSET;
+extern DLLSPEC daeString COLLADA_ELEMENT_TECHNIQUE;
+extern DLLSPEC daeString COLLADA_ELEMENT_VCOUNT;
+extern DLLSPEC daeString COLLADA_ELEMENT_P;
+extern DLLSPEC daeString COLLADA_ELEMENT_EXTRA;
+extern DLLSPEC daeString COLLADA_ELEMENT_PH;
+extern DLLSPEC daeString COLLADA_ELEMENT_H;
+extern DLLSPEC daeString COLLADA_ELEMENT_CONTRIBUTOR;
+extern DLLSPEC daeString COLLADA_ELEMENT_COVERAGE;
+extern DLLSPEC daeString COLLADA_ELEMENT_CREATED;
+extern DLLSPEC daeString COLLADA_ELEMENT_KEYWORDS;
+extern DLLSPEC daeString COLLADA_ELEMENT_MODIFIED;
+extern DLLSPEC daeString COLLADA_ELEMENT_REVISION;
+extern DLLSPEC daeString COLLADA_ELEMENT_SUBJECT;
+extern DLLSPEC daeString COLLADA_ELEMENT_TITLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_UNIT;
+extern DLLSPEC daeString COLLADA_ELEMENT_UP_AXIS;
+extern DLLSPEC daeString COLLADA_ELEMENT_AUTHOR;
+extern DLLSPEC daeString COLLADA_ELEMENT_AUTHOR_EMAIL;
+extern DLLSPEC daeString COLLADA_ELEMENT_AUTHOR_WEBSITE;
+extern DLLSPEC daeString COLLADA_ELEMENT_AUTHORING_TOOL;
+extern DLLSPEC daeString COLLADA_ELEMENT_COMMENTS;
+extern DLLSPEC daeString COLLADA_ELEMENT_COPYRIGHT;
+extern DLLSPEC daeString COLLADA_ELEMENT_SOURCE_DATA;
+extern DLLSPEC daeString COLLADA_ELEMENT_GEOGRAPHIC_LOCATION;
+extern DLLSPEC daeString COLLADA_ELEMENT_LONGITUDE;
+extern DLLSPEC daeString COLLADA_ELEMENT_LATITUDE;
+extern DLLSPEC daeString COLLADA_ELEMENT_ALTITUDE;
+extern DLLSPEC daeString COLLADA_ELEMENT_RENDERABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_INIT_FROM;
+extern DLLSPEC daeString COLLADA_ELEMENT_CREATE_2D;
+extern DLLSPEC daeString COLLADA_ELEMENT_CREATE_3D;
+extern DLLSPEC daeString COLLADA_ELEMENT_CREATE_CUBE;
+extern DLLSPEC daeString COLLADA_ELEMENT_SIZE_EXACT;
+extern DLLSPEC daeString COLLADA_ELEMENT_SIZE_RATIO;
+extern DLLSPEC daeString COLLADA_ELEMENT_MIPS;
+extern DLLSPEC daeString COLLADA_ELEMENT_UNNORMALIZED;
+extern DLLSPEC daeString COLLADA_ELEMENT_ARRAY;
+extern DLLSPEC daeString COLLADA_ELEMENT_FORMAT;
+extern DLLSPEC daeString COLLADA_ELEMENT_HINT;
+extern DLLSPEC daeString COLLADA_ELEMENT_EXACT;
+extern DLLSPEC daeString COLLADA_ELEMENT_SIZE;
+extern DLLSPEC daeString COLLADA_ELEMENT_OPTICS;
+extern DLLSPEC daeString COLLADA_ELEMENT_IMAGER;
+extern DLLSPEC daeString COLLADA_ELEMENT_TECHNIQUE_COMMON;
+extern DLLSPEC daeString COLLADA_ELEMENT_ORTHOGRAPHIC;
+extern DLLSPEC daeString COLLADA_ELEMENT_PERSPECTIVE;
+extern DLLSPEC daeString COLLADA_ELEMENT_XMAG;
+extern DLLSPEC daeString COLLADA_ELEMENT_YMAG;
+extern DLLSPEC daeString COLLADA_ELEMENT_ASPECT_RATIO;
+extern DLLSPEC daeString COLLADA_ELEMENT_ZNEAR;
+extern DLLSPEC daeString COLLADA_ELEMENT_ZFAR;
+extern DLLSPEC daeString COLLADA_ELEMENT_XFOV;
+extern DLLSPEC daeString COLLADA_ELEMENT_YFOV;
+extern DLLSPEC daeString COLLADA_ELEMENT_AMBIENT;
+extern DLLSPEC daeString COLLADA_ELEMENT_DIRECTIONAL;
+extern DLLSPEC daeString COLLADA_ELEMENT_POINT;
+extern DLLSPEC daeString COLLADA_ELEMENT_SPOT;
+extern DLLSPEC daeString COLLADA_ELEMENT_COLOR;
+extern DLLSPEC daeString COLLADA_ELEMENT_CONSTANT_ATTENUATION;
+extern DLLSPEC daeString COLLADA_ELEMENT_LINEAR_ATTENUATION;
+extern DLLSPEC daeString COLLADA_ELEMENT_QUADRATIC_ATTENUATION;
+extern DLLSPEC daeString COLLADA_ELEMENT_FALLOFF_ANGLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_FALLOFF_EXPONENT;
+extern DLLSPEC daeString COLLADA_ELEMENT_BIND;
+extern DLLSPEC daeString COLLADA_ELEMENT_BIND_VERTEX_INPUT;
+extern DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_MATERIAL;
+extern DLLSPEC daeString COLLADA_ELEMENT_SKELETON;
+extern DLLSPEC daeString COLLADA_ELEMENT_BIND_MATERIAL;
+extern DLLSPEC daeString COLLADA_ELEMENT_CAMERA;
+extern DLLSPEC daeString COLLADA_ELEMENT_IMAGE;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIGHT;
+extern DLLSPEC daeString COLLADA_ELEMENT_TECHNIQUE_HINT;
+extern DLLSPEC daeString COLLADA_ELEMENT_SETPARAM;
+extern DLLSPEC daeString COLLADA_ELEMENT_FX_SETPARAM;
+extern DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_EFFECT;
+extern DLLSPEC daeString COLLADA_ELEMENT_MATERIAL;
+extern DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_IMAGE;
+extern DLLSPEC daeString COLLADA_ELEMENT_FX_SAMPLER_STATES;
+extern DLLSPEC daeString COLLADA_ELEMENT_BOOL;
+extern DLLSPEC daeString COLLADA_ELEMENT_BOOL2;
+extern DLLSPEC daeString COLLADA_ELEMENT_BOOL3;
+extern DLLSPEC daeString COLLADA_ELEMENT_BOOL4;
+extern DLLSPEC daeString COLLADA_ELEMENT_INT;
+extern DLLSPEC daeString COLLADA_ELEMENT_INT2;
+extern DLLSPEC daeString COLLADA_ELEMENT_INT3;
+extern DLLSPEC daeString COLLADA_ELEMENT_INT4;
+extern DLLSPEC daeString COLLADA_ELEMENT_FLOAT;
+extern DLLSPEC daeString COLLADA_ELEMENT_FLOAT2;
+extern DLLSPEC daeString COLLADA_ELEMENT_FLOAT3;
+extern DLLSPEC daeString COLLADA_ELEMENT_FLOAT4;
+extern DLLSPEC daeString COLLADA_ELEMENT_FLOAT2X2;
+extern DLLSPEC daeString COLLADA_ELEMENT_FLOAT3X3;
+extern DLLSPEC daeString COLLADA_ELEMENT_FLOAT4X4;
+extern DLLSPEC daeString COLLADA_ELEMENT_STRING;
+extern DLLSPEC daeString COLLADA_ELEMENT_FLOAT2X1;
+extern DLLSPEC daeString COLLADA_ELEMENT_FLOAT2X3;
+extern DLLSPEC daeString COLLADA_ELEMENT_FLOAT2X4;
+extern DLLSPEC daeString COLLADA_ELEMENT_FLOAT3X1;
+extern DLLSPEC daeString COLLADA_ELEMENT_FLOAT3X2;
+extern DLLSPEC daeString COLLADA_ELEMENT_FLOAT3X4;
+extern DLLSPEC daeString COLLADA_ELEMENT_FLOAT4X1;
+extern DLLSPEC daeString COLLADA_ELEMENT_FLOAT4X2;
+extern DLLSPEC daeString COLLADA_ELEMENT_FLOAT4X3;
+extern DLLSPEC daeString COLLADA_ELEMENT_SAMPLER1D;
+extern DLLSPEC daeString COLLADA_ELEMENT_SAMPLER2D;
+extern DLLSPEC daeString COLLADA_ELEMENT_SAMPLER3D;
+extern DLLSPEC daeString COLLADA_ELEMENT_SAMPLERCUBE;
+extern DLLSPEC daeString COLLADA_ELEMENT_SAMPLERRECT;
+extern DLLSPEC daeString COLLADA_ELEMENT_SAMPLERDEPTH;
+extern DLLSPEC daeString COLLADA_ELEMENT_ENUM;
+extern DLLSPEC daeString COLLADA_ELEMENT_INLINE;
+extern DLLSPEC daeString COLLADA_ELEMENT_IMPORT;
+extern DLLSPEC daeString COLLADA_ELEMENT_BINARY;
+extern DLLSPEC daeString COLLADA_ELEMENT_TEXTURE;
+extern DLLSPEC daeString COLLADA_ELEMENT_SEMANTIC;
+extern DLLSPEC daeString COLLADA_ELEMENT_NEWPARAM;
+extern DLLSPEC daeString COLLADA_ELEMENT_CONSTANT;
+extern DLLSPEC daeString COLLADA_ELEMENT_LAMBERT;
+extern DLLSPEC daeString COLLADA_ELEMENT_PHONG;
+extern DLLSPEC daeString COLLADA_ELEMENT_BLINN;
+extern DLLSPEC daeString COLLADA_ELEMENT_EMISSION;
+extern DLLSPEC daeString COLLADA_ELEMENT_REFLECTIVE;
+extern DLLSPEC daeString COLLADA_ELEMENT_REFLECTIVITY;
+extern DLLSPEC daeString COLLADA_ELEMENT_TRANSPARENT;
+extern DLLSPEC daeString COLLADA_ELEMENT_TRANSPARENCY;
+extern DLLSPEC daeString COLLADA_ELEMENT_INDEX_OF_REFRACTION;
+extern DLLSPEC daeString COLLADA_ELEMENT_DIFFUSE;
+extern DLLSPEC daeString COLLADA_ELEMENT_SPECULAR;
+extern DLLSPEC daeString COLLADA_ELEMENT_SHININESS;
+extern DLLSPEC daeString COLLADA_ELEMENT_ANNOTATE;
+extern DLLSPEC daeString COLLADA_ELEMENT_MODIFIER;
+extern DLLSPEC daeString COLLADA_ELEMENT_GLES2_VALUE;
+extern DLLSPEC daeString COLLADA_ELEMENT_SOURCES;
+extern DLLSPEC daeString COLLADA_ELEMENT_COMPILER;
+extern DLLSPEC daeString COLLADA_ELEMENT_SHADER;
+extern DLLSPEC daeString COLLADA_ELEMENT_LINKER;
+extern DLLSPEC daeString COLLADA_ELEMENT_BIND_ATTRIBUTE;
+extern DLLSPEC daeString COLLADA_ELEMENT_BIND_UNIFORM;
+extern DLLSPEC daeString COLLADA_ELEMENT_STATES;
+extern DLLSPEC daeString COLLADA_ELEMENT_PROGRAM;
+extern DLLSPEC daeString COLLADA_ELEMENT_EVALUATE;
+extern DLLSPEC daeString COLLADA_ELEMENT_GLES2_PIPELINE_SETTINGS;
+extern DLLSPEC daeString COLLADA_ELEMENT_COLOR_TARGET;
+extern DLLSPEC daeString COLLADA_ELEMENT_DEPTH_TARGET;
+extern DLLSPEC daeString COLLADA_ELEMENT_STENCIL_TARGET;
+extern DLLSPEC daeString COLLADA_ELEMENT_COLOR_CLEAR;
+extern DLLSPEC daeString COLLADA_ELEMENT_STENCIL_CLEAR;
+extern DLLSPEC daeString COLLADA_ELEMENT_DEPTH_CLEAR;
+extern DLLSPEC daeString COLLADA_ELEMENT_DRAW;
+extern DLLSPEC daeString COLLADA_ELEMENT_INCLUDE;
+extern DLLSPEC daeString COLLADA_ELEMENT_CODE;
+extern DLLSPEC daeString COLLADA_ELEMENT_PASS;
+extern DLLSPEC daeString COLLADA_ELEMENT_GLSL_VALUE;
+extern DLLSPEC daeString COLLADA_ELEMENT_GL_PIPELINE_SETTINGS;
+extern DLLSPEC daeString COLLADA_ELEMENT_CG_PARAM;
+extern DLLSPEC daeString COLLADA_ELEMENT_ARGUMENT;
+extern DLLSPEC daeString COLLADA_ELEMENT_RGB;
+extern DLLSPEC daeString COLLADA_ELEMENT_ALPHA;
+extern DLLSPEC daeString COLLADA_ELEMENT_TEXCOMBINER;
+extern DLLSPEC daeString COLLADA_ELEMENT_TEXENV;
+extern DLLSPEC daeString COLLADA_ELEMENT_TEXCOORD;
+extern DLLSPEC daeString COLLADA_ELEMENT_GLES_SAMPLER_STATES;
+extern DLLSPEC daeString COLLADA_ELEMENT_GLES_PARAM;
+extern DLLSPEC daeString COLLADA_ELEMENT_GLES_PIPELINE_SETTINGS;
+extern DLLSPEC daeString COLLADA_ELEMENT_FX_PROFILE;
+extern DLLSPEC daeString COLLADA_ELEMENT_EFFECT;
+extern DLLSPEC daeString COLLADA_ELEMENT_HALF_EXTENTS;
+extern DLLSPEC daeString COLLADA_ELEMENT_EQUATION;
+extern DLLSPEC daeString COLLADA_ELEMENT_RADIUS;
+extern DLLSPEC daeString COLLADA_ELEMENT_HEIGHT;
+extern DLLSPEC daeString COLLADA_ELEMENT_FORCE_FIELD;
+extern DLLSPEC daeString COLLADA_ELEMENT_DYNAMIC_FRICTION;
+extern DLLSPEC daeString COLLADA_ELEMENT_RESTITUTION;
+extern DLLSPEC daeString COLLADA_ELEMENT_STATIC_FRICTION;
+extern DLLSPEC daeString COLLADA_ELEMENT_PHYSICS_MATERIAL;
+extern DLLSPEC daeString COLLADA_ELEMENT_ORIGIN;
+extern DLLSPEC daeString COLLADA_ELEMENT_DIRECTION;
+extern DLLSPEC daeString COLLADA_ELEMENT_FOCAL;
+extern DLLSPEC daeString COLLADA_ELEMENT_TOKEN_ARRAY;
+extern DLLSPEC daeString COLLADA_ELEMENT_IDREF_ARRAY;
+extern DLLSPEC daeString COLLADA_ELEMENT_NAME_ARRAY;
+extern DLLSPEC daeString COLLADA_ELEMENT_BOOL_ARRAY;
+extern DLLSPEC daeString COLLADA_ELEMENT_FLOAT_ARRAY;
+extern DLLSPEC daeString COLLADA_ELEMENT_INT_ARRAY;
+extern DLLSPEC daeString COLLADA_ELEMENT_SIDREF_ARRAY;
+extern DLLSPEC daeString COLLADA_ELEMENT_ACCESSOR;
+extern DLLSPEC daeString COLLADA_ELEMENT_SOURCE;
+extern DLLSPEC daeString COLLADA_ELEMENT_SAMPLER;
+extern DLLSPEC daeString COLLADA_ELEMENT_CHANNEL;
+extern DLLSPEC daeString COLLADA_ELEMENT_ANIMATION;
+extern DLLSPEC daeString COLLADA_ELEMENT_BIND_SHAPE_MATRIX;
+extern DLLSPEC daeString COLLADA_ELEMENT_JOINTS;
+extern DLLSPEC daeString COLLADA_ELEMENT_VERTEX_WEIGHTS;
+extern DLLSPEC daeString COLLADA_ELEMENT_V;
+extern DLLSPEC daeString COLLADA_ELEMENT_VERTICES;
+extern DLLSPEC daeString COLLADA_ELEMENT_LINES;
+extern DLLSPEC daeString COLLADA_ELEMENT_LINESTRIPS;
+extern DLLSPEC daeString COLLADA_ELEMENT_POLYGONS;
+extern DLLSPEC daeString COLLADA_ELEMENT_POLYLIST;
+extern DLLSPEC daeString COLLADA_ELEMENT_TRIANGLES;
+extern DLLSPEC daeString COLLADA_ELEMENT_TRIFANS;
+extern DLLSPEC daeString COLLADA_ELEMENT_TRISTRIPS;
+extern DLLSPEC daeString COLLADA_ELEMENT_CONTROL_VERTICES;
+extern DLLSPEC daeString COLLADA_ELEMENT_TARGETS;
+extern DLLSPEC daeString COLLADA_ELEMENT_SKIN;
+extern DLLSPEC daeString COLLADA_ELEMENT_MORPH;
+extern DLLSPEC daeString COLLADA_ELEMENT_CONTROLLER;
+extern DLLSPEC daeString COLLADA_ELEMENT_LINE;
+extern DLLSPEC daeString COLLADA_ELEMENT_CIRCLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_ELLIPSE;
+extern DLLSPEC daeString COLLADA_ELEMENT_PARABOLA;
+extern DLLSPEC daeString COLLADA_ELEMENT_HYPERBOLA;
+extern DLLSPEC daeString COLLADA_ELEMENT_NURBS;
+extern DLLSPEC daeString COLLADA_ELEMENT_ORIENT;
+extern DLLSPEC daeString COLLADA_ELEMENT_CURVE;
+extern DLLSPEC daeString COLLADA_ELEMENT_AXIS;
+extern DLLSPEC daeString COLLADA_ELEMENT_ANGLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_PLANE;
+extern DLLSPEC daeString COLLADA_ELEMENT_SPHERE;
+extern DLLSPEC daeString COLLADA_ELEMENT_TORUS;
+extern DLLSPEC daeString COLLADA_ELEMENT_SWEPT_SURFACE;
+extern DLLSPEC daeString COLLADA_ELEMENT_NURBS_SURFACE;
+extern DLLSPEC daeString COLLADA_ELEMENT_CONE;
+extern DLLSPEC daeString COLLADA_ELEMENT_CYLINDER;
+extern DLLSPEC daeString COLLADA_ELEMENT_SURFACE;
+extern DLLSPEC daeString COLLADA_ELEMENT_CURVES;
+extern DLLSPEC daeString COLLADA_ELEMENT_SURFACE_CURVES;
+extern DLLSPEC daeString COLLADA_ELEMENT_SURFACES;
+extern DLLSPEC daeString COLLADA_ELEMENT_EDGES;
+extern DLLSPEC daeString COLLADA_ELEMENT_WIRES;
+extern DLLSPEC daeString COLLADA_ELEMENT_FACES;
+extern DLLSPEC daeString COLLADA_ELEMENT_PCURVES;
+extern DLLSPEC daeString COLLADA_ELEMENT_SHELLS;
+extern DLLSPEC daeString COLLADA_ELEMENT_SOLIDS;
+extern DLLSPEC daeString COLLADA_ELEMENT_CONVEX_MESH;
+extern DLLSPEC daeString COLLADA_ELEMENT_MESH;
+extern DLLSPEC daeString COLLADA_ELEMENT_SPLINE;
+extern DLLSPEC daeString COLLADA_ELEMENT_BREP;
+extern DLLSPEC daeString COLLADA_ELEMENT_GEOMETRY;
+extern DLLSPEC daeString COLLADA_ELEMENT_ROTATE;
+extern DLLSPEC daeString COLLADA_ELEMENT_TRANSLATE;
+extern DLLSPEC daeString COLLADA_ELEMENT_ATTACHMENT_FULL;
+extern DLLSPEC daeString COLLADA_ELEMENT_ATTACHMENT_START;
+extern DLLSPEC daeString COLLADA_ELEMENT_ATTACHMENT_END;
+extern DLLSPEC daeString COLLADA_ELEMENT_LINK;
+extern DLLSPEC daeString COLLADA_ELEMENT_REF_ATTACHMENT;
+extern DLLSPEC daeString COLLADA_ELEMENT_ATTACHMENT;
+extern DLLSPEC daeString COLLADA_ELEMENT_ENABLED;
+extern DLLSPEC daeString COLLADA_ELEMENT_INTERPENETRATE;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIMITS;
+extern DLLSPEC daeString COLLADA_ELEMENT_SPRING;
+extern DLLSPEC daeString COLLADA_ELEMENT_SWING_CONE_AND_TWIST;
+extern DLLSPEC daeString COLLADA_ELEMENT_LINEAR;
+extern DLLSPEC daeString COLLADA_ELEMENT_MIN;
+extern DLLSPEC daeString COLLADA_ELEMENT_MAX;
+extern DLLSPEC daeString COLLADA_ELEMENT_ANGULAR;
+extern DLLSPEC daeString COLLADA_ELEMENT_STIFFNESS;
+extern DLLSPEC daeString COLLADA_ELEMENT_DAMPING;
+extern DLLSPEC daeString COLLADA_ELEMENT_TARGET_VALUE;
+extern DLLSPEC daeString COLLADA_ELEMENT_LOOKAT;
+extern DLLSPEC daeString COLLADA_ELEMENT_MATRIX;
+extern DLLSPEC daeString COLLADA_ELEMENT_SCALE;
+extern DLLSPEC daeString COLLADA_ELEMENT_SKEW;
+extern DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_CAMERA;
+extern DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_CONTROLLER;
+extern DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_GEOMETRY;
+extern DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_LIGHT;
+extern DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_NODE;
+extern DLLSPEC daeString COLLADA_ELEMENT_NODE;
+extern DLLSPEC daeString COLLADA_ELEMENT_EVALUATE_SCENE;
+extern DLLSPEC daeString COLLADA_ELEMENT_RENDER;
+extern DLLSPEC daeString COLLADA_ELEMENT_LAYER;
+extern DLLSPEC daeString COLLADA_ELEMENT_TECHNIQUE_OVERRIDE;
+extern DLLSPEC daeString COLLADA_ELEMENT_VISUAL_SCENE;
+extern DLLSPEC daeString COLLADA_ELEMENT_DYNAMIC;
+extern DLLSPEC daeString COLLADA_ELEMENT_MASS;
+extern DLLSPEC daeString COLLADA_ELEMENT_MASS_FRAME;
+extern DLLSPEC daeString COLLADA_ELEMENT_INERTIA;
+extern DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_PHYSICS_MATERIAL;
+extern DLLSPEC daeString COLLADA_ELEMENT_SHAPE;
+extern DLLSPEC daeString COLLADA_ELEMENT_HOLLOW;
+extern DLLSPEC daeString COLLADA_ELEMENT_DENSITY;
+extern DLLSPEC daeString COLLADA_ELEMENT_BOX;
+extern DLLSPEC daeString COLLADA_ELEMENT_CAPSULE;
+extern DLLSPEC daeString COLLADA_ELEMENT_ANGULAR_VELOCITY;
+extern DLLSPEC daeString COLLADA_ELEMENT_VELOCITY;
+extern DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_FORCE_FIELD;
+extern DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_RIGID_BODY;
+extern DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_RIGID_CONSTRAINT;
+extern DLLSPEC daeString COLLADA_ELEMENT_RIGID_BODY;
+extern DLLSPEC daeString COLLADA_ELEMENT_RIGID_CONSTRAINT;
+extern DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_PHYSICS_MODEL;
+extern DLLSPEC daeString COLLADA_ELEMENT_PHYSICS_MODEL;
+extern DLLSPEC daeString COLLADA_ELEMENT_GRAVITY;
+extern DLLSPEC daeString COLLADA_ELEMENT_TIME_STEP;
+extern DLLSPEC daeString COLLADA_ELEMENT_PHYSICS_SCENE;
+extern DLLSPEC daeString COLLADA_ELEMENT_SIDREF;
+extern DLLSPEC daeString COLLADA_ELEMENT_VALUE;
+extern DLLSPEC daeString COLLADA_ELEMENT_CONNECT_PARAM;
+extern DLLSPEC daeString COLLADA_ELEMENT_BIND_KINEMATICS_MODEL;
+extern DLLSPEC daeString COLLADA_ELEMENT_BIND_JOINT_AXIS;
+extern DLLSPEC daeString COLLADA_ELEMENT_SPEED;
+extern DLLSPEC daeString COLLADA_ELEMENT_ACCELERATION;
+extern DLLSPEC daeString COLLADA_ELEMENT_DECELERATION;
+extern DLLSPEC daeString COLLADA_ELEMENT_JERK;
+extern DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_KINEMATICS_MODEL;
+extern DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_ARTICULATED_SYSTEM;
+extern DLLSPEC daeString COLLADA_ELEMENT_KINEMATICS_SCENE;
+extern DLLSPEC daeString COLLADA_ELEMENT_AXIS_INFO;
+extern DLLSPEC daeString COLLADA_ELEMENT_EFFECTOR_INFO;
+extern DLLSPEC daeString COLLADA_ELEMENT_PRISMATIC;
+extern DLLSPEC daeString COLLADA_ELEMENT_REVOLUTE;
+extern DLLSPEC daeString COLLADA_ELEMENT_JOINT;
+extern DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_ANIMATION;
+extern DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_FORMULA;
+extern DLLSPEC daeString COLLADA_ELEMENT_ANIMATION_CLIP;
+extern DLLSPEC daeString COLLADA_ELEMENT_TARGET;
+extern DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_JOINT;
+extern DLLSPEC daeString COLLADA_ELEMENT_FORMULA;
+extern DLLSPEC daeString COLLADA_ELEMENT_KINEMATICS_MODEL;
+extern DLLSPEC daeString COLLADA_ELEMENT_ACTIVE;
+extern DLLSPEC daeString COLLADA_ELEMENT_LOCKED;
+extern DLLSPEC daeString COLLADA_ELEMENT_INDEX;
+extern DLLSPEC daeString COLLADA_ELEMENT_FRAME_ORIGIN;
+extern DLLSPEC daeString COLLADA_ELEMENT_FRAME_TIP;
+extern DLLSPEC daeString COLLADA_ELEMENT_FRAME_TCP;
+extern DLLSPEC daeString COLLADA_ELEMENT_FRAME_OBJECT;
+extern DLLSPEC daeString COLLADA_ELEMENT_KINEMATICS;
+extern DLLSPEC daeString COLLADA_ELEMENT_MOTION;
+extern DLLSPEC daeString COLLADA_ELEMENT_ARTICULATED_SYSTEM;
+extern DLLSPEC daeString COLLADA_ELEMENT_WRAP_S;
+extern DLLSPEC daeString COLLADA_ELEMENT_WRAP_T;
+extern DLLSPEC daeString COLLADA_ELEMENT_WRAP_P;
+extern DLLSPEC daeString COLLADA_ELEMENT_MINFILTER;
+extern DLLSPEC daeString COLLADA_ELEMENT_MAGFILTER;
+extern DLLSPEC daeString COLLADA_ELEMENT_MIPFILTER;
+extern DLLSPEC daeString COLLADA_ELEMENT_BORDER_COLOR;
+extern DLLSPEC daeString COLLADA_ELEMENT_MIP_MAX_LEVEL;
+extern DLLSPEC daeString COLLADA_ELEMENT_MIP_MIN_LEVEL;
+extern DLLSPEC daeString COLLADA_ELEMENT_MIP_BIAS;
+extern DLLSPEC daeString COLLADA_ELEMENT_MAX_ANISOTROPY;
+extern DLLSPEC daeString COLLADA_ELEMENT_SAMPLER_IMAGE;
+extern DLLSPEC daeString COLLADA_ELEMENT_SAMPLER_STATES;
+extern DLLSPEC daeString COLLADA_ELEMENT_ALPHA_FUNC;
+extern DLLSPEC daeString COLLADA_ELEMENT_BLEND_FUNC;
+extern DLLSPEC daeString COLLADA_ELEMENT_BLEND_FUNC_SEPARATE;
+extern DLLSPEC daeString COLLADA_ELEMENT_BLEND_EQUATION;
+extern DLLSPEC daeString COLLADA_ELEMENT_BLEND_EQUATION_SEPARATE;
+extern DLLSPEC daeString COLLADA_ELEMENT_COLOR_MATERIAL;
+extern DLLSPEC daeString COLLADA_ELEMENT_CULL_FACE;
+extern DLLSPEC daeString COLLADA_ELEMENT_DEPTH_FUNC;
+extern DLLSPEC daeString COLLADA_ELEMENT_FOG_MODE;
+extern DLLSPEC daeString COLLADA_ELEMENT_FOG_COORD_SRC;
+extern DLLSPEC daeString COLLADA_ELEMENT_FRONT_FACE;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIGHT_MODEL_COLOR_CONTROL;
+extern DLLSPEC daeString COLLADA_ELEMENT_LOGIC_OP;
+extern DLLSPEC daeString COLLADA_ELEMENT_POLYGON_MODE;
+extern DLLSPEC daeString COLLADA_ELEMENT_SHADE_MODEL;
+extern DLLSPEC daeString COLLADA_ELEMENT_STENCIL_FUNC;
+extern DLLSPEC daeString COLLADA_ELEMENT_STENCIL_OP;
+extern DLLSPEC daeString COLLADA_ELEMENT_STENCIL_FUNC_SEPARATE;
+extern DLLSPEC daeString COLLADA_ELEMENT_STENCIL_OP_SEPARATE;
+extern DLLSPEC daeString COLLADA_ELEMENT_STENCIL_MASK_SEPARATE;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIGHT_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIGHT_AMBIENT;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIGHT_DIFFUSE;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIGHT_SPECULAR;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIGHT_POSITION;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIGHT_CONSTANT_ATTENUATION;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIGHT_LINEAR_ATTENUATION;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIGHT_QUADRATIC_ATTENUATION;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIGHT_SPOT_CUTOFF;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIGHT_SPOT_DIRECTION;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIGHT_SPOT_EXPONENT;
+extern DLLSPEC daeString COLLADA_ELEMENT_TEXTURE1D;
+extern DLLSPEC daeString COLLADA_ELEMENT_TEXTURE2D;
+extern DLLSPEC daeString COLLADA_ELEMENT_TEXTURE3D;
+extern DLLSPEC daeString COLLADA_ELEMENT_TEXTURECUBE;
+extern DLLSPEC daeString COLLADA_ELEMENT_TEXTURERECT;
+extern DLLSPEC daeString COLLADA_ELEMENT_TEXTUREDEPTH;
+extern DLLSPEC daeString COLLADA_ELEMENT_TEXTURE1D_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_TEXTURE2D_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_TEXTURE3D_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_TEXTURECUBE_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_TEXTURERECT_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_TEXTUREDEPTH_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_TEXTURE_ENV_COLOR;
+extern DLLSPEC daeString COLLADA_ELEMENT_TEXTURE_ENV_MODE;
+extern DLLSPEC daeString COLLADA_ELEMENT_CLIP_PLANE;
+extern DLLSPEC daeString COLLADA_ELEMENT_CLIP_PLANE_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_BLEND_COLOR;
+extern DLLSPEC daeString COLLADA_ELEMENT_COLOR_MASK;
+extern DLLSPEC daeString COLLADA_ELEMENT_DEPTH_BOUNDS;
+extern DLLSPEC daeString COLLADA_ELEMENT_DEPTH_MASK;
+extern DLLSPEC daeString COLLADA_ELEMENT_DEPTH_RANGE;
+extern DLLSPEC daeString COLLADA_ELEMENT_FOG_DENSITY;
+extern DLLSPEC daeString COLLADA_ELEMENT_FOG_START;
+extern DLLSPEC daeString COLLADA_ELEMENT_FOG_END;
+extern DLLSPEC daeString COLLADA_ELEMENT_FOG_COLOR;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIGHT_MODEL_AMBIENT;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIGHTING_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_LINE_STIPPLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_LINE_WIDTH;
+extern DLLSPEC daeString COLLADA_ELEMENT_MATERIAL_AMBIENT;
+extern DLLSPEC daeString COLLADA_ELEMENT_MATERIAL_DIFFUSE;
+extern DLLSPEC daeString COLLADA_ELEMENT_MATERIAL_EMISSION;
+extern DLLSPEC daeString COLLADA_ELEMENT_MATERIAL_SHININESS;
+extern DLLSPEC daeString COLLADA_ELEMENT_MATERIAL_SPECULAR;
+extern DLLSPEC daeString COLLADA_ELEMENT_MODEL_VIEW_MATRIX;
+extern DLLSPEC daeString COLLADA_ELEMENT_POINT_DISTANCE_ATTENUATION;
+extern DLLSPEC daeString COLLADA_ELEMENT_POINT_FADE_THRESHOLD_SIZE;
+extern DLLSPEC daeString COLLADA_ELEMENT_POINT_SIZE;
+extern DLLSPEC daeString COLLADA_ELEMENT_POINT_SIZE_MIN;
+extern DLLSPEC daeString COLLADA_ELEMENT_POINT_SIZE_MAX;
+extern DLLSPEC daeString COLLADA_ELEMENT_POLYGON_OFFSET;
+extern DLLSPEC daeString COLLADA_ELEMENT_PROJECTION_MATRIX;
+extern DLLSPEC daeString COLLADA_ELEMENT_SCISSOR;
+extern DLLSPEC daeString COLLADA_ELEMENT_STENCIL_MASK;
+extern DLLSPEC daeString COLLADA_ELEMENT_ALPHA_TEST_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_BLEND_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_COLOR_LOGIC_OP_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_COLOR_MATERIAL_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_CULL_FACE_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_DEPTH_BOUNDS_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_DEPTH_CLAMP_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_DEPTH_TEST_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_DITHER_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_FOG_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_LINE_SMOOTH_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_LINE_STIPPLE_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_LOGIC_OP_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_MULTISAMPLE_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_NORMALIZE_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_POINT_SMOOTH_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_POLYGON_OFFSET_FILL_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_POLYGON_OFFSET_LINE_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_POLYGON_OFFSET_POINT_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_POLYGON_SMOOTH_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_POLYGON_STIPPLE_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_RESCALE_NORMAL_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_SAMPLE_COVERAGE_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_SCISSOR_TEST_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_STENCIL_TEST_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_FUNC;
+extern DLLSPEC daeString COLLADA_ELEMENT_SRC;
+extern DLLSPEC daeString COLLADA_ELEMENT_DEST;
+extern DLLSPEC daeString COLLADA_ELEMENT_SRC_RGB;
+extern DLLSPEC daeString COLLADA_ELEMENT_DEST_RGB;
+extern DLLSPEC daeString COLLADA_ELEMENT_SRC_ALPHA;
+extern DLLSPEC daeString COLLADA_ELEMENT_DEST_ALPHA;
+extern DLLSPEC daeString COLLADA_ELEMENT_rgb;
+extern DLLSPEC daeString COLLADA_ELEMENT_FACE;
+extern DLLSPEC daeString COLLADA_ELEMENT_MODE;
+extern DLLSPEC daeString COLLADA_ELEMENT_MASK;
+extern DLLSPEC daeString COLLADA_ELEMENT_FAIL;
+extern DLLSPEC daeString COLLADA_ELEMENT_ZFAIL;
+extern DLLSPEC daeString COLLADA_ELEMENT_ZPASS;
+extern DLLSPEC daeString COLLADA_ELEMENT_FRONT;
+extern DLLSPEC daeString COLLADA_ELEMENT_BACK;
+extern DLLSPEC daeString COLLADA_ELEMENT_SAMPLE_COVERAGE;
+extern DLLSPEC daeString COLLADA_ELEMENT_POINT_SIZE_ENABLE;
+extern DLLSPEC daeString COLLADA_ELEMENT_INVERT;
+extern DLLSPEC daeString COLLADA_ELEMENT_BVEC2;
+extern DLLSPEC daeString COLLADA_ELEMENT_BVEC3;
+extern DLLSPEC daeString COLLADA_ELEMENT_BVEC4;
+extern DLLSPEC daeString COLLADA_ELEMENT_VEC2;
+extern DLLSPEC daeString COLLADA_ELEMENT_VEC3;
+extern DLLSPEC daeString COLLADA_ELEMENT_VEC4;
+extern DLLSPEC daeString COLLADA_ELEMENT_MAT2;
+extern DLLSPEC daeString COLLADA_ELEMENT_MAT3;
+extern DLLSPEC daeString COLLADA_ELEMENT_MAT4;
+extern DLLSPEC daeString COLLADA_ELEMENT_IVEC2;
+extern DLLSPEC daeString COLLADA_ELEMENT_IVEC3;
+extern DLLSPEC daeString COLLADA_ELEMENT_IVEC4;
+extern DLLSPEC daeString COLLADA_ELEMENT_USERTYPE;
+extern DLLSPEC daeString COLLADA_ELEMENT_BOOL2X1;
+extern DLLSPEC daeString COLLADA_ELEMENT_BOOL2X2;
+extern DLLSPEC daeString COLLADA_ELEMENT_BOOL2X3;
+extern DLLSPEC daeString COLLADA_ELEMENT_BOOL2X4;
+extern DLLSPEC daeString COLLADA_ELEMENT_BOOL3X1;
+extern DLLSPEC daeString COLLADA_ELEMENT_BOOL3X2;
+extern DLLSPEC daeString COLLADA_ELEMENT_BOOL3X3;
+extern DLLSPEC daeString COLLADA_ELEMENT_BOOL3X4;
+extern DLLSPEC daeString COLLADA_ELEMENT_BOOL4X1;
+extern DLLSPEC daeString COLLADA_ELEMENT_BOOL4X2;
+extern DLLSPEC daeString COLLADA_ELEMENT_BOOL4X3;
+extern DLLSPEC daeString COLLADA_ELEMENT_BOOL4X4;
+extern DLLSPEC daeString COLLADA_ELEMENT_INT2X1;
+extern DLLSPEC daeString COLLADA_ELEMENT_INT2X2;
+extern DLLSPEC daeString COLLADA_ELEMENT_INT2X3;
+extern DLLSPEC daeString COLLADA_ELEMENT_INT2X4;
+extern DLLSPEC daeString COLLADA_ELEMENT_INT3X1;
+extern DLLSPEC daeString COLLADA_ELEMENT_INT3X2;
+extern DLLSPEC daeString COLLADA_ELEMENT_INT3X3;
+extern DLLSPEC daeString COLLADA_ELEMENT_INT3X4;
+extern DLLSPEC daeString COLLADA_ELEMENT_INT4X1;
+extern DLLSPEC daeString COLLADA_ELEMENT_INT4X2;
+extern DLLSPEC daeString COLLADA_ELEMENT_INT4X3;
+extern DLLSPEC daeString COLLADA_ELEMENT_INT4X4;
+extern DLLSPEC daeString COLLADA_ELEMENT_HALF;
+extern DLLSPEC daeString COLLADA_ELEMENT_HALF2;
+extern DLLSPEC daeString COLLADA_ELEMENT_HALF3;
+extern DLLSPEC daeString COLLADA_ELEMENT_HALF4;
+extern DLLSPEC daeString COLLADA_ELEMENT_HALF2X1;
+extern DLLSPEC daeString COLLADA_ELEMENT_HALF2X2;
+extern DLLSPEC daeString COLLADA_ELEMENT_HALF2X3;
+extern DLLSPEC daeString COLLADA_ELEMENT_HALF2X4;
+extern DLLSPEC daeString COLLADA_ELEMENT_HALF3X1;
+extern DLLSPEC daeString COLLADA_ELEMENT_HALF3X2;
+extern DLLSPEC daeString COLLADA_ELEMENT_HALF3X3;
+extern DLLSPEC daeString COLLADA_ELEMENT_HALF3X4;
+extern DLLSPEC daeString COLLADA_ELEMENT_HALF4X1;
+extern DLLSPEC daeString COLLADA_ELEMENT_HALF4X2;
+extern DLLSPEC daeString COLLADA_ELEMENT_HALF4X3;
+extern DLLSPEC daeString COLLADA_ELEMENT_HALF4X4;
+extern DLLSPEC daeString COLLADA_ELEMENT_FIXED;
+extern DLLSPEC daeString COLLADA_ELEMENT_FIXED2;
+extern DLLSPEC daeString COLLADA_ELEMENT_FIXED3;
+extern DLLSPEC daeString COLLADA_ELEMENT_FIXED4;
+extern DLLSPEC daeString COLLADA_ELEMENT_FIXED2X1;
+extern DLLSPEC daeString COLLADA_ELEMENT_FIXED2X2;
+extern DLLSPEC daeString COLLADA_ELEMENT_FIXED2X3;
+extern DLLSPEC daeString COLLADA_ELEMENT_FIXED2X4;
+extern DLLSPEC daeString COLLADA_ELEMENT_FIXED3X1;
+extern DLLSPEC daeString COLLADA_ELEMENT_FIXED3X2;
+extern DLLSPEC daeString COLLADA_ELEMENT_FIXED3X3;
+extern DLLSPEC daeString COLLADA_ELEMENT_FIXED3X4;
+extern DLLSPEC daeString COLLADA_ELEMENT_FIXED4X1;
+extern DLLSPEC daeString COLLADA_ELEMENT_FIXED4X2;
+extern DLLSPEC daeString COLLADA_ELEMENT_FIXED4X3;
+extern DLLSPEC daeString COLLADA_ELEMENT_FIXED4X4;
+extern DLLSPEC daeString COLLADA_ELEMENT_TEXTURE_PIPELINE;
+extern DLLSPEC daeString COLLADA_ELEMENT_FLOAT1X1;
+extern DLLSPEC daeString COLLADA_ELEMENT_FLOAT1X2;
+extern DLLSPEC daeString COLLADA_ELEMENT_FLOAT1X3;
+extern DLLSPEC daeString COLLADA_ELEMENT_FLOAT1X4;
+extern DLLSPEC daeString COLLADA_ELEMENT_PROFILE_COMMON;
+extern DLLSPEC daeString COLLADA_ELEMENT_PROFILE_BRIDGE;
+extern DLLSPEC daeString COLLADA_ELEMENT_PROFILE_GLES2;
+extern DLLSPEC daeString COLLADA_ELEMENT_PROFILE_GLSL;
+extern DLLSPEC daeString COLLADA_ELEMENT_PROFILE_CG;
+extern DLLSPEC daeString COLLADA_ELEMENT_PROFILE_GLES;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_ANIMATIONS;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_ANIMATION_CLIPS;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_CAMERAS;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_CONTROLLERS;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_GEOMETRIES;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_EFFECTS;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_FORCE_FIELDS;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_IMAGES;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_LIGHTS;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_MATERIALS;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_NODES;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_PHYSICS_MATERIALS;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_PHYSICS_MODELS;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_PHYSICS_SCENES;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_VISUAL_SCENES;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_JOINTS;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_KINEMATICS_MODELS;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_ARTICULATED_SYSTEMS;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_KINEMATICS_SCENES;
+extern DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_FORMULAS;
+extern DLLSPEC daeString COLLADA_ELEMENT_SCENE;
+extern DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_PHYSICS_SCENE;
+extern DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_VISUAL_SCENE;
+extern DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_KINEMATICS_SCENE;
+
+} // ColladaDOM150
+
+#endif //__DOM_CONSTANTS_H__
+
diff --git a/1.4.0/dom/include/1.5/dom/domController.h b/1.4.0/dom/include/1.5/dom/domController.h
new file mode 100644
index 0000000..133107d
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domController.h
@@ -0,0 +1,164 @@
+#ifndef __dom150Controller_h__
+#define __dom150Controller_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domSkin.h>
+#include <1.5/dom/domMorph.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The controller element categorizes the declaration of generic control information.
+ * A controller is a device or mechanism that manages and directs the operations
+ * of another object.
+ */
+class domController : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CONTROLLER; }
+ static daeInt ID() { return 345; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+
+protected: // Elements
+/**
+ * The controller element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * The controller element may contain either a skin element or a morph element.
+ * @see domSkin
+ */
+ domSkinRef elemSkin;
+/**
+ * The controller element may contain either a skin element or a morph element.
+ * @see domMorph
+ */
+ domMorphRef elemMorph;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the skin element.
+ * @return a daeSmartRef to the skin element.
+ */
+ const domSkinRef getSkin() const { return elemSkin; }
+ /**
+ * Gets the morph element.
+ * @return a daeSmartRef to the morph element.
+ */
+ const domMorphRef getMorph() const { return elemMorph; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domController(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemSkin(), elemMorph(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domController() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domController &operator=( const domController &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domConvex_mesh.h b/1.4.0/dom/include/1.5/dom/domConvex_mesh.h
new file mode 100644
index 0000000..b4c9d20
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domConvex_mesh.h
@@ -0,0 +1,229 @@
+#ifndef __dom150Convex_mesh_h__
+#define __dom150Convex_mesh_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domSource.h>
+#include <1.5/dom/domVertices.h>
+#include <1.5/dom/domLines.h>
+#include <1.5/dom/domLinestrips.h>
+#include <1.5/dom/domPolygons.h>
+#include <1.5/dom/domPolylist.h>
+#include <1.5/dom/domTriangles.h>
+#include <1.5/dom/domTrifans.h>
+#include <1.5/dom/domTristrips.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The definition of the convex_mesh element is identical to the mesh element
+ * with the exception that instead of a complete description (source, vertices,
+ * polygons etc.), it may simply point to another geometry to derive its
+ * shape. The latter case means that the convex hull of that geometry should
+ * be computed and is indicated by the optional "convex_hull_of" attribute.
+ */
+class domConvex_mesh : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CONVEX_MESH; }
+ static daeInt ID() { return 335; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attribute
+/**
+ * The convex_hull_of attribute is a URI string of geometry to compute the
+ * convex hull of. Optional attribute.
+ */
+ xsAnyURI attrConvex_hull_of;
+
+protected: // Elements
+ domSource_Array elemSource_array;
+ domVerticesRef elemVertices;
+ domLines_Array elemLines_array;
+ domLinestrips_Array elemLinestrips_array;
+ domPolygons_Array elemPolygons_array;
+ domPolylist_Array elemPolylist_array;
+ domTriangles_Array elemTriangles_array;
+ domTrifans_Array elemTrifans_array;
+ domTristrips_Array elemTristrips_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the convex_hull_of attribute.
+ * @return Returns a xsAnyURI reference of the convex_hull_of attribute.
+ */
+ xsAnyURI &getConvex_hull_of() { return attrConvex_hull_of; }
+ /**
+ * Gets the convex_hull_of attribute.
+ * @return Returns a constant xsAnyURI reference of the convex_hull_of attribute.
+ */
+ const xsAnyURI &getConvex_hull_of() const { return attrConvex_hull_of; }
+ /**
+ * Sets the convex_hull_of attribute.
+ * @param atConvex_hull_of The new value for the convex_hull_of attribute.
+ */
+ void setConvex_hull_of( const xsAnyURI &atConvex_hull_of ) { attrConvex_hull_of = atConvex_hull_of; }
+ /**
+ * Sets the convex_hull_of attribute.
+ * @param atConvex_hull_of The new value for the convex_hull_of attribute.
+ */
+ void setConvex_hull_of( xsString atConvex_hull_of ) { attrConvex_hull_of = atConvex_hull_of; }
+
+ /**
+ * Gets the source element array.
+ * @return Returns a reference to the array of source elements.
+ */
+ domSource_Array &getSource_array() { return elemSource_array; }
+ /**
+ * Gets the source element array.
+ * @return Returns a constant reference to the array of source elements.
+ */
+ const domSource_Array &getSource_array() const { return elemSource_array; }
+ /**
+ * Gets the vertices element.
+ * @return a daeSmartRef to the vertices element.
+ */
+ const domVerticesRef getVertices() const { return elemVertices; }
+ /**
+ * Gets the lines element array.
+ * @return Returns a reference to the array of lines elements.
+ */
+ domLines_Array &getLines_array() { return elemLines_array; }
+ /**
+ * Gets the lines element array.
+ * @return Returns a constant reference to the array of lines elements.
+ */
+ const domLines_Array &getLines_array() const { return elemLines_array; }
+ /**
+ * Gets the linestrips element array.
+ * @return Returns a reference to the array of linestrips elements.
+ */
+ domLinestrips_Array &getLinestrips_array() { return elemLinestrips_array; }
+ /**
+ * Gets the linestrips element array.
+ * @return Returns a constant reference to the array of linestrips elements.
+ */
+ const domLinestrips_Array &getLinestrips_array() const { return elemLinestrips_array; }
+ /**
+ * Gets the polygons element array.
+ * @return Returns a reference to the array of polygons elements.
+ */
+ domPolygons_Array &getPolygons_array() { return elemPolygons_array; }
+ /**
+ * Gets the polygons element array.
+ * @return Returns a constant reference to the array of polygons elements.
+ */
+ const domPolygons_Array &getPolygons_array() const { return elemPolygons_array; }
+ /**
+ * Gets the polylist element array.
+ * @return Returns a reference to the array of polylist elements.
+ */
+ domPolylist_Array &getPolylist_array() { return elemPolylist_array; }
+ /**
+ * Gets the polylist element array.
+ * @return Returns a constant reference to the array of polylist elements.
+ */
+ const domPolylist_Array &getPolylist_array() const { return elemPolylist_array; }
+ /**
+ * Gets the triangles element array.
+ * @return Returns a reference to the array of triangles elements.
+ */
+ domTriangles_Array &getTriangles_array() { return elemTriangles_array; }
+ /**
+ * Gets the triangles element array.
+ * @return Returns a constant reference to the array of triangles elements.
+ */
+ const domTriangles_Array &getTriangles_array() const { return elemTriangles_array; }
+ /**
+ * Gets the trifans element array.
+ * @return Returns a reference to the array of trifans elements.
+ */
+ domTrifans_Array &getTrifans_array() { return elemTrifans_array; }
+ /**
+ * Gets the trifans element array.
+ * @return Returns a constant reference to the array of trifans elements.
+ */
+ const domTrifans_Array &getTrifans_array() const { return elemTrifans_array; }
+ /**
+ * Gets the tristrips element array.
+ * @return Returns a reference to the array of tristrips elements.
+ */
+ domTristrips_Array &getTristrips_array() { return elemTristrips_array; }
+ /**
+ * Gets the tristrips element array.
+ * @return Returns a constant reference to the array of tristrips elements.
+ */
+ const domTristrips_Array &getTristrips_array() const { return elemTristrips_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domConvex_mesh(DAE& dae) : daeElement(dae), attrConvex_hull_of(dae, *this), elemSource_array(), elemVertices(), elemLines_array(), elemLinestrips_array(), elemPolygons_array(), elemPolylist_array(), elemTriangles_array(), elemTrifans_array(), elemTristrips_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domConvex_mesh() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domConvex_mesh &operator=( const domConvex_mesh &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domCurve.h b/1.4.0/dom/include/1.5/dom/domCurve.h
new file mode 100644
index 0000000..9336f4f
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domCurve.h
@@ -0,0 +1,173 @@
+#ifndef __dom150Curve_h__
+#define __dom150Curve_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domLine.h>
+#include <1.5/dom/domCircle.h>
+#include <1.5/dom/domEllipse.h>
+#include <1.5/dom/domParabola.h>
+#include <1.5/dom/domHyperbola.h>
+#include <1.5/dom/domNurbs.h>
+#include <1.5/dom/domOrient.h>
+#include <1.5/dom/domOrigin.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * A curveType defines the attributes of a curve element. With rotate
+ * and translate the surface can be positioned to its right location.
+ */
+class domCurve : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CURVE; }
+ static daeInt ID() { return 349; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id of a curve.
+ */
+ domSid attrSid;
+/**
+ * The name of a curve.
+ */
+ xsToken attrName;
+
+protected: // Elements
+ domLineRef elemLine;
+ domCircleRef elemCircle;
+ domEllipseRef elemEllipse;
+ domParabolaRef elemParabola;
+ domHyperbolaRef elemHyperbola;
+ domNurbsRef elemNurbs;
+ domOrient_Array elemOrient_array;
+ domOriginRef elemOrigin;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the line element.
+ * @return a daeSmartRef to the line element.
+ */
+ const domLineRef getLine() const { return elemLine; }
+ /**
+ * Gets the circle element.
+ * @return a daeSmartRef to the circle element.
+ */
+ const domCircleRef getCircle() const { return elemCircle; }
+ /**
+ * Gets the ellipse element.
+ * @return a daeSmartRef to the ellipse element.
+ */
+ const domEllipseRef getEllipse() const { return elemEllipse; }
+ /**
+ * Gets the parabola element.
+ * @return a daeSmartRef to the parabola element.
+ */
+ const domParabolaRef getParabola() const { return elemParabola; }
+ /**
+ * Gets the hyperbola element.
+ * @return a daeSmartRef to the hyperbola element.
+ */
+ const domHyperbolaRef getHyperbola() const { return elemHyperbola; }
+ /**
+ * Gets the nurbs element.
+ * @return a daeSmartRef to the nurbs element.
+ */
+ const domNurbsRef getNurbs() const { return elemNurbs; }
+ /**
+ * Gets the orient element array.
+ * @return Returns a reference to the array of orient elements.
+ */
+ domOrient_Array &getOrient_array() { return elemOrient_array; }
+ /**
+ * Gets the orient element array.
+ * @return Returns a constant reference to the array of orient elements.
+ */
+ const domOrient_Array &getOrient_array() const { return elemOrient_array; }
+ /**
+ * Gets the origin element.
+ * @return a daeSmartRef to the origin element.
+ */
+ const domOriginRef getOrigin() const { return elemOrigin; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domCurve(DAE& dae) : daeElement(dae), attrSid(), attrName(), elemLine(), elemCircle(), elemEllipse(), elemParabola(), elemHyperbola(), elemNurbs(), elemOrient_array(), elemOrigin() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCurve() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCurve &operator=( const domCurve &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domCurves.h b/1.4.0/dom/include/1.5/dom/domCurves.h
new file mode 100644
index 0000000..4df1f2c
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domCurves.h
@@ -0,0 +1,80 @@
+#ifndef __dom150Curves_h__
+#define __dom150Curves_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domCurve.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * This element holds all the curves that are needed for the geometrical description
+ * of the topological entities edges.
+ */
+class domCurves : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CURVES; }
+ static daeInt ID() { return 351; }
+ virtual daeInt typeID() const { return ID(); }
+
+protected: // Elements
+ domCurve_Array elemCurve_array;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the curve element array.
+ * @return Returns a reference to the array of curve elements.
+ */
+ domCurve_Array &getCurve_array() { return elemCurve_array; }
+ /**
+ * Gets the curve element array.
+ * @return Returns a constant reference to the array of curve elements.
+ */
+ const domCurve_Array &getCurve_array() const { return elemCurve_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domCurves(DAE& dae) : daeElement(dae), elemCurve_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCurves() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCurves &operator=( const domCurves &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domCylinder.h b/1.4.0/dom/include/1.5/dom/domCylinder.h
new file mode 100644
index 0000000..40cddf2
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domCylinder.h
@@ -0,0 +1,214 @@
+#ifndef __dom150Cylinder_h__
+#define __dom150Cylinder_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * A cylinder primitive that is centered on, and aligned with. the local Y
+ * axis.
+ */
+class domCylinder : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CYLINDER; }
+ static daeInt ID() { return 289; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domHeight;
+
+ typedef daeSmartRef<domHeight> domHeightRef;
+ typedef daeTArray<domHeightRef> domHeight_Array;
+
+/**
+ * A float value that represents the length of the cylinder along the Y axis.
+ */
+ class domHeight : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HEIGHT; }
+ static daeInt ID() { return 290; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFloat of the value.
+ */
+ domFloat& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFloat& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFloat value of the text data of this element.
+ */
+ domFloat _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domHeight(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHeight() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHeight &operator=( const domHeight &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domRadius;
+
+ typedef daeSmartRef<domRadius> domRadiusRef;
+ typedef daeTArray<domRadiusRef> domRadius_Array;
+
+/**
+ * float2 values that represent the radii of the cylinder.
+ */
+ class domRadius : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::RADIUS; }
+ static daeInt ID() { return 291; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFloat2 of the value.
+ */
+ domFloat2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFloat2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFloat2 value of the text data of this element.
+ */
+ domFloat2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domRadius(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domRadius() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRadius &operator=( const domRadius &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+/**
+ * A float value that represents the length of the cylinder along the Y axis.
+ * @see domHeight
+ */
+ domHeightRef elemHeight;
+/**
+ * float2 values that represent the radii of the cylinder. @see domRadius
+ */
+ domRadiusRef elemRadius;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the height element.
+ * @return a daeSmartRef to the height element.
+ */
+ const domHeightRef getHeight() const { return elemHeight; }
+ /**
+ * Gets the radius element.
+ * @return a daeSmartRef to the radius element.
+ */
+ const domRadiusRef getRadius() const { return elemRadius; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domCylinder(DAE& dae) : daeElement(dae), elemHeight(), elemRadius(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCylinder() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCylinder &operator=( const domCylinder &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domEdges.h b/1.4.0/dom/include/1.5/dom/domEdges.h
new file mode 100644
index 0000000..4f75ed9
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domEdges.h
@@ -0,0 +1,134 @@
+#ifndef __dom150Edges_h__
+#define __dom150Edges_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domInput_local_offset.h>
+#include <1.5/dom/domP.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * This element defines all the edges used in the brep structure.
+ */
+class domEdges : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::EDGES; }
+ static daeInt ID() { return 300; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+ xsID attrId;
+ xsToken attrName;
+ xsInt attrCount;
+
+protected: // Elements
+/**
+ * Five input elements are needed to define an edge, one for referencing the
+ * curve, two for referencing the two vertices, one for the orientation of
+ * the first vertex (the second is the opposite of the first) and one for
+ * the parametric values of the curve. @see domInput
+ */
+ domInput_local_offset_Array elemInput_array;
+/**
+ * The indices for refrencing curves and vertices. @see domP
+ */
+ domPRef elemP;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the count attribute.
+ * @return Returns a xsInt of the count attribute.
+ */
+ xsInt getCount() const { return attrCount; }
+ /**
+ * Sets the count attribute.
+ * @param atCount The new value for the count attribute.
+ */
+ void setCount( xsInt atCount ) { attrCount = atCount; }
+
+ /**
+ * Gets the input element array.
+ * @return Returns a reference to the array of input elements.
+ */
+ domInput_local_offset_Array &getInput_array() { return elemInput_array; }
+ /**
+ * Gets the input element array.
+ * @return Returns a constant reference to the array of input elements.
+ */
+ const domInput_local_offset_Array &getInput_array() const { return elemInput_array; }
+ /**
+ * Gets the p element.
+ * @return a daeSmartRef to the p element.
+ */
+ const domPRef getP() const { return elemP; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domEdges(DAE& dae) : daeElement(dae), attrId(), attrName(), attrCount(), elemInput_array(), elemP(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domEdges() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domEdges &operator=( const domEdges &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domEffect.h b/1.4.0/dom/include/1.5/dom/domEffect.h
new file mode 100644
index 0000000..5affe59
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domEffect.h
@@ -0,0 +1,159 @@
+#ifndef __dom150Effect_h__
+#define __dom150Effect_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domFx_profile.h>
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domFx_annotate.h>
+#include <1.5/dom/domFx_newparam.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * A self contained description of a shader effect.
+ */
+class domEffect : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::EFFECT; }
+ static daeInt ID() { return 279; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+
+protected: // Elements
+/**
+ * The effect element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * The annotate element allows you to specify an annotation on this effect.
+ * @see domAnnotate
+ */
+ domFx_annotate_Array elemAnnotate_array;
+/**
+ * The newparam element allows you to create new effect parameters which can
+ * be shared by multipe profiles. @see domNewparam
+ */
+ domFx_newparam_Array elemNewparam_array;
+ domFx_profile_Array elemFx_profile_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the annotate element array.
+ * @return Returns a reference to the array of annotate elements.
+ */
+ domFx_annotate_Array &getAnnotate_array() { return elemAnnotate_array; }
+ /**
+ * Gets the annotate element array.
+ * @return Returns a constant reference to the array of annotate elements.
+ */
+ const domFx_annotate_Array &getAnnotate_array() const { return elemAnnotate_array; }
+ /**
+ * Gets the newparam element array.
+ * @return Returns a reference to the array of newparam elements.
+ */
+ domFx_newparam_Array &getNewparam_array() { return elemNewparam_array; }
+ /**
+ * Gets the newparam element array.
+ * @return Returns a constant reference to the array of newparam elements.
+ */
+ const domFx_newparam_Array &getNewparam_array() const { return elemNewparam_array; }
+ /**
+ * Gets the fx_profile element array.
+ * @return Returns a reference to the array of fx_profile elements.
+ */
+ domFx_profile_Array &getFx_profile_array() { return elemFx_profile_array; }
+ /**
+ * Gets the fx_profile element array.
+ * @return Returns a constant reference to the array of fx_profile elements.
+ */
+ const domFx_profile_Array &getFx_profile_array() const { return elemFx_profile_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domEffect(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemAnnotate_array(), elemNewparam_array(), elemFx_profile_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domEffect() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domEffect &operator=( const domEffect &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domElements.h b/1.4.0/dom/include/1.5/dom/domElements.h
new file mode 100644
index 0000000..6318b6c
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domElements.h
@@ -0,0 +1,1177 @@
+#ifndef __DOM150_ELEMENTS_H__
+#define __DOM150_ELEMENTS_H__
+
+#include <1.5/dom/domTypes.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domInput_global;
+
+typedef daeSmartRef<domInput_global> domInput_globalRef;
+typedef daeTArray<domInput_globalRef> domInput_global_Array;
+
+class domInput_local;
+
+typedef daeSmartRef<domInput_local> domInput_localRef;
+typedef daeTArray<domInput_localRef> domInput_local_Array;
+
+class domInput_local_offset;
+
+typedef daeSmartRef<domInput_local_offset> domInput_local_offsetRef;
+typedef daeTArray<domInput_local_offsetRef> domInput_local_offset_Array;
+
+class domTargetable_float;
+
+typedef daeSmartRef<domTargetable_float> domTargetable_floatRef;
+typedef daeTArray<domTargetable_floatRef> domTargetable_float_Array;
+
+class domTargetable_float3;
+
+typedef daeSmartRef<domTargetable_float3> domTargetable_float3Ref;
+typedef daeTArray<domTargetable_float3Ref> domTargetable_float3_Array;
+
+class domToken_array;
+
+typedef daeSmartRef<domToken_array> domToken_arrayRef;
+typedef daeTArray<domToken_arrayRef> domToken_array_Array;
+
+class domIdref_array;
+
+typedef daeSmartRef<domIdref_array> domIdref_arrayRef;
+typedef daeTArray<domIdref_arrayRef> domIdref_array_Array;
+
+class domName_array;
+
+typedef daeSmartRef<domName_array> domName_arrayRef;
+typedef daeTArray<domName_arrayRef> domName_array_Array;
+
+class domBool_array;
+
+typedef daeSmartRef<domBool_array> domBool_arrayRef;
+typedef daeTArray<domBool_arrayRef> domBool_array_Array;
+
+class domFloat_array;
+
+typedef daeSmartRef<domFloat_array> domFloat_arrayRef;
+typedef daeTArray<domFloat_arrayRef> domFloat_array_Array;
+
+class domInt_array;
+
+typedef daeSmartRef<domInt_array> domInt_arrayRef;
+typedef daeTArray<domInt_arrayRef> domInt_array_Array;
+
+class domParam;
+
+typedef daeSmartRef<domParam> domParamRef;
+typedef daeTArray<domParamRef> domParam_Array;
+
+class domAccessor;
+
+typedef daeSmartRef<domAccessor> domAccessorRef;
+typedef daeTArray<domAccessorRef> domAccessor_Array;
+
+class domP;
+
+typedef daeSmartRef<domP> domPRef;
+typedef daeTArray<domPRef> domP_Array;
+
+class domLookat;
+
+typedef daeSmartRef<domLookat> domLookatRef;
+typedef daeTArray<domLookatRef> domLookat_Array;
+
+class domMatrix;
+
+typedef daeSmartRef<domMatrix> domMatrixRef;
+typedef daeTArray<domMatrixRef> domMatrix_Array;
+
+class domScale;
+
+typedef daeSmartRef<domScale> domScaleRef;
+typedef daeTArray<domScaleRef> domScale_Array;
+
+class domSkew;
+
+typedef daeSmartRef<domSkew> domSkewRef;
+typedef daeTArray<domSkewRef> domSkew_Array;
+
+class domTranslate;
+
+typedef daeSmartRef<domTranslate> domTranslateRef;
+typedef daeTArray<domTranslateRef> domTranslate_Array;
+
+class domImage_source;
+
+typedef daeSmartRef<domImage_source> domImage_sourceRef;
+typedef daeTArray<domImage_sourceRef> domImage_source_Array;
+
+class domImage_mips;
+
+typedef daeSmartRef<domImage_mips> domImage_mipsRef;
+typedef daeTArray<domImage_mipsRef> domImage_mips_Array;
+
+class domChannel;
+
+typedef daeSmartRef<domChannel> domChannelRef;
+typedef daeTArray<domChannelRef> domChannel_Array;
+
+class domSampler;
+
+typedef daeSmartRef<domSampler> domSamplerRef;
+typedef daeTArray<domSamplerRef> domSampler_Array;
+
+class domTechnique;
+
+typedef daeSmartRef<domTechnique> domTechniqueRef;
+typedef daeTArray<domTechniqueRef> domTechnique_Array;
+
+class domExtra;
+
+typedef daeSmartRef<domExtra> domExtraRef;
+typedef daeTArray<domExtraRef> domExtra_Array;
+
+class domPolylist;
+
+typedef daeSmartRef<domPolylist> domPolylistRef;
+typedef daeTArray<domPolylistRef> domPolylist_Array;
+
+class domPolygons;
+
+typedef daeSmartRef<domPolygons> domPolygonsRef;
+typedef daeTArray<domPolygonsRef> domPolygons_Array;
+
+class domLinestrips;
+
+typedef daeSmartRef<domLinestrips> domLinestripsRef;
+typedef daeTArray<domLinestripsRef> domLinestrips_Array;
+
+class domTristrips;
+
+typedef daeSmartRef<domTristrips> domTristripsRef;
+typedef daeTArray<domTristripsRef> domTristrips_Array;
+
+class domLines;
+
+typedef daeSmartRef<domLines> domLinesRef;
+typedef daeTArray<domLinesRef> domLines_Array;
+
+class domTriangles;
+
+typedef daeSmartRef<domTriangles> domTrianglesRef;
+typedef daeTArray<domTrianglesRef> domTriangles_Array;
+
+class domTrifans;
+
+typedef daeSmartRef<domTrifans> domTrifansRef;
+typedef daeTArray<domTrifansRef> domTrifans_Array;
+
+class domVertices;
+
+typedef daeSmartRef<domVertices> domVerticesRef;
+typedef daeTArray<domVerticesRef> domVertices_Array;
+
+class domAsset;
+
+typedef daeSmartRef<domAsset> domAssetRef;
+typedef daeTArray<domAssetRef> domAsset_Array;
+
+class domImage;
+
+typedef daeSmartRef<domImage> domImageRef;
+typedef daeTArray<domImageRef> domImage_Array;
+
+class domCamera;
+
+typedef daeSmartRef<domCamera> domCameraRef;
+typedef daeTArray<domCameraRef> domCamera_Array;
+
+class domLight;
+
+typedef daeSmartRef<domLight> domLightRef;
+typedef daeTArray<domLightRef> domLight_Array;
+
+class domInstance_with_extra;
+
+typedef daeSmartRef<domInstance_with_extra> domInstance_with_extraRef;
+typedef daeTArray<domInstance_with_extraRef> domInstance_with_extra_Array;
+
+class domInstance_image;
+
+typedef daeSmartRef<domInstance_image> domInstance_imageRef;
+typedef daeTArray<domInstance_imageRef> domInstance_image_Array;
+
+class domInstance_camera;
+
+typedef daeSmartRef<domInstance_camera> domInstance_cameraRef;
+typedef daeTArray<domInstance_cameraRef> domInstance_camera_Array;
+
+class domInstance_force_field;
+
+typedef daeSmartRef<domInstance_force_field> domInstance_force_fieldRef;
+typedef daeTArray<domInstance_force_fieldRef> domInstance_force_field_Array;
+
+class domInstance_light;
+
+typedef daeSmartRef<domInstance_light> domInstance_lightRef;
+typedef daeTArray<domInstance_lightRef> domInstance_light_Array;
+
+class domInstance_material;
+
+typedef daeSmartRef<domInstance_material> domInstance_materialRef;
+typedef daeTArray<domInstance_materialRef> domInstance_material_Array;
+
+class domBind_material;
+
+typedef daeSmartRef<domBind_material> domBind_materialRef;
+typedef daeTArray<domBind_materialRef> domBind_material_Array;
+
+class domInstance_controller;
+
+typedef daeSmartRef<domInstance_controller> domInstance_controllerRef;
+typedef daeTArray<domInstance_controllerRef> domInstance_controller_Array;
+
+class domInstance_geometry;
+
+typedef daeSmartRef<domInstance_geometry> domInstance_geometryRef;
+typedef daeTArray<domInstance_geometryRef> domInstance_geometry_Array;
+
+class domInstance_node;
+
+typedef daeSmartRef<domInstance_node> domInstance_nodeRef;
+typedef daeTArray<domInstance_nodeRef> domInstance_node_Array;
+
+class domInstance_physics_material;
+
+typedef daeSmartRef<domInstance_physics_material> domInstance_physics_materialRef;
+typedef daeTArray<domInstance_physics_materialRef> domInstance_physics_material_Array;
+
+class domInstance_rigid_constraint;
+
+typedef daeSmartRef<domInstance_rigid_constraint> domInstance_rigid_constraintRef;
+typedef daeTArray<domInstance_rigid_constraintRef> domInstance_rigid_constraint_Array;
+
+class domLibrary_cameras;
+
+typedef daeSmartRef<domLibrary_cameras> domLibrary_camerasRef;
+typedef daeTArray<domLibrary_camerasRef> domLibrary_cameras_Array;
+
+class domLibrary_images;
+
+typedef daeSmartRef<domLibrary_images> domLibrary_imagesRef;
+typedef daeTArray<domLibrary_imagesRef> domLibrary_images_Array;
+
+class domLibrary_lights;
+
+typedef daeSmartRef<domLibrary_lights> domLibrary_lightsRef;
+typedef daeTArray<domLibrary_lightsRef> domLibrary_lights_Array;
+
+class domInstance_effect;
+
+typedef daeSmartRef<domInstance_effect> domInstance_effectRef;
+typedef daeTArray<domInstance_effectRef> domInstance_effect_Array;
+
+class domMaterial;
+
+typedef daeSmartRef<domMaterial> domMaterialRef;
+typedef daeTArray<domMaterialRef> domMaterial_Array;
+
+class domLibrary_materials;
+
+typedef daeSmartRef<domLibrary_materials> domLibrary_materialsRef;
+typedef daeTArray<domLibrary_materialsRef> domLibrary_materials_Array;
+
+class domFx_sampler;
+
+typedef daeSmartRef<domFx_sampler> domFx_samplerRef;
+typedef daeTArray<domFx_samplerRef> domFx_sampler_Array;
+
+class domFx_sampler1D;
+
+typedef daeSmartRef<domFx_sampler1D> domFx_sampler1DRef;
+typedef daeTArray<domFx_sampler1DRef> domFx_sampler1D_Array;
+
+class domFx_sampler2D;
+
+typedef daeSmartRef<domFx_sampler2D> domFx_sampler2DRef;
+typedef daeTArray<domFx_sampler2DRef> domFx_sampler2D_Array;
+
+class domFx_sampler3D;
+
+typedef daeSmartRef<domFx_sampler3D> domFx_sampler3DRef;
+typedef daeTArray<domFx_sampler3DRef> domFx_sampler3D_Array;
+
+class domFx_samplerCUBE;
+
+typedef daeSmartRef<domFx_samplerCUBE> domFx_samplerCUBERef;
+typedef daeTArray<domFx_samplerCUBERef> domFx_samplerCUBE_Array;
+
+class domFx_samplerRECT;
+
+typedef daeSmartRef<domFx_samplerRECT> domFx_samplerRECTRef;
+typedef daeTArray<domFx_samplerRECTRef> domFx_samplerRECT_Array;
+
+class domFx_samplerDEPTH;
+
+typedef daeSmartRef<domFx_samplerDEPTH> domFx_samplerDEPTHRef;
+typedef daeTArray<domFx_samplerDEPTHRef> domFx_samplerDEPTH_Array;
+
+class domFx_rendertarget;
+
+typedef daeSmartRef<domFx_rendertarget> domFx_rendertargetRef;
+typedef daeTArray<domFx_rendertargetRef> domFx_rendertarget_Array;
+
+class domFx_colortarget;
+
+typedef daeSmartRef<domFx_colortarget> domFx_colortargetRef;
+typedef daeTArray<domFx_colortargetRef> domFx_colortarget_Array;
+
+class domFx_depthtarget;
+
+typedef daeSmartRef<domFx_depthtarget> domFx_depthtargetRef;
+typedef daeTArray<domFx_depthtargetRef> domFx_depthtarget_Array;
+
+class domFx_stenciltarget;
+
+typedef daeSmartRef<domFx_stenciltarget> domFx_stenciltargetRef;
+typedef daeTArray<domFx_stenciltargetRef> domFx_stenciltarget_Array;
+
+class domFx_clearcolor;
+
+typedef daeSmartRef<domFx_clearcolor> domFx_clearcolorRef;
+typedef daeTArray<domFx_clearcolorRef> domFx_clearcolor_Array;
+
+class domFx_cleardepth;
+
+typedef daeSmartRef<domFx_cleardepth> domFx_cleardepthRef;
+typedef daeTArray<domFx_cleardepthRef> domFx_cleardepth_Array;
+
+class domFx_clearstencil;
+
+typedef daeSmartRef<domFx_clearstencil> domFx_clearstencilRef;
+typedef daeTArray<domFx_clearstencilRef> domFx_clearstencil_Array;
+
+class domFx_annotate;
+
+typedef daeSmartRef<domFx_annotate> domFx_annotateRef;
+typedef daeTArray<domFx_annotateRef> domFx_annotate_Array;
+
+class domFx_newparam;
+
+typedef daeSmartRef<domFx_newparam> domFx_newparamRef;
+typedef daeTArray<domFx_newparamRef> domFx_newparam_Array;
+
+class domFx_include;
+
+typedef daeSmartRef<domFx_include> domFx_includeRef;
+typedef daeTArray<domFx_includeRef> domFx_include_Array;
+
+class domFx_code;
+
+typedef daeSmartRef<domFx_code> domFx_codeRef;
+typedef daeTArray<domFx_codeRef> domFx_code_Array;
+
+class domFx_sources;
+
+typedef daeSmartRef<domFx_sources> domFx_sourcesRef;
+typedef daeTArray<domFx_sourcesRef> domFx_sources_Array;
+
+class domFx_target;
+
+typedef daeSmartRef<domFx_target> domFx_targetRef;
+typedef daeTArray<domFx_targetRef> domFx_target_Array;
+
+class domFx_common_float_or_param;
+
+typedef daeSmartRef<domFx_common_float_or_param> domFx_common_float_or_paramRef;
+typedef daeTArray<domFx_common_float_or_paramRef> domFx_common_float_or_param_Array;
+
+class domFx_common_color_or_texture;
+
+typedef daeSmartRef<domFx_common_color_or_texture> domFx_common_color_or_textureRef;
+typedef daeTArray<domFx_common_color_or_textureRef> domFx_common_color_or_texture_Array;
+
+class domFx_common_transparent;
+
+typedef daeSmartRef<domFx_common_transparent> domFx_common_transparentRef;
+typedef daeTArray<domFx_common_transparentRef> domFx_common_transparent_Array;
+
+class domFx_common_newparam;
+
+typedef daeSmartRef<domFx_common_newparam> domFx_common_newparamRef;
+typedef daeTArray<domFx_common_newparamRef> domFx_common_newparam_Array;
+
+class domProfile_common;
+
+typedef daeSmartRef<domProfile_common> domProfile_commonRef;
+typedef daeTArray<domProfile_commonRef> domProfile_common_Array;
+
+class domProfile_bridge;
+
+typedef daeSmartRef<domProfile_bridge> domProfile_bridgeRef;
+typedef daeTArray<domProfile_bridgeRef> domProfile_bridge_Array;
+
+class domGles2_newparam;
+
+typedef daeSmartRef<domGles2_newparam> domGles2_newparamRef;
+typedef daeTArray<domGles2_newparamRef> domGles2_newparam_Array;
+
+class domGles2_shader;
+
+typedef daeSmartRef<domGles2_shader> domGles2_shaderRef;
+typedef daeTArray<domGles2_shaderRef> domGles2_shader_Array;
+
+class domGles2_program;
+
+typedef daeSmartRef<domGles2_program> domGles2_programRef;
+typedef daeTArray<domGles2_programRef> domGles2_program_Array;
+
+class domGles2_pass;
+
+typedef daeSmartRef<domGles2_pass> domGles2_passRef;
+typedef daeTArray<domGles2_passRef> domGles2_pass_Array;
+
+class domProfile_gles2;
+
+typedef daeSmartRef<domProfile_gles2> domProfile_gles2Ref;
+typedef daeTArray<domProfile_gles2Ref> domProfile_gles2_Array;
+
+class domGlsl_array;
+
+typedef daeSmartRef<domGlsl_array> domGlsl_arrayRef;
+typedef daeTArray<domGlsl_arrayRef> domGlsl_array_Array;
+
+class domGlsl_newparam;
+
+typedef daeSmartRef<domGlsl_newparam> domGlsl_newparamRef;
+typedef daeTArray<domGlsl_newparamRef> domGlsl_newparam_Array;
+
+class domGlsl_shader;
+
+typedef daeSmartRef<domGlsl_shader> domGlsl_shaderRef;
+typedef daeTArray<domGlsl_shaderRef> domGlsl_shader_Array;
+
+class domGlsl_program;
+
+typedef daeSmartRef<domGlsl_program> domGlsl_programRef;
+typedef daeTArray<domGlsl_programRef> domGlsl_program_Array;
+
+class domProfile_glsl;
+
+typedef daeSmartRef<domProfile_glsl> domProfile_glslRef;
+typedef daeTArray<domProfile_glslRef> domProfile_glsl_Array;
+
+class domCg_array;
+
+typedef daeSmartRef<domCg_array> domCg_arrayRef;
+typedef daeTArray<domCg_arrayRef> domCg_array_Array;
+
+class domCg_setparam;
+
+typedef daeSmartRef<domCg_setparam> domCg_setparamRef;
+typedef daeTArray<domCg_setparamRef> domCg_setparam_Array;
+
+class domCg_user;
+
+typedef daeSmartRef<domCg_user> domCg_userRef;
+typedef daeTArray<domCg_userRef> domCg_user_Array;
+
+class domCg_newparam;
+
+typedef daeSmartRef<domCg_newparam> domCg_newparamRef;
+typedef daeTArray<domCg_newparamRef> domCg_newparam_Array;
+
+class domCg_pass;
+
+typedef daeSmartRef<domCg_pass> domCg_passRef;
+typedef daeTArray<domCg_passRef> domCg_pass_Array;
+
+class domProfile_cg;
+
+typedef daeSmartRef<domProfile_cg> domProfile_cgRef;
+typedef daeTArray<domProfile_cgRef> domProfile_cg_Array;
+
+class domGles_texture_constant;
+
+typedef daeSmartRef<domGles_texture_constant> domGles_texture_constantRef;
+typedef daeTArray<domGles_texture_constantRef> domGles_texture_constant_Array;
+
+class domGles_texenv_command;
+
+typedef daeSmartRef<domGles_texenv_command> domGles_texenv_commandRef;
+typedef daeTArray<domGles_texenv_commandRef> domGles_texenv_command_Array;
+
+class domGles_texcombiner_argument_rgb;
+
+typedef daeSmartRef<domGles_texcombiner_argument_rgb> domGles_texcombiner_argument_rgbRef;
+typedef daeTArray<domGles_texcombiner_argument_rgbRef> domGles_texcombiner_argument_rgb_Array;
+
+class domGles_texcombiner_argument_alpha;
+
+typedef daeSmartRef<domGles_texcombiner_argument_alpha> domGles_texcombiner_argument_alphaRef;
+typedef daeTArray<domGles_texcombiner_argument_alphaRef> domGles_texcombiner_argument_alpha_Array;
+
+class domGles_texcombiner_command_rgb;
+
+typedef daeSmartRef<domGles_texcombiner_command_rgb> domGles_texcombiner_command_rgbRef;
+typedef daeTArray<domGles_texcombiner_command_rgbRef> domGles_texcombiner_command_rgb_Array;
+
+class domGles_texcombiner_command_alpha;
+
+typedef daeSmartRef<domGles_texcombiner_command_alpha> domGles_texcombiner_command_alphaRef;
+typedef daeTArray<domGles_texcombiner_command_alphaRef> domGles_texcombiner_command_alpha_Array;
+
+class domGles_texcombiner_command;
+
+typedef daeSmartRef<domGles_texcombiner_command> domGles_texcombiner_commandRef;
+typedef daeTArray<domGles_texcombiner_commandRef> domGles_texcombiner_command_Array;
+
+class domGles_texture_pipeline;
+
+typedef daeSmartRef<domGles_texture_pipeline> domGles_texture_pipelineRef;
+typedef daeTArray<domGles_texture_pipelineRef> domGles_texture_pipeline_Array;
+
+class domGles_sampler;
+
+typedef daeSmartRef<domGles_sampler> domGles_samplerRef;
+typedef daeTArray<domGles_samplerRef> domGles_sampler_Array;
+
+class domGles_newparam;
+
+typedef daeSmartRef<domGles_newparam> domGles_newparamRef;
+typedef daeTArray<domGles_newparamRef> domGles_newparam_Array;
+
+class domProfile_gles;
+
+typedef daeSmartRef<domProfile_gles> domProfile_glesRef;
+typedef daeTArray<domProfile_glesRef> domProfile_gles_Array;
+
+class domEffect;
+
+typedef daeSmartRef<domEffect> domEffectRef;
+typedef daeTArray<domEffectRef> domEffect_Array;
+
+class domLibrary_effects;
+
+typedef daeSmartRef<domLibrary_effects> domLibrary_effectsRef;
+typedef daeTArray<domLibrary_effectsRef> domLibrary_effects_Array;
+
+class domBox;
+
+typedef daeSmartRef<domBox> domBoxRef;
+typedef daeTArray<domBoxRef> domBox_Array;
+
+class domPlane;
+
+typedef daeSmartRef<domPlane> domPlaneRef;
+typedef daeTArray<domPlaneRef> domPlane_Array;
+
+class domSphere;
+
+typedef daeSmartRef<domSphere> domSphereRef;
+typedef daeTArray<domSphereRef> domSphere_Array;
+
+class domEllipsoid;
+
+typedef daeSmartRef<domEllipsoid> domEllipsoidRef;
+typedef daeTArray<domEllipsoidRef> domEllipsoid_Array;
+
+class domCylinder;
+
+typedef daeSmartRef<domCylinder> domCylinderRef;
+typedef daeTArray<domCylinderRef> domCylinder_Array;
+
+class domCapsule;
+
+typedef daeSmartRef<domCapsule> domCapsuleRef;
+typedef daeTArray<domCapsuleRef> domCapsule_Array;
+
+class domForce_field;
+
+typedef daeSmartRef<domForce_field> domForce_fieldRef;
+typedef daeTArray<domForce_fieldRef> domForce_field_Array;
+
+class domLibrary_force_fields;
+
+typedef daeSmartRef<domLibrary_force_fields> domLibrary_force_fieldsRef;
+typedef daeTArray<domLibrary_force_fieldsRef> domLibrary_force_fields_Array;
+
+class domPhysics_material;
+
+typedef daeSmartRef<domPhysics_material> domPhysics_materialRef;
+typedef daeTArray<domPhysics_materialRef> domPhysics_material_Array;
+
+class domLibrary_physics_materials;
+
+typedef daeSmartRef<domLibrary_physics_materials> domLibrary_physics_materialsRef;
+typedef daeTArray<domLibrary_physics_materialsRef> domLibrary_physics_materials_Array;
+
+class domEdges;
+
+typedef daeSmartRef<domEdges> domEdgesRef;
+typedef daeTArray<domEdgesRef> domEdges_Array;
+
+class domWires;
+
+typedef daeSmartRef<domWires> domWiresRef;
+typedef daeTArray<domWiresRef> domWires_Array;
+
+class domFaces;
+
+typedef daeSmartRef<domFaces> domFacesRef;
+typedef daeTArray<domFacesRef> domFaces_Array;
+
+class domShells;
+
+typedef daeSmartRef<domShells> domShellsRef;
+typedef daeTArray<domShellsRef> domShells_Array;
+
+class domSolids;
+
+typedef daeSmartRef<domSolids> domSolidsRef;
+typedef daeTArray<domSolidsRef> domSolids_Array;
+
+class domLine;
+
+typedef daeSmartRef<domLine> domLineRef;
+typedef daeTArray<domLineRef> domLine_Array;
+
+class domCircle;
+
+typedef daeSmartRef<domCircle> domCircleRef;
+typedef daeTArray<domCircleRef> domCircle_Array;
+
+class domEllipse;
+
+typedef daeSmartRef<domEllipse> domEllipseRef;
+typedef daeTArray<domEllipseRef> domEllipse_Array;
+
+class domParabola;
+
+typedef daeSmartRef<domParabola> domParabolaRef;
+typedef daeTArray<domParabolaRef> domParabola_Array;
+
+class domHyperbola;
+
+typedef daeSmartRef<domHyperbola> domHyperbolaRef;
+typedef daeTArray<domHyperbolaRef> domHyperbola_Array;
+
+class domTorus;
+
+typedef daeSmartRef<domTorus> domTorusRef;
+typedef daeTArray<domTorusRef> domTorus_Array;
+
+class domPcurves;
+
+typedef daeSmartRef<domPcurves> domPcurvesRef;
+typedef daeTArray<domPcurvesRef> domPcurves_Array;
+
+class domSidref_array;
+
+typedef daeSmartRef<domSidref_array> domSidref_arrayRef;
+typedef daeTArray<domSidref_arrayRef> domSidref_array_Array;
+
+class domSource;
+
+typedef daeSmartRef<domSource> domSourceRef;
+typedef daeTArray<domSourceRef> domSource_Array;
+
+class domAnimation;
+
+typedef daeSmartRef<domAnimation> domAnimationRef;
+typedef daeTArray<domAnimationRef> domAnimation_Array;
+
+class domLibrary_animations;
+
+typedef daeSmartRef<domLibrary_animations> domLibrary_animationsRef;
+typedef daeTArray<domLibrary_animationsRef> domLibrary_animations_Array;
+
+class domSkin;
+
+typedef daeSmartRef<domSkin> domSkinRef;
+typedef daeTArray<domSkinRef> domSkin_Array;
+
+class domConvex_mesh;
+
+typedef daeSmartRef<domConvex_mesh> domConvex_meshRef;
+typedef daeTArray<domConvex_meshRef> domConvex_mesh_Array;
+
+class domMesh;
+
+typedef daeSmartRef<domMesh> domMeshRef;
+typedef daeTArray<domMeshRef> domMesh_Array;
+
+class domSpline;
+
+typedef daeSmartRef<domSpline> domSplineRef;
+typedef daeTArray<domSplineRef> domSpline_Array;
+
+class domNurbs_surface;
+
+typedef daeSmartRef<domNurbs_surface> domNurbs_surfaceRef;
+typedef daeTArray<domNurbs_surfaceRef> domNurbs_surface_Array;
+
+class domNurbs;
+
+typedef daeSmartRef<domNurbs> domNurbsRef;
+typedef daeTArray<domNurbsRef> domNurbs_Array;
+
+class domMorph;
+
+typedef daeSmartRef<domMorph> domMorphRef;
+typedef daeTArray<domMorphRef> domMorph_Array;
+
+class domController;
+
+typedef daeSmartRef<domController> domControllerRef;
+typedef daeTArray<domControllerRef> domController_Array;
+
+class domLibrary_controllers;
+
+typedef daeSmartRef<domLibrary_controllers> domLibrary_controllersRef;
+typedef daeTArray<domLibrary_controllersRef> domLibrary_controllers_Array;
+
+class domOrigin;
+
+typedef daeSmartRef<domOrigin> domOriginRef;
+typedef daeTArray<domOriginRef> domOrigin_Array;
+
+class domOrient;
+
+typedef daeSmartRef<domOrient> domOrientRef;
+typedef daeTArray<domOrientRef> domOrient_Array;
+
+class domCurve;
+
+typedef daeSmartRef<domCurve> domCurveRef;
+typedef daeTArray<domCurveRef> domCurve_Array;
+
+class domSurface_curves;
+
+typedef daeSmartRef<domSurface_curves> domSurface_curvesRef;
+typedef daeTArray<domSurface_curvesRef> domSurface_curves_Array;
+
+class domCurves;
+
+typedef daeSmartRef<domCurves> domCurvesRef;
+typedef daeTArray<domCurvesRef> domCurves_Array;
+
+class domSwept_surface;
+
+typedef daeSmartRef<domSwept_surface> domSwept_surfaceRef;
+typedef daeTArray<domSwept_surfaceRef> domSwept_surface_Array;
+
+class domCone;
+
+typedef daeSmartRef<domCone> domConeRef;
+typedef daeTArray<domConeRef> domCone_Array;
+
+class domSurface;
+
+typedef daeSmartRef<domSurface> domSurfaceRef;
+typedef daeTArray<domSurfaceRef> domSurface_Array;
+
+class domSurfaces;
+
+typedef daeSmartRef<domSurfaces> domSurfacesRef;
+typedef daeTArray<domSurfacesRef> domSurfaces_Array;
+
+class domBrep;
+
+typedef daeSmartRef<domBrep> domBrepRef;
+typedef daeTArray<domBrepRef> domBrep_Array;
+
+class domGeometry;
+
+typedef daeSmartRef<domGeometry> domGeometryRef;
+typedef daeTArray<domGeometryRef> domGeometry_Array;
+
+class domLibrary_geometries;
+
+typedef daeSmartRef<domLibrary_geometries> domLibrary_geometriesRef;
+typedef daeTArray<domLibrary_geometriesRef> domLibrary_geometries_Array;
+
+class domLimits_sub;
+
+typedef daeSmartRef<domLimits_sub> domLimits_subRef;
+typedef daeTArray<domLimits_subRef> domLimits_sub_Array;
+
+class domInstance_joint;
+
+typedef daeSmartRef<domInstance_joint> domInstance_jointRef;
+typedef daeTArray<domInstance_jointRef> domInstance_joint_Array;
+
+class domTargetable_float4;
+
+typedef daeSmartRef<domTargetable_float4> domTargetable_float4Ref;
+typedef daeTArray<domTargetable_float4Ref> domTargetable_float4_Array;
+
+class domRotate;
+
+typedef daeSmartRef<domRotate> domRotateRef;
+typedef daeTArray<domRotateRef> domRotate_Array;
+
+class domLink;
+
+typedef daeSmartRef<domLink> domLinkRef;
+typedef daeTArray<domLinkRef> domLink_Array;
+
+class domRigid_constraint;
+
+typedef daeSmartRef<domRigid_constraint> domRigid_constraintRef;
+typedef daeTArray<domRigid_constraintRef> domRigid_constraint_Array;
+
+class domNode;
+
+typedef daeSmartRef<domNode> domNodeRef;
+typedef daeTArray<domNodeRef> domNode_Array;
+
+class domLibrary_nodes;
+
+typedef daeSmartRef<domLibrary_nodes> domLibrary_nodesRef;
+typedef daeTArray<domLibrary_nodesRef> domLibrary_nodes_Array;
+
+class domVisual_scene;
+
+typedef daeSmartRef<domVisual_scene> domVisual_sceneRef;
+typedef daeTArray<domVisual_sceneRef> domVisual_scene_Array;
+
+class domLibrary_visual_scenes;
+
+typedef daeSmartRef<domLibrary_visual_scenes> domLibrary_visual_scenesRef;
+typedef daeTArray<domLibrary_visual_scenesRef> domLibrary_visual_scenes_Array;
+
+class domRigid_body;
+
+typedef daeSmartRef<domRigid_body> domRigid_bodyRef;
+typedef daeTArray<domRigid_bodyRef> domRigid_body_Array;
+
+class domInstance_rigid_body;
+
+typedef daeSmartRef<domInstance_rigid_body> domInstance_rigid_bodyRef;
+typedef daeTArray<domInstance_rigid_bodyRef> domInstance_rigid_body_Array;
+
+class domInstance_physics_model;
+
+typedef daeSmartRef<domInstance_physics_model> domInstance_physics_modelRef;
+typedef daeTArray<domInstance_physics_modelRef> domInstance_physics_model_Array;
+
+class domPhysics_model;
+
+typedef daeSmartRef<domPhysics_model> domPhysics_modelRef;
+typedef daeTArray<domPhysics_modelRef> domPhysics_model_Array;
+
+class domLibrary_physics_models;
+
+typedef daeSmartRef<domLibrary_physics_models> domLibrary_physics_modelsRef;
+typedef daeTArray<domLibrary_physics_modelsRef> domLibrary_physics_models_Array;
+
+class domPhysics_scene;
+
+typedef daeSmartRef<domPhysics_scene> domPhysics_sceneRef;
+typedef daeTArray<domPhysics_sceneRef> domPhysics_scene_Array;
+
+class domLibrary_physics_scenes;
+
+typedef daeSmartRef<domLibrary_physics_scenes> domLibrary_physics_scenesRef;
+typedef daeTArray<domLibrary_physics_scenesRef> domLibrary_physics_scenes_Array;
+
+class domKinematics_newparam;
+
+typedef daeSmartRef<domKinematics_newparam> domKinematics_newparamRef;
+typedef daeTArray<domKinematics_newparamRef> domKinematics_newparam_Array;
+
+class domKinematics_frame;
+
+typedef daeSmartRef<domKinematics_frame> domKinematics_frameRef;
+typedef daeTArray<domKinematics_frameRef> domKinematics_frame_Array;
+
+class domCommon_param;
+
+typedef daeSmartRef<domCommon_param> domCommon_paramRef;
+typedef daeTArray<domCommon_paramRef> domCommon_param_Array;
+
+class domCommon_int_or_param;
+
+typedef daeSmartRef<domCommon_int_or_param> domCommon_int_or_paramRef;
+typedef daeTArray<domCommon_int_or_paramRef> domCommon_int_or_param_Array;
+
+class domCommon_bool_or_param;
+
+typedef daeSmartRef<domCommon_bool_or_param> domCommon_bool_or_paramRef;
+typedef daeTArray<domCommon_bool_or_paramRef> domCommon_bool_or_param_Array;
+
+class domCommon_float_or_param;
+
+typedef daeSmartRef<domCommon_float_or_param> domCommon_float_or_paramRef;
+typedef daeTArray<domCommon_float_or_paramRef> domCommon_float_or_param_Array;
+
+class domKinematics_limits;
+
+typedef daeSmartRef<domKinematics_limits> domKinematics_limitsRef;
+typedef daeTArray<domKinematics_limitsRef> domKinematics_limits_Array;
+
+class domCommon_sidref_or_param;
+
+typedef daeSmartRef<domCommon_sidref_or_param> domCommon_sidref_or_paramRef;
+typedef daeTArray<domCommon_sidref_or_paramRef> domCommon_sidref_or_param_Array;
+
+class domBind_joint_axis;
+
+typedef daeSmartRef<domBind_joint_axis> domBind_joint_axisRef;
+typedef daeTArray<domBind_joint_axisRef> domBind_joint_axis_Array;
+
+class domBind_kinematics_model;
+
+typedef daeSmartRef<domBind_kinematics_model> domBind_kinematics_modelRef;
+typedef daeTArray<domBind_kinematics_modelRef> domBind_kinematics_model_Array;
+
+class domKinematics_connect_param;
+
+typedef daeSmartRef<domKinematics_connect_param> domKinematics_connect_paramRef;
+typedef daeTArray<domKinematics_connect_paramRef> domKinematics_connect_param_Array;
+
+class domKinematics_setparam;
+
+typedef daeSmartRef<domKinematics_setparam> domKinematics_setparamRef;
+typedef daeTArray<domKinematics_setparamRef> domKinematics_setparam_Array;
+
+class domInstance_kinematics_scene;
+
+typedef daeSmartRef<domInstance_kinematics_scene> domInstance_kinematics_sceneRef;
+typedef daeTArray<domInstance_kinematics_sceneRef> domInstance_kinematics_scene_Array;
+
+class domKinematics_index;
+
+typedef daeSmartRef<domKinematics_index> domKinematics_indexRef;
+typedef daeTArray<domKinematics_indexRef> domKinematics_index_Array;
+
+class domKinematics_param;
+
+typedef daeSmartRef<domKinematics_param> domKinematics_paramRef;
+typedef daeTArray<domKinematics_paramRef> domKinematics_param_Array;
+
+class domKinematics_bind;
+
+typedef daeSmartRef<domKinematics_bind> domKinematics_bindRef;
+typedef daeTArray<domKinematics_bindRef> domKinematics_bind_Array;
+
+class domMotion_axis_info;
+
+typedef daeSmartRef<domMotion_axis_info> domMotion_axis_infoRef;
+typedef daeTArray<domMotion_axis_infoRef> domMotion_axis_info_Array;
+
+class domInstance_kinematics_model;
+
+typedef daeSmartRef<domInstance_kinematics_model> domInstance_kinematics_modelRef;
+typedef daeTArray<domInstance_kinematics_modelRef> domInstance_kinematics_model_Array;
+
+class domInstance_articulated_system;
+
+typedef daeSmartRef<domInstance_articulated_system> domInstance_articulated_systemRef;
+typedef daeTArray<domInstance_articulated_systemRef> domInstance_articulated_system_Array;
+
+class domKinematics_scene;
+
+typedef daeSmartRef<domKinematics_scene> domKinematics_sceneRef;
+typedef daeTArray<domKinematics_sceneRef> domKinematics_scene_Array;
+
+class domLibrary_kinematics_scenes;
+
+typedef daeSmartRef<domLibrary_kinematics_scenes> domLibrary_kinematics_scenesRef;
+typedef daeTArray<domLibrary_kinematics_scenesRef> domLibrary_kinematics_scenes_Array;
+
+class domCommon_float2_or_param;
+
+typedef daeSmartRef<domCommon_float2_or_param> domCommon_float2_or_paramRef;
+typedef daeTArray<domCommon_float2_or_paramRef> domCommon_float2_or_param_Array;
+
+class domMotion_effector_info;
+
+typedef daeSmartRef<domMotion_effector_info> domMotion_effector_infoRef;
+typedef daeTArray<domMotion_effector_infoRef> domMotion_effector_info_Array;
+
+class domMotion_technique;
+
+typedef daeSmartRef<domMotion_technique> domMotion_techniqueRef;
+typedef daeTArray<domMotion_techniqueRef> domMotion_technique_Array;
+
+class domMotion;
+
+typedef daeSmartRef<domMotion> domMotionRef;
+typedef daeTArray<domMotionRef> domMotion_Array;
+
+class domMinmax;
+
+typedef daeSmartRef<domMinmax> domMinmaxRef;
+typedef daeTArray<domMinmaxRef> domMinmax_Array;
+
+class domJoint_limits;
+
+typedef daeSmartRef<domJoint_limits> domJoint_limitsRef;
+typedef daeTArray<domJoint_limitsRef> domJoint_limits_Array;
+
+class domAxis;
+
+typedef daeSmartRef<domAxis> domAxisRef;
+typedef daeTArray<domAxisRef> domAxis_Array;
+
+class domAxis_constraint;
+
+typedef daeSmartRef<domAxis_constraint> domAxis_constraintRef;
+typedef daeTArray<domAxis_constraintRef> domAxis_constraint_Array;
+
+class domJoint;
+
+typedef daeSmartRef<domJoint> domJointRef;
+typedef daeTArray<domJointRef> domJoint_Array;
+
+class domLibrary_joints;
+
+typedef daeSmartRef<domLibrary_joints> domLibrary_jointsRef;
+typedef daeTArray<domLibrary_jointsRef> domLibrary_joints_Array;
+
+class domFormula_technique;
+
+typedef daeSmartRef<domFormula_technique> domFormula_techniqueRef;
+typedef daeTArray<domFormula_techniqueRef> domFormula_technique_Array;
+
+class domFormula_newparam;
+
+typedef daeSmartRef<domFormula_newparam> domFormula_newparamRef;
+typedef daeTArray<domFormula_newparamRef> domFormula_newparam_Array;
+
+class domFormula_setparam;
+
+typedef daeSmartRef<domFormula_setparam> domFormula_setparamRef;
+typedef daeTArray<domFormula_setparamRef> domFormula_setparam_Array;
+
+class domInstance_formula;
+
+typedef daeSmartRef<domInstance_formula> domInstance_formulaRef;
+typedef daeTArray<domInstance_formulaRef> domInstance_formula_Array;
+
+class domAnimation_clip;
+
+typedef daeSmartRef<domAnimation_clip> domAnimation_clipRef;
+typedef daeTArray<domAnimation_clipRef> domAnimation_clip_Array;
+
+class domLibrary_animation_clips;
+
+typedef daeSmartRef<domLibrary_animation_clips> domLibrary_animation_clipsRef;
+typedef daeTArray<domLibrary_animation_clipsRef> domLibrary_animation_clips_Array;
+
+class domFormula;
+
+typedef daeSmartRef<domFormula> domFormulaRef;
+typedef daeTArray<domFormulaRef> domFormula_Array;
+
+class domKinematics_model_technique;
+
+typedef daeSmartRef<domKinematics_model_technique> domKinematics_model_techniqueRef;
+typedef daeTArray<domKinematics_model_techniqueRef> domKinematics_model_technique_Array;
+
+class domKinematics_model;
+
+typedef daeSmartRef<domKinematics_model> domKinematics_modelRef;
+typedef daeTArray<domKinematics_modelRef> domKinematics_model_Array;
+
+class domLibrary_kinematics_models;
+
+typedef daeSmartRef<domLibrary_kinematics_models> domLibrary_kinematics_modelsRef;
+typedef daeTArray<domLibrary_kinematics_modelsRef> domLibrary_kinematics_models_Array;
+
+class domKinematics_axis_info;
+
+typedef daeSmartRef<domKinematics_axis_info> domKinematics_axis_infoRef;
+typedef daeTArray<domKinematics_axis_infoRef> domKinematics_axis_info_Array;
+
+class domKinematics_technique;
+
+typedef daeSmartRef<domKinematics_technique> domKinematics_techniqueRef;
+typedef daeTArray<domKinematics_techniqueRef> domKinematics_technique_Array;
+
+class domKinematics;
+
+typedef daeSmartRef<domKinematics> domKinematicsRef;
+typedef daeTArray<domKinematicsRef> domKinematics_Array;
+
+class domArticulated_system;
+
+typedef daeSmartRef<domArticulated_system> domArticulated_systemRef;
+typedef daeTArray<domArticulated_systemRef> domArticulated_system_Array;
+
+class domLibrary_articulated_systems;
+
+typedef daeSmartRef<domLibrary_articulated_systems> domLibrary_articulated_systemsRef;
+typedef daeTArray<domLibrary_articulated_systemsRef> domLibrary_articulated_systems_Array;
+
+class domLibrary_formulas;
+
+typedef daeSmartRef<domLibrary_formulas> domLibrary_formulasRef;
+typedef daeTArray<domLibrary_formulasRef> domLibrary_formulas_Array;
+
+class domFx_sampler_states;
+
+typedef daeSmartRef<domFx_sampler_states> domFx_sampler_statesRef;
+typedef daeTArray<domFx_sampler_statesRef> domFx_sampler_states_Array;
+
+class domFx_setparam;
+
+typedef daeSmartRef<domFx_setparam> domFx_setparamRef;
+typedef daeTArray<domFx_setparamRef> domFx_setparam_Array;
+
+class domGl_pipeline_settings;
+
+typedef daeSmartRef<domGl_pipeline_settings> domGl_pipeline_settingsRef;
+typedef daeTArray<domGl_pipeline_settingsRef> domGl_pipeline_settings_Array;
+
+class domGles2_pipeline_settings;
+
+typedef daeSmartRef<domGles2_pipeline_settings> domGles2_pipeline_settingsRef;
+typedef daeTArray<domGles2_pipeline_settingsRef> domGles2_pipeline_settings_Array;
+
+class domGles2_value;
+
+typedef daeSmartRef<domGles2_value> domGles2_valueRef;
+typedef daeTArray<domGles2_valueRef> domGles2_value_Array;
+
+class domGlsl_value;
+
+typedef daeSmartRef<domGlsl_value> domGlsl_valueRef;
+typedef daeTArray<domGlsl_valueRef> domGlsl_value_Array;
+
+class domCg_param;
+
+typedef daeSmartRef<domCg_param> domCg_paramRef;
+typedef daeTArray<domCg_paramRef> domCg_param_Array;
+
+class domGles_sampler_states;
+
+typedef daeSmartRef<domGles_sampler_states> domGles_sampler_statesRef;
+typedef daeTArray<domGles_sampler_statesRef> domGles_sampler_states_Array;
+
+class domGles_pipeline_settings;
+
+typedef daeSmartRef<domGles_pipeline_settings> domGles_pipeline_settingsRef;
+typedef daeTArray<domGles_pipeline_settingsRef> domGles_pipeline_settings_Array;
+
+class domGles_param;
+
+typedef daeSmartRef<domGles_param> domGles_paramRef;
+typedef daeTArray<domGles_paramRef> domGles_param_Array;
+
+class domFx_profile;
+
+typedef daeSmartRef<domFx_profile> domFx_profileRef;
+typedef daeTArray<domFx_profileRef> domFx_profile_Array;
+
+class domCOLLADA;
+
+typedef daeSmartRef<domCOLLADA> domCOLLADARef;
+typedef daeTArray<domCOLLADARef> domCOLLADA_Array;
+
+} // ColladaDOM150
+
+#endif //__DOM_ELEMENTS_H__
+
diff --git a/1.4.0/dom/include/1.5/dom/domEllipse.h b/1.4.0/dom/include/1.5/dom/domEllipse.h
new file mode 100644
index 0000000..a2b095b
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domEllipse.h
@@ -0,0 +1,155 @@
+#ifndef __dom150Ellipse_h__
+#define __dom150Ellipse_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * Describes an ellipse in 3D space. An ellipse is defined by its major
+ * and minor radii and, as with any conic curve, is positioned in space
+ * with a right-handed coordinate system where: - the origin is the center
+ * of the ellipse, - the "X Direction" defines the major axis, and
+ * - the "Y Direction" defines the minor axis. The origin, "X Direction"
+ * and "Y Direction" of this coordinate system define the plane of
+ * the ellipse. The coordinate system is the local coordinate system of
+ * the ellipse. The "main Direction" of this coordinate system is the
+ * vector normal to the plane of the ellipse. The axis, of which the
+ * origin and unit vector are respectively the origin and "main Direction"
+ * of the local coordinate system, is termed the "Axis" or "main Axis"
+ * of the ellipse. The "main Direction" of the local coordinate system
+ * gives an explicit orientation to the ellipse (definition of the
+ * trigonometric sense), determining the direction in which the parameter
+ * increases along the ellipse. The Geom_Ellipse ellipse is parameterized
+ * by an angle: P(U) = O + MajorRad*Cos(U)*XDir + MinorRad*Sin(U)*YDir
+ * where: - P is the point of parameter U, - O, XDir and YDir are
+ * respectively the origin, "X <br> Direction" and "Y Direction" of its
+ * local coordinate system, - MajorRad and MinorRad are the major
+ * and minor radii of the ellipse. The "X Axis" of the local coordinate
+ * system therefore defines the origin of the parameter of the ellipse.
+ * An ellipse is a closed and periodic curve. The period is 2.*Pi and
+ * the parameter range is [ 0, 2.*Pi [.
+ */
+class domEllipse : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ELLIPSE; }
+ static daeInt ID() { return 314; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domRadius;
+
+ typedef daeSmartRef<domRadius> domRadiusRef;
+ typedef daeTArray<domRadiusRef> domRadius_Array;
+
+ class domRadius : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::RADIUS; }
+ static daeInt ID() { return 315; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFloat2 of the value.
+ */
+ domFloat2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFloat2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFloat2 value of the text data of this element.
+ */
+ domFloat2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domRadius(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domRadius() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRadius &operator=( const domRadius &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+ domRadiusRef elemRadius;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the radius element.
+ * @return a daeSmartRef to the radius element.
+ */
+ const domRadiusRef getRadius() const { return elemRadius; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domEllipse(DAE& dae) : daeElement(dae), elemRadius(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domEllipse() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domEllipse &operator=( const domEllipse &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domEllipsoid.h b/1.4.0/dom/include/1.5/dom/domEllipsoid.h
new file mode 100644
index 0000000..ec95205
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domEllipsoid.h
@@ -0,0 +1,118 @@
+#ifndef __dom150Ellipsoid_h__
+#define __dom150Ellipsoid_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domEllipsoid : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ELLIPSOID; }
+ static daeInt ID() { return 287; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domSize;
+
+ typedef daeSmartRef<domSize> domSizeRef;
+ typedef daeTArray<domSizeRef> domSize_Array;
+
+ class domSize : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SIZE; }
+ static daeInt ID() { return 288; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFloat3 of the value.
+ */
+ domFloat3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFloat3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFloat3 value of the text data of this element.
+ */
+ domFloat3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domSize(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSize() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSize &operator=( const domSize &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Element
+ domSizeRef elemSize;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the size element.
+ * @return a daeSmartRef to the size element.
+ */
+ const domSizeRef getSize() const { return elemSize; }
+protected:
+ /**
+ * Constructor
+ */
+ domEllipsoid(DAE& dae) : daeElement(dae), elemSize() {}
+ /**
+ * Destructor
+ */
+ virtual ~domEllipsoid() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domEllipsoid &operator=( const domEllipsoid &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domExtra.h b/1.4.0/dom/include/1.5/dom/domExtra.h
new file mode 100644
index 0000000..fc383a3
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domExtra.h
@@ -0,0 +1,133 @@
+#ifndef __dom150Extra_h__
+#define __dom150Extra_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domTechnique.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The extra element declares additional information regarding its parent
+ * element.
+ */
+class domExtra : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::EXTRA; }
+ static daeInt ID() { return 26; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+/**
+ * The type attribute indicates the type of the value data. This text string
+ * must be understood by the application. Optional attribute.
+ */
+ xsNMTOKEN attrType;
+
+protected: // Elements
+/**
+ * The extra element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * This element must contain at least one non-common profile technique. @see
+ * domTechnique
+ */
+ domTechnique_Array elemTechnique_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the type attribute.
+ * @return Returns a xsNMTOKEN of the type attribute.
+ */
+ xsNMTOKEN getType() const { return attrType; }
+ /**
+ * Sets the type attribute.
+ * @param atType The new value for the type attribute.
+ */
+ void setType( xsNMTOKEN atType ) { *(daeStringRef*)&attrType = atType;}
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a reference to the array of technique elements.
+ */
+ domTechnique_Array &getTechnique_array() { return elemTechnique_array; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a constant reference to the array of technique elements.
+ */
+ const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domExtra(DAE& dae) : daeElement(dae), attrId(), attrName(), attrType(), elemAsset(), elemTechnique_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domExtra() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domExtra &operator=( const domExtra &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domFaces.h b/1.4.0/dom/include/1.5/dom/domFaces.h
new file mode 100644
index 0000000..7c441ef
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domFaces.h
@@ -0,0 +1,199 @@
+#ifndef __dom150Faces_h__
+#define __dom150Faces_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domInput_local_offset.h>
+#include <1.5/dom/domP.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * This element defines all the faces used in the brep structure.
+ */
+class domFaces : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FACES; }
+ static daeInt ID() { return 303; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domVcount;
+
+ typedef daeSmartRef<domVcount> domVcountRef;
+ typedef daeTArray<domVcountRef> domVcount_Array;
+
+ class domVcount : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::VCOUNT; }
+ static daeInt ID() { return 304; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domList_of_uints of the value.
+ */
+ domList_of_uints& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domList_of_uints& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domList_of_uints value of the text data of this element.
+ */
+ domList_of_uints _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domVcount(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domVcount() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domVcount &operator=( const domVcount &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+ xsID attrId;
+ xsToken attrName;
+ domUint attrCount;
+
+protected: // Elements
+/**
+ * Two input elements are needed to define a face, one for referencing the
+ * surface and one for referencing the wires themselfs. The third is needed
+ * for the orientation of each wires. @see domInput
+ */
+ domInput_local_offset_Array elemInput_array;
+ domVcountRef elemVcount;
+/**
+ * The indices for referencing the surface and wires for each face. @see domP
+ */
+ domPRef elemP;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the count attribute.
+ * @return Returns a domUint of the count attribute.
+ */
+ domUint getCount() const { return attrCount; }
+ /**
+ * Sets the count attribute.
+ * @param atCount The new value for the count attribute.
+ */
+ void setCount( domUint atCount ) { attrCount = atCount; }
+
+ /**
+ * Gets the input element array.
+ * @return Returns a reference to the array of input elements.
+ */
+ domInput_local_offset_Array &getInput_array() { return elemInput_array; }
+ /**
+ * Gets the input element array.
+ * @return Returns a constant reference to the array of input elements.
+ */
+ const domInput_local_offset_Array &getInput_array() const { return elemInput_array; }
+ /**
+ * Gets the vcount element.
+ * @return a daeSmartRef to the vcount element.
+ */
+ const domVcountRef getVcount() const { return elemVcount; }
+ /**
+ * Gets the p element.
+ * @return a daeSmartRef to the p element.
+ */
+ const domPRef getP() const { return elemP; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domFaces(DAE& dae) : daeElement(dae), attrId(), attrName(), attrCount(), elemInput_array(), elemVcount(), elemP(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFaces() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFaces &operator=( const domFaces &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domFloat_array.h b/1.4.0/dom/include/1.5/dom/domFloat_array.h
new file mode 100644
index 0000000..5df7598
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domFloat_array.h
@@ -0,0 +1,156 @@
+#ifndef __dom150Float_array_h__
+#define __dom150Float_array_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The float_array element declares the storage for a homogenous array of
+ * floating point values.
+ */
+class domFloat_array : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT_ARRAY; }
+ static daeInt ID() { return 9; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+/**
+ * The count attribute indicates the number of values in the array. Required
+ * attribute.
+ */
+ domUint attrCount;
+/**
+ * The digits attribute indicates the number of significant decimal digits
+ * of the float values that can be contained in the array. The default value
+ * is 6. Optional attribute.
+ */
+ domDigits attrDigits;
+/**
+ * The magnitude attribute indicates the largest exponent of the float values
+ * that can be contained in the array. The default value is 38. Optional
+ * attribute.
+ */
+ domMagnitude attrMagnitude;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the count attribute.
+ * @return Returns a domUint of the count attribute.
+ */
+ domUint getCount() const { return attrCount; }
+ /**
+ * Sets the count attribute.
+ * @param atCount The new value for the count attribute.
+ */
+ void setCount( domUint atCount ) { attrCount = atCount; }
+
+ /**
+ * Gets the digits attribute.
+ * @return Returns a domDigits of the digits attribute.
+ */
+ domDigits getDigits() const { return attrDigits; }
+ /**
+ * Sets the digits attribute.
+ * @param atDigits The new value for the digits attribute.
+ */
+ void setDigits( domDigits atDigits ) { attrDigits = atDigits; }
+
+ /**
+ * Gets the magnitude attribute.
+ * @return Returns a domMagnitude of the magnitude attribute.
+ */
+ domMagnitude getMagnitude() const { return attrMagnitude; }
+ /**
+ * Sets the magnitude attribute.
+ * @param atMagnitude The new value for the magnitude attribute.
+ */
+ void setMagnitude( domMagnitude atMagnitude ) { attrMagnitude = atMagnitude; }
+
+ /**
+ * Gets the value of this element.
+ * @return a domList_of_floats of the value.
+ */
+ domList_of_floats& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domList_of_floats& val ) { _value = val; }
+
+protected: // Value
+ /**
+ * The domList_of_floats value of the text data of this element.
+ */
+ domList_of_floats _value;
+protected:
+ /**
+ * Constructor
+ */
+ domFloat_array(DAE& dae) : daeElement(dae), attrId(), attrName(), attrCount(), attrDigits(), attrMagnitude(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat_array() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat_array &operator=( const domFloat_array &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domForce_field.h b/1.4.0/dom/include/1.5/dom/domForce_field.h
new file mode 100644
index 0000000..9c5df51
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domForce_field.h
@@ -0,0 +1,132 @@
+#ifndef __dom150Force_field_h__
+#define __dom150Force_field_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domTechnique.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * A general container for force-fields. At the moment, it only has techniques
+ * and extra elements.
+ */
+class domForce_field : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FORCE_FIELD; }
+ static daeInt ID() { return 295; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+
+protected: // Elements
+/**
+ * The force_field element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * This element must contain at least one non-common profile technique. @see
+ * domTechnique
+ */
+ domTechnique_Array elemTechnique_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a reference to the array of technique elements.
+ */
+ domTechnique_Array &getTechnique_array() { return elemTechnique_array; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a constant reference to the array of technique elements.
+ */
+ const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domForce_field(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemTechnique_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domForce_field() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domForce_field &operator=( const domForce_field &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domFormula.h b/1.4.0/dom/include/1.5/dom/domFormula.h
new file mode 100644
index 0000000..0bd53f7
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domFormula.h
@@ -0,0 +1,129 @@
+#ifndef __dom150Formula_h__
+#define __dom150Formula_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domFormula_newparam.h>
+#include <1.5/dom/domCommon_float_or_param.h>
+#include <1.5/dom/domFormula_technique.h>
+#include <1.5/dom/domTechnique.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domFormula : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FORMULA; }
+ static daeInt ID() { return 478; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+ xsID attrId;
+ xsToken attrName;
+ domSid attrSid;
+
+protected: // Elements
+ domFormula_newparam_Array elemNewparam_array;
+ domCommon_float_or_paramRef elemTarget;
+ domFormula_techniqueRef elemTechnique_common;
+ domTechnique_Array elemTechnique_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the newparam element array.
+ * @return Returns a reference to the array of newparam elements.
+ */
+ domFormula_newparam_Array &getNewparam_array() { return elemNewparam_array; }
+ /**
+ * Gets the newparam element array.
+ * @return Returns a constant reference to the array of newparam elements.
+ */
+ const domFormula_newparam_Array &getNewparam_array() const { return elemNewparam_array; }
+ /**
+ * Gets the target element.
+ * @return a daeSmartRef to the target element.
+ */
+ const domCommon_float_or_paramRef getTarget() const { return elemTarget; }
+ /**
+ * Gets the technique_common element.
+ * @return a daeSmartRef to the technique_common element.
+ */
+ const domFormula_techniqueRef getTechnique_common() const { return elemTechnique_common; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a reference to the array of technique elements.
+ */
+ domTechnique_Array &getTechnique_array() { return elemTechnique_array; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a constant reference to the array of technique elements.
+ */
+ const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domFormula(DAE& dae) : daeElement(dae), attrId(), attrName(), attrSid(), elemNewparam_array(), elemTarget(), elemTechnique_common(), elemTechnique_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFormula() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFormula &operator=( const domFormula &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domFormula_newparam.h b/1.4.0/dom/include/1.5/dom/domFormula_newparam.h
new file mode 100644
index 0000000..59c21c3
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domFormula_newparam.h
@@ -0,0 +1,348 @@
+#ifndef __dom150Formula_newparam_h__
+#define __dom150Formula_newparam_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domFormula_newparam : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FORMULA_NEWPARAM; }
+ static daeInt ID() { return 465; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domFloat;
+
+ typedef daeSmartRef<domFloat> domFloatRef;
+ typedef daeTArray<domFloatRef> domFloat_Array;
+
+ class domFloat : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT; }
+ static daeInt ID() { return 466; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat of the value.
+ */
+ ColladaDOM150::domFloat& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat value of the text data of this element.
+ */
+ ColladaDOM150::domFloat _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat &operator=( const domFloat &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt;
+
+ typedef daeSmartRef<domInt> domIntRef;
+ typedef daeTArray<domIntRef> domInt_Array;
+
+ class domInt : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT; }
+ static daeInt ID() { return 467; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domInt of the value.
+ */
+ ColladaDOM150::domInt& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domInt& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domInt value of the text data of this element.
+ */
+ ColladaDOM150::domInt _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domInt(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt &operator=( const domInt &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domSIDREF;
+
+ typedef daeSmartRef<domSIDREF> domSIDREFRef;
+ typedef daeTArray<domSIDREFRef> domSIDREF_Array;
+
+ class domSIDREF : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SIDREF; }
+ static daeInt ID() { return 468; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a domSidref of the value.
+ */
+ domSidref getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domSidref val ) { *(daeStringRef*)&_value = val; }
+
+ protected: // Value
+ /**
+ * The domSidref value of the text data of this element.
+ */
+ domSidref _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domSIDREF(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSIDREF() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSIDREF &operator=( const domSIDREF &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool;
+
+ typedef daeSmartRef<domBool> domBoolRef;
+ typedef daeTArray<domBoolRef> domBool_Array;
+
+ class domBool : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL; }
+ static daeInt ID() { return 469; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a xsBoolean of the value.
+ */
+ xsBoolean& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const xsBoolean& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The xsBoolean value of the text data of this element.
+ */
+ xsBoolean _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBool(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool &operator=( const domBool &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attribute
+ domSid attrSid;
+
+protected: // Elements
+ domFloatRef elemFloat;
+ domIntRef elemInt;
+ domSIDREFRef elemSIDREF;
+ domBoolRef elemBool;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the float element.
+ * @return a daeSmartRef to the float element.
+ */
+ const domFloatRef getFloat() const { return elemFloat; }
+ /**
+ * Gets the int element.
+ * @return a daeSmartRef to the int element.
+ */
+ const domIntRef getInt() const { return elemInt; }
+ /**
+ * Gets the SIDREF element.
+ * @return a daeSmartRef to the SIDREF element.
+ */
+ const domSIDREFRef getSIDREF() const { return elemSIDREF; }
+ /**
+ * Gets the bool element.
+ * @return a daeSmartRef to the bool element.
+ */
+ const domBoolRef getBool() const { return elemBool; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFormula_newparam(DAE& dae) : daeElement(dae), attrSid(), elemFloat(), elemInt(), elemSIDREF(), elemBool() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFormula_newparam() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFormula_newparam &operator=( const domFormula_newparam &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domFormula_setparam.h b/1.4.0/dom/include/1.5/dom/domFormula_setparam.h
new file mode 100644
index 0000000..7ca210c
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domFormula_setparam.h
@@ -0,0 +1,355 @@
+#ifndef __dom150Formula_setparam_h__
+#define __dom150Formula_setparam_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domKinematics_connect_param.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domFormula_setparam : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FORMULA_SETPARAM; }
+ static daeInt ID() { return 470; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domFloat;
+
+ typedef daeSmartRef<domFloat> domFloatRef;
+ typedef daeTArray<domFloatRef> domFloat_Array;
+
+ class domFloat : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT; }
+ static daeInt ID() { return 471; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat of the value.
+ */
+ ColladaDOM150::domFloat& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat value of the text data of this element.
+ */
+ ColladaDOM150::domFloat _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat &operator=( const domFloat &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt;
+
+ typedef daeSmartRef<domInt> domIntRef;
+ typedef daeTArray<domIntRef> domInt_Array;
+
+ class domInt : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT; }
+ static daeInt ID() { return 472; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domInt of the value.
+ */
+ ColladaDOM150::domInt& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domInt& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domInt value of the text data of this element.
+ */
+ ColladaDOM150::domInt _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domInt(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt &operator=( const domInt &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domSIDREF;
+
+ typedef daeSmartRef<domSIDREF> domSIDREFRef;
+ typedef daeTArray<domSIDREFRef> domSIDREF_Array;
+
+ class domSIDREF : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SIDREF; }
+ static daeInt ID() { return 473; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a domSidref of the value.
+ */
+ domSidref getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domSidref val ) { *(daeStringRef*)&_value = val; }
+
+ protected: // Value
+ /**
+ * The domSidref value of the text data of this element.
+ */
+ domSidref _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domSIDREF(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSIDREF() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSIDREF &operator=( const domSIDREF &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool;
+
+ typedef daeSmartRef<domBool> domBoolRef;
+ typedef daeTArray<domBoolRef> domBool_Array;
+
+ class domBool : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL; }
+ static daeInt ID() { return 474; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a xsBoolean of the value.
+ */
+ xsBoolean& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const xsBoolean& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The xsBoolean value of the text data of this element.
+ */
+ xsBoolean _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBool(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool &operator=( const domBool &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attribute
+ xsToken attrRef;
+
+protected: // Elements
+ domFloatRef elemFloat;
+ domIntRef elemInt;
+ domSIDREFRef elemSIDREF;
+ domBoolRef elemBool;
+ domKinematics_connect_paramRef elemConnect_param;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the ref attribute.
+ * @return Returns a xsToken of the ref attribute.
+ */
+ xsToken getRef() const { return attrRef; }
+ /**
+ * Sets the ref attribute.
+ * @param atRef The new value for the ref attribute.
+ */
+ void setRef( xsToken atRef ) { *(daeStringRef*)&attrRef = atRef;}
+
+ /**
+ * Gets the float element.
+ * @return a daeSmartRef to the float element.
+ */
+ const domFloatRef getFloat() const { return elemFloat; }
+ /**
+ * Gets the int element.
+ * @return a daeSmartRef to the int element.
+ */
+ const domIntRef getInt() const { return elemInt; }
+ /**
+ * Gets the SIDREF element.
+ * @return a daeSmartRef to the SIDREF element.
+ */
+ const domSIDREFRef getSIDREF() const { return elemSIDREF; }
+ /**
+ * Gets the bool element.
+ * @return a daeSmartRef to the bool element.
+ */
+ const domBoolRef getBool() const { return elemBool; }
+ /**
+ * Gets the connect_param element.
+ * @return a daeSmartRef to the connect_param element.
+ */
+ const domKinematics_connect_paramRef getConnect_param() const { return elemConnect_param; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFormula_setparam(DAE& dae) : daeElement(dae), attrRef(), elemFloat(), elemInt(), elemSIDREF(), elemBool(), elemConnect_param() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFormula_setparam() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFormula_setparam &operator=( const domFormula_setparam &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domFormula_technique.h b/1.4.0/dom/include/1.5/dom/domFormula_technique.h
new file mode 100644
index 0000000..84d3a00
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domFormula_technique.h
@@ -0,0 +1,59 @@
+#ifndef __dom150Formula_technique_h__
+#define __dom150Formula_technique_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domFormula_technique : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FORMULA_TECHNIQUE; }
+ static daeInt ID() { return 464; }
+ virtual daeInt typeID() const { return ID(); }
+
+protected: // Element
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+protected:
+ /**
+ * Constructor
+ */
+ domFormula_technique(DAE& dae) : daeElement(dae) {}
+ /**
+ * Destructor
+ */
+ virtual ~domFormula_technique() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFormula_technique &operator=( const domFormula_technique &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domFx_annotate.h b/1.4.0/dom/include/1.5/dom/domFx_annotate.h
new file mode 100644
index 0000000..2453ca0
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domFx_annotate.h
@@ -0,0 +1,1106 @@
+#ifndef __dom150Fx_annotate_h__
+#define __dom150Fx_annotate_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * A group that specifies the allowable types for an annotation.
+ */
+class domFx_annotate : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_ANNOTATE; }
+ static daeInt ID() { return 137; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domBool;
+
+ typedef daeSmartRef<domBool> domBoolRef;
+ typedef daeTArray<domBoolRef> domBool_Array;
+
+ class domBool : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL; }
+ static daeInt ID() { return 138; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a xsBoolean of the value.
+ */
+ xsBoolean& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const xsBoolean& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The xsBoolean value of the text data of this element.
+ */
+ xsBoolean _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBool(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool &operator=( const domBool &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool2;
+
+ typedef daeSmartRef<domBool2> domBool2Ref;
+ typedef daeTArray<domBool2Ref> domBool2_Array;
+
+ class domBool2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL2; }
+ static daeInt ID() { return 139; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domBool2 of the value.
+ */
+ ColladaDOM150::domBool2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domBool2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domBool2 value of the text data of this element.
+ */
+ ColladaDOM150::domBool2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBool2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool2 &operator=( const domBool2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool3;
+
+ typedef daeSmartRef<domBool3> domBool3Ref;
+ typedef daeTArray<domBool3Ref> domBool3_Array;
+
+ class domBool3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL3; }
+ static daeInt ID() { return 140; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domBool3 of the value.
+ */
+ ColladaDOM150::domBool3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domBool3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domBool3 value of the text data of this element.
+ */
+ ColladaDOM150::domBool3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBool3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool3 &operator=( const domBool3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool4;
+
+ typedef daeSmartRef<domBool4> domBool4Ref;
+ typedef daeTArray<domBool4Ref> domBool4_Array;
+
+ class domBool4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL4; }
+ static daeInt ID() { return 141; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domBool4 of the value.
+ */
+ ColladaDOM150::domBool4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domBool4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domBool4 value of the text data of this element.
+ */
+ ColladaDOM150::domBool4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBool4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool4 &operator=( const domBool4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt;
+
+ typedef daeSmartRef<domInt> domIntRef;
+ typedef daeTArray<domIntRef> domInt_Array;
+
+ class domInt : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT; }
+ static daeInt ID() { return 142; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domInt of the value.
+ */
+ ColladaDOM150::domInt& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domInt& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domInt value of the text data of this element.
+ */
+ ColladaDOM150::domInt _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domInt(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt &operator=( const domInt &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt2;
+
+ typedef daeSmartRef<domInt2> domInt2Ref;
+ typedef daeTArray<domInt2Ref> domInt2_Array;
+
+ class domInt2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT2; }
+ static daeInt ID() { return 143; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domInt2 of the value.
+ */
+ ColladaDOM150::domInt2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domInt2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domInt2 value of the text data of this element.
+ */
+ ColladaDOM150::domInt2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domInt2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt2 &operator=( const domInt2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt3;
+
+ typedef daeSmartRef<domInt3> domInt3Ref;
+ typedef daeTArray<domInt3Ref> domInt3_Array;
+
+ class domInt3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT3; }
+ static daeInt ID() { return 144; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domInt3 of the value.
+ */
+ ColladaDOM150::domInt3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domInt3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domInt3 value of the text data of this element.
+ */
+ ColladaDOM150::domInt3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domInt3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt3 &operator=( const domInt3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt4;
+
+ typedef daeSmartRef<domInt4> domInt4Ref;
+ typedef daeTArray<domInt4Ref> domInt4_Array;
+
+ class domInt4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT4; }
+ static daeInt ID() { return 145; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domInt4 of the value.
+ */
+ ColladaDOM150::domInt4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domInt4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domInt4 value of the text data of this element.
+ */
+ ColladaDOM150::domInt4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domInt4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt4 &operator=( const domInt4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat;
+
+ typedef daeSmartRef<domFloat> domFloatRef;
+ typedef daeTArray<domFloatRef> domFloat_Array;
+
+ class domFloat : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT; }
+ static daeInt ID() { return 146; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat of the value.
+ */
+ ColladaDOM150::domFloat& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat value of the text data of this element.
+ */
+ ColladaDOM150::domFloat _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat &operator=( const domFloat &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat2;
+
+ typedef daeSmartRef<domFloat2> domFloat2Ref;
+ typedef daeTArray<domFloat2Ref> domFloat2_Array;
+
+ class domFloat2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2; }
+ static daeInt ID() { return 147; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat2 of the value.
+ */
+ ColladaDOM150::domFloat2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat2 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat2 &operator=( const domFloat2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat3;
+
+ typedef daeSmartRef<domFloat3> domFloat3Ref;
+ typedef daeTArray<domFloat3Ref> domFloat3_Array;
+
+ class domFloat3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3; }
+ static daeInt ID() { return 148; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat3 of the value.
+ */
+ ColladaDOM150::domFloat3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat3 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat3 &operator=( const domFloat3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat4;
+
+ typedef daeSmartRef<domFloat4> domFloat4Ref;
+ typedef daeTArray<domFloat4Ref> domFloat4_Array;
+
+ class domFloat4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4; }
+ static daeInt ID() { return 149; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat4 of the value.
+ */
+ ColladaDOM150::domFloat4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat4 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat4 &operator=( const domFloat4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat2x2;
+
+ typedef daeSmartRef<domFloat2x2> domFloat2x2Ref;
+ typedef daeTArray<domFloat2x2Ref> domFloat2x2_Array;
+
+ class domFloat2x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2X2; }
+ static daeInt ID() { return 150; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat2x2 of the value.
+ */
+ ColladaDOM150::domFloat2x2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat2x2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat2x2 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat2x2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat2x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat2x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat2x2 &operator=( const domFloat2x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat3x3;
+
+ typedef daeSmartRef<domFloat3x3> domFloat3x3Ref;
+ typedef daeTArray<domFloat3x3Ref> domFloat3x3_Array;
+
+ class domFloat3x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3X3; }
+ static daeInt ID() { return 151; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat3x3 of the value.
+ */
+ ColladaDOM150::domFloat3x3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat3x3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat3x3 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat3x3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat3x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat3x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat3x3 &operator=( const domFloat3x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat4x4;
+
+ typedef daeSmartRef<domFloat4x4> domFloat4x4Ref;
+ typedef daeTArray<domFloat4x4Ref> domFloat4x4_Array;
+
+ class domFloat4x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4X4; }
+ static daeInt ID() { return 152; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat4x4 of the value.
+ */
+ ColladaDOM150::domFloat4x4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat4x4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat4x4 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat4x4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat4x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat4x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat4x4 &operator=( const domFloat4x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domString;
+
+ typedef daeSmartRef<domString> domStringRef;
+ typedef daeTArray<domStringRef> domString_Array;
+
+ class domString : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::STRING; }
+ static daeInt ID() { return 153; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a ::xsString of the value.
+ */
+ ::xsString getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( ::xsString val ) { *(daeStringRef*)&_value = val; }
+
+ protected: // Value
+ /**
+ * The ::xsString value of the text data of this element.
+ */
+ ::xsString _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domString(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domString() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domString &operator=( const domString &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+ domBoolRef elemBool;
+ domBool2Ref elemBool2;
+ domBool3Ref elemBool3;
+ domBool4Ref elemBool4;
+ domIntRef elemInt;
+ domInt2Ref elemInt2;
+ domInt3Ref elemInt3;
+ domInt4Ref elemInt4;
+ domFloatRef elemFloat;
+ domFloat2Ref elemFloat2;
+ domFloat3Ref elemFloat3;
+ domFloat4Ref elemFloat4;
+ domFloat2x2Ref elemFloat2x2;
+ domFloat3x3Ref elemFloat3x3;
+ domFloat4x4Ref elemFloat4x4;
+ domStringRef elemString;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the bool element.
+ * @return a daeSmartRef to the bool element.
+ */
+ const domBoolRef getBool() const { return elemBool; }
+ /**
+ * Gets the bool2 element.
+ * @return a daeSmartRef to the bool2 element.
+ */
+ const domBool2Ref getBool2() const { return elemBool2; }
+ /**
+ * Gets the bool3 element.
+ * @return a daeSmartRef to the bool3 element.
+ */
+ const domBool3Ref getBool3() const { return elemBool3; }
+ /**
+ * Gets the bool4 element.
+ * @return a daeSmartRef to the bool4 element.
+ */
+ const domBool4Ref getBool4() const { return elemBool4; }
+ /**
+ * Gets the int element.
+ * @return a daeSmartRef to the int element.
+ */
+ const domIntRef getInt() const { return elemInt; }
+ /**
+ * Gets the int2 element.
+ * @return a daeSmartRef to the int2 element.
+ */
+ const domInt2Ref getInt2() const { return elemInt2; }
+ /**
+ * Gets the int3 element.
+ * @return a daeSmartRef to the int3 element.
+ */
+ const domInt3Ref getInt3() const { return elemInt3; }
+ /**
+ * Gets the int4 element.
+ * @return a daeSmartRef to the int4 element.
+ */
+ const domInt4Ref getInt4() const { return elemInt4; }
+ /**
+ * Gets the float element.
+ * @return a daeSmartRef to the float element.
+ */
+ const domFloatRef getFloat() const { return elemFloat; }
+ /**
+ * Gets the float2 element.
+ * @return a daeSmartRef to the float2 element.
+ */
+ const domFloat2Ref getFloat2() const { return elemFloat2; }
+ /**
+ * Gets the float3 element.
+ * @return a daeSmartRef to the float3 element.
+ */
+ const domFloat3Ref getFloat3() const { return elemFloat3; }
+ /**
+ * Gets the float4 element.
+ * @return a daeSmartRef to the float4 element.
+ */
+ const domFloat4Ref getFloat4() const { return elemFloat4; }
+ /**
+ * Gets the float2x2 element.
+ * @return a daeSmartRef to the float2x2 element.
+ */
+ const domFloat2x2Ref getFloat2x2() const { return elemFloat2x2; }
+ /**
+ * Gets the float3x3 element.
+ * @return a daeSmartRef to the float3x3 element.
+ */
+ const domFloat3x3Ref getFloat3x3() const { return elemFloat3x3; }
+ /**
+ * Gets the float4x4 element.
+ * @return a daeSmartRef to the float4x4 element.
+ */
+ const domFloat4x4Ref getFloat4x4() const { return elemFloat4x4; }
+ /**
+ * Gets the string element.
+ * @return a daeSmartRef to the string element.
+ */
+ const domStringRef getString() const { return elemString; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_annotate(DAE& dae) : daeElement(dae), elemBool(), elemBool2(), elemBool3(), elemBool4(), elemInt(), elemInt2(), elemInt3(), elemInt4(), elemFloat(), elemFloat2(), elemFloat3(), elemFloat4(), elemFloat2x2(), elemFloat3x3(), elemFloat4x4(), elemString() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_annotate() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_annotate &operator=( const domFx_annotate &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domFx_clearcolor.h b/1.4.0/dom/include/1.5/dom/domFx_clearcolor.h
new file mode 100644
index 0000000..834126d
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domFx_clearcolor.h
@@ -0,0 +1,80 @@
+#ifndef __dom150Fx_clearcolor_h__
+#define __dom150Fx_clearcolor_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domFx_clearcolor : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_CLEARCOLOR; }
+ static daeInt ID() { return 134; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attribute
+ xsNonNegativeInteger attrIndex;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the index attribute.
+ * @return Returns a xsNonNegativeInteger of the index attribute.
+ */
+ xsNonNegativeInteger getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( xsNonNegativeInteger atIndex ) { attrIndex = atIndex; }
+
+ /**
+ * Gets the value of this element.
+ * @return a domFx_color of the value.
+ */
+ domFx_color& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFx_color& val ) { _value = val; }
+
+protected: // Value
+ /**
+ * The domFx_color value of the text data of this element.
+ */
+ domFx_color _value;
+protected:
+ /**
+ * Constructor
+ */
+ domFx_clearcolor(DAE& dae) : daeElement(dae), attrIndex(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_clearcolor() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_clearcolor &operator=( const domFx_clearcolor &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domFx_cleardepth.h b/1.4.0/dom/include/1.5/dom/domFx_cleardepth.h
new file mode 100644
index 0000000..b7bb6f3
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domFx_cleardepth.h
@@ -0,0 +1,80 @@
+#ifndef __dom150Fx_cleardepth_h__
+#define __dom150Fx_cleardepth_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domFx_cleardepth : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_CLEARDEPTH; }
+ static daeInt ID() { return 135; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attribute
+ xsNonNegativeInteger attrIndex;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the index attribute.
+ * @return Returns a xsNonNegativeInteger of the index attribute.
+ */
+ xsNonNegativeInteger getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( xsNonNegativeInteger atIndex ) { attrIndex = atIndex; }
+
+ /**
+ * Gets the value of this element.
+ * @return a domFloat of the value.
+ */
+ domFloat& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFloat& val ) { _value = val; }
+
+protected: // Value
+ /**
+ * The domFloat value of the text data of this element.
+ */
+ domFloat _value;
+protected:
+ /**
+ * Constructor
+ */
+ domFx_cleardepth(DAE& dae) : daeElement(dae), attrIndex(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_cleardepth() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_cleardepth &operator=( const domFx_cleardepth &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domFx_clearstencil.h b/1.4.0/dom/include/1.5/dom/domFx_clearstencil.h
new file mode 100644
index 0000000..de9a4dd
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domFx_clearstencil.h
@@ -0,0 +1,80 @@
+#ifndef __dom150Fx_clearstencil_h__
+#define __dom150Fx_clearstencil_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domFx_clearstencil : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_CLEARSTENCIL; }
+ static daeInt ID() { return 136; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attribute
+ xsNonNegativeInteger attrIndex;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the index attribute.
+ * @return Returns a xsNonNegativeInteger of the index attribute.
+ */
+ xsNonNegativeInteger getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( xsNonNegativeInteger atIndex ) { attrIndex = atIndex; }
+
+ /**
+ * Gets the value of this element.
+ * @return a xsByte of the value.
+ */
+ xsByte& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const xsByte& val ) { _value = val; }
+
+protected: // Value
+ /**
+ * The xsByte value of the text data of this element.
+ */
+ xsByte _value;
+protected:
+ /**
+ * Constructor
+ */
+ domFx_clearstencil(DAE& dae) : daeElement(dae), attrIndex(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_clearstencil() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_clearstencil &operator=( const domFx_clearstencil &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domFx_code.h b/1.4.0/dom/include/1.5/dom/domFx_code.h
new file mode 100644
index 0000000..7449159
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domFx_code.h
@@ -0,0 +1,89 @@
+#ifndef __dom150Fx_code_h__
+#define __dom150Fx_code_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The fx_code_common type allows you to specify an inline block of source
+ * code.
+ */
+class domFx_code : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_CODE; }
+ static daeInt ID() { return 181; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attribute
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ domSid attrSid;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsString of the value.
+ */
+ xsString getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsString val ) { *(daeStringRef*)&_value = val; }
+
+protected: // Value
+ /**
+ * The xsString value of the text data of this element.
+ */
+ xsString _value;
+protected:
+ /**
+ * Constructor
+ */
+ domFx_code(DAE& dae) : daeElement(dae), attrSid(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_code() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_code &operator=( const domFx_code &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domFx_colortarget.h b/1.4.0/dom/include/1.5/dom/domFx_colortarget.h
new file mode 100644
index 0000000..9871062
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domFx_colortarget.h
@@ -0,0 +1,50 @@
+#ifndef __dom150Fx_colortarget_h__
+#define __dom150Fx_colortarget_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domFx_rendertarget.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domFx_colortarget : public domFx_rendertarget
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_COLORTARGET; }
+ static daeInt ID() { return 131; }
+ virtual daeInt typeID() const { return ID(); }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_colortarget(DAE& dae) : domFx_rendertarget(dae) {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_colortarget() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_colortarget &operator=( const domFx_colortarget &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domFx_common_color_or_texture.h b/1.4.0/dom/include/1.5/dom/domFx_common_color_or_texture.h
new file mode 100644
index 0000000..0707f0a
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domFx_common_color_or_texture.h
@@ -0,0 +1,303 @@
+#ifndef __dom150Fx_common_color_or_texture_h__
+#define __dom150Fx_common_color_or_texture_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domFx_common_color_or_texture : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_COMMON_COLOR_OR_TEXTURE; }
+ static daeInt ID() { return 192; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domColor;
+
+ typedef daeSmartRef<domColor> domColorRef;
+ typedef daeTArray<domColorRef> domColor_Array;
+
+ class domColor : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COLOR; }
+ static daeInt ID() { return 193; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+ domSid attrSid;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the value of this element.
+ * @return a domFx_color of the value.
+ */
+ domFx_color& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFx_color& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFx_color value of the text data of this element.
+ */
+ domFx_color _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domColor(DAE& dae) : daeElement(dae), attrSid(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domColor() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domColor &operator=( const domColor &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domParam;
+
+ typedef daeSmartRef<domParam> domParamRef;
+ typedef daeTArray<domParamRef> domParam_Array;
+
+ class domParam : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PARAM; }
+ static daeInt ID() { return 194; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+ xsNCName attrRef;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the ref attribute.
+ * @return Returns a xsNCName of the ref attribute.
+ */
+ xsNCName getRef() const { return attrRef; }
+ /**
+ * Sets the ref attribute.
+ * @param atRef The new value for the ref attribute.
+ */
+ void setRef( xsNCName atRef ) { *(daeStringRef*)&attrRef = atRef; _validAttributeArray[0] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domParam(DAE& dae) : daeElement(dae), attrRef() {}
+ /**
+ * Destructor
+ */
+ virtual ~domParam() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domParam &operator=( const domParam &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domTexture;
+
+ typedef daeSmartRef<domTexture> domTextureRef;
+ typedef daeTArray<domTextureRef> domTexture_Array;
+
+ class domTexture : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TEXTURE; }
+ static daeInt ID() { return 195; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsNCName attrTexture;
+ xsNCName attrTexcoord;
+
+ protected: // Element
+ domExtra_Array elemExtra_array;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the texture attribute.
+ * @return Returns a xsNCName of the texture attribute.
+ */
+ xsNCName getTexture() const { return attrTexture; }
+ /**
+ * Sets the texture attribute.
+ * @param atTexture The new value for the texture attribute.
+ */
+ void setTexture( xsNCName atTexture ) { *(daeStringRef*)&attrTexture = atTexture; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the texcoord attribute.
+ * @return Returns a xsNCName of the texcoord attribute.
+ */
+ xsNCName getTexcoord() const { return attrTexcoord; }
+ /**
+ * Sets the texcoord attribute.
+ * @param atTexcoord The new value for the texcoord attribute.
+ */
+ void setTexcoord( xsNCName atTexcoord ) { *(daeStringRef*)&attrTexcoord = atTexcoord; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ protected:
+ /**
+ * Constructor
+ */
+ domTexture(DAE& dae) : daeElement(dae), attrTexture(), attrTexcoord(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTexture() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTexture &operator=( const domTexture &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+ domColorRef elemColor;
+ domParamRef elemParam;
+ domTextureRef elemTexture;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the color element.
+ * @return a daeSmartRef to the color element.
+ */
+ const domColorRef getColor() const { return elemColor; }
+ /**
+ * Gets the param element.
+ * @return a daeSmartRef to the param element.
+ */
+ const domParamRef getParam() const { return elemParam; }
+ /**
+ * Gets the texture element.
+ * @return a daeSmartRef to the texture element.
+ */
+ const domTextureRef getTexture() const { return elemTexture; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_common_color_or_texture(DAE& dae) : daeElement(dae), elemColor(), elemParam(), elemTexture() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_common_color_or_texture() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_common_color_or_texture &operator=( const domFx_common_color_or_texture &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domFx_common_float_or_param.h b/1.4.0/dom/include/1.5/dom/domFx_common_float_or_param.h
new file mode 100644
index 0000000..8fdcd4f
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domFx_common_float_or_param.h
@@ -0,0 +1,217 @@
+#ifndef __dom150Fx_common_float_or_param_h__
+#define __dom150Fx_common_float_or_param_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domFx_common_float_or_param : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_COMMON_FLOAT_OR_PARAM; }
+ static daeInt ID() { return 189; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domFloat;
+
+ typedef daeSmartRef<domFloat> domFloatRef;
+ typedef daeTArray<domFloatRef> domFloat_Array;
+
+ class domFloat : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT; }
+ static daeInt ID() { return 190; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+ domSid attrSid;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat of the value.
+ */
+ ColladaDOM150::domFloat& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat value of the text data of this element.
+ */
+ ColladaDOM150::domFloat _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat(DAE& dae) : daeElement(dae), attrSid(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat &operator=( const domFloat &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domParam;
+
+ typedef daeSmartRef<domParam> domParamRef;
+ typedef daeTArray<domParamRef> domParam_Array;
+
+ class domParam : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PARAM; }
+ static daeInt ID() { return 191; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+ xsNCName attrRef;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the ref attribute.
+ * @return Returns a xsNCName of the ref attribute.
+ */
+ xsNCName getRef() const { return attrRef; }
+ /**
+ * Sets the ref attribute.
+ * @param atRef The new value for the ref attribute.
+ */
+ void setRef( xsNCName atRef ) { *(daeStringRef*)&attrRef = atRef; _validAttributeArray[0] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domParam(DAE& dae) : daeElement(dae), attrRef() {}
+ /**
+ * Destructor
+ */
+ virtual ~domParam() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domParam &operator=( const domParam &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+ domFloatRef elemFloat;
+ domParamRef elemParam;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the float element.
+ * @return a daeSmartRef to the float element.
+ */
+ const domFloatRef getFloat() const { return elemFloat; }
+ /**
+ * Gets the param element.
+ * @return a daeSmartRef to the param element.
+ */
+ const domParamRef getParam() const { return elemParam; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_common_float_or_param(DAE& dae) : daeElement(dae), elemFloat(), elemParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_common_float_or_param() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_common_float_or_param &operator=( const domFx_common_float_or_param &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domFx_common_newparam.h b/1.4.0/dom/include/1.5/dom/domFx_common_newparam.h
new file mode 100644
index 0000000..847b533
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domFx_common_newparam.h
@@ -0,0 +1,424 @@
+#ifndef __dom150Fx_common_newparam_h__
+#define __dom150Fx_common_newparam_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domFx_sampler2D.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domFx_common_newparam : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_COMMON_NEWPARAM; }
+ static daeInt ID() { return 197; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domSemantic;
+
+ typedef daeSmartRef<domSemantic> domSemanticRef;
+ typedef daeTArray<domSemanticRef> domSemantic_Array;
+
+ class domSemantic : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SEMANTIC; }
+ static daeInt ID() { return 198; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsNCName of the value.
+ */
+ xsNCName getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; }
+
+ protected: // Value
+ /**
+ * The xsNCName value of the text data of this element.
+ */
+ xsNCName _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domSemantic(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSemantic() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSemantic &operator=( const domSemantic &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat;
+
+ typedef daeSmartRef<domFloat> domFloatRef;
+ typedef daeTArray<domFloatRef> domFloat_Array;
+
+ class domFloat : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT; }
+ static daeInt ID() { return 199; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat of the value.
+ */
+ ColladaDOM150::domFloat& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat value of the text data of this element.
+ */
+ ColladaDOM150::domFloat _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat &operator=( const domFloat &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat2;
+
+ typedef daeSmartRef<domFloat2> domFloat2Ref;
+ typedef daeTArray<domFloat2Ref> domFloat2_Array;
+
+ class domFloat2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2; }
+ static daeInt ID() { return 200; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat2 of the value.
+ */
+ ColladaDOM150::domFloat2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat2 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat2 &operator=( const domFloat2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat3;
+
+ typedef daeSmartRef<domFloat3> domFloat3Ref;
+ typedef daeTArray<domFloat3Ref> domFloat3_Array;
+
+ class domFloat3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3; }
+ static daeInt ID() { return 201; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat3 of the value.
+ */
+ ColladaDOM150::domFloat3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat3 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat3 &operator=( const domFloat3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat4;
+
+ typedef daeSmartRef<domFloat4> domFloat4Ref;
+ typedef daeTArray<domFloat4Ref> domFloat4_Array;
+
+ class domFloat4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4; }
+ static daeInt ID() { return 202; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat4 of the value.
+ */
+ ColladaDOM150::domFloat4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat4 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat4 &operator=( const domFloat4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attribute
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ domSid attrSid;
+
+protected: // Elements
+ domSemanticRef elemSemantic;
+ domFloatRef elemFloat;
+ domFloat2Ref elemFloat2;
+ domFloat3Ref elemFloat3;
+ domFloat4Ref elemFloat4;
+ domFx_sampler2DRef elemSampler2D;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the semantic element.
+ * @return a daeSmartRef to the semantic element.
+ */
+ const domSemanticRef getSemantic() const { return elemSemantic; }
+ /**
+ * Gets the float element.
+ * @return a daeSmartRef to the float element.
+ */
+ const domFloatRef getFloat() const { return elemFloat; }
+ /**
+ * Gets the float2 element.
+ * @return a daeSmartRef to the float2 element.
+ */
+ const domFloat2Ref getFloat2() const { return elemFloat2; }
+ /**
+ * Gets the float3 element.
+ * @return a daeSmartRef to the float3 element.
+ */
+ const domFloat3Ref getFloat3() const { return elemFloat3; }
+ /**
+ * Gets the float4 element.
+ * @return a daeSmartRef to the float4 element.
+ */
+ const domFloat4Ref getFloat4() const { return elemFloat4; }
+ /**
+ * Gets the sampler2D element.
+ * @return a daeSmartRef to the sampler2D element.
+ */
+ const domFx_sampler2DRef getSampler2D() const { return elemSampler2D; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_common_newparam(DAE& dae) : daeElement(dae), attrSid(), elemSemantic(), elemFloat(), elemFloat2(), elemFloat3(), elemFloat4(), elemSampler2D() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_common_newparam() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_common_newparam &operator=( const domFx_common_newparam &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domFx_common_transparent.h b/1.4.0/dom/include/1.5/dom/domFx_common_transparent.h
new file mode 100644
index 0000000..6e4bca9
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domFx_common_transparent.h
@@ -0,0 +1,65 @@
+#ifndef __dom150Fx_common_transparent_h__
+#define __dom150Fx_common_transparent_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domFx_common_color_or_texture.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domFx_common_transparent : public domFx_common_color_or_texture
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_COMMON_TRANSPARENT; }
+ static daeInt ID() { return 196; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attribute
+ domFx_opaque attrOpaque;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the opaque attribute.
+ * @return Returns a domFx_opaque of the opaque attribute.
+ */
+ domFx_opaque getOpaque() const { return attrOpaque; }
+ /**
+ * Sets the opaque attribute.
+ * @param atOpaque The new value for the opaque attribute.
+ */
+ void setOpaque( domFx_opaque atOpaque ) { attrOpaque = atOpaque; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_common_transparent(DAE& dae) : domFx_common_color_or_texture(dae), attrOpaque() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_common_transparent() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_common_transparent &operator=( const domFx_common_transparent &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domFx_depthtarget.h b/1.4.0/dom/include/1.5/dom/domFx_depthtarget.h
new file mode 100644
index 0000000..0a35d15
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domFx_depthtarget.h
@@ -0,0 +1,50 @@
+#ifndef __dom150Fx_depthtarget_h__
+#define __dom150Fx_depthtarget_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domFx_rendertarget.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domFx_depthtarget : public domFx_rendertarget
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_DEPTHTARGET; }
+ static daeInt ID() { return 132; }
+ virtual daeInt typeID() const { return ID(); }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_depthtarget(DAE& dae) : domFx_rendertarget(dae) {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_depthtarget() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_depthtarget &operator=( const domFx_depthtarget &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domFx_include.h b/1.4.0/dom/include/1.5/dom/domFx_include.h
new file mode 100644
index 0000000..a253b0e
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domFx_include.h
@@ -0,0 +1,101 @@
+#ifndef __dom150Fx_include_h__
+#define __dom150Fx_include_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The include element is used to import source code or precompiled binary
+ * shaders into the FX Runtime by referencing an external resource.
+ */
+class domFx_include : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_INCLUDE; }
+ static daeInt ID() { return 180; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ domSid attrSid;
+/**
+ * The url attribute refers to resource. This may refer to a local resource
+ * using a relative URL fragment identifier that begins with the "#" character.
+ * The url attribute may refer to an external resource using an absolute
+ * or relative URL.
+ */
+ xsAnyURI attrUrl;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the url attribute.
+ * @return Returns a xsAnyURI reference of the url attribute.
+ */
+ xsAnyURI &getUrl() { return attrUrl; }
+ /**
+ * Gets the url attribute.
+ * @return Returns a constant xsAnyURI reference of the url attribute.
+ */
+ const xsAnyURI &getUrl() const { return attrUrl; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( const xsAnyURI &atUrl ) { attrUrl = atUrl; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( xsString atUrl ) { attrUrl = atUrl; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_include(DAE& dae) : daeElement(dae), attrSid(), attrUrl(dae, *this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_include() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_include &operator=( const domFx_include &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domFx_newparam.h b/1.4.0/dom/include/1.5/dom/domFx_newparam.h
new file mode 100644
index 0000000..000d8fb
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domFx_newparam.h
@@ -0,0 +1,1724 @@
+#ifndef __dom150Fx_newparam_h__
+#define __dom150Fx_newparam_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domFx_sampler1D.h>
+#include <1.5/dom/domFx_sampler2D.h>
+#include <1.5/dom/domFx_sampler3D.h>
+#include <1.5/dom/domFx_samplerCUBE.h>
+#include <1.5/dom/domFx_samplerRECT.h>
+#include <1.5/dom/domFx_samplerDEPTH.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * A group that specifies the allowable types for effect scoped parameters.
+ */
+class domFx_newparam : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_NEWPARAM; }
+ static daeInt ID() { return 154; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domBool;
+
+ typedef daeSmartRef<domBool> domBoolRef;
+ typedef daeTArray<domBoolRef> domBool_Array;
+
+ class domBool : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL; }
+ static daeInt ID() { return 155; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a xsBoolean of the value.
+ */
+ xsBoolean& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const xsBoolean& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The xsBoolean value of the text data of this element.
+ */
+ xsBoolean _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBool(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool &operator=( const domBool &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool2;
+
+ typedef daeSmartRef<domBool2> domBool2Ref;
+ typedef daeTArray<domBool2Ref> domBool2_Array;
+
+ class domBool2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL2; }
+ static daeInt ID() { return 156; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domBool2 of the value.
+ */
+ ColladaDOM150::domBool2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domBool2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domBool2 value of the text data of this element.
+ */
+ ColladaDOM150::domBool2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBool2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool2 &operator=( const domBool2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool3;
+
+ typedef daeSmartRef<domBool3> domBool3Ref;
+ typedef daeTArray<domBool3Ref> domBool3_Array;
+
+ class domBool3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL3; }
+ static daeInt ID() { return 157; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domBool3 of the value.
+ */
+ ColladaDOM150::domBool3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domBool3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domBool3 value of the text data of this element.
+ */
+ ColladaDOM150::domBool3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBool3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool3 &operator=( const domBool3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool4;
+
+ typedef daeSmartRef<domBool4> domBool4Ref;
+ typedef daeTArray<domBool4Ref> domBool4_Array;
+
+ class domBool4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL4; }
+ static daeInt ID() { return 158; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domBool4 of the value.
+ */
+ ColladaDOM150::domBool4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domBool4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domBool4 value of the text data of this element.
+ */
+ ColladaDOM150::domBool4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBool4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool4 &operator=( const domBool4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt;
+
+ typedef daeSmartRef<domInt> domIntRef;
+ typedef daeTArray<domIntRef> domInt_Array;
+
+ class domInt : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT; }
+ static daeInt ID() { return 159; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domInt of the value.
+ */
+ ColladaDOM150::domInt& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domInt& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domInt value of the text data of this element.
+ */
+ ColladaDOM150::domInt _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domInt(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt &operator=( const domInt &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt2;
+
+ typedef daeSmartRef<domInt2> domInt2Ref;
+ typedef daeTArray<domInt2Ref> domInt2_Array;
+
+ class domInt2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT2; }
+ static daeInt ID() { return 160; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domInt2 of the value.
+ */
+ ColladaDOM150::domInt2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domInt2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domInt2 value of the text data of this element.
+ */
+ ColladaDOM150::domInt2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domInt2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt2 &operator=( const domInt2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt3;
+
+ typedef daeSmartRef<domInt3> domInt3Ref;
+ typedef daeTArray<domInt3Ref> domInt3_Array;
+
+ class domInt3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT3; }
+ static daeInt ID() { return 161; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domInt3 of the value.
+ */
+ ColladaDOM150::domInt3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domInt3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domInt3 value of the text data of this element.
+ */
+ ColladaDOM150::domInt3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domInt3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt3 &operator=( const domInt3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt4;
+
+ typedef daeSmartRef<domInt4> domInt4Ref;
+ typedef daeTArray<domInt4Ref> domInt4_Array;
+
+ class domInt4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT4; }
+ static daeInt ID() { return 162; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domInt4 of the value.
+ */
+ ColladaDOM150::domInt4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domInt4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domInt4 value of the text data of this element.
+ */
+ ColladaDOM150::domInt4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domInt4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt4 &operator=( const domInt4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat;
+
+ typedef daeSmartRef<domFloat> domFloatRef;
+ typedef daeTArray<domFloatRef> domFloat_Array;
+
+ class domFloat : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT; }
+ static daeInt ID() { return 163; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat of the value.
+ */
+ ColladaDOM150::domFloat& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat value of the text data of this element.
+ */
+ ColladaDOM150::domFloat _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat &operator=( const domFloat &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat2;
+
+ typedef daeSmartRef<domFloat2> domFloat2Ref;
+ typedef daeTArray<domFloat2Ref> domFloat2_Array;
+
+ class domFloat2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2; }
+ static daeInt ID() { return 164; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat2 of the value.
+ */
+ ColladaDOM150::domFloat2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat2 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat2 &operator=( const domFloat2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat3;
+
+ typedef daeSmartRef<domFloat3> domFloat3Ref;
+ typedef daeTArray<domFloat3Ref> domFloat3_Array;
+
+ class domFloat3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3; }
+ static daeInt ID() { return 165; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat3 of the value.
+ */
+ ColladaDOM150::domFloat3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat3 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat3 &operator=( const domFloat3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat4;
+
+ typedef daeSmartRef<domFloat4> domFloat4Ref;
+ typedef daeTArray<domFloat4Ref> domFloat4_Array;
+
+ class domFloat4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4; }
+ static daeInt ID() { return 166; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat4 of the value.
+ */
+ ColladaDOM150::domFloat4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat4 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat4 &operator=( const domFloat4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat2x1;
+
+ typedef daeSmartRef<domFloat2x1> domFloat2x1Ref;
+ typedef daeTArray<domFloat2x1Ref> domFloat2x1_Array;
+
+ class domFloat2x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2X1; }
+ static daeInt ID() { return 167; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat2 of the value.
+ */
+ ColladaDOM150::domFloat2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat2 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat2x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat2x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat2x1 &operator=( const domFloat2x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat2x2;
+
+ typedef daeSmartRef<domFloat2x2> domFloat2x2Ref;
+ typedef daeTArray<domFloat2x2Ref> domFloat2x2_Array;
+
+ class domFloat2x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2X2; }
+ static daeInt ID() { return 168; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat2x2 of the value.
+ */
+ ColladaDOM150::domFloat2x2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat2x2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat2x2 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat2x2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat2x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat2x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat2x2 &operator=( const domFloat2x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat2x3;
+
+ typedef daeSmartRef<domFloat2x3> domFloat2x3Ref;
+ typedef daeTArray<domFloat2x3Ref> domFloat2x3_Array;
+
+ class domFloat2x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2X3; }
+ static daeInt ID() { return 169; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat2x3 of the value.
+ */
+ ColladaDOM150::domFloat2x3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat2x3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat2x3 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat2x3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat2x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat2x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat2x3 &operator=( const domFloat2x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat2x4;
+
+ typedef daeSmartRef<domFloat2x4> domFloat2x4Ref;
+ typedef daeTArray<domFloat2x4Ref> domFloat2x4_Array;
+
+ class domFloat2x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2X4; }
+ static daeInt ID() { return 170; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat2x4 of the value.
+ */
+ ColladaDOM150::domFloat2x4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat2x4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat2x4 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat2x4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat2x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat2x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat2x4 &operator=( const domFloat2x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat3x1;
+
+ typedef daeSmartRef<domFloat3x1> domFloat3x1Ref;
+ typedef daeTArray<domFloat3x1Ref> domFloat3x1_Array;
+
+ class domFloat3x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3X1; }
+ static daeInt ID() { return 171; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat3 of the value.
+ */
+ ColladaDOM150::domFloat3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat3 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat3x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat3x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat3x1 &operator=( const domFloat3x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat3x2;
+
+ typedef daeSmartRef<domFloat3x2> domFloat3x2Ref;
+ typedef daeTArray<domFloat3x2Ref> domFloat3x2_Array;
+
+ class domFloat3x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3X2; }
+ static daeInt ID() { return 172; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat3x2 of the value.
+ */
+ ColladaDOM150::domFloat3x2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat3x2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat3x2 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat3x2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat3x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat3x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat3x2 &operator=( const domFloat3x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat3x3;
+
+ typedef daeSmartRef<domFloat3x3> domFloat3x3Ref;
+ typedef daeTArray<domFloat3x3Ref> domFloat3x3_Array;
+
+ class domFloat3x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3X3; }
+ static daeInt ID() { return 173; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat3x3 of the value.
+ */
+ ColladaDOM150::domFloat3x3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat3x3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat3x3 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat3x3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat3x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat3x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat3x3 &operator=( const domFloat3x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat3x4;
+
+ typedef daeSmartRef<domFloat3x4> domFloat3x4Ref;
+ typedef daeTArray<domFloat3x4Ref> domFloat3x4_Array;
+
+ class domFloat3x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3X4; }
+ static daeInt ID() { return 174; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat3x4 of the value.
+ */
+ ColladaDOM150::domFloat3x4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat3x4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat3x4 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat3x4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat3x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat3x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat3x4 &operator=( const domFloat3x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat4x1;
+
+ typedef daeSmartRef<domFloat4x1> domFloat4x1Ref;
+ typedef daeTArray<domFloat4x1Ref> domFloat4x1_Array;
+
+ class domFloat4x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4X1; }
+ static daeInt ID() { return 175; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat4 of the value.
+ */
+ ColladaDOM150::domFloat4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat4 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat4x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat4x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat4x1 &operator=( const domFloat4x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat4x2;
+
+ typedef daeSmartRef<domFloat4x2> domFloat4x2Ref;
+ typedef daeTArray<domFloat4x2Ref> domFloat4x2_Array;
+
+ class domFloat4x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4X2; }
+ static daeInt ID() { return 176; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat4x2 of the value.
+ */
+ ColladaDOM150::domFloat4x2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat4x2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat4x2 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat4x2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat4x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat4x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat4x2 &operator=( const domFloat4x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat4x3;
+
+ typedef daeSmartRef<domFloat4x3> domFloat4x3Ref;
+ typedef daeTArray<domFloat4x3Ref> domFloat4x3_Array;
+
+ class domFloat4x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4X3; }
+ static daeInt ID() { return 177; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat4x3 of the value.
+ */
+ ColladaDOM150::domFloat4x3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat4x3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat4x3 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat4x3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat4x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat4x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat4x3 &operator=( const domFloat4x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat4x4;
+
+ typedef daeSmartRef<domFloat4x4> domFloat4x4Ref;
+ typedef daeTArray<domFloat4x4Ref> domFloat4x4_Array;
+
+ class domFloat4x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4X4; }
+ static daeInt ID() { return 178; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat4x4 of the value.
+ */
+ ColladaDOM150::domFloat4x4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat4x4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat4x4 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat4x4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat4x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat4x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat4x4 &operator=( const domFloat4x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domEnum;
+
+ typedef daeSmartRef<domEnum> domEnumRef;
+ typedef daeTArray<domEnumRef> domEnum_Array;
+
+ class domEnum : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ENUM; }
+ static daeInt ID() { return 179; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsString of the value.
+ */
+ xsString getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsString val ) { *(daeStringRef*)&_value = val; }
+
+ protected: // Value
+ /**
+ * The xsString value of the text data of this element.
+ */
+ xsString _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domEnum(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domEnum() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domEnum &operator=( const domEnum &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+ domBoolRef elemBool;
+ domBool2Ref elemBool2;
+ domBool3Ref elemBool3;
+ domBool4Ref elemBool4;
+ domIntRef elemInt;
+ domInt2Ref elemInt2;
+ domInt3Ref elemInt3;
+ domInt4Ref elemInt4;
+ domFloatRef elemFloat;
+ domFloat2Ref elemFloat2;
+ domFloat3Ref elemFloat3;
+ domFloat4Ref elemFloat4;
+ domFloat2x1Ref elemFloat2x1;
+ domFloat2x2Ref elemFloat2x2;
+ domFloat2x3Ref elemFloat2x3;
+ domFloat2x4Ref elemFloat2x4;
+ domFloat3x1Ref elemFloat3x1;
+ domFloat3x2Ref elemFloat3x2;
+ domFloat3x3Ref elemFloat3x3;
+ domFloat3x4Ref elemFloat3x4;
+ domFloat4x1Ref elemFloat4x1;
+ domFloat4x2Ref elemFloat4x2;
+ domFloat4x3Ref elemFloat4x3;
+ domFloat4x4Ref elemFloat4x4;
+ domFx_sampler1DRef elemSampler1D;
+ domFx_sampler2DRef elemSampler2D;
+ domFx_sampler3DRef elemSampler3D;
+ domFx_samplerCUBERef elemSamplerCUBE;
+ domFx_samplerRECTRef elemSamplerRECT;
+ domFx_samplerDEPTHRef elemSamplerDEPTH;
+ domEnumRef elemEnum;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the bool element.
+ * @return a daeSmartRef to the bool element.
+ */
+ const domBoolRef getBool() const { return elemBool; }
+ /**
+ * Gets the bool2 element.
+ * @return a daeSmartRef to the bool2 element.
+ */
+ const domBool2Ref getBool2() const { return elemBool2; }
+ /**
+ * Gets the bool3 element.
+ * @return a daeSmartRef to the bool3 element.
+ */
+ const domBool3Ref getBool3() const { return elemBool3; }
+ /**
+ * Gets the bool4 element.
+ * @return a daeSmartRef to the bool4 element.
+ */
+ const domBool4Ref getBool4() const { return elemBool4; }
+ /**
+ * Gets the int element.
+ * @return a daeSmartRef to the int element.
+ */
+ const domIntRef getInt() const { return elemInt; }
+ /**
+ * Gets the int2 element.
+ * @return a daeSmartRef to the int2 element.
+ */
+ const domInt2Ref getInt2() const { return elemInt2; }
+ /**
+ * Gets the int3 element.
+ * @return a daeSmartRef to the int3 element.
+ */
+ const domInt3Ref getInt3() const { return elemInt3; }
+ /**
+ * Gets the int4 element.
+ * @return a daeSmartRef to the int4 element.
+ */
+ const domInt4Ref getInt4() const { return elemInt4; }
+ /**
+ * Gets the float element.
+ * @return a daeSmartRef to the float element.
+ */
+ const domFloatRef getFloat() const { return elemFloat; }
+ /**
+ * Gets the float2 element.
+ * @return a daeSmartRef to the float2 element.
+ */
+ const domFloat2Ref getFloat2() const { return elemFloat2; }
+ /**
+ * Gets the float3 element.
+ * @return a daeSmartRef to the float3 element.
+ */
+ const domFloat3Ref getFloat3() const { return elemFloat3; }
+ /**
+ * Gets the float4 element.
+ * @return a daeSmartRef to the float4 element.
+ */
+ const domFloat4Ref getFloat4() const { return elemFloat4; }
+ /**
+ * Gets the float2x1 element.
+ * @return a daeSmartRef to the float2x1 element.
+ */
+ const domFloat2x1Ref getFloat2x1() const { return elemFloat2x1; }
+ /**
+ * Gets the float2x2 element.
+ * @return a daeSmartRef to the float2x2 element.
+ */
+ const domFloat2x2Ref getFloat2x2() const { return elemFloat2x2; }
+ /**
+ * Gets the float2x3 element.
+ * @return a daeSmartRef to the float2x3 element.
+ */
+ const domFloat2x3Ref getFloat2x3() const { return elemFloat2x3; }
+ /**
+ * Gets the float2x4 element.
+ * @return a daeSmartRef to the float2x4 element.
+ */
+ const domFloat2x4Ref getFloat2x4() const { return elemFloat2x4; }
+ /**
+ * Gets the float3x1 element.
+ * @return a daeSmartRef to the float3x1 element.
+ */
+ const domFloat3x1Ref getFloat3x1() const { return elemFloat3x1; }
+ /**
+ * Gets the float3x2 element.
+ * @return a daeSmartRef to the float3x2 element.
+ */
+ const domFloat3x2Ref getFloat3x2() const { return elemFloat3x2; }
+ /**
+ * Gets the float3x3 element.
+ * @return a daeSmartRef to the float3x3 element.
+ */
+ const domFloat3x3Ref getFloat3x3() const { return elemFloat3x3; }
+ /**
+ * Gets the float3x4 element.
+ * @return a daeSmartRef to the float3x4 element.
+ */
+ const domFloat3x4Ref getFloat3x4() const { return elemFloat3x4; }
+ /**
+ * Gets the float4x1 element.
+ * @return a daeSmartRef to the float4x1 element.
+ */
+ const domFloat4x1Ref getFloat4x1() const { return elemFloat4x1; }
+ /**
+ * Gets the float4x2 element.
+ * @return a daeSmartRef to the float4x2 element.
+ */
+ const domFloat4x2Ref getFloat4x2() const { return elemFloat4x2; }
+ /**
+ * Gets the float4x3 element.
+ * @return a daeSmartRef to the float4x3 element.
+ */
+ const domFloat4x3Ref getFloat4x3() const { return elemFloat4x3; }
+ /**
+ * Gets the float4x4 element.
+ * @return a daeSmartRef to the float4x4 element.
+ */
+ const domFloat4x4Ref getFloat4x4() const { return elemFloat4x4; }
+ /**
+ * Gets the sampler1D element.
+ * @return a daeSmartRef to the sampler1D element.
+ */
+ const domFx_sampler1DRef getSampler1D() const { return elemSampler1D; }
+ /**
+ * Gets the sampler2D element.
+ * @return a daeSmartRef to the sampler2D element.
+ */
+ const domFx_sampler2DRef getSampler2D() const { return elemSampler2D; }
+ /**
+ * Gets the sampler3D element.
+ * @return a daeSmartRef to the sampler3D element.
+ */
+ const domFx_sampler3DRef getSampler3D() const { return elemSampler3D; }
+ /**
+ * Gets the samplerCUBE element.
+ * @return a daeSmartRef to the samplerCUBE element.
+ */
+ const domFx_samplerCUBERef getSamplerCUBE() const { return elemSamplerCUBE; }
+ /**
+ * Gets the samplerRECT element.
+ * @return a daeSmartRef to the samplerRECT element.
+ */
+ const domFx_samplerRECTRef getSamplerRECT() const { return elemSamplerRECT; }
+ /**
+ * Gets the samplerDEPTH element.
+ * @return a daeSmartRef to the samplerDEPTH element.
+ */
+ const domFx_samplerDEPTHRef getSamplerDEPTH() const { return elemSamplerDEPTH; }
+ /**
+ * Gets the enum element.
+ * @return a daeSmartRef to the enum element.
+ */
+ const domEnumRef getEnum() const { return elemEnum; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_newparam(DAE& dae) : daeElement(dae), elemBool(), elemBool2(), elemBool3(), elemBool4(), elemInt(), elemInt2(), elemInt3(), elemInt4(), elemFloat(), elemFloat2(), elemFloat3(), elemFloat4(), elemFloat2x1(), elemFloat2x2(), elemFloat2x3(), elemFloat2x4(), elemFloat3x1(), elemFloat3x2(), elemFloat3x3(), elemFloat3x4(), elemFloat4x1(), elemFloat4x2(), elemFloat4x3(), elemFloat4x4(), elemSampler1D(), elemSampler2D(), elemSampler3D(), elemSamplerCUBE(), elemSamplerRECT(), elemSamplerDEPTH(), elemEnum() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_newparam() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_newparam &operator=( const domFx_newparam &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domFx_profile.h b/1.4.0/dom/include/1.5/dom/domFx_profile.h
new file mode 100644
index 0000000..4209aef
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domFx_profile.h
@@ -0,0 +1,122 @@
+#ifndef __dom150Fx_profile_h__
+#define __dom150Fx_profile_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domProfile_common.h>
+#include <1.5/dom/domProfile_bridge.h>
+#include <1.5/dom/domProfile_gles2.h>
+#include <1.5/dom/domProfile_glsl.h>
+#include <1.5/dom/domProfile_cg.h>
+#include <1.5/dom/domProfile_gles.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * A group that specifies the allowable COLLADA FX profiles.
+ */
+class domFx_profile : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_PROFILE; }
+ static daeInt ID() { return 965; }
+ virtual daeInt typeID() const { return ID(); }
+
+protected: // Elements
+ domProfile_commonRef elemProfile_COMMON;
+ domProfile_bridgeRef elemProfile_BRIDGE;
+ domProfile_gles2Ref elemProfile_GLES2;
+ domProfile_glslRef elemProfile_GLSL;
+ domProfile_cgRef elemProfile_CG;
+ domProfile_glesRef elemProfile_GLES;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the profile_COMMON element.
+ * @return a daeSmartRef to the profile_COMMON element.
+ */
+ const domProfile_commonRef getProfile_COMMON() const { return elemProfile_COMMON; }
+ /**
+ * Gets the profile_BRIDGE element.
+ * @return a daeSmartRef to the profile_BRIDGE element.
+ */
+ const domProfile_bridgeRef getProfile_BRIDGE() const { return elemProfile_BRIDGE; }
+ /**
+ * Gets the profile_GLES2 element.
+ * @return a daeSmartRef to the profile_GLES2 element.
+ */
+ const domProfile_gles2Ref getProfile_GLES2() const { return elemProfile_GLES2; }
+ /**
+ * Gets the profile_GLSL element.
+ * @return a daeSmartRef to the profile_GLSL element.
+ */
+ const domProfile_glslRef getProfile_GLSL() const { return elemProfile_GLSL; }
+ /**
+ * Gets the profile_CG element.
+ * @return a daeSmartRef to the profile_CG element.
+ */
+ const domProfile_cgRef getProfile_CG() const { return elemProfile_CG; }
+ /**
+ * Gets the profile_GLES element.
+ * @return a daeSmartRef to the profile_GLES element.
+ */
+ const domProfile_glesRef getProfile_GLES() const { return elemProfile_GLES; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_profile(DAE& dae) : daeElement(dae), elemProfile_COMMON(), elemProfile_BRIDGE(), elemProfile_GLES2(), elemProfile_GLSL(), elemProfile_CG(), elemProfile_GLES() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_profile() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_profile &operator=( const domFx_profile &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domFx_rendertarget.h b/1.4.0/dom/include/1.5/dom/domFx_rendertarget.h
new file mode 100644
index 0000000..f3e035e
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domFx_rendertarget.h
@@ -0,0 +1,208 @@
+#ifndef __dom150Fx_rendertarget_h__
+#define __dom150Fx_rendertarget_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domInstance_image.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domFx_rendertarget : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_RENDERTARGET; }
+ static daeInt ID() { return 129; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domParam;
+
+ typedef daeSmartRef<domParam> domParamRef;
+ typedef daeTArray<domParamRef> domParam_Array;
+
+ class domParam : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PARAM; }
+ static daeInt ID() { return 130; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+ xsToken attrRef;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the ref attribute.
+ * @return Returns a xsToken of the ref attribute.
+ */
+ xsToken getRef() const { return attrRef; }
+ /**
+ * Sets the ref attribute.
+ * @param atRef The new value for the ref attribute.
+ */
+ void setRef( xsToken atRef ) { *(daeStringRef*)&attrRef = atRef; _validAttributeArray[0] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domParam(DAE& dae) : daeElement(dae), attrRef() {}
+ /**
+ * Destructor
+ */
+ virtual ~domParam() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domParam &operator=( const domParam &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+/**
+ * array index
+ */
+ xsNonNegativeInteger attrIndex;
+/**
+ * mip level
+ */
+ xsNonNegativeInteger attrMip;
+/**
+ * cube face
+ */
+ domImage_face attrFace;
+/**
+ * volume depth
+ */
+ xsNonNegativeInteger attrSlice;
+
+protected: // Elements
+ domParamRef elemParam;
+ domInstance_imageRef elemInstance_image;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the index attribute.
+ * @return Returns a xsNonNegativeInteger of the index attribute.
+ */
+ xsNonNegativeInteger getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( xsNonNegativeInteger atIndex ) { attrIndex = atIndex; }
+
+ /**
+ * Gets the mip attribute.
+ * @return Returns a xsNonNegativeInteger of the mip attribute.
+ */
+ xsNonNegativeInteger getMip() const { return attrMip; }
+ /**
+ * Sets the mip attribute.
+ * @param atMip The new value for the mip attribute.
+ */
+ void setMip( xsNonNegativeInteger atMip ) { attrMip = atMip; }
+
+ /**
+ * Gets the face attribute.
+ * @return Returns a domImage_face of the face attribute.
+ */
+ domImage_face getFace() const { return attrFace; }
+ /**
+ * Sets the face attribute.
+ * @param atFace The new value for the face attribute.
+ */
+ void setFace( domImage_face atFace ) { attrFace = atFace; }
+
+ /**
+ * Gets the slice attribute.
+ * @return Returns a xsNonNegativeInteger of the slice attribute.
+ */
+ xsNonNegativeInteger getSlice() const { return attrSlice; }
+ /**
+ * Sets the slice attribute.
+ * @param atSlice The new value for the slice attribute.
+ */
+ void setSlice( xsNonNegativeInteger atSlice ) { attrSlice = atSlice; }
+
+ /**
+ * Gets the param element.
+ * @return a daeSmartRef to the param element.
+ */
+ const domParamRef getParam() const { return elemParam; }
+ /**
+ * Gets the instance_image element.
+ * @return a daeSmartRef to the instance_image element.
+ */
+ const domInstance_imageRef getInstance_image() const { return elemInstance_image; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_rendertarget(DAE& dae) : daeElement(dae), attrIndex(), attrMip(), attrFace(), attrSlice(), elemParam(), elemInstance_image() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_rendertarget() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_rendertarget &operator=( const domFx_rendertarget &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domFx_sampler.h b/1.4.0/dom/include/1.5/dom/domFx_sampler.h
new file mode 100644
index 0000000..3f8d219
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domFx_sampler.h
@@ -0,0 +1,70 @@
+#ifndef __dom150Fx_sampler_h__
+#define __dom150Fx_sampler_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domFx_sampler_states.h>
+#include <1.5/dom/domInstance_image.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * Sampling state that can be sharable between samplers because there is often
+ * heavy re-use
+ */
+class domFx_sampler : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_SAMPLER; }
+ static daeInt ID() { return 122; }
+ virtual daeInt typeID() const { return ID(); }
+
+protected: // Elements
+ domInstance_imageRef elemInstance_image;
+ domFx_sampler_statesRef elemFx_sampler_states;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the instance_image element.
+ * @return a daeSmartRef to the instance_image element.
+ */
+ const domInstance_imageRef getInstance_image() const { return elemInstance_image; }
+ /**
+ * Gets the fx_sampler_states element.
+ * @return a daeSmartRef to the fx_sampler_states element.
+ */
+ const domFx_sampler_statesRef getFx_sampler_states() const { return elemFx_sampler_states; }
+protected:
+ /**
+ * Constructor
+ */
+ domFx_sampler(DAE& dae) : daeElement(dae), elemInstance_image(), elemFx_sampler_states() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_sampler() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_sampler &operator=( const domFx_sampler &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domFx_sampler1D.h b/1.4.0/dom/include/1.5/dom/domFx_sampler1D.h
new file mode 100644
index 0000000..288a597
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domFx_sampler1D.h
@@ -0,0 +1,54 @@
+#ifndef __dom150Fx_sampler1D_h__
+#define __dom150Fx_sampler1D_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domFx_sampler.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+#include <1.5/dom/domFx_sampler.h>
+/**
+ * A one-dimensional texture sampler.
+ */
+class domFx_sampler1D : public domFx_sampler
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_SAMPLER1D; }
+ static daeInt ID() { return 123; }
+ virtual daeInt typeID() const { return ID(); }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_sampler1D(DAE& dae) : domFx_sampler(dae) {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_sampler1D() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_sampler1D &operator=( const domFx_sampler1D &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domFx_sampler2D.h b/1.4.0/dom/include/1.5/dom/domFx_sampler2D.h
new file mode 100644
index 0000000..bb7d152
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domFx_sampler2D.h
@@ -0,0 +1,54 @@
+#ifndef __dom150Fx_sampler2D_h__
+#define __dom150Fx_sampler2D_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domFx_sampler.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+#include <1.5/dom/domFx_sampler.h>
+/**
+ * A two-dimensional texture sampler.
+ */
+class domFx_sampler2D : public domFx_sampler
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_SAMPLER2D; }
+ static daeInt ID() { return 124; }
+ virtual daeInt typeID() const { return ID(); }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_sampler2D(DAE& dae) : domFx_sampler(dae) {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_sampler2D() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_sampler2D &operator=( const domFx_sampler2D &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domFx_sampler3D.h b/1.4.0/dom/include/1.5/dom/domFx_sampler3D.h
new file mode 100644
index 0000000..9666d4b
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domFx_sampler3D.h
@@ -0,0 +1,54 @@
+#ifndef __dom150Fx_sampler3D_h__
+#define __dom150Fx_sampler3D_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domFx_sampler.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+#include <1.5/dom/domFx_sampler.h>
+/**
+ * A three-dimensional texture sampler.
+ */
+class domFx_sampler3D : public domFx_sampler
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_SAMPLER3D; }
+ static daeInt ID() { return 125; }
+ virtual daeInt typeID() const { return ID(); }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_sampler3D(DAE& dae) : domFx_sampler(dae) {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_sampler3D() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_sampler3D &operator=( const domFx_sampler3D &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domFx_samplerCUBE.h b/1.4.0/dom/include/1.5/dom/domFx_samplerCUBE.h
new file mode 100644
index 0000000..3206418
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domFx_samplerCUBE.h
@@ -0,0 +1,54 @@
+#ifndef __dom150Fx_samplerCUBE_h__
+#define __dom150Fx_samplerCUBE_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domFx_sampler.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+#include <1.5/dom/domFx_sampler.h>
+/**
+ * A texture sampler for cube maps.
+ */
+class domFx_samplerCUBE : public domFx_sampler
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_SAMPLERCUBE; }
+ static daeInt ID() { return 126; }
+ virtual daeInt typeID() const { return ID(); }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_samplerCUBE(DAE& dae) : domFx_sampler(dae) {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_samplerCUBE() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_samplerCUBE &operator=( const domFx_samplerCUBE &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domFx_samplerDEPTH.h b/1.4.0/dom/include/1.5/dom/domFx_samplerDEPTH.h
new file mode 100644
index 0000000..a75a3ad
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domFx_samplerDEPTH.h
@@ -0,0 +1,54 @@
+#ifndef __dom150Fx_samplerDEPTH_h__
+#define __dom150Fx_samplerDEPTH_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domFx_sampler.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+#include <1.5/dom/domFx_sampler.h>
+/**
+ * A texture sampler for depth maps.
+ */
+class domFx_samplerDEPTH : public domFx_sampler
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_SAMPLERDEPTH; }
+ static daeInt ID() { return 128; }
+ virtual daeInt typeID() const { return ID(); }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_samplerDEPTH(DAE& dae) : domFx_sampler(dae) {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_samplerDEPTH() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_samplerDEPTH &operator=( const domFx_samplerDEPTH &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domFx_samplerRECT.h b/1.4.0/dom/include/1.5/dom/domFx_samplerRECT.h
new file mode 100644
index 0000000..1fd692b
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domFx_samplerRECT.h
@@ -0,0 +1,54 @@
+#ifndef __dom150Fx_samplerRECT_h__
+#define __dom150Fx_samplerRECT_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domFx_sampler.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+#include <1.5/dom/domFx_sampler.h>
+/**
+ * A two-dimensional texture sampler.
+ */
+class domFx_samplerRECT : public domFx_sampler
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_SAMPLERRECT; }
+ static daeInt ID() { return 127; }
+ virtual daeInt typeID() const { return ID(); }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_samplerRECT(DAE& dae) : domFx_sampler(dae) {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_samplerRECT() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_samplerRECT &operator=( const domFx_samplerRECT &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domFx_sampler_states.h b/1.4.0/dom/include/1.5/dom/domFx_sampler_states.h
new file mode 100644
index 0000000..686737a
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domFx_sampler_states.h
@@ -0,0 +1,821 @@
+#ifndef __dom150Fx_sampler_states_h__
+#define __dom150Fx_sampler_states_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domFx_sampler_states : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_SAMPLER_STATES; }
+ static daeInt ID() { return 488; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domWrap_s;
+
+ typedef daeSmartRef<domWrap_s> domWrap_sRef;
+ typedef daeTArray<domWrap_sRef> domWrap_s_Array;
+
+ class domWrap_s : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::WRAP_S; }
+ static daeInt ID() { return 489; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_sampler_wrap of the value.
+ */
+ domFx_sampler_wrap& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFx_sampler_wrap& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFx_sampler_wrap value of the text data of this element.
+ */
+ domFx_sampler_wrap _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domWrap_s(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domWrap_s() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domWrap_s &operator=( const domWrap_s &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domWrap_t;
+
+ typedef daeSmartRef<domWrap_t> domWrap_tRef;
+ typedef daeTArray<domWrap_tRef> domWrap_t_Array;
+
+ class domWrap_t : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::WRAP_T; }
+ static daeInt ID() { return 490; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_sampler_wrap of the value.
+ */
+ domFx_sampler_wrap& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFx_sampler_wrap& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFx_sampler_wrap value of the text data of this element.
+ */
+ domFx_sampler_wrap _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domWrap_t(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domWrap_t() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domWrap_t &operator=( const domWrap_t &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domWrap_p;
+
+ typedef daeSmartRef<domWrap_p> domWrap_pRef;
+ typedef daeTArray<domWrap_pRef> domWrap_p_Array;
+
+ class domWrap_p : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::WRAP_P; }
+ static daeInt ID() { return 491; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_sampler_wrap of the value.
+ */
+ domFx_sampler_wrap& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFx_sampler_wrap& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFx_sampler_wrap value of the text data of this element.
+ */
+ domFx_sampler_wrap _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domWrap_p(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domWrap_p() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domWrap_p &operator=( const domWrap_p &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMinfilter;
+
+ typedef daeSmartRef<domMinfilter> domMinfilterRef;
+ typedef daeTArray<domMinfilterRef> domMinfilter_Array;
+
+/**
+ * minification
+ */
+ class domMinfilter : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MINFILTER; }
+ static daeInt ID() { return 492; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_sampler_min_filter of the value.
+ */
+ domFx_sampler_min_filter& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFx_sampler_min_filter& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFx_sampler_min_filter value of the text data of this element.
+ */
+ domFx_sampler_min_filter _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domMinfilter(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMinfilter() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMinfilter &operator=( const domMinfilter &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMagfilter;
+
+ typedef daeSmartRef<domMagfilter> domMagfilterRef;
+ typedef daeTArray<domMagfilterRef> domMagfilter_Array;
+
+/**
+ * magnification
+ */
+ class domMagfilter : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MAGFILTER; }
+ static daeInt ID() { return 493; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_sampler_mag_filter of the value.
+ */
+ domFx_sampler_mag_filter& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFx_sampler_mag_filter& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFx_sampler_mag_filter value of the text data of this element.
+ */
+ domFx_sampler_mag_filter _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domMagfilter(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMagfilter() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMagfilter &operator=( const domMagfilter &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMipfilter;
+
+ typedef daeSmartRef<domMipfilter> domMipfilterRef;
+ typedef daeTArray<domMipfilterRef> domMipfilter_Array;
+
+/**
+ * filtering across mips. NONE = no minification NEAREST = bilinear LINEAR
+ * = trilinear ANISOTROPIC = Compensates for distortion caused by the difference
+ * in angle between the polygon and the plane of the screen. Relies on max_anisotropy
+ */
+ class domMipfilter : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MIPFILTER; }
+ static daeInt ID() { return 494; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_sampler_mip_filter of the value.
+ */
+ domFx_sampler_mip_filter& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFx_sampler_mip_filter& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFx_sampler_mip_filter value of the text data of this element.
+ */
+ domFx_sampler_mip_filter _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domMipfilter(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMipfilter() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMipfilter &operator=( const domMipfilter &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBorder_color;
+
+ typedef daeSmartRef<domBorder_color> domBorder_colorRef;
+ typedef daeTArray<domBorder_colorRef> domBorder_color_Array;
+
+ class domBorder_color : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BORDER_COLOR; }
+ static daeInt ID() { return 495; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_color of the value.
+ */
+ domFx_color& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFx_color& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFx_color value of the text data of this element.
+ */
+ domFx_color _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBorder_color(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBorder_color() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBorder_color &operator=( const domBorder_color &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMip_max_level;
+
+ typedef daeSmartRef<domMip_max_level> domMip_max_levelRef;
+ typedef daeTArray<domMip_max_levelRef> domMip_max_level_Array;
+
+/**
+ * level-of-detail index of largest map to use. Values range from 0 to (n
+ * - 1) where 0 is the largest. The default value is zero
+ */
+ class domMip_max_level : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MIP_MAX_LEVEL; }
+ static daeInt ID() { return 496; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a xsUnsignedByte of the value.
+ */
+ xsUnsignedByte& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const xsUnsignedByte& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The xsUnsignedByte value of the text data of this element.
+ */
+ xsUnsignedByte _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domMip_max_level(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMip_max_level() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMip_max_level &operator=( const domMip_max_level &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMip_min_level;
+
+ typedef daeSmartRef<domMip_min_level> domMip_min_levelRef;
+ typedef daeTArray<domMip_min_levelRef> domMip_min_level_Array;
+
+/**
+ * level-of-detail index of smallest map to use. Values range from 0 to (n
+ * - 1) where 0 is the smallest. The default value is zero
+ */
+ class domMip_min_level : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MIP_MIN_LEVEL; }
+ static daeInt ID() { return 497; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a xsUnsignedByte of the value.
+ */
+ xsUnsignedByte& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const xsUnsignedByte& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The xsUnsignedByte value of the text data of this element.
+ */
+ xsUnsignedByte _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domMip_min_level(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMip_min_level() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMip_min_level &operator=( const domMip_min_level &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMip_bias;
+
+ typedef daeSmartRef<domMip_bias> domMip_biasRef;
+ typedef daeTArray<domMip_biasRef> domMip_bias_Array;
+
+/**
+ * Mipmap level-of-detail bias. The default value is zero
+ */
+ class domMip_bias : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MIP_BIAS; }
+ static daeInt ID() { return 498; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a xsFloat of the value.
+ */
+ xsFloat& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const xsFloat& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The xsFloat value of the text data of this element.
+ */
+ xsFloat _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domMip_bias(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMip_bias() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMip_bias &operator=( const domMip_bias &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMax_anisotropy;
+
+ typedef daeSmartRef<domMax_anisotropy> domMax_anisotropyRef;
+ typedef daeTArray<domMax_anisotropyRef> domMax_anisotropy_Array;
+
+/**
+ * number of samples that may be used durring anisotropic filtering
+ */
+ class domMax_anisotropy : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MAX_ANISOTROPY; }
+ static daeInt ID() { return 499; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a xsUnsignedInt of the value.
+ */
+ xsUnsignedInt& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const xsUnsignedInt& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The xsUnsignedInt value of the text data of this element.
+ */
+ xsUnsignedInt _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domMax_anisotropy(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMax_anisotropy() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMax_anisotropy &operator=( const domMax_anisotropy &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+ domWrap_sRef elemWrap_s;
+ domWrap_tRef elemWrap_t;
+ domWrap_pRef elemWrap_p;
+/**
+ * minification @see domMinfilter
+ */
+ domMinfilterRef elemMinfilter;
+/**
+ * magnification @see domMagfilter
+ */
+ domMagfilterRef elemMagfilter;
+/**
+ * filtering across mips. NONE = no minification NEAREST = bilinear LINEAR
+ * = trilinear ANISOTROPIC = Compensates for distortion caused by the difference
+ * in angle between the polygon and the plane of the screen. Relies on max_anisotropy
+ * @see domMipfilter
+ */
+ domMipfilterRef elemMipfilter;
+ domBorder_colorRef elemBorder_color;
+/**
+ * level-of-detail index of largest map to use. Values range from 0 to (n
+ * - 1) where 0 is the largest. The default value is zero @see domMip_max_level
+ */
+ domMip_max_levelRef elemMip_max_level;
+/**
+ * level-of-detail index of smallest map to use. Values range from 0 to (n
+ * - 1) where 0 is the smallest. The default value is zero @see domMip_min_level
+ */
+ domMip_min_levelRef elemMip_min_level;
+/**
+ * Mipmap level-of-detail bias. The default value is zero @see domMip_bias
+ */
+ domMip_biasRef elemMip_bias;
+/**
+ * number of samples that may be used durring anisotropic filtering @see domMax_anisotropy
+ */
+ domMax_anisotropyRef elemMax_anisotropy;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the wrap_s element.
+ * @return a daeSmartRef to the wrap_s element.
+ */
+ const domWrap_sRef getWrap_s() const { return elemWrap_s; }
+ /**
+ * Gets the wrap_t element.
+ * @return a daeSmartRef to the wrap_t element.
+ */
+ const domWrap_tRef getWrap_t() const { return elemWrap_t; }
+ /**
+ * Gets the wrap_p element.
+ * @return a daeSmartRef to the wrap_p element.
+ */
+ const domWrap_pRef getWrap_p() const { return elemWrap_p; }
+ /**
+ * Gets the minfilter element.
+ * @return a daeSmartRef to the minfilter element.
+ */
+ const domMinfilterRef getMinfilter() const { return elemMinfilter; }
+ /**
+ * Gets the magfilter element.
+ * @return a daeSmartRef to the magfilter element.
+ */
+ const domMagfilterRef getMagfilter() const { return elemMagfilter; }
+ /**
+ * Gets the mipfilter element.
+ * @return a daeSmartRef to the mipfilter element.
+ */
+ const domMipfilterRef getMipfilter() const { return elemMipfilter; }
+ /**
+ * Gets the border_color element.
+ * @return a daeSmartRef to the border_color element.
+ */
+ const domBorder_colorRef getBorder_color() const { return elemBorder_color; }
+ /**
+ * Gets the mip_max_level element.
+ * @return a daeSmartRef to the mip_max_level element.
+ */
+ const domMip_max_levelRef getMip_max_level() const { return elemMip_max_level; }
+ /**
+ * Gets the mip_min_level element.
+ * @return a daeSmartRef to the mip_min_level element.
+ */
+ const domMip_min_levelRef getMip_min_level() const { return elemMip_min_level; }
+ /**
+ * Gets the mip_bias element.
+ * @return a daeSmartRef to the mip_bias element.
+ */
+ const domMip_biasRef getMip_bias() const { return elemMip_bias; }
+ /**
+ * Gets the max_anisotropy element.
+ * @return a daeSmartRef to the max_anisotropy element.
+ */
+ const domMax_anisotropyRef getMax_anisotropy() const { return elemMax_anisotropy; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domFx_sampler_states(DAE& dae) : daeElement(dae), elemWrap_s(), elemWrap_t(), elemWrap_p(), elemMinfilter(), elemMagfilter(), elemMipfilter(), elemBorder_color(), elemMip_max_level(), elemMip_min_level(), elemMip_bias(), elemMax_anisotropy(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_sampler_states() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_sampler_states &operator=( const domFx_sampler_states &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domFx_setparam.h b/1.4.0/dom/include/1.5/dom/domFx_setparam.h
new file mode 100644
index 0000000..ffa74c0
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domFx_setparam.h
@@ -0,0 +1,1745 @@
+#ifndef __dom150Fx_setparam_h__
+#define __dom150Fx_setparam_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domInstance_image.h>
+#include <1.5/dom/domFx_sampler_states.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * A group that specifies the allowable types for effect scoped parameters.
+ */
+class domFx_setparam : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_SETPARAM; }
+ static daeInt ID() { return 500; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domBool;
+
+ typedef daeSmartRef<domBool> domBoolRef;
+ typedef daeTArray<domBoolRef> domBool_Array;
+
+ class domBool : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL; }
+ static daeInt ID() { return 501; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a xsBoolean of the value.
+ */
+ xsBoolean& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const xsBoolean& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The xsBoolean value of the text data of this element.
+ */
+ xsBoolean _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBool(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool &operator=( const domBool &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool2;
+
+ typedef daeSmartRef<domBool2> domBool2Ref;
+ typedef daeTArray<domBool2Ref> domBool2_Array;
+
+ class domBool2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL2; }
+ static daeInt ID() { return 502; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domBool2 of the value.
+ */
+ ColladaDOM150::domBool2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domBool2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domBool2 value of the text data of this element.
+ */
+ ColladaDOM150::domBool2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBool2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool2 &operator=( const domBool2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool3;
+
+ typedef daeSmartRef<domBool3> domBool3Ref;
+ typedef daeTArray<domBool3Ref> domBool3_Array;
+
+ class domBool3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL3; }
+ static daeInt ID() { return 503; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domBool3 of the value.
+ */
+ ColladaDOM150::domBool3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domBool3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domBool3 value of the text data of this element.
+ */
+ ColladaDOM150::domBool3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBool3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool3 &operator=( const domBool3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool4;
+
+ typedef daeSmartRef<domBool4> domBool4Ref;
+ typedef daeTArray<domBool4Ref> domBool4_Array;
+
+ class domBool4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL4; }
+ static daeInt ID() { return 504; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domBool4 of the value.
+ */
+ ColladaDOM150::domBool4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domBool4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domBool4 value of the text data of this element.
+ */
+ ColladaDOM150::domBool4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBool4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool4 &operator=( const domBool4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt;
+
+ typedef daeSmartRef<domInt> domIntRef;
+ typedef daeTArray<domIntRef> domInt_Array;
+
+ class domInt : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT; }
+ static daeInt ID() { return 505; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domInt of the value.
+ */
+ ColladaDOM150::domInt& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domInt& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domInt value of the text data of this element.
+ */
+ ColladaDOM150::domInt _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domInt(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt &operator=( const domInt &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt2;
+
+ typedef daeSmartRef<domInt2> domInt2Ref;
+ typedef daeTArray<domInt2Ref> domInt2_Array;
+
+ class domInt2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT2; }
+ static daeInt ID() { return 506; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domInt2 of the value.
+ */
+ ColladaDOM150::domInt2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domInt2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domInt2 value of the text data of this element.
+ */
+ ColladaDOM150::domInt2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domInt2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt2 &operator=( const domInt2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt3;
+
+ typedef daeSmartRef<domInt3> domInt3Ref;
+ typedef daeTArray<domInt3Ref> domInt3_Array;
+
+ class domInt3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT3; }
+ static daeInt ID() { return 507; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domInt3 of the value.
+ */
+ ColladaDOM150::domInt3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domInt3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domInt3 value of the text data of this element.
+ */
+ ColladaDOM150::domInt3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domInt3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt3 &operator=( const domInt3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt4;
+
+ typedef daeSmartRef<domInt4> domInt4Ref;
+ typedef daeTArray<domInt4Ref> domInt4_Array;
+
+ class domInt4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT4; }
+ static daeInt ID() { return 508; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domInt4 of the value.
+ */
+ ColladaDOM150::domInt4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domInt4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domInt4 value of the text data of this element.
+ */
+ ColladaDOM150::domInt4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domInt4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt4 &operator=( const domInt4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat;
+
+ typedef daeSmartRef<domFloat> domFloatRef;
+ typedef daeTArray<domFloatRef> domFloat_Array;
+
+ class domFloat : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT; }
+ static daeInt ID() { return 509; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat of the value.
+ */
+ ColladaDOM150::domFloat& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat value of the text data of this element.
+ */
+ ColladaDOM150::domFloat _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat &operator=( const domFloat &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat2;
+
+ typedef daeSmartRef<domFloat2> domFloat2Ref;
+ typedef daeTArray<domFloat2Ref> domFloat2_Array;
+
+ class domFloat2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2; }
+ static daeInt ID() { return 510; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat2 of the value.
+ */
+ ColladaDOM150::domFloat2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat2 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat2 &operator=( const domFloat2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat3;
+
+ typedef daeSmartRef<domFloat3> domFloat3Ref;
+ typedef daeTArray<domFloat3Ref> domFloat3_Array;
+
+ class domFloat3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3; }
+ static daeInt ID() { return 511; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat3 of the value.
+ */
+ ColladaDOM150::domFloat3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat3 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat3 &operator=( const domFloat3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat4;
+
+ typedef daeSmartRef<domFloat4> domFloat4Ref;
+ typedef daeTArray<domFloat4Ref> domFloat4_Array;
+
+ class domFloat4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4; }
+ static daeInt ID() { return 512; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat4 of the value.
+ */
+ ColladaDOM150::domFloat4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat4 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat4 &operator=( const domFloat4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat2x1;
+
+ typedef daeSmartRef<domFloat2x1> domFloat2x1Ref;
+ typedef daeTArray<domFloat2x1Ref> domFloat2x1_Array;
+
+ class domFloat2x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2X1; }
+ static daeInt ID() { return 513; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat2 of the value.
+ */
+ ColladaDOM150::domFloat2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat2 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat2x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat2x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat2x1 &operator=( const domFloat2x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat2x2;
+
+ typedef daeSmartRef<domFloat2x2> domFloat2x2Ref;
+ typedef daeTArray<domFloat2x2Ref> domFloat2x2_Array;
+
+ class domFloat2x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2X2; }
+ static daeInt ID() { return 514; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat2x2 of the value.
+ */
+ ColladaDOM150::domFloat2x2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat2x2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat2x2 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat2x2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat2x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat2x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat2x2 &operator=( const domFloat2x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat2x3;
+
+ typedef daeSmartRef<domFloat2x3> domFloat2x3Ref;
+ typedef daeTArray<domFloat2x3Ref> domFloat2x3_Array;
+
+ class domFloat2x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2X3; }
+ static daeInt ID() { return 515; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat2x3 of the value.
+ */
+ ColladaDOM150::domFloat2x3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat2x3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat2x3 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat2x3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat2x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat2x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat2x3 &operator=( const domFloat2x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat2x4;
+
+ typedef daeSmartRef<domFloat2x4> domFloat2x4Ref;
+ typedef daeTArray<domFloat2x4Ref> domFloat2x4_Array;
+
+ class domFloat2x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2X4; }
+ static daeInt ID() { return 516; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat2x4 of the value.
+ */
+ ColladaDOM150::domFloat2x4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat2x4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat2x4 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat2x4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat2x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat2x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat2x4 &operator=( const domFloat2x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat3x1;
+
+ typedef daeSmartRef<domFloat3x1> domFloat3x1Ref;
+ typedef daeTArray<domFloat3x1Ref> domFloat3x1_Array;
+
+ class domFloat3x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3X1; }
+ static daeInt ID() { return 517; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat3 of the value.
+ */
+ ColladaDOM150::domFloat3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat3 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat3x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat3x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat3x1 &operator=( const domFloat3x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat3x2;
+
+ typedef daeSmartRef<domFloat3x2> domFloat3x2Ref;
+ typedef daeTArray<domFloat3x2Ref> domFloat3x2_Array;
+
+ class domFloat3x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3X2; }
+ static daeInt ID() { return 518; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat3x2 of the value.
+ */
+ ColladaDOM150::domFloat3x2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat3x2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat3x2 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat3x2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat3x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat3x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat3x2 &operator=( const domFloat3x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat3x3;
+
+ typedef daeSmartRef<domFloat3x3> domFloat3x3Ref;
+ typedef daeTArray<domFloat3x3Ref> domFloat3x3_Array;
+
+ class domFloat3x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3X3; }
+ static daeInt ID() { return 519; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat3x3 of the value.
+ */
+ ColladaDOM150::domFloat3x3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat3x3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat3x3 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat3x3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat3x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat3x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat3x3 &operator=( const domFloat3x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat3x4;
+
+ typedef daeSmartRef<domFloat3x4> domFloat3x4Ref;
+ typedef daeTArray<domFloat3x4Ref> domFloat3x4_Array;
+
+ class domFloat3x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3X4; }
+ static daeInt ID() { return 520; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat3x4 of the value.
+ */
+ ColladaDOM150::domFloat3x4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat3x4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat3x4 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat3x4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat3x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat3x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat3x4 &operator=( const domFloat3x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat4x1;
+
+ typedef daeSmartRef<domFloat4x1> domFloat4x1Ref;
+ typedef daeTArray<domFloat4x1Ref> domFloat4x1_Array;
+
+ class domFloat4x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4X1; }
+ static daeInt ID() { return 521; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat4 of the value.
+ */
+ ColladaDOM150::domFloat4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat4 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat4x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat4x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat4x1 &operator=( const domFloat4x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat4x2;
+
+ typedef daeSmartRef<domFloat4x2> domFloat4x2Ref;
+ typedef daeTArray<domFloat4x2Ref> domFloat4x2_Array;
+
+ class domFloat4x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4X2; }
+ static daeInt ID() { return 522; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat4x2 of the value.
+ */
+ ColladaDOM150::domFloat4x2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat4x2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat4x2 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat4x2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat4x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat4x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat4x2 &operator=( const domFloat4x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat4x3;
+
+ typedef daeSmartRef<domFloat4x3> domFloat4x3Ref;
+ typedef daeTArray<domFloat4x3Ref> domFloat4x3_Array;
+
+ class domFloat4x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4X3; }
+ static daeInt ID() { return 523; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat4x3 of the value.
+ */
+ ColladaDOM150::domFloat4x3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat4x3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat4x3 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat4x3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat4x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat4x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat4x3 &operator=( const domFloat4x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat4x4;
+
+ typedef daeSmartRef<domFloat4x4> domFloat4x4Ref;
+ typedef daeTArray<domFloat4x4Ref> domFloat4x4_Array;
+
+ class domFloat4x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4X4; }
+ static daeInt ID() { return 524; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat4x4 of the value.
+ */
+ ColladaDOM150::domFloat4x4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat4x4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat4x4 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat4x4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat4x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat4x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat4x4 &operator=( const domFloat4x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domEnum;
+
+ typedef daeSmartRef<domEnum> domEnumRef;
+ typedef daeTArray<domEnumRef> domEnum_Array;
+
+ class domEnum : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ENUM; }
+ static daeInt ID() { return 525; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsString of the value.
+ */
+ xsString getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsString val ) { *(daeStringRef*)&_value = val; }
+
+ protected: // Value
+ /**
+ * The xsString value of the text data of this element.
+ */
+ xsString _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domEnum(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domEnum() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domEnum &operator=( const domEnum &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domSampler_states;
+
+ typedef daeSmartRef<domSampler_states> domSampler_statesRef;
+ typedef daeTArray<domSampler_statesRef> domSampler_states_Array;
+
+ class domSampler_states : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SAMPLER_STATES; }
+ static daeInt ID() { return 526; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Element
+ domFx_sampler_statesRef elemFx_sampler_states;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the fx_sampler_states element.
+ * @return a daeSmartRef to the fx_sampler_states element.
+ */
+ const domFx_sampler_statesRef getFx_sampler_states() const { return elemFx_sampler_states; }
+ protected:
+ /**
+ * Constructor
+ */
+ domSampler_states(DAE& dae) : daeElement(dae), elemFx_sampler_states() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSampler_states() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSampler_states &operator=( const domSampler_states &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+ domBoolRef elemBool;
+ domBool2Ref elemBool2;
+ domBool3Ref elemBool3;
+ domBool4Ref elemBool4;
+ domIntRef elemInt;
+ domInt2Ref elemInt2;
+ domInt3Ref elemInt3;
+ domInt4Ref elemInt4;
+ domFloatRef elemFloat;
+ domFloat2Ref elemFloat2;
+ domFloat3Ref elemFloat3;
+ domFloat4Ref elemFloat4;
+ domFloat2x1Ref elemFloat2x1;
+ domFloat2x2Ref elemFloat2x2;
+ domFloat2x3Ref elemFloat2x3;
+ domFloat2x4Ref elemFloat2x4;
+ domFloat3x1Ref elemFloat3x1;
+ domFloat3x2Ref elemFloat3x2;
+ domFloat3x3Ref elemFloat3x3;
+ domFloat3x4Ref elemFloat3x4;
+ domFloat4x1Ref elemFloat4x1;
+ domFloat4x2Ref elemFloat4x2;
+ domFloat4x3Ref elemFloat4x3;
+ domFloat4x4Ref elemFloat4x4;
+ domEnumRef elemEnum;
+ domInstance_imageRef elemSampler_image;
+ domSampler_statesRef elemSampler_states;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the bool element.
+ * @return a daeSmartRef to the bool element.
+ */
+ const domBoolRef getBool() const { return elemBool; }
+ /**
+ * Gets the bool2 element.
+ * @return a daeSmartRef to the bool2 element.
+ */
+ const domBool2Ref getBool2() const { return elemBool2; }
+ /**
+ * Gets the bool3 element.
+ * @return a daeSmartRef to the bool3 element.
+ */
+ const domBool3Ref getBool3() const { return elemBool3; }
+ /**
+ * Gets the bool4 element.
+ * @return a daeSmartRef to the bool4 element.
+ */
+ const domBool4Ref getBool4() const { return elemBool4; }
+ /**
+ * Gets the int element.
+ * @return a daeSmartRef to the int element.
+ */
+ const domIntRef getInt() const { return elemInt; }
+ /**
+ * Gets the int2 element.
+ * @return a daeSmartRef to the int2 element.
+ */
+ const domInt2Ref getInt2() const { return elemInt2; }
+ /**
+ * Gets the int3 element.
+ * @return a daeSmartRef to the int3 element.
+ */
+ const domInt3Ref getInt3() const { return elemInt3; }
+ /**
+ * Gets the int4 element.
+ * @return a daeSmartRef to the int4 element.
+ */
+ const domInt4Ref getInt4() const { return elemInt4; }
+ /**
+ * Gets the float element.
+ * @return a daeSmartRef to the float element.
+ */
+ const domFloatRef getFloat() const { return elemFloat; }
+ /**
+ * Gets the float2 element.
+ * @return a daeSmartRef to the float2 element.
+ */
+ const domFloat2Ref getFloat2() const { return elemFloat2; }
+ /**
+ * Gets the float3 element.
+ * @return a daeSmartRef to the float3 element.
+ */
+ const domFloat3Ref getFloat3() const { return elemFloat3; }
+ /**
+ * Gets the float4 element.
+ * @return a daeSmartRef to the float4 element.
+ */
+ const domFloat4Ref getFloat4() const { return elemFloat4; }
+ /**
+ * Gets the float2x1 element.
+ * @return a daeSmartRef to the float2x1 element.
+ */
+ const domFloat2x1Ref getFloat2x1() const { return elemFloat2x1; }
+ /**
+ * Gets the float2x2 element.
+ * @return a daeSmartRef to the float2x2 element.
+ */
+ const domFloat2x2Ref getFloat2x2() const { return elemFloat2x2; }
+ /**
+ * Gets the float2x3 element.
+ * @return a daeSmartRef to the float2x3 element.
+ */
+ const domFloat2x3Ref getFloat2x3() const { return elemFloat2x3; }
+ /**
+ * Gets the float2x4 element.
+ * @return a daeSmartRef to the float2x4 element.
+ */
+ const domFloat2x4Ref getFloat2x4() const { return elemFloat2x4; }
+ /**
+ * Gets the float3x1 element.
+ * @return a daeSmartRef to the float3x1 element.
+ */
+ const domFloat3x1Ref getFloat3x1() const { return elemFloat3x1; }
+ /**
+ * Gets the float3x2 element.
+ * @return a daeSmartRef to the float3x2 element.
+ */
+ const domFloat3x2Ref getFloat3x2() const { return elemFloat3x2; }
+ /**
+ * Gets the float3x3 element.
+ * @return a daeSmartRef to the float3x3 element.
+ */
+ const domFloat3x3Ref getFloat3x3() const { return elemFloat3x3; }
+ /**
+ * Gets the float3x4 element.
+ * @return a daeSmartRef to the float3x4 element.
+ */
+ const domFloat3x4Ref getFloat3x4() const { return elemFloat3x4; }
+ /**
+ * Gets the float4x1 element.
+ * @return a daeSmartRef to the float4x1 element.
+ */
+ const domFloat4x1Ref getFloat4x1() const { return elemFloat4x1; }
+ /**
+ * Gets the float4x2 element.
+ * @return a daeSmartRef to the float4x2 element.
+ */
+ const domFloat4x2Ref getFloat4x2() const { return elemFloat4x2; }
+ /**
+ * Gets the float4x3 element.
+ * @return a daeSmartRef to the float4x3 element.
+ */
+ const domFloat4x3Ref getFloat4x3() const { return elemFloat4x3; }
+ /**
+ * Gets the float4x4 element.
+ * @return a daeSmartRef to the float4x4 element.
+ */
+ const domFloat4x4Ref getFloat4x4() const { return elemFloat4x4; }
+ /**
+ * Gets the enum element.
+ * @return a daeSmartRef to the enum element.
+ */
+ const domEnumRef getEnum() const { return elemEnum; }
+ /**
+ * Gets the sampler_image element.
+ * @return a daeSmartRef to the sampler_image element.
+ */
+ const domInstance_imageRef getSampler_image() const { return elemSampler_image; }
+ /**
+ * Gets the sampler_states element.
+ * @return a daeSmartRef to the sampler_states element.
+ */
+ const domSampler_statesRef getSampler_states() const { return elemSampler_states; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_setparam(DAE& dae) : daeElement(dae), elemBool(), elemBool2(), elemBool3(), elemBool4(), elemInt(), elemInt2(), elemInt3(), elemInt4(), elemFloat(), elemFloat2(), elemFloat3(), elemFloat4(), elemFloat2x1(), elemFloat2x2(), elemFloat2x3(), elemFloat2x4(), elemFloat3x1(), elemFloat3x2(), elemFloat3x3(), elemFloat3x4(), elemFloat4x1(), elemFloat4x2(), elemFloat4x3(), elemFloat4x4(), elemEnum(), elemSampler_image(), elemSampler_states() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_setparam() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_setparam &operator=( const domFx_setparam &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domFx_sources.h b/1.4.0/dom/include/1.5/dom/domFx_sources.h
new file mode 100644
index 0000000..5d3cfad
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domFx_sources.h
@@ -0,0 +1,228 @@
+#ifndef __dom150Fx_sources_h__
+#define __dom150Fx_sources_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domFx_sources : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_SOURCES; }
+ static daeInt ID() { return 182; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domInline;
+
+ typedef daeSmartRef<domInline> domInlineRef;
+ typedef daeTArray<domInlineRef> domInline_Array;
+
+/**
+ * this is allows you to include some code right here....like a #define for
+ * an uber shader that is imported
+ */
+ class domInline : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INLINE; }
+ static daeInt ID() { return 183; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsString of the value.
+ */
+ xsString getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsString val ) { *(daeStringRef*)&_value = val; }
+
+ protected: // Value
+ /**
+ * The xsString value of the text data of this element.
+ */
+ xsString _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domInline(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInline() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInline &operator=( const domInline &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domImport;
+
+ typedef daeSmartRef<domImport> domImportRef;
+ typedef daeTArray<domImportRef> domImport_Array;
+
+/**
+ * Ref attribute identifies the sid of a code or include element
+ */
+ class domImport : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::IMPORT; }
+ static daeInt ID() { return 184; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+ xsToken attrRef;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the ref attribute.
+ * @return Returns a xsToken of the ref attribute.
+ */
+ xsToken getRef() const { return attrRef; }
+ /**
+ * Sets the ref attribute.
+ * @param atRef The new value for the ref attribute.
+ */
+ void setRef( xsToken atRef ) { *(daeStringRef*)&attrRef = atRef; _validAttributeArray[0] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domImport(DAE& dae) : daeElement(dae), attrRef() {}
+ /**
+ * Destructor
+ */
+ virtual ~domImport() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domImport &operator=( const domImport &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+/**
+ * this is allows you to include some code right here....like a #define for
+ * an uber shader that is imported @see domInline
+ */
+ domInline_Array elemInline_array;
+/**
+ * Ref attribute identifies the sid of a code or include element @see domImport
+ */
+ domImport_Array elemImport_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the inline element array.
+ * @return Returns a reference to the array of inline elements.
+ */
+ domInline_Array &getInline_array() { return elemInline_array; }
+ /**
+ * Gets the inline element array.
+ * @return Returns a constant reference to the array of inline elements.
+ */
+ const domInline_Array &getInline_array() const { return elemInline_array; }
+ /**
+ * Gets the import element array.
+ * @return Returns a reference to the array of import elements.
+ */
+ domImport_Array &getImport_array() { return elemImport_array; }
+ /**
+ * Gets the import element array.
+ * @return Returns a constant reference to the array of import elements.
+ */
+ const domImport_Array &getImport_array() const { return elemImport_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_sources(DAE& dae) : daeElement(dae), elemInline_array(), elemImport_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_sources() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_sources &operator=( const domFx_sources &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domFx_stenciltarget.h b/1.4.0/dom/include/1.5/dom/domFx_stenciltarget.h
new file mode 100644
index 0000000..f631818
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domFx_stenciltarget.h
@@ -0,0 +1,50 @@
+#ifndef __dom150Fx_stenciltarget_h__
+#define __dom150Fx_stenciltarget_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domFx_rendertarget.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domFx_stenciltarget : public domFx_rendertarget
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_STENCILTARGET; }
+ static daeInt ID() { return 133; }
+ virtual daeInt typeID() const { return ID(); }
+
+protected:
+ /**
+ * Constructor
+ */
+ domFx_stenciltarget(DAE& dae) : domFx_rendertarget(dae) {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_stenciltarget() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_stenciltarget &operator=( const domFx_stenciltarget &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domFx_target.h b/1.4.0/dom/include/1.5/dom/domFx_target.h
new file mode 100644
index 0000000..cc68639
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domFx_target.h
@@ -0,0 +1,340 @@
+#ifndef __dom150Fx_target_h__
+#define __dom150Fx_target_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * identify the platform_sku and compiler options to build a binary
+ */
+class domFx_target : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_TARGET; }
+ static daeInt ID() { return 185; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domBinary;
+
+ typedef daeSmartRef<domBinary> domBinaryRef;
+ typedef daeTArray<domBinaryRef> domBinary_Array;
+
+ class domBinary : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BINARY; }
+ static daeInt ID() { return 186; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domRef;
+
+ typedef daeSmartRef<domRef> domRefRef;
+ typedef daeTArray<domRefRef> domRef_Array;
+
+ class domRef : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::REF; }
+ static daeInt ID() { return 187; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsAnyURI of the value.
+ */
+ xsAnyURI &getValue() { return _value; }
+ /**
+ * Gets the value of this element.
+ * @return Returns a constant xsAnyURI of the value.
+ */
+ const xsAnyURI &getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const xsAnyURI &val ) { _value = val; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsString val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The xsAnyURI value of the text data of this element.
+ */
+ xsAnyURI _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domRef(DAE& dae) : daeElement(dae), _value(dae, *this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domRef() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRef &operator=( const domRef &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domHex;
+
+ typedef daeSmartRef<domHex> domHexRef;
+ typedef daeTArray<domHexRef> domHex_Array;
+
+/**
+ * contains a sequence of hexadecimal encoded binary
+ */
+ class domHex : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HEX; }
+ static daeInt ID() { return 188; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+/**
+ * binary format which may include target device identificatrion
+ */
+ xsToken attrFormat;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the format attribute.
+ * @return Returns a xsToken of the format attribute.
+ */
+ xsToken getFormat() const { return attrFormat; }
+ /**
+ * Sets the format attribute.
+ * @param atFormat The new value for the format attribute.
+ */
+ void setFormat( xsToken atFormat ) { *(daeStringRef*)&attrFormat = atFormat; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the value of this element.
+ * @return a domList_of_hex_binary of the value.
+ */
+ domList_of_hex_binary& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domList_of_hex_binary& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domList_of_hex_binary value of the text data of this element.
+ */
+ domList_of_hex_binary _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domHex(DAE& dae) : daeElement(dae), attrFormat(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHex() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHex &operator=( const domHex &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domRefRef elemRef;
+/**
+ * contains a sequence of hexadecimal encoded binary @see domHex
+ */
+ domHexRef elemHex;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the ref element.
+ * @return a daeSmartRef to the ref element.
+ */
+ const domRefRef getRef() const { return elemRef; }
+ /**
+ * Gets the hex element.
+ * @return a daeSmartRef to the hex element.
+ */
+ const domHexRef getHex() const { return elemHex; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBinary(DAE& dae) : daeElement(dae), elemRef(), elemHex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBinary() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBinary &operator=( const domBinary &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+/**
+ * Name of sub-platform. May be identical to the platform_series
+ */
+ xsString attrPlatform;
+/**
+ * compiler or linker results symbol. Ex arbvp1, arbfp1, glslv, glslf, hlslv,
+ * hlslf, vs_3_0, ps_3_0
+ */
+ xsString attrTarget;
+/**
+ * compiler or linker options
+ */
+ xsString attrOptions;
+
+protected: // Element
+ domBinaryRef elemBinary;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the platform attribute.
+ * @return Returns a xsString of the platform attribute.
+ */
+ xsString getPlatform() const { return attrPlatform; }
+ /**
+ * Sets the platform attribute.
+ * @param atPlatform The new value for the platform attribute.
+ */
+ void setPlatform( xsString atPlatform ) { *(daeStringRef*)&attrPlatform = atPlatform;}
+
+ /**
+ * Gets the target attribute.
+ * @return Returns a xsString of the target attribute.
+ */
+ xsString getTarget() const { return attrTarget; }
+ /**
+ * Sets the target attribute.
+ * @param atTarget The new value for the target attribute.
+ */
+ void setTarget( xsString atTarget ) { *(daeStringRef*)&attrTarget = atTarget;}
+
+ /**
+ * Gets the options attribute.
+ * @return Returns a xsString of the options attribute.
+ */
+ xsString getOptions() const { return attrOptions; }
+ /**
+ * Sets the options attribute.
+ * @param atOptions The new value for the options attribute.
+ */
+ void setOptions( xsString atOptions ) { *(daeStringRef*)&attrOptions = atOptions;}
+
+ /**
+ * Gets the binary element.
+ * @return a daeSmartRef to the binary element.
+ */
+ const domBinaryRef getBinary() const { return elemBinary; }
+protected:
+ /**
+ * Constructor
+ */
+ domFx_target(DAE& dae) : daeElement(dae), attrPlatform(), attrTarget(), attrOptions(), elemBinary() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFx_target() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFx_target &operator=( const domFx_target &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domGeometry.h b/1.4.0/dom/include/1.5/dom/domGeometry.h
new file mode 100644
index 0000000..81a7976
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domGeometry.h
@@ -0,0 +1,177 @@
+#ifndef __dom150Geometry_h__
+#define __dom150Geometry_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domConvex_mesh.h>
+#include <1.5/dom/domMesh.h>
+#include <1.5/dom/domSpline.h>
+#include <1.5/dom/domBrep.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * Geometry describes the visual shape and appearance of an object in the
+ * scene. The geometry element categorizes the declaration of geometric information.
+ * Geometry is a branch of mathematics that deals with the measurement, properties,
+ * and relationships of points, lines, angles, surfaces, and solids.
+ */
+class domGeometry : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GEOMETRY; }
+ static daeInt ID() { return 364; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+
+protected: // Elements
+/**
+ * The geometry element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * The geometry element may contain only one mesh or convex_mesh. @see domConvex_mesh
+ */
+ domConvex_meshRef elemConvex_mesh;
+/**
+ * The geometry element may contain only one mesh or convex_mesh. @see domMesh
+ */
+ domMeshRef elemMesh;
+ domSplineRef elemSpline;
+ domBrepRef elemBrep;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the convex_mesh element.
+ * @return a daeSmartRef to the convex_mesh element.
+ */
+ const domConvex_meshRef getConvex_mesh() const { return elemConvex_mesh; }
+ /**
+ * Gets the mesh element.
+ * @return a daeSmartRef to the mesh element.
+ */
+ const domMeshRef getMesh() const { return elemMesh; }
+ /**
+ * Gets the spline element.
+ * @return a daeSmartRef to the spline element.
+ */
+ const domSplineRef getSpline() const { return elemSpline; }
+ /**
+ * Gets the brep element.
+ * @return a daeSmartRef to the brep element.
+ */
+ const domBrepRef getBrep() const { return elemBrep; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domGeometry(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemConvex_mesh(), elemMesh(), elemSpline(), elemBrep(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGeometry() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGeometry &operator=( const domGeometry &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domGl_pipeline_settings.h b/1.4.0/dom/include/1.5/dom/domGl_pipeline_settings.h
new file mode 100644
index 0000000..0760c10
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domGl_pipeline_settings.h
@@ -0,0 +1,10396 @@
+#ifndef __dom150Gl_pipeline_settings_h__
+#define __dom150Gl_pipeline_settings_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domFx_sampler1D.h>
+#include <1.5/dom/domFx_sampler2D.h>
+#include <1.5/dom/domFx_sampler3D.h>
+#include <1.5/dom/domFx_samplerCUBE.h>
+#include <1.5/dom/domFx_samplerRECT.h>
+#include <1.5/dom/domFx_samplerDEPTH.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * A group that defines all of the renderstates used for the CG and GLSL profiles.
+ */
+class domGl_pipeline_settings : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GL_PIPELINE_SETTINGS; }
+ static daeInt ID() { return 527; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domAlpha_func;
+
+ typedef daeSmartRef<domAlpha_func> domAlpha_funcRef;
+ typedef daeTArray<domAlpha_funcRef> domAlpha_func_Array;
+
+ class domAlpha_func : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ALPHA_FUNC; }
+ static daeInt ID() { return 528; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domFunc;
+
+ typedef daeSmartRef<domFunc> domFuncRef;
+ typedef daeTArray<domFuncRef> domFunc_Array;
+
+ class domFunc : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FUNC; }
+ static daeInt ID() { return 529; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_func attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_func of the value attribute.
+ */
+ domGl_func getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_func atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFunc(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFunc() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFunc &operator=( const domFunc &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domValue;
+
+ typedef daeSmartRef<domValue> domValueRef;
+ typedef daeTArray<domValueRef> domValue_Array;
+
+ class domValue : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::VALUE; }
+ static daeInt ID() { return 530; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_alpha_value attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_alpha_value of the value attribute.
+ */
+ domGl_alpha_value getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_alpha_value atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domValue(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domValue() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domValue &operator=( const domValue &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domFuncRef elemFunc;
+ domValueRef elemValue;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the func element.
+ * @return a daeSmartRef to the func element.
+ */
+ const domFuncRef getFunc() const { return elemFunc; }
+ /**
+ * Gets the value element.
+ * @return a daeSmartRef to the value element.
+ */
+ const domValueRef getValue() const { return elemValue; }
+ protected:
+ /**
+ * Constructor
+ */
+ domAlpha_func(DAE& dae) : daeElement(dae), elemFunc(), elemValue() {}
+ /**
+ * Destructor
+ */
+ virtual ~domAlpha_func() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAlpha_func &operator=( const domAlpha_func &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBlend_func;
+
+ typedef daeSmartRef<domBlend_func> domBlend_funcRef;
+ typedef daeTArray<domBlend_funcRef> domBlend_func_Array;
+
+ class domBlend_func : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BLEND_FUNC; }
+ static daeInt ID() { return 531; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domSrc;
+
+ typedef daeSmartRef<domSrc> domSrcRef;
+ typedef daeTArray<domSrcRef> domSrc_Array;
+
+ class domSrc : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SRC; }
+ static daeInt ID() { return 532; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_blend attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_blend of the value attribute.
+ */
+ domGl_blend getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_blend atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSrc(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSrc() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSrc &operator=( const domSrc &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDest;
+
+ typedef daeSmartRef<domDest> domDestRef;
+ typedef daeTArray<domDestRef> domDest_Array;
+
+ class domDest : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DEST; }
+ static daeInt ID() { return 533; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_blend attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_blend of the value attribute.
+ */
+ domGl_blend getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_blend atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDest(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDest() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDest &operator=( const domDest &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domSrcRef elemSrc;
+ domDestRef elemDest;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the src element.
+ * @return a daeSmartRef to the src element.
+ */
+ const domSrcRef getSrc() const { return elemSrc; }
+ /**
+ * Gets the dest element.
+ * @return a daeSmartRef to the dest element.
+ */
+ const domDestRef getDest() const { return elemDest; }
+ protected:
+ /**
+ * Constructor
+ */
+ domBlend_func(DAE& dae) : daeElement(dae), elemSrc(), elemDest() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBlend_func() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBlend_func &operator=( const domBlend_func &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBlend_func_separate;
+
+ typedef daeSmartRef<domBlend_func_separate> domBlend_func_separateRef;
+ typedef daeTArray<domBlend_func_separateRef> domBlend_func_separate_Array;
+
+ class domBlend_func_separate : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BLEND_FUNC_SEPARATE; }
+ static daeInt ID() { return 534; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domSrc_rgb;
+
+ typedef daeSmartRef<domSrc_rgb> domSrc_rgbRef;
+ typedef daeTArray<domSrc_rgbRef> domSrc_rgb_Array;
+
+ class domSrc_rgb : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SRC_RGB; }
+ static daeInt ID() { return 535; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_blend attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_blend of the value attribute.
+ */
+ domGl_blend getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_blend atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSrc_rgb(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSrc_rgb() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSrc_rgb &operator=( const domSrc_rgb &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDest_rgb;
+
+ typedef daeSmartRef<domDest_rgb> domDest_rgbRef;
+ typedef daeTArray<domDest_rgbRef> domDest_rgb_Array;
+
+ class domDest_rgb : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DEST_RGB; }
+ static daeInt ID() { return 536; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_blend attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_blend of the value attribute.
+ */
+ domGl_blend getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_blend atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDest_rgb(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDest_rgb() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDest_rgb &operator=( const domDest_rgb &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domSrc_alpha;
+
+ typedef daeSmartRef<domSrc_alpha> domSrc_alphaRef;
+ typedef daeTArray<domSrc_alphaRef> domSrc_alpha_Array;
+
+ class domSrc_alpha : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SRC_ALPHA; }
+ static daeInt ID() { return 537; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_blend attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_blend of the value attribute.
+ */
+ domGl_blend getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_blend atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSrc_alpha(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSrc_alpha() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSrc_alpha &operator=( const domSrc_alpha &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDest_alpha;
+
+ typedef daeSmartRef<domDest_alpha> domDest_alphaRef;
+ typedef daeTArray<domDest_alphaRef> domDest_alpha_Array;
+
+ class domDest_alpha : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DEST_ALPHA; }
+ static daeInt ID() { return 538; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_blend attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_blend of the value attribute.
+ */
+ domGl_blend getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_blend atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDest_alpha(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDest_alpha() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDest_alpha &operator=( const domDest_alpha &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domSrc_rgbRef elemSrc_rgb;
+ domDest_rgbRef elemDest_rgb;
+ domSrc_alphaRef elemSrc_alpha;
+ domDest_alphaRef elemDest_alpha;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the src_rgb element.
+ * @return a daeSmartRef to the src_rgb element.
+ */
+ const domSrc_rgbRef getSrc_rgb() const { return elemSrc_rgb; }
+ /**
+ * Gets the dest_rgb element.
+ * @return a daeSmartRef to the dest_rgb element.
+ */
+ const domDest_rgbRef getDest_rgb() const { return elemDest_rgb; }
+ /**
+ * Gets the src_alpha element.
+ * @return a daeSmartRef to the src_alpha element.
+ */
+ const domSrc_alphaRef getSrc_alpha() const { return elemSrc_alpha; }
+ /**
+ * Gets the dest_alpha element.
+ * @return a daeSmartRef to the dest_alpha element.
+ */
+ const domDest_alphaRef getDest_alpha() const { return elemDest_alpha; }
+ protected:
+ /**
+ * Constructor
+ */
+ domBlend_func_separate(DAE& dae) : daeElement(dae), elemSrc_rgb(), elemDest_rgb(), elemSrc_alpha(), elemDest_alpha() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBlend_func_separate() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBlend_func_separate &operator=( const domBlend_func_separate &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBlend_equation;
+
+ typedef daeSmartRef<domBlend_equation> domBlend_equationRef;
+ typedef daeTArray<domBlend_equationRef> domBlend_equation_Array;
+
+ class domBlend_equation : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BLEND_EQUATION; }
+ static daeInt ID() { return 539; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_blend_equation attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_blend_equation of the value attribute.
+ */
+ domGl_blend_equation getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_blend_equation atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBlend_equation(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBlend_equation() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBlend_equation &operator=( const domBlend_equation &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBlend_equation_separate;
+
+ typedef daeSmartRef<domBlend_equation_separate> domBlend_equation_separateRef;
+ typedef daeTArray<domBlend_equation_separateRef> domBlend_equation_separate_Array;
+
+ class domBlend_equation_separate : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BLEND_EQUATION_SEPARATE; }
+ static daeInt ID() { return 540; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domRgb;
+
+ typedef daeSmartRef<domRgb> domRgbRef;
+ typedef daeTArray<domRgbRef> domRgb_Array;
+
+ class domRgb : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::RGB; }
+ static daeInt ID() { return 541; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_blend_equation attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_blend_equation of the value attribute.
+ */
+ domGl_blend_equation getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_blend_equation atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domRgb(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domRgb() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRgb &operator=( const domRgb &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domAlpha;
+
+ typedef daeSmartRef<domAlpha> domAlphaRef;
+ typedef daeTArray<domAlphaRef> domAlpha_Array;
+
+ class domAlpha : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ALPHA; }
+ static daeInt ID() { return 542; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_blend_equation attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_blend_equation of the value attribute.
+ */
+ domGl_blend_equation getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_blend_equation atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domAlpha(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domAlpha() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAlpha &operator=( const domAlpha &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domRgbRef elemRgb;
+ domAlphaRef elemAlpha;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the rgb element.
+ * @return a daeSmartRef to the rgb element.
+ */
+ const domRgbRef getRgb() const { return elemRgb; }
+ /**
+ * Gets the alpha element.
+ * @return a daeSmartRef to the alpha element.
+ */
+ const domAlphaRef getAlpha() const { return elemAlpha; }
+ protected:
+ /**
+ * Constructor
+ */
+ domBlend_equation_separate(DAE& dae) : daeElement(dae), elemRgb(), elemAlpha() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBlend_equation_separate() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBlend_equation_separate &operator=( const domBlend_equation_separate &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domColor_material;
+
+ typedef daeSmartRef<domColor_material> domColor_materialRef;
+ typedef daeTArray<domColor_materialRef> domColor_material_Array;
+
+ class domColor_material : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COLOR_MATERIAL; }
+ static daeInt ID() { return 543; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domFace;
+
+ typedef daeSmartRef<domFace> domFaceRef;
+ typedef daeTArray<domFaceRef> domFace_Array;
+
+ class domFace : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FACE; }
+ static daeInt ID() { return 544; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_face attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_face of the value attribute.
+ */
+ domGl_face getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_face atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFace(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFace() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFace &operator=( const domFace &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMode;
+
+ typedef daeSmartRef<domMode> domModeRef;
+ typedef daeTArray<domModeRef> domMode_Array;
+
+ class domMode : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MODE; }
+ static daeInt ID() { return 545; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_material attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_material of the value attribute.
+ */
+ domGl_material getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_material atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMode(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMode() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMode &operator=( const domMode &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domFaceRef elemFace;
+ domModeRef elemMode;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the face element.
+ * @return a daeSmartRef to the face element.
+ */
+ const domFaceRef getFace() const { return elemFace; }
+ /**
+ * Gets the mode element.
+ * @return a daeSmartRef to the mode element.
+ */
+ const domModeRef getMode() const { return elemMode; }
+ protected:
+ /**
+ * Constructor
+ */
+ domColor_material(DAE& dae) : daeElement(dae), elemFace(), elemMode() {}
+ /**
+ * Destructor
+ */
+ virtual ~domColor_material() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domColor_material &operator=( const domColor_material &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domCull_face;
+
+ typedef daeSmartRef<domCull_face> domCull_faceRef;
+ typedef daeTArray<domCull_faceRef> domCull_face_Array;
+
+ class domCull_face : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CULL_FACE; }
+ static daeInt ID() { return 546; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_face attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_face of the value attribute.
+ */
+ domGl_face getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_face atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domCull_face(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCull_face() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCull_face &operator=( const domCull_face &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDepth_func;
+
+ typedef daeSmartRef<domDepth_func> domDepth_funcRef;
+ typedef daeTArray<domDepth_funcRef> domDepth_func_Array;
+
+ class domDepth_func : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DEPTH_FUNC; }
+ static daeInt ID() { return 547; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_func attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_func of the value attribute.
+ */
+ domGl_func getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_func atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDepth_func(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDepth_func() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDepth_func &operator=( const domDepth_func &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFog_mode;
+
+ typedef daeSmartRef<domFog_mode> domFog_modeRef;
+ typedef daeTArray<domFog_modeRef> domFog_mode_Array;
+
+ class domFog_mode : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FOG_MODE; }
+ static daeInt ID() { return 548; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_fog attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_fog of the value attribute.
+ */
+ domGl_fog getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_fog atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFog_mode(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFog_mode() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFog_mode &operator=( const domFog_mode &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFog_coord_src;
+
+ typedef daeSmartRef<domFog_coord_src> domFog_coord_srcRef;
+ typedef daeTArray<domFog_coord_srcRef> domFog_coord_src_Array;
+
+ class domFog_coord_src : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FOG_COORD_SRC; }
+ static daeInt ID() { return 549; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_fog_coord_src attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_fog_coord_src of the value attribute.
+ */
+ domGl_fog_coord_src getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_fog_coord_src atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFog_coord_src(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFog_coord_src() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFog_coord_src &operator=( const domFog_coord_src &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFront_face;
+
+ typedef daeSmartRef<domFront_face> domFront_faceRef;
+ typedef daeTArray<domFront_faceRef> domFront_face_Array;
+
+ class domFront_face : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FRONT_FACE; }
+ static daeInt ID() { return 550; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_front_face attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_front_face of the value attribute.
+ */
+ domGl_front_face getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_front_face atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFront_face(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFront_face() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFront_face &operator=( const domFront_face &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_model_color_control;
+
+ typedef daeSmartRef<domLight_model_color_control> domLight_model_color_controlRef;
+ typedef daeTArray<domLight_model_color_controlRef> domLight_model_color_control_Array;
+
+ class domLight_model_color_control : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_MODEL_COLOR_CONTROL; }
+ static daeInt ID() { return 551; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_light_model_color_control attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_light_model_color_control of the value attribute.
+ */
+ domGl_light_model_color_control getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_light_model_color_control atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_model_color_control(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_model_color_control() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_model_color_control &operator=( const domLight_model_color_control &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLogic_op;
+
+ typedef daeSmartRef<domLogic_op> domLogic_opRef;
+ typedef daeTArray<domLogic_opRef> domLogic_op_Array;
+
+ class domLogic_op : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LOGIC_OP; }
+ static daeInt ID() { return 552; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_logic_op attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_logic_op of the value attribute.
+ */
+ domGl_logic_op getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_logic_op atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLogic_op(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLogic_op() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLogic_op &operator=( const domLogic_op &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPolygon_mode;
+
+ typedef daeSmartRef<domPolygon_mode> domPolygon_modeRef;
+ typedef daeTArray<domPolygon_modeRef> domPolygon_mode_Array;
+
+ class domPolygon_mode : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POLYGON_MODE; }
+ static daeInt ID() { return 553; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domFace;
+
+ typedef daeSmartRef<domFace> domFaceRef;
+ typedef daeTArray<domFaceRef> domFace_Array;
+
+ class domFace : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FACE; }
+ static daeInt ID() { return 554; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_face attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_face of the value attribute.
+ */
+ domGl_face getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_face atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFace(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFace() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFace &operator=( const domFace &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMode;
+
+ typedef daeSmartRef<domMode> domModeRef;
+ typedef daeTArray<domModeRef> domMode_Array;
+
+ class domMode : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MODE; }
+ static daeInt ID() { return 555; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_polygon_mode attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_polygon_mode of the value attribute.
+ */
+ domGl_polygon_mode getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_polygon_mode atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMode(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMode() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMode &operator=( const domMode &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domFaceRef elemFace;
+ domModeRef elemMode;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the face element.
+ * @return a daeSmartRef to the face element.
+ */
+ const domFaceRef getFace() const { return elemFace; }
+ /**
+ * Gets the mode element.
+ * @return a daeSmartRef to the mode element.
+ */
+ const domModeRef getMode() const { return elemMode; }
+ protected:
+ /**
+ * Constructor
+ */
+ domPolygon_mode(DAE& dae) : daeElement(dae), elemFace(), elemMode() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPolygon_mode() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPolygon_mode &operator=( const domPolygon_mode &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domShade_model;
+
+ typedef daeSmartRef<domShade_model> domShade_modelRef;
+ typedef daeTArray<domShade_modelRef> domShade_model_Array;
+
+ class domShade_model : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SHADE_MODEL; }
+ static daeInt ID() { return 556; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_shade_model attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_shade_model of the value attribute.
+ */
+ domGl_shade_model getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_shade_model atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domShade_model(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domShade_model() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domShade_model &operator=( const domShade_model &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domStencil_func;
+
+ typedef daeSmartRef<domStencil_func> domStencil_funcRef;
+ typedef daeTArray<domStencil_funcRef> domStencil_func_Array;
+
+ class domStencil_func : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::STENCIL_FUNC; }
+ static daeInt ID() { return 557; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domFunc;
+
+ typedef daeSmartRef<domFunc> domFuncRef;
+ typedef daeTArray<domFuncRef> domFunc_Array;
+
+ class domFunc : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FUNC; }
+ static daeInt ID() { return 558; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_func attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_func of the value attribute.
+ */
+ domGl_func getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_func atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFunc(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFunc() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFunc &operator=( const domFunc &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domRef;
+
+ typedef daeSmartRef<domRef> domRefRef;
+ typedef daeTArray<domRefRef> domRef_Array;
+
+ class domRef : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::REF; }
+ static daeInt ID() { return 559; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsUnsignedByte attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsUnsignedByte of the value attribute.
+ */
+ xsUnsignedByte getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsUnsignedByte atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domRef(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domRef() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRef &operator=( const domRef &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMask;
+
+ typedef daeSmartRef<domMask> domMaskRef;
+ typedef daeTArray<domMaskRef> domMask_Array;
+
+ class domMask : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MASK; }
+ static daeInt ID() { return 560; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsUnsignedByte attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsUnsignedByte of the value attribute.
+ */
+ xsUnsignedByte getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsUnsignedByte atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMask(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMask() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMask &operator=( const domMask &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domFuncRef elemFunc;
+ domRefRef elemRef;
+ domMaskRef elemMask;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the func element.
+ * @return a daeSmartRef to the func element.
+ */
+ const domFuncRef getFunc() const { return elemFunc; }
+ /**
+ * Gets the ref element.
+ * @return a daeSmartRef to the ref element.
+ */
+ const domRefRef getRef() const { return elemRef; }
+ /**
+ * Gets the mask element.
+ * @return a daeSmartRef to the mask element.
+ */
+ const domMaskRef getMask() const { return elemMask; }
+ protected:
+ /**
+ * Constructor
+ */
+ domStencil_func(DAE& dae) : daeElement(dae), elemFunc(), elemRef(), elemMask() {}
+ /**
+ * Destructor
+ */
+ virtual ~domStencil_func() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domStencil_func &operator=( const domStencil_func &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domStencil_op;
+
+ typedef daeSmartRef<domStencil_op> domStencil_opRef;
+ typedef daeTArray<domStencil_opRef> domStencil_op_Array;
+
+ class domStencil_op : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::STENCIL_OP; }
+ static daeInt ID() { return 561; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domFail;
+
+ typedef daeSmartRef<domFail> domFailRef;
+ typedef daeTArray<domFailRef> domFail_Array;
+
+ class domFail : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FAIL; }
+ static daeInt ID() { return 562; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_stencil_op attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_stencil_op of the value attribute.
+ */
+ domGl_stencil_op getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_stencil_op atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFail(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFail() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFail &operator=( const domFail &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domZfail;
+
+ typedef daeSmartRef<domZfail> domZfailRef;
+ typedef daeTArray<domZfailRef> domZfail_Array;
+
+ class domZfail : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ZFAIL; }
+ static daeInt ID() { return 563; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_stencil_op attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_stencil_op of the value attribute.
+ */
+ domGl_stencil_op getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_stencil_op atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domZfail(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domZfail() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domZfail &operator=( const domZfail &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domZpass;
+
+ typedef daeSmartRef<domZpass> domZpassRef;
+ typedef daeTArray<domZpassRef> domZpass_Array;
+
+ class domZpass : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ZPASS; }
+ static daeInt ID() { return 564; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_stencil_op attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_stencil_op of the value attribute.
+ */
+ domGl_stencil_op getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_stencil_op atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domZpass(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domZpass() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domZpass &operator=( const domZpass &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domFailRef elemFail;
+ domZfailRef elemZfail;
+ domZpassRef elemZpass;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the fail element.
+ * @return a daeSmartRef to the fail element.
+ */
+ const domFailRef getFail() const { return elemFail; }
+ /**
+ * Gets the zfail element.
+ * @return a daeSmartRef to the zfail element.
+ */
+ const domZfailRef getZfail() const { return elemZfail; }
+ /**
+ * Gets the zpass element.
+ * @return a daeSmartRef to the zpass element.
+ */
+ const domZpassRef getZpass() const { return elemZpass; }
+ protected:
+ /**
+ * Constructor
+ */
+ domStencil_op(DAE& dae) : daeElement(dae), elemFail(), elemZfail(), elemZpass() {}
+ /**
+ * Destructor
+ */
+ virtual ~domStencil_op() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domStencil_op &operator=( const domStencil_op &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domStencil_func_separate;
+
+ typedef daeSmartRef<domStencil_func_separate> domStencil_func_separateRef;
+ typedef daeTArray<domStencil_func_separateRef> domStencil_func_separate_Array;
+
+ class domStencil_func_separate : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::STENCIL_FUNC_SEPARATE; }
+ static daeInt ID() { return 565; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domFront;
+
+ typedef daeSmartRef<domFront> domFrontRef;
+ typedef daeTArray<domFrontRef> domFront_Array;
+
+ class domFront : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FRONT; }
+ static daeInt ID() { return 566; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_func attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_func of the value attribute.
+ */
+ domGl_func getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_func atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFront(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFront() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFront &operator=( const domFront &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBack;
+
+ typedef daeSmartRef<domBack> domBackRef;
+ typedef daeTArray<domBackRef> domBack_Array;
+
+ class domBack : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BACK; }
+ static daeInt ID() { return 567; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_func attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_func of the value attribute.
+ */
+ domGl_func getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_func atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBack(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBack() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBack &operator=( const domBack &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domRef;
+
+ typedef daeSmartRef<domRef> domRefRef;
+ typedef daeTArray<domRefRef> domRef_Array;
+
+ class domRef : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::REF; }
+ static daeInt ID() { return 568; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsUnsignedByte attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsUnsignedByte of the value attribute.
+ */
+ xsUnsignedByte getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsUnsignedByte atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domRef(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domRef() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRef &operator=( const domRef &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMask;
+
+ typedef daeSmartRef<domMask> domMaskRef;
+ typedef daeTArray<domMaskRef> domMask_Array;
+
+ class domMask : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MASK; }
+ static daeInt ID() { return 569; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsUnsignedByte attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsUnsignedByte of the value attribute.
+ */
+ xsUnsignedByte getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsUnsignedByte atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMask(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMask() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMask &operator=( const domMask &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domFrontRef elemFront;
+ domBackRef elemBack;
+ domRefRef elemRef;
+ domMaskRef elemMask;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the front element.
+ * @return a daeSmartRef to the front element.
+ */
+ const domFrontRef getFront() const { return elemFront; }
+ /**
+ * Gets the back element.
+ * @return a daeSmartRef to the back element.
+ */
+ const domBackRef getBack() const { return elemBack; }
+ /**
+ * Gets the ref element.
+ * @return a daeSmartRef to the ref element.
+ */
+ const domRefRef getRef() const { return elemRef; }
+ /**
+ * Gets the mask element.
+ * @return a daeSmartRef to the mask element.
+ */
+ const domMaskRef getMask() const { return elemMask; }
+ protected:
+ /**
+ * Constructor
+ */
+ domStencil_func_separate(DAE& dae) : daeElement(dae), elemFront(), elemBack(), elemRef(), elemMask() {}
+ /**
+ * Destructor
+ */
+ virtual ~domStencil_func_separate() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domStencil_func_separate &operator=( const domStencil_func_separate &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domStencil_op_separate;
+
+ typedef daeSmartRef<domStencil_op_separate> domStencil_op_separateRef;
+ typedef daeTArray<domStencil_op_separateRef> domStencil_op_separate_Array;
+
+ class domStencil_op_separate : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::STENCIL_OP_SEPARATE; }
+ static daeInt ID() { return 570; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domFace;
+
+ typedef daeSmartRef<domFace> domFaceRef;
+ typedef daeTArray<domFaceRef> domFace_Array;
+
+ class domFace : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FACE; }
+ static daeInt ID() { return 571; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_face attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_face of the value attribute.
+ */
+ domGl_face getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_face atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFace(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFace() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFace &operator=( const domFace &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFail;
+
+ typedef daeSmartRef<domFail> domFailRef;
+ typedef daeTArray<domFailRef> domFail_Array;
+
+ class domFail : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FAIL; }
+ static daeInt ID() { return 572; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_stencil_op attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_stencil_op of the value attribute.
+ */
+ domGl_stencil_op getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_stencil_op atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFail(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFail() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFail &operator=( const domFail &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domZfail;
+
+ typedef daeSmartRef<domZfail> domZfailRef;
+ typedef daeTArray<domZfailRef> domZfail_Array;
+
+ class domZfail : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ZFAIL; }
+ static daeInt ID() { return 573; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_stencil_op attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_stencil_op of the value attribute.
+ */
+ domGl_stencil_op getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_stencil_op atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domZfail(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domZfail() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domZfail &operator=( const domZfail &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domZpass;
+
+ typedef daeSmartRef<domZpass> domZpassRef;
+ typedef daeTArray<domZpassRef> domZpass_Array;
+
+ class domZpass : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ZPASS; }
+ static daeInt ID() { return 574; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_stencil_op attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_stencil_op of the value attribute.
+ */
+ domGl_stencil_op getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_stencil_op atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domZpass(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domZpass() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domZpass &operator=( const domZpass &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domFaceRef elemFace;
+ domFailRef elemFail;
+ domZfailRef elemZfail;
+ domZpassRef elemZpass;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the face element.
+ * @return a daeSmartRef to the face element.
+ */
+ const domFaceRef getFace() const { return elemFace; }
+ /**
+ * Gets the fail element.
+ * @return a daeSmartRef to the fail element.
+ */
+ const domFailRef getFail() const { return elemFail; }
+ /**
+ * Gets the zfail element.
+ * @return a daeSmartRef to the zfail element.
+ */
+ const domZfailRef getZfail() const { return elemZfail; }
+ /**
+ * Gets the zpass element.
+ * @return a daeSmartRef to the zpass element.
+ */
+ const domZpassRef getZpass() const { return elemZpass; }
+ protected:
+ /**
+ * Constructor
+ */
+ domStencil_op_separate(DAE& dae) : daeElement(dae), elemFace(), elemFail(), elemZfail(), elemZpass() {}
+ /**
+ * Destructor
+ */
+ virtual ~domStencil_op_separate() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domStencil_op_separate &operator=( const domStencil_op_separate &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domStencil_mask_separate;
+
+ typedef daeSmartRef<domStencil_mask_separate> domStencil_mask_separateRef;
+ typedef daeTArray<domStencil_mask_separateRef> domStencil_mask_separate_Array;
+
+ class domStencil_mask_separate : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::STENCIL_MASK_SEPARATE; }
+ static daeInt ID() { return 575; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domFace;
+
+ typedef daeSmartRef<domFace> domFaceRef;
+ typedef daeTArray<domFaceRef> domFace_Array;
+
+ class domFace : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FACE; }
+ static daeInt ID() { return 576; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_face attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_face of the value attribute.
+ */
+ domGl_face getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_face atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFace(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFace() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFace &operator=( const domFace &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMask;
+
+ typedef daeSmartRef<domMask> domMaskRef;
+ typedef daeTArray<domMaskRef> domMask_Array;
+
+ class domMask : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MASK; }
+ static daeInt ID() { return 577; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsUnsignedByte attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsUnsignedByte of the value attribute.
+ */
+ xsUnsignedByte getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsUnsignedByte atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMask(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMask() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMask &operator=( const domMask &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domFaceRef elemFace;
+ domMaskRef elemMask;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the face element.
+ * @return a daeSmartRef to the face element.
+ */
+ const domFaceRef getFace() const { return elemFace; }
+ /**
+ * Gets the mask element.
+ * @return a daeSmartRef to the mask element.
+ */
+ const domMaskRef getMask() const { return elemMask; }
+ protected:
+ /**
+ * Constructor
+ */
+ domStencil_mask_separate(DAE& dae) : daeElement(dae), elemFace(), elemMask() {}
+ /**
+ * Destructor
+ */
+ virtual ~domStencil_mask_separate() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domStencil_mask_separate &operator=( const domStencil_mask_separate &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_enable;
+
+ typedef daeSmartRef<domLight_enable> domLight_enableRef;
+ typedef daeTArray<domLight_enableRef> domLight_enable_Array;
+
+ class domLight_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_ENABLE; }
+ static daeInt ID() { return 578; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+ domGl_max_lights_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGl_max_lights_index of the index attribute.
+ */
+ domGl_max_lights_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGl_max_lights_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_enable &operator=( const domLight_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_ambient;
+
+ typedef daeSmartRef<domLight_ambient> domLight_ambientRef;
+ typedef daeTArray<domLight_ambientRef> domLight_ambient_Array;
+
+ class domLight_ambient : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_AMBIENT; }
+ static daeInt ID() { return 579; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+ domGl_max_lights_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat4 of the value attribute.
+ */
+ domFloat4 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat4 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGl_max_lights_index of the index attribute.
+ */
+ domGl_max_lights_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGl_max_lights_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_ambient(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_ambient() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_ambient &operator=( const domLight_ambient &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_diffuse;
+
+ typedef daeSmartRef<domLight_diffuse> domLight_diffuseRef;
+ typedef daeTArray<domLight_diffuseRef> domLight_diffuse_Array;
+
+ class domLight_diffuse : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_DIFFUSE; }
+ static daeInt ID() { return 580; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+ domGl_max_lights_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat4 of the value attribute.
+ */
+ domFloat4 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat4 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGl_max_lights_index of the index attribute.
+ */
+ domGl_max_lights_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGl_max_lights_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_diffuse(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_diffuse() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_diffuse &operator=( const domLight_diffuse &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_specular;
+
+ typedef daeSmartRef<domLight_specular> domLight_specularRef;
+ typedef daeTArray<domLight_specularRef> domLight_specular_Array;
+
+ class domLight_specular : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_SPECULAR; }
+ static daeInt ID() { return 581; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+ domGl_max_lights_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat4 of the value attribute.
+ */
+ domFloat4 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat4 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGl_max_lights_index of the index attribute.
+ */
+ domGl_max_lights_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGl_max_lights_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_specular(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_specular() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_specular &operator=( const domLight_specular &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_position;
+
+ typedef daeSmartRef<domLight_position> domLight_positionRef;
+ typedef daeTArray<domLight_positionRef> domLight_position_Array;
+
+ class domLight_position : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_POSITION; }
+ static daeInt ID() { return 582; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+ domGl_max_lights_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat4 of the value attribute.
+ */
+ domFloat4 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat4 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGl_max_lights_index of the index attribute.
+ */
+ domGl_max_lights_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGl_max_lights_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_position(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_position() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_position &operator=( const domLight_position &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_constant_attenuation;
+
+ typedef daeSmartRef<domLight_constant_attenuation> domLight_constant_attenuationRef;
+ typedef daeTArray<domLight_constant_attenuationRef> domLight_constant_attenuation_Array;
+
+ class domLight_constant_attenuation : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_CONSTANT_ATTENUATION; }
+ static daeInt ID() { return 583; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+ domGl_max_lights_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGl_max_lights_index of the index attribute.
+ */
+ domGl_max_lights_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGl_max_lights_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_constant_attenuation(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_constant_attenuation() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_constant_attenuation &operator=( const domLight_constant_attenuation &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_linear_attenuation;
+
+ typedef daeSmartRef<domLight_linear_attenuation> domLight_linear_attenuationRef;
+ typedef daeTArray<domLight_linear_attenuationRef> domLight_linear_attenuation_Array;
+
+ class domLight_linear_attenuation : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_LINEAR_ATTENUATION; }
+ static daeInt ID() { return 584; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+ domGl_max_lights_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGl_max_lights_index of the index attribute.
+ */
+ domGl_max_lights_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGl_max_lights_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_linear_attenuation(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_linear_attenuation() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_linear_attenuation &operator=( const domLight_linear_attenuation &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_quadratic_attenuation;
+
+ typedef daeSmartRef<domLight_quadratic_attenuation> domLight_quadratic_attenuationRef;
+ typedef daeTArray<domLight_quadratic_attenuationRef> domLight_quadratic_attenuation_Array;
+
+ class domLight_quadratic_attenuation : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_QUADRATIC_ATTENUATION; }
+ static daeInt ID() { return 585; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+ domGl_max_lights_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGl_max_lights_index of the index attribute.
+ */
+ domGl_max_lights_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGl_max_lights_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_quadratic_attenuation(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_quadratic_attenuation() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_quadratic_attenuation &operator=( const domLight_quadratic_attenuation &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_spot_cutoff;
+
+ typedef daeSmartRef<domLight_spot_cutoff> domLight_spot_cutoffRef;
+ typedef daeTArray<domLight_spot_cutoffRef> domLight_spot_cutoff_Array;
+
+ class domLight_spot_cutoff : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_SPOT_CUTOFF; }
+ static daeInt ID() { return 586; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+ domGl_max_lights_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGl_max_lights_index of the index attribute.
+ */
+ domGl_max_lights_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGl_max_lights_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_spot_cutoff(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_spot_cutoff() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_spot_cutoff &operator=( const domLight_spot_cutoff &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_spot_direction;
+
+ typedef daeSmartRef<domLight_spot_direction> domLight_spot_directionRef;
+ typedef daeTArray<domLight_spot_directionRef> domLight_spot_direction_Array;
+
+ class domLight_spot_direction : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_SPOT_DIRECTION; }
+ static daeInt ID() { return 587; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat3 attrValue;
+ xsNCName attrParam;
+ domGl_max_lights_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat3 of the value attribute.
+ */
+ domFloat3 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat3 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGl_max_lights_index of the index attribute.
+ */
+ domGl_max_lights_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGl_max_lights_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_spot_direction(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_spot_direction() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_spot_direction &operator=( const domLight_spot_direction &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_spot_exponent;
+
+ typedef daeSmartRef<domLight_spot_exponent> domLight_spot_exponentRef;
+ typedef daeTArray<domLight_spot_exponentRef> domLight_spot_exponent_Array;
+
+ class domLight_spot_exponent : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_SPOT_EXPONENT; }
+ static daeInt ID() { return 588; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+ domGl_max_lights_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGl_max_lights_index of the index attribute.
+ */
+ domGl_max_lights_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGl_max_lights_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_spot_exponent(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_spot_exponent() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_spot_exponent &operator=( const domLight_spot_exponent &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domTexture1D;
+
+ typedef daeSmartRef<domTexture1D> domTexture1DRef;
+ typedef daeTArray<domTexture1DRef> domTexture1D_Array;
+
+ class domTexture1D : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TEXTURE1D; }
+ static daeInt ID() { return 589; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domParam;
+
+ typedef daeSmartRef<domParam> domParamRef;
+ typedef daeTArray<domParamRef> domParam_Array;
+
+ class domParam : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PARAM; }
+ static daeInt ID() { return 590; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsNCName of the value.
+ */
+ xsNCName getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; }
+
+ protected: // Value
+ /**
+ * The xsNCName value of the text data of this element.
+ */
+ xsNCName _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domParam(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domParam() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domParam &operator=( const domParam &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+ protected: // Attribute
+ domGl_max_texture_image_units_index attrIndex;
+
+ protected: // Elements
+ domFx_sampler1DRef elemValue;
+ domParamRef elemParam;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGl_max_texture_image_units_index of the index attribute.
+ */
+ domGl_max_texture_image_units_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGl_max_texture_image_units_index atIndex ) { attrIndex = atIndex; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the value element.
+ * @return a daeSmartRef to the value element.
+ */
+ const domFx_sampler1DRef getValue() const { return elemValue; }
+ /**
+ * Gets the param element.
+ * @return a daeSmartRef to the param element.
+ */
+ const domParamRef getParam() const { return elemParam; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTexture1D(DAE& dae) : daeElement(dae), attrIndex(), elemValue(), elemParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTexture1D() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTexture1D &operator=( const domTexture1D &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domTexture2D;
+
+ typedef daeSmartRef<domTexture2D> domTexture2DRef;
+ typedef daeTArray<domTexture2DRef> domTexture2D_Array;
+
+ class domTexture2D : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TEXTURE2D; }
+ static daeInt ID() { return 591; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domParam;
+
+ typedef daeSmartRef<domParam> domParamRef;
+ typedef daeTArray<domParamRef> domParam_Array;
+
+ class domParam : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PARAM; }
+ static daeInt ID() { return 592; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsNCName of the value.
+ */
+ xsNCName getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; }
+
+ protected: // Value
+ /**
+ * The xsNCName value of the text data of this element.
+ */
+ xsNCName _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domParam(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domParam() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domParam &operator=( const domParam &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+ protected: // Attribute
+ domGl_max_texture_image_units_index attrIndex;
+
+ protected: // Elements
+ domFx_sampler2DRef elemValue;
+ domParamRef elemParam;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGl_max_texture_image_units_index of the index attribute.
+ */
+ domGl_max_texture_image_units_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGl_max_texture_image_units_index atIndex ) { attrIndex = atIndex; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the value element.
+ * @return a daeSmartRef to the value element.
+ */
+ const domFx_sampler2DRef getValue() const { return elemValue; }
+ /**
+ * Gets the param element.
+ * @return a daeSmartRef to the param element.
+ */
+ const domParamRef getParam() const { return elemParam; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTexture2D(DAE& dae) : daeElement(dae), attrIndex(), elemValue(), elemParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTexture2D() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTexture2D &operator=( const domTexture2D &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domTexture3D;
+
+ typedef daeSmartRef<domTexture3D> domTexture3DRef;
+ typedef daeTArray<domTexture3DRef> domTexture3D_Array;
+
+ class domTexture3D : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TEXTURE3D; }
+ static daeInt ID() { return 593; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domParam;
+
+ typedef daeSmartRef<domParam> domParamRef;
+ typedef daeTArray<domParamRef> domParam_Array;
+
+ class domParam : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PARAM; }
+ static daeInt ID() { return 594; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsNCName of the value.
+ */
+ xsNCName getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; }
+
+ protected: // Value
+ /**
+ * The xsNCName value of the text data of this element.
+ */
+ xsNCName _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domParam(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domParam() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domParam &operator=( const domParam &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+ protected: // Attribute
+ domGl_max_texture_image_units_index attrIndex;
+
+ protected: // Elements
+ domFx_sampler3DRef elemValue;
+ domParamRef elemParam;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGl_max_texture_image_units_index of the index attribute.
+ */
+ domGl_max_texture_image_units_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGl_max_texture_image_units_index atIndex ) { attrIndex = atIndex; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the value element.
+ * @return a daeSmartRef to the value element.
+ */
+ const domFx_sampler3DRef getValue() const { return elemValue; }
+ /**
+ * Gets the param element.
+ * @return a daeSmartRef to the param element.
+ */
+ const domParamRef getParam() const { return elemParam; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTexture3D(DAE& dae) : daeElement(dae), attrIndex(), elemValue(), elemParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTexture3D() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTexture3D &operator=( const domTexture3D &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domTextureCUBE;
+
+ typedef daeSmartRef<domTextureCUBE> domTextureCUBERef;
+ typedef daeTArray<domTextureCUBERef> domTextureCUBE_Array;
+
+ class domTextureCUBE : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TEXTURECUBE; }
+ static daeInt ID() { return 595; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domParam;
+
+ typedef daeSmartRef<domParam> domParamRef;
+ typedef daeTArray<domParamRef> domParam_Array;
+
+ class domParam : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PARAM; }
+ static daeInt ID() { return 596; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsNCName of the value.
+ */
+ xsNCName getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; }
+
+ protected: // Value
+ /**
+ * The xsNCName value of the text data of this element.
+ */
+ xsNCName _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domParam(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domParam() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domParam &operator=( const domParam &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+ protected: // Attribute
+ domGl_max_texture_image_units_index attrIndex;
+
+ protected: // Elements
+ domFx_samplerCUBERef elemValue;
+ domParamRef elemParam;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGl_max_texture_image_units_index of the index attribute.
+ */
+ domGl_max_texture_image_units_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGl_max_texture_image_units_index atIndex ) { attrIndex = atIndex; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the value element.
+ * @return a daeSmartRef to the value element.
+ */
+ const domFx_samplerCUBERef getValue() const { return elemValue; }
+ /**
+ * Gets the param element.
+ * @return a daeSmartRef to the param element.
+ */
+ const domParamRef getParam() const { return elemParam; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTextureCUBE(DAE& dae) : daeElement(dae), attrIndex(), elemValue(), elemParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTextureCUBE() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTextureCUBE &operator=( const domTextureCUBE &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domTextureRECT;
+
+ typedef daeSmartRef<domTextureRECT> domTextureRECTRef;
+ typedef daeTArray<domTextureRECTRef> domTextureRECT_Array;
+
+ class domTextureRECT : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TEXTURERECT; }
+ static daeInt ID() { return 597; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domParam;
+
+ typedef daeSmartRef<domParam> domParamRef;
+ typedef daeTArray<domParamRef> domParam_Array;
+
+ class domParam : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PARAM; }
+ static daeInt ID() { return 598; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsNCName of the value.
+ */
+ xsNCName getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; }
+
+ protected: // Value
+ /**
+ * The xsNCName value of the text data of this element.
+ */
+ xsNCName _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domParam(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domParam() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domParam &operator=( const domParam &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+ protected: // Attribute
+ domGl_max_texture_image_units_index attrIndex;
+
+ protected: // Elements
+ domFx_samplerRECTRef elemValue;
+ domParamRef elemParam;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGl_max_texture_image_units_index of the index attribute.
+ */
+ domGl_max_texture_image_units_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGl_max_texture_image_units_index atIndex ) { attrIndex = atIndex; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the value element.
+ * @return a daeSmartRef to the value element.
+ */
+ const domFx_samplerRECTRef getValue() const { return elemValue; }
+ /**
+ * Gets the param element.
+ * @return a daeSmartRef to the param element.
+ */
+ const domParamRef getParam() const { return elemParam; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTextureRECT(DAE& dae) : daeElement(dae), attrIndex(), elemValue(), elemParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTextureRECT() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTextureRECT &operator=( const domTextureRECT &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domTextureDEPTH;
+
+ typedef daeSmartRef<domTextureDEPTH> domTextureDEPTHRef;
+ typedef daeTArray<domTextureDEPTHRef> domTextureDEPTH_Array;
+
+ class domTextureDEPTH : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TEXTUREDEPTH; }
+ static daeInt ID() { return 599; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domParam;
+
+ typedef daeSmartRef<domParam> domParamRef;
+ typedef daeTArray<domParamRef> domParam_Array;
+
+ class domParam : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PARAM; }
+ static daeInt ID() { return 600; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsNCName of the value.
+ */
+ xsNCName getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; }
+
+ protected: // Value
+ /**
+ * The xsNCName value of the text data of this element.
+ */
+ xsNCName _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domParam(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domParam() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domParam &operator=( const domParam &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+ protected: // Attribute
+ domGl_max_texture_image_units_index attrIndex;
+
+ protected: // Elements
+ domFx_samplerDEPTHRef elemValue;
+ domParamRef elemParam;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGl_max_texture_image_units_index of the index attribute.
+ */
+ domGl_max_texture_image_units_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGl_max_texture_image_units_index atIndex ) { attrIndex = atIndex; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the value element.
+ * @return a daeSmartRef to the value element.
+ */
+ const domFx_samplerDEPTHRef getValue() const { return elemValue; }
+ /**
+ * Gets the param element.
+ * @return a daeSmartRef to the param element.
+ */
+ const domParamRef getParam() const { return elemParam; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTextureDEPTH(DAE& dae) : daeElement(dae), attrIndex(), elemValue(), elemParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTextureDEPTH() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTextureDEPTH &operator=( const domTextureDEPTH &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domTexture1D_enable;
+
+ typedef daeSmartRef<domTexture1D_enable> domTexture1D_enableRef;
+ typedef daeTArray<domTexture1D_enableRef> domTexture1D_enable_Array;
+
+ class domTexture1D_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TEXTURE1D_ENABLE; }
+ static daeInt ID() { return 601; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+ domGl_max_texture_image_units_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGl_max_texture_image_units_index of the index attribute.
+ */
+ domGl_max_texture_image_units_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGl_max_texture_image_units_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTexture1D_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTexture1D_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTexture1D_enable &operator=( const domTexture1D_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domTexture2D_enable;
+
+ typedef daeSmartRef<domTexture2D_enable> domTexture2D_enableRef;
+ typedef daeTArray<domTexture2D_enableRef> domTexture2D_enable_Array;
+
+ class domTexture2D_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TEXTURE2D_ENABLE; }
+ static daeInt ID() { return 602; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+ domGl_max_texture_image_units_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGl_max_texture_image_units_index of the index attribute.
+ */
+ domGl_max_texture_image_units_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGl_max_texture_image_units_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTexture2D_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTexture2D_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTexture2D_enable &operator=( const domTexture2D_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domTexture3D_enable;
+
+ typedef daeSmartRef<domTexture3D_enable> domTexture3D_enableRef;
+ typedef daeTArray<domTexture3D_enableRef> domTexture3D_enable_Array;
+
+ class domTexture3D_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TEXTURE3D_ENABLE; }
+ static daeInt ID() { return 603; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+ domGl_max_texture_image_units_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGl_max_texture_image_units_index of the index attribute.
+ */
+ domGl_max_texture_image_units_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGl_max_texture_image_units_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTexture3D_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTexture3D_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTexture3D_enable &operator=( const domTexture3D_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domTextureCUBE_enable;
+
+ typedef daeSmartRef<domTextureCUBE_enable> domTextureCUBE_enableRef;
+ typedef daeTArray<domTextureCUBE_enableRef> domTextureCUBE_enable_Array;
+
+ class domTextureCUBE_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TEXTURECUBE_ENABLE; }
+ static daeInt ID() { return 604; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+ domGl_max_texture_image_units_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGl_max_texture_image_units_index of the index attribute.
+ */
+ domGl_max_texture_image_units_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGl_max_texture_image_units_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTextureCUBE_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTextureCUBE_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTextureCUBE_enable &operator=( const domTextureCUBE_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domTextureRECT_enable;
+
+ typedef daeSmartRef<domTextureRECT_enable> domTextureRECT_enableRef;
+ typedef daeTArray<domTextureRECT_enableRef> domTextureRECT_enable_Array;
+
+ class domTextureRECT_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TEXTURERECT_ENABLE; }
+ static daeInt ID() { return 605; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+ domGl_max_texture_image_units_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGl_max_texture_image_units_index of the index attribute.
+ */
+ domGl_max_texture_image_units_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGl_max_texture_image_units_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTextureRECT_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTextureRECT_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTextureRECT_enable &operator=( const domTextureRECT_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domTextureDEPTH_enable;
+
+ typedef daeSmartRef<domTextureDEPTH_enable> domTextureDEPTH_enableRef;
+ typedef daeTArray<domTextureDEPTH_enableRef> domTextureDEPTH_enable_Array;
+
+ class domTextureDEPTH_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TEXTUREDEPTH_ENABLE; }
+ static daeInt ID() { return 606; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+ domGl_max_texture_image_units_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGl_max_texture_image_units_index of the index attribute.
+ */
+ domGl_max_texture_image_units_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGl_max_texture_image_units_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTextureDEPTH_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTextureDEPTH_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTextureDEPTH_enable &operator=( const domTextureDEPTH_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domTexture_env_color;
+
+ typedef daeSmartRef<domTexture_env_color> domTexture_env_colorRef;
+ typedef daeTArray<domTexture_env_colorRef> domTexture_env_color_Array;
+
+ class domTexture_env_color : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TEXTURE_ENV_COLOR; }
+ static daeInt ID() { return 607; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+ domGl_max_texture_image_units_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat4 of the value attribute.
+ */
+ domFloat4 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat4 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGl_max_texture_image_units_index of the index attribute.
+ */
+ domGl_max_texture_image_units_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGl_max_texture_image_units_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTexture_env_color(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTexture_env_color() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTexture_env_color &operator=( const domTexture_env_color &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domTexture_env_mode;
+
+ typedef daeSmartRef<domTexture_env_mode> domTexture_env_modeRef;
+ typedef daeTArray<domTexture_env_modeRef> domTexture_env_mode_Array;
+
+ class domTexture_env_mode : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TEXTURE_ENV_MODE; }
+ static daeInt ID() { return 608; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsString attrValue;
+ xsNCName attrParam;
+ domGl_max_texture_image_units_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsString of the value attribute.
+ */
+ xsString getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsString atValue ) { *(daeStringRef*)&attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGl_max_texture_image_units_index of the index attribute.
+ */
+ domGl_max_texture_image_units_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGl_max_texture_image_units_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTexture_env_mode(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTexture_env_mode() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTexture_env_mode &operator=( const domTexture_env_mode &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domClip_plane;
+
+ typedef daeSmartRef<domClip_plane> domClip_planeRef;
+ typedef daeTArray<domClip_planeRef> domClip_plane_Array;
+
+ class domClip_plane : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CLIP_PLANE; }
+ static daeInt ID() { return 609; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+ domGl_max_clip_planes_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat4 of the value attribute.
+ */
+ domFloat4 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat4 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGl_max_clip_planes_index of the index attribute.
+ */
+ domGl_max_clip_planes_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGl_max_clip_planes_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domClip_plane(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domClip_plane() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domClip_plane &operator=( const domClip_plane &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domClip_plane_enable;
+
+ typedef daeSmartRef<domClip_plane_enable> domClip_plane_enableRef;
+ typedef daeTArray<domClip_plane_enableRef> domClip_plane_enable_Array;
+
+ class domClip_plane_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CLIP_PLANE_ENABLE; }
+ static daeInt ID() { return 610; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+ domGl_max_clip_planes_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGl_max_clip_planes_index of the index attribute.
+ */
+ domGl_max_clip_planes_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGl_max_clip_planes_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domClip_plane_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domClip_plane_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domClip_plane_enable &operator=( const domClip_plane_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBlend_color;
+
+ typedef daeSmartRef<domBlend_color> domBlend_colorRef;
+ typedef daeTArray<domBlend_colorRef> domBlend_color_Array;
+
+ class domBlend_color : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BLEND_COLOR; }
+ static daeInt ID() { return 611; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat4 of the value attribute.
+ */
+ domFloat4 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat4 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBlend_color(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBlend_color() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBlend_color &operator=( const domBlend_color &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domColor_mask;
+
+ typedef daeSmartRef<domColor_mask> domColor_maskRef;
+ typedef daeTArray<domColor_maskRef> domColor_mask_Array;
+
+ class domColor_mask : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COLOR_MASK; }
+ static daeInt ID() { return 612; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool4 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool4 of the value attribute.
+ */
+ domBool4 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool4 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domColor_mask(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domColor_mask() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domColor_mask &operator=( const domColor_mask &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDepth_bounds;
+
+ typedef daeSmartRef<domDepth_bounds> domDepth_boundsRef;
+ typedef daeTArray<domDepth_boundsRef> domDepth_bounds_Array;
+
+ class domDepth_bounds : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DEPTH_BOUNDS; }
+ static daeInt ID() { return 613; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat2 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat2 of the value attribute.
+ */
+ domFloat2 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat2 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDepth_bounds(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDepth_bounds() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDepth_bounds &operator=( const domDepth_bounds &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDepth_mask;
+
+ typedef daeSmartRef<domDepth_mask> domDepth_maskRef;
+ typedef daeTArray<domDepth_maskRef> domDepth_mask_Array;
+
+ class domDepth_mask : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DEPTH_MASK; }
+ static daeInt ID() { return 614; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDepth_mask(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDepth_mask() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDepth_mask &operator=( const domDepth_mask &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDepth_range;
+
+ typedef daeSmartRef<domDepth_range> domDepth_rangeRef;
+ typedef daeTArray<domDepth_rangeRef> domDepth_range_Array;
+
+ class domDepth_range : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DEPTH_RANGE; }
+ static daeInt ID() { return 615; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat2 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat2 of the value attribute.
+ */
+ domFloat2 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat2 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDepth_range(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDepth_range() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDepth_range &operator=( const domDepth_range &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFog_density;
+
+ typedef daeSmartRef<domFog_density> domFog_densityRef;
+ typedef daeTArray<domFog_densityRef> domFog_density_Array;
+
+ class domFog_density : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FOG_DENSITY; }
+ static daeInt ID() { return 616; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFog_density(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFog_density() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFog_density &operator=( const domFog_density &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFog_start;
+
+ typedef daeSmartRef<domFog_start> domFog_startRef;
+ typedef daeTArray<domFog_startRef> domFog_start_Array;
+
+ class domFog_start : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FOG_START; }
+ static daeInt ID() { return 617; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFog_start(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFog_start() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFog_start &operator=( const domFog_start &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFog_end;
+
+ typedef daeSmartRef<domFog_end> domFog_endRef;
+ typedef daeTArray<domFog_endRef> domFog_end_Array;
+
+ class domFog_end : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FOG_END; }
+ static daeInt ID() { return 618; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFog_end(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFog_end() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFog_end &operator=( const domFog_end &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFog_color;
+
+ typedef daeSmartRef<domFog_color> domFog_colorRef;
+ typedef daeTArray<domFog_colorRef> domFog_color_Array;
+
+ class domFog_color : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FOG_COLOR; }
+ static daeInt ID() { return 619; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat4 of the value attribute.
+ */
+ domFloat4 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat4 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFog_color(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFog_color() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFog_color &operator=( const domFog_color &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_model_ambient;
+
+ typedef daeSmartRef<domLight_model_ambient> domLight_model_ambientRef;
+ typedef daeTArray<domLight_model_ambientRef> domLight_model_ambient_Array;
+
+ class domLight_model_ambient : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_MODEL_AMBIENT; }
+ static daeInt ID() { return 620; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat4 of the value attribute.
+ */
+ domFloat4 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat4 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_model_ambient(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_model_ambient() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_model_ambient &operator=( const domLight_model_ambient &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLighting_enable;
+
+ typedef daeSmartRef<domLighting_enable> domLighting_enableRef;
+ typedef daeTArray<domLighting_enableRef> domLighting_enable_Array;
+
+ class domLighting_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHTING_ENABLE; }
+ static daeInt ID() { return 621; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLighting_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLighting_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLighting_enable &operator=( const domLighting_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLine_stipple;
+
+ typedef daeSmartRef<domLine_stipple> domLine_stippleRef;
+ typedef daeTArray<domLine_stippleRef> domLine_stipple_Array;
+
+ class domLine_stipple : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LINE_STIPPLE; }
+ static daeInt ID() { return 622; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domInt2 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domInt2 of the value attribute.
+ */
+ domInt2 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domInt2 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLine_stipple(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLine_stipple() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLine_stipple &operator=( const domLine_stipple &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLine_width;
+
+ typedef daeSmartRef<domLine_width> domLine_widthRef;
+ typedef daeTArray<domLine_widthRef> domLine_width_Array;
+
+ class domLine_width : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LINE_WIDTH; }
+ static daeInt ID() { return 623; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLine_width(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLine_width() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLine_width &operator=( const domLine_width &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMaterial_ambient;
+
+ typedef daeSmartRef<domMaterial_ambient> domMaterial_ambientRef;
+ typedef daeTArray<domMaterial_ambientRef> domMaterial_ambient_Array;
+
+ class domMaterial_ambient : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MATERIAL_AMBIENT; }
+ static daeInt ID() { return 624; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat4 of the value attribute.
+ */
+ domFloat4 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat4 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMaterial_ambient(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMaterial_ambient() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMaterial_ambient &operator=( const domMaterial_ambient &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMaterial_diffuse;
+
+ typedef daeSmartRef<domMaterial_diffuse> domMaterial_diffuseRef;
+ typedef daeTArray<domMaterial_diffuseRef> domMaterial_diffuse_Array;
+
+ class domMaterial_diffuse : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MATERIAL_DIFFUSE; }
+ static daeInt ID() { return 625; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat4 of the value attribute.
+ */
+ domFloat4 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat4 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMaterial_diffuse(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMaterial_diffuse() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMaterial_diffuse &operator=( const domMaterial_diffuse &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMaterial_emission;
+
+ typedef daeSmartRef<domMaterial_emission> domMaterial_emissionRef;
+ typedef daeTArray<domMaterial_emissionRef> domMaterial_emission_Array;
+
+ class domMaterial_emission : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MATERIAL_EMISSION; }
+ static daeInt ID() { return 626; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat4 of the value attribute.
+ */
+ domFloat4 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat4 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMaterial_emission(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMaterial_emission() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMaterial_emission &operator=( const domMaterial_emission &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMaterial_shininess;
+
+ typedef daeSmartRef<domMaterial_shininess> domMaterial_shininessRef;
+ typedef daeTArray<domMaterial_shininessRef> domMaterial_shininess_Array;
+
+ class domMaterial_shininess : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MATERIAL_SHININESS; }
+ static daeInt ID() { return 627; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMaterial_shininess(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMaterial_shininess() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMaterial_shininess &operator=( const domMaterial_shininess &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMaterial_specular;
+
+ typedef daeSmartRef<domMaterial_specular> domMaterial_specularRef;
+ typedef daeTArray<domMaterial_specularRef> domMaterial_specular_Array;
+
+ class domMaterial_specular : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MATERIAL_SPECULAR; }
+ static daeInt ID() { return 628; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat4 of the value attribute.
+ */
+ domFloat4 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat4 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMaterial_specular(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMaterial_specular() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMaterial_specular &operator=( const domMaterial_specular &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domModel_view_matrix;
+
+ typedef daeSmartRef<domModel_view_matrix> domModel_view_matrixRef;
+ typedef daeTArray<domModel_view_matrixRef> domModel_view_matrix_Array;
+
+ class domModel_view_matrix : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MODEL_VIEW_MATRIX; }
+ static daeInt ID() { return 629; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4x4 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat4x4 of the value attribute.
+ */
+ domFloat4x4 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat4x4 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domModel_view_matrix(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domModel_view_matrix() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domModel_view_matrix &operator=( const domModel_view_matrix &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPoint_distance_attenuation;
+
+ typedef daeSmartRef<domPoint_distance_attenuation> domPoint_distance_attenuationRef;
+ typedef daeTArray<domPoint_distance_attenuationRef> domPoint_distance_attenuation_Array;
+
+ class domPoint_distance_attenuation : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POINT_DISTANCE_ATTENUATION; }
+ static daeInt ID() { return 630; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat3 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat3 of the value attribute.
+ */
+ domFloat3 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat3 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPoint_distance_attenuation(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPoint_distance_attenuation() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPoint_distance_attenuation &operator=( const domPoint_distance_attenuation &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPoint_fade_threshold_size;
+
+ typedef daeSmartRef<domPoint_fade_threshold_size> domPoint_fade_threshold_sizeRef;
+ typedef daeTArray<domPoint_fade_threshold_sizeRef> domPoint_fade_threshold_size_Array;
+
+ class domPoint_fade_threshold_size : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POINT_FADE_THRESHOLD_SIZE; }
+ static daeInt ID() { return 631; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPoint_fade_threshold_size(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPoint_fade_threshold_size() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPoint_fade_threshold_size &operator=( const domPoint_fade_threshold_size &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPoint_size;
+
+ typedef daeSmartRef<domPoint_size> domPoint_sizeRef;
+ typedef daeTArray<domPoint_sizeRef> domPoint_size_Array;
+
+ class domPoint_size : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POINT_SIZE; }
+ static daeInt ID() { return 632; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPoint_size(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPoint_size() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPoint_size &operator=( const domPoint_size &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPoint_size_min;
+
+ typedef daeSmartRef<domPoint_size_min> domPoint_size_minRef;
+ typedef daeTArray<domPoint_size_minRef> domPoint_size_min_Array;
+
+ class domPoint_size_min : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POINT_SIZE_MIN; }
+ static daeInt ID() { return 633; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPoint_size_min(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPoint_size_min() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPoint_size_min &operator=( const domPoint_size_min &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPoint_size_max;
+
+ typedef daeSmartRef<domPoint_size_max> domPoint_size_maxRef;
+ typedef daeTArray<domPoint_size_maxRef> domPoint_size_max_Array;
+
+ class domPoint_size_max : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POINT_SIZE_MAX; }
+ static daeInt ID() { return 634; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPoint_size_max(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPoint_size_max() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPoint_size_max &operator=( const domPoint_size_max &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPolygon_offset;
+
+ typedef daeSmartRef<domPolygon_offset> domPolygon_offsetRef;
+ typedef daeTArray<domPolygon_offsetRef> domPolygon_offset_Array;
+
+ class domPolygon_offset : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POLYGON_OFFSET; }
+ static daeInt ID() { return 635; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat2 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat2 of the value attribute.
+ */
+ domFloat2 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat2 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPolygon_offset(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPolygon_offset() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPolygon_offset &operator=( const domPolygon_offset &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domProjection_matrix;
+
+ typedef daeSmartRef<domProjection_matrix> domProjection_matrixRef;
+ typedef daeTArray<domProjection_matrixRef> domProjection_matrix_Array;
+
+ class domProjection_matrix : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PROJECTION_MATRIX; }
+ static daeInt ID() { return 636; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4x4 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat4x4 of the value attribute.
+ */
+ domFloat4x4 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat4x4 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domProjection_matrix(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domProjection_matrix() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domProjection_matrix &operator=( const domProjection_matrix &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domScissor;
+
+ typedef daeSmartRef<domScissor> domScissorRef;
+ typedef daeTArray<domScissorRef> domScissor_Array;
+
+ class domScissor : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SCISSOR; }
+ static daeInt ID() { return 637; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domInt4 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domInt4 of the value attribute.
+ */
+ domInt4 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domInt4 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domScissor(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domScissor() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domScissor &operator=( const domScissor &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domStencil_mask;
+
+ typedef daeSmartRef<domStencil_mask> domStencil_maskRef;
+ typedef daeTArray<domStencil_maskRef> domStencil_mask_Array;
+
+ class domStencil_mask : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::STENCIL_MASK; }
+ static daeInt ID() { return 638; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domInt attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domInt of the value attribute.
+ */
+ domInt getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domInt atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domStencil_mask(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domStencil_mask() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domStencil_mask &operator=( const domStencil_mask &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domAlpha_test_enable;
+
+ typedef daeSmartRef<domAlpha_test_enable> domAlpha_test_enableRef;
+ typedef daeTArray<domAlpha_test_enableRef> domAlpha_test_enable_Array;
+
+ class domAlpha_test_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ALPHA_TEST_ENABLE; }
+ static daeInt ID() { return 639; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domAlpha_test_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domAlpha_test_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAlpha_test_enable &operator=( const domAlpha_test_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBlend_enable;
+
+ typedef daeSmartRef<domBlend_enable> domBlend_enableRef;
+ typedef daeTArray<domBlend_enableRef> domBlend_enable_Array;
+
+ class domBlend_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BLEND_ENABLE; }
+ static daeInt ID() { return 640; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBlend_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBlend_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBlend_enable &operator=( const domBlend_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domColor_logic_op_enable;
+
+ typedef daeSmartRef<domColor_logic_op_enable> domColor_logic_op_enableRef;
+ typedef daeTArray<domColor_logic_op_enableRef> domColor_logic_op_enable_Array;
+
+ class domColor_logic_op_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COLOR_LOGIC_OP_ENABLE; }
+ static daeInt ID() { return 641; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domColor_logic_op_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domColor_logic_op_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domColor_logic_op_enable &operator=( const domColor_logic_op_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domColor_material_enable;
+
+ typedef daeSmartRef<domColor_material_enable> domColor_material_enableRef;
+ typedef daeTArray<domColor_material_enableRef> domColor_material_enable_Array;
+
+ class domColor_material_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COLOR_MATERIAL_ENABLE; }
+ static daeInt ID() { return 642; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domColor_material_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domColor_material_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domColor_material_enable &operator=( const domColor_material_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domCull_face_enable;
+
+ typedef daeSmartRef<domCull_face_enable> domCull_face_enableRef;
+ typedef daeTArray<domCull_face_enableRef> domCull_face_enable_Array;
+
+ class domCull_face_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CULL_FACE_ENABLE; }
+ static daeInt ID() { return 643; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domCull_face_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCull_face_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCull_face_enable &operator=( const domCull_face_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDepth_bounds_enable;
+
+ typedef daeSmartRef<domDepth_bounds_enable> domDepth_bounds_enableRef;
+ typedef daeTArray<domDepth_bounds_enableRef> domDepth_bounds_enable_Array;
+
+ class domDepth_bounds_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DEPTH_BOUNDS_ENABLE; }
+ static daeInt ID() { return 644; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDepth_bounds_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDepth_bounds_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDepth_bounds_enable &operator=( const domDepth_bounds_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDepth_clamp_enable;
+
+ typedef daeSmartRef<domDepth_clamp_enable> domDepth_clamp_enableRef;
+ typedef daeTArray<domDepth_clamp_enableRef> domDepth_clamp_enable_Array;
+
+ class domDepth_clamp_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DEPTH_CLAMP_ENABLE; }
+ static daeInt ID() { return 645; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDepth_clamp_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDepth_clamp_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDepth_clamp_enable &operator=( const domDepth_clamp_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDepth_test_enable;
+
+ typedef daeSmartRef<domDepth_test_enable> domDepth_test_enableRef;
+ typedef daeTArray<domDepth_test_enableRef> domDepth_test_enable_Array;
+
+ class domDepth_test_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DEPTH_TEST_ENABLE; }
+ static daeInt ID() { return 646; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDepth_test_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDepth_test_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDepth_test_enable &operator=( const domDepth_test_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDither_enable;
+
+ typedef daeSmartRef<domDither_enable> domDither_enableRef;
+ typedef daeTArray<domDither_enableRef> domDither_enable_Array;
+
+ class domDither_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DITHER_ENABLE; }
+ static daeInt ID() { return 647; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDither_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDither_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDither_enable &operator=( const domDither_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFog_enable;
+
+ typedef daeSmartRef<domFog_enable> domFog_enableRef;
+ typedef daeTArray<domFog_enableRef> domFog_enable_Array;
+
+ class domFog_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FOG_ENABLE; }
+ static daeInt ID() { return 648; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFog_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFog_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFog_enable &operator=( const domFog_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_model_local_viewer_enable;
+
+ typedef daeSmartRef<domLight_model_local_viewer_enable> domLight_model_local_viewer_enableRef;
+ typedef daeTArray<domLight_model_local_viewer_enableRef> domLight_model_local_viewer_enable_Array;
+
+ class domLight_model_local_viewer_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_MODEL_LOCAL_VIEWER_ENABLE; }
+ static daeInt ID() { return 649; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_model_local_viewer_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_model_local_viewer_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_model_local_viewer_enable &operator=( const domLight_model_local_viewer_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_model_two_side_enable;
+
+ typedef daeSmartRef<domLight_model_two_side_enable> domLight_model_two_side_enableRef;
+ typedef daeTArray<domLight_model_two_side_enableRef> domLight_model_two_side_enable_Array;
+
+ class domLight_model_two_side_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_MODEL_TWO_SIDE_ENABLE; }
+ static daeInt ID() { return 650; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_model_two_side_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_model_two_side_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_model_two_side_enable &operator=( const domLight_model_two_side_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLine_smooth_enable;
+
+ typedef daeSmartRef<domLine_smooth_enable> domLine_smooth_enableRef;
+ typedef daeTArray<domLine_smooth_enableRef> domLine_smooth_enable_Array;
+
+ class domLine_smooth_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LINE_SMOOTH_ENABLE; }
+ static daeInt ID() { return 651; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLine_smooth_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLine_smooth_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLine_smooth_enable &operator=( const domLine_smooth_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLine_stipple_enable;
+
+ typedef daeSmartRef<domLine_stipple_enable> domLine_stipple_enableRef;
+ typedef daeTArray<domLine_stipple_enableRef> domLine_stipple_enable_Array;
+
+ class domLine_stipple_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LINE_STIPPLE_ENABLE; }
+ static daeInt ID() { return 652; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLine_stipple_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLine_stipple_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLine_stipple_enable &operator=( const domLine_stipple_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLogic_op_enable;
+
+ typedef daeSmartRef<domLogic_op_enable> domLogic_op_enableRef;
+ typedef daeTArray<domLogic_op_enableRef> domLogic_op_enable_Array;
+
+ class domLogic_op_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LOGIC_OP_ENABLE; }
+ static daeInt ID() { return 653; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLogic_op_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLogic_op_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLogic_op_enable &operator=( const domLogic_op_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMultisample_enable;
+
+ typedef daeSmartRef<domMultisample_enable> domMultisample_enableRef;
+ typedef daeTArray<domMultisample_enableRef> domMultisample_enable_Array;
+
+ class domMultisample_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MULTISAMPLE_ENABLE; }
+ static daeInt ID() { return 654; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMultisample_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMultisample_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMultisample_enable &operator=( const domMultisample_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domNormalize_enable;
+
+ typedef daeSmartRef<domNormalize_enable> domNormalize_enableRef;
+ typedef daeTArray<domNormalize_enableRef> domNormalize_enable_Array;
+
+ class domNormalize_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::NORMALIZE_ENABLE; }
+ static daeInt ID() { return 655; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domNormalize_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domNormalize_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domNormalize_enable &operator=( const domNormalize_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPoint_smooth_enable;
+
+ typedef daeSmartRef<domPoint_smooth_enable> domPoint_smooth_enableRef;
+ typedef daeTArray<domPoint_smooth_enableRef> domPoint_smooth_enable_Array;
+
+ class domPoint_smooth_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POINT_SMOOTH_ENABLE; }
+ static daeInt ID() { return 656; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPoint_smooth_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPoint_smooth_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPoint_smooth_enable &operator=( const domPoint_smooth_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPolygon_offset_fill_enable;
+
+ typedef daeSmartRef<domPolygon_offset_fill_enable> domPolygon_offset_fill_enableRef;
+ typedef daeTArray<domPolygon_offset_fill_enableRef> domPolygon_offset_fill_enable_Array;
+
+ class domPolygon_offset_fill_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POLYGON_OFFSET_FILL_ENABLE; }
+ static daeInt ID() { return 657; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPolygon_offset_fill_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPolygon_offset_fill_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPolygon_offset_fill_enable &operator=( const domPolygon_offset_fill_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPolygon_offset_line_enable;
+
+ typedef daeSmartRef<domPolygon_offset_line_enable> domPolygon_offset_line_enableRef;
+ typedef daeTArray<domPolygon_offset_line_enableRef> domPolygon_offset_line_enable_Array;
+
+ class domPolygon_offset_line_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POLYGON_OFFSET_LINE_ENABLE; }
+ static daeInt ID() { return 658; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPolygon_offset_line_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPolygon_offset_line_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPolygon_offset_line_enable &operator=( const domPolygon_offset_line_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPolygon_offset_point_enable;
+
+ typedef daeSmartRef<domPolygon_offset_point_enable> domPolygon_offset_point_enableRef;
+ typedef daeTArray<domPolygon_offset_point_enableRef> domPolygon_offset_point_enable_Array;
+
+ class domPolygon_offset_point_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POLYGON_OFFSET_POINT_ENABLE; }
+ static daeInt ID() { return 659; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPolygon_offset_point_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPolygon_offset_point_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPolygon_offset_point_enable &operator=( const domPolygon_offset_point_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPolygon_smooth_enable;
+
+ typedef daeSmartRef<domPolygon_smooth_enable> domPolygon_smooth_enableRef;
+ typedef daeTArray<domPolygon_smooth_enableRef> domPolygon_smooth_enable_Array;
+
+ class domPolygon_smooth_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POLYGON_SMOOTH_ENABLE; }
+ static daeInt ID() { return 660; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPolygon_smooth_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPolygon_smooth_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPolygon_smooth_enable &operator=( const domPolygon_smooth_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPolygon_stipple_enable;
+
+ typedef daeSmartRef<domPolygon_stipple_enable> domPolygon_stipple_enableRef;
+ typedef daeTArray<domPolygon_stipple_enableRef> domPolygon_stipple_enable_Array;
+
+ class domPolygon_stipple_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POLYGON_STIPPLE_ENABLE; }
+ static daeInt ID() { return 661; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPolygon_stipple_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPolygon_stipple_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPolygon_stipple_enable &operator=( const domPolygon_stipple_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domRescale_normal_enable;
+
+ typedef daeSmartRef<domRescale_normal_enable> domRescale_normal_enableRef;
+ typedef daeTArray<domRescale_normal_enableRef> domRescale_normal_enable_Array;
+
+ class domRescale_normal_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::RESCALE_NORMAL_ENABLE; }
+ static daeInt ID() { return 662; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domRescale_normal_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domRescale_normal_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRescale_normal_enable &operator=( const domRescale_normal_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domSample_alpha_to_coverage_enable;
+
+ typedef daeSmartRef<domSample_alpha_to_coverage_enable> domSample_alpha_to_coverage_enableRef;
+ typedef daeTArray<domSample_alpha_to_coverage_enableRef> domSample_alpha_to_coverage_enable_Array;
+
+ class domSample_alpha_to_coverage_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SAMPLE_ALPHA_TO_COVERAGE_ENABLE; }
+ static daeInt ID() { return 663; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSample_alpha_to_coverage_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSample_alpha_to_coverage_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSample_alpha_to_coverage_enable &operator=( const domSample_alpha_to_coverage_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domSample_alpha_to_one_enable;
+
+ typedef daeSmartRef<domSample_alpha_to_one_enable> domSample_alpha_to_one_enableRef;
+ typedef daeTArray<domSample_alpha_to_one_enableRef> domSample_alpha_to_one_enable_Array;
+
+ class domSample_alpha_to_one_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SAMPLE_ALPHA_TO_ONE_ENABLE; }
+ static daeInt ID() { return 664; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSample_alpha_to_one_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSample_alpha_to_one_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSample_alpha_to_one_enable &operator=( const domSample_alpha_to_one_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domSample_coverage_enable;
+
+ typedef daeSmartRef<domSample_coverage_enable> domSample_coverage_enableRef;
+ typedef daeTArray<domSample_coverage_enableRef> domSample_coverage_enable_Array;
+
+ class domSample_coverage_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SAMPLE_COVERAGE_ENABLE; }
+ static daeInt ID() { return 665; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSample_coverage_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSample_coverage_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSample_coverage_enable &operator=( const domSample_coverage_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domScissor_test_enable;
+
+ typedef daeSmartRef<domScissor_test_enable> domScissor_test_enableRef;
+ typedef daeTArray<domScissor_test_enableRef> domScissor_test_enable_Array;
+
+ class domScissor_test_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SCISSOR_TEST_ENABLE; }
+ static daeInt ID() { return 666; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domScissor_test_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domScissor_test_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domScissor_test_enable &operator=( const domScissor_test_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domStencil_test_enable;
+
+ typedef daeSmartRef<domStencil_test_enable> domStencil_test_enableRef;
+ typedef daeTArray<domStencil_test_enableRef> domStencil_test_enable_Array;
+
+ class domStencil_test_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::STENCIL_TEST_ENABLE; }
+ static daeInt ID() { return 667; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domStencil_test_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domStencil_test_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domStencil_test_enable &operator=( const domStencil_test_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+ domAlpha_funcRef elemAlpha_func;
+ domBlend_funcRef elemBlend_func;
+ domBlend_func_separateRef elemBlend_func_separate;
+ domBlend_equationRef elemBlend_equation;
+ domBlend_equation_separateRef elemBlend_equation_separate;
+ domColor_materialRef elemColor_material;
+ domCull_faceRef elemCull_face;
+ domDepth_funcRef elemDepth_func;
+ domFog_modeRef elemFog_mode;
+ domFog_coord_srcRef elemFog_coord_src;
+ domFront_faceRef elemFront_face;
+ domLight_model_color_controlRef elemLight_model_color_control;
+ domLogic_opRef elemLogic_op;
+ domPolygon_modeRef elemPolygon_mode;
+ domShade_modelRef elemShade_model;
+ domStencil_funcRef elemStencil_func;
+ domStencil_opRef elemStencil_op;
+ domStencil_func_separateRef elemStencil_func_separate;
+ domStencil_op_separateRef elemStencil_op_separate;
+ domStencil_mask_separateRef elemStencil_mask_separate;
+ domLight_enableRef elemLight_enable;
+ domLight_ambientRef elemLight_ambient;
+ domLight_diffuseRef elemLight_diffuse;
+ domLight_specularRef elemLight_specular;
+ domLight_positionRef elemLight_position;
+ domLight_constant_attenuationRef elemLight_constant_attenuation;
+ domLight_linear_attenuationRef elemLight_linear_attenuation;
+ domLight_quadratic_attenuationRef elemLight_quadratic_attenuation;
+ domLight_spot_cutoffRef elemLight_spot_cutoff;
+ domLight_spot_directionRef elemLight_spot_direction;
+ domLight_spot_exponentRef elemLight_spot_exponent;
+ domTexture1DRef elemTexture1D;
+ domTexture2DRef elemTexture2D;
+ domTexture3DRef elemTexture3D;
+ domTextureCUBERef elemTextureCUBE;
+ domTextureRECTRef elemTextureRECT;
+ domTextureDEPTHRef elemTextureDEPTH;
+ domTexture1D_enableRef elemTexture1D_enable;
+ domTexture2D_enableRef elemTexture2D_enable;
+ domTexture3D_enableRef elemTexture3D_enable;
+ domTextureCUBE_enableRef elemTextureCUBE_enable;
+ domTextureRECT_enableRef elemTextureRECT_enable;
+ domTextureDEPTH_enableRef elemTextureDEPTH_enable;
+ domTexture_env_colorRef elemTexture_env_color;
+ domTexture_env_modeRef elemTexture_env_mode;
+ domClip_planeRef elemClip_plane;
+ domClip_plane_enableRef elemClip_plane_enable;
+ domBlend_colorRef elemBlend_color;
+ domColor_maskRef elemColor_mask;
+ domDepth_boundsRef elemDepth_bounds;
+ domDepth_maskRef elemDepth_mask;
+ domDepth_rangeRef elemDepth_range;
+ domFog_densityRef elemFog_density;
+ domFog_startRef elemFog_start;
+ domFog_endRef elemFog_end;
+ domFog_colorRef elemFog_color;
+ domLight_model_ambientRef elemLight_model_ambient;
+ domLighting_enableRef elemLighting_enable;
+ domLine_stippleRef elemLine_stipple;
+ domLine_widthRef elemLine_width;
+ domMaterial_ambientRef elemMaterial_ambient;
+ domMaterial_diffuseRef elemMaterial_diffuse;
+ domMaterial_emissionRef elemMaterial_emission;
+ domMaterial_shininessRef elemMaterial_shininess;
+ domMaterial_specularRef elemMaterial_specular;
+ domModel_view_matrixRef elemModel_view_matrix;
+ domPoint_distance_attenuationRef elemPoint_distance_attenuation;
+ domPoint_fade_threshold_sizeRef elemPoint_fade_threshold_size;
+ domPoint_sizeRef elemPoint_size;
+ domPoint_size_minRef elemPoint_size_min;
+ domPoint_size_maxRef elemPoint_size_max;
+ domPolygon_offsetRef elemPolygon_offset;
+ domProjection_matrixRef elemProjection_matrix;
+ domScissorRef elemScissor;
+ domStencil_maskRef elemStencil_mask;
+ domAlpha_test_enableRef elemAlpha_test_enable;
+ domBlend_enableRef elemBlend_enable;
+ domColor_logic_op_enableRef elemColor_logic_op_enable;
+ domColor_material_enableRef elemColor_material_enable;
+ domCull_face_enableRef elemCull_face_enable;
+ domDepth_bounds_enableRef elemDepth_bounds_enable;
+ domDepth_clamp_enableRef elemDepth_clamp_enable;
+ domDepth_test_enableRef elemDepth_test_enable;
+ domDither_enableRef elemDither_enable;
+ domFog_enableRef elemFog_enable;
+ domLight_model_local_viewer_enableRef elemLight_model_local_viewer_enable;
+ domLight_model_two_side_enableRef elemLight_model_two_side_enable;
+ domLine_smooth_enableRef elemLine_smooth_enable;
+ domLine_stipple_enableRef elemLine_stipple_enable;
+ domLogic_op_enableRef elemLogic_op_enable;
+ domMultisample_enableRef elemMultisample_enable;
+ domNormalize_enableRef elemNormalize_enable;
+ domPoint_smooth_enableRef elemPoint_smooth_enable;
+ domPolygon_offset_fill_enableRef elemPolygon_offset_fill_enable;
+ domPolygon_offset_line_enableRef elemPolygon_offset_line_enable;
+ domPolygon_offset_point_enableRef elemPolygon_offset_point_enable;
+ domPolygon_smooth_enableRef elemPolygon_smooth_enable;
+ domPolygon_stipple_enableRef elemPolygon_stipple_enable;
+ domRescale_normal_enableRef elemRescale_normal_enable;
+ domSample_alpha_to_coverage_enableRef elemSample_alpha_to_coverage_enable;
+ domSample_alpha_to_one_enableRef elemSample_alpha_to_one_enable;
+ domSample_coverage_enableRef elemSample_coverage_enable;
+ domScissor_test_enableRef elemScissor_test_enable;
+ domStencil_test_enableRef elemStencil_test_enable;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the alpha_func element.
+ * @return a daeSmartRef to the alpha_func element.
+ */
+ const domAlpha_funcRef getAlpha_func() const { return elemAlpha_func; }
+ /**
+ * Gets the blend_func element.
+ * @return a daeSmartRef to the blend_func element.
+ */
+ const domBlend_funcRef getBlend_func() const { return elemBlend_func; }
+ /**
+ * Gets the blend_func_separate element.
+ * @return a daeSmartRef to the blend_func_separate element.
+ */
+ const domBlend_func_separateRef getBlend_func_separate() const { return elemBlend_func_separate; }
+ /**
+ * Gets the blend_equation element.
+ * @return a daeSmartRef to the blend_equation element.
+ */
+ const domBlend_equationRef getBlend_equation() const { return elemBlend_equation; }
+ /**
+ * Gets the blend_equation_separate element.
+ * @return a daeSmartRef to the blend_equation_separate element.
+ */
+ const domBlend_equation_separateRef getBlend_equation_separate() const { return elemBlend_equation_separate; }
+ /**
+ * Gets the color_material element.
+ * @return a daeSmartRef to the color_material element.
+ */
+ const domColor_materialRef getColor_material() const { return elemColor_material; }
+ /**
+ * Gets the cull_face element.
+ * @return a daeSmartRef to the cull_face element.
+ */
+ const domCull_faceRef getCull_face() const { return elemCull_face; }
+ /**
+ * Gets the depth_func element.
+ * @return a daeSmartRef to the depth_func element.
+ */
+ const domDepth_funcRef getDepth_func() const { return elemDepth_func; }
+ /**
+ * Gets the fog_mode element.
+ * @return a daeSmartRef to the fog_mode element.
+ */
+ const domFog_modeRef getFog_mode() const { return elemFog_mode; }
+ /**
+ * Gets the fog_coord_src element.
+ * @return a daeSmartRef to the fog_coord_src element.
+ */
+ const domFog_coord_srcRef getFog_coord_src() const { return elemFog_coord_src; }
+ /**
+ * Gets the front_face element.
+ * @return a daeSmartRef to the front_face element.
+ */
+ const domFront_faceRef getFront_face() const { return elemFront_face; }
+ /**
+ * Gets the light_model_color_control element.
+ * @return a daeSmartRef to the light_model_color_control element.
+ */
+ const domLight_model_color_controlRef getLight_model_color_control() const { return elemLight_model_color_control; }
+ /**
+ * Gets the logic_op element.
+ * @return a daeSmartRef to the logic_op element.
+ */
+ const domLogic_opRef getLogic_op() const { return elemLogic_op; }
+ /**
+ * Gets the polygon_mode element.
+ * @return a daeSmartRef to the polygon_mode element.
+ */
+ const domPolygon_modeRef getPolygon_mode() const { return elemPolygon_mode; }
+ /**
+ * Gets the shade_model element.
+ * @return a daeSmartRef to the shade_model element.
+ */
+ const domShade_modelRef getShade_model() const { return elemShade_model; }
+ /**
+ * Gets the stencil_func element.
+ * @return a daeSmartRef to the stencil_func element.
+ */
+ const domStencil_funcRef getStencil_func() const { return elemStencil_func; }
+ /**
+ * Gets the stencil_op element.
+ * @return a daeSmartRef to the stencil_op element.
+ */
+ const domStencil_opRef getStencil_op() const { return elemStencil_op; }
+ /**
+ * Gets the stencil_func_separate element.
+ * @return a daeSmartRef to the stencil_func_separate element.
+ */
+ const domStencil_func_separateRef getStencil_func_separate() const { return elemStencil_func_separate; }
+ /**
+ * Gets the stencil_op_separate element.
+ * @return a daeSmartRef to the stencil_op_separate element.
+ */
+ const domStencil_op_separateRef getStencil_op_separate() const { return elemStencil_op_separate; }
+ /**
+ * Gets the stencil_mask_separate element.
+ * @return a daeSmartRef to the stencil_mask_separate element.
+ */
+ const domStencil_mask_separateRef getStencil_mask_separate() const { return elemStencil_mask_separate; }
+ /**
+ * Gets the light_enable element.
+ * @return a daeSmartRef to the light_enable element.
+ */
+ const domLight_enableRef getLight_enable() const { return elemLight_enable; }
+ /**
+ * Gets the light_ambient element.
+ * @return a daeSmartRef to the light_ambient element.
+ */
+ const domLight_ambientRef getLight_ambient() const { return elemLight_ambient; }
+ /**
+ * Gets the light_diffuse element.
+ * @return a daeSmartRef to the light_diffuse element.
+ */
+ const domLight_diffuseRef getLight_diffuse() const { return elemLight_diffuse; }
+ /**
+ * Gets the light_specular element.
+ * @return a daeSmartRef to the light_specular element.
+ */
+ const domLight_specularRef getLight_specular() const { return elemLight_specular; }
+ /**
+ * Gets the light_position element.
+ * @return a daeSmartRef to the light_position element.
+ */
+ const domLight_positionRef getLight_position() const { return elemLight_position; }
+ /**
+ * Gets the light_constant_attenuation element.
+ * @return a daeSmartRef to the light_constant_attenuation element.
+ */
+ const domLight_constant_attenuationRef getLight_constant_attenuation() const { return elemLight_constant_attenuation; }
+ /**
+ * Gets the light_linear_attenuation element.
+ * @return a daeSmartRef to the light_linear_attenuation element.
+ */
+ const domLight_linear_attenuationRef getLight_linear_attenuation() const { return elemLight_linear_attenuation; }
+ /**
+ * Gets the light_quadratic_attenuation element.
+ * @return a daeSmartRef to the light_quadratic_attenuation element.
+ */
+ const domLight_quadratic_attenuationRef getLight_quadratic_attenuation() const { return elemLight_quadratic_attenuation; }
+ /**
+ * Gets the light_spot_cutoff element.
+ * @return a daeSmartRef to the light_spot_cutoff element.
+ */
+ const domLight_spot_cutoffRef getLight_spot_cutoff() const { return elemLight_spot_cutoff; }
+ /**
+ * Gets the light_spot_direction element.
+ * @return a daeSmartRef to the light_spot_direction element.
+ */
+ const domLight_spot_directionRef getLight_spot_direction() const { return elemLight_spot_direction; }
+ /**
+ * Gets the light_spot_exponent element.
+ * @return a daeSmartRef to the light_spot_exponent element.
+ */
+ const domLight_spot_exponentRef getLight_spot_exponent() const { return elemLight_spot_exponent; }
+ /**
+ * Gets the texture1D element.
+ * @return a daeSmartRef to the texture1D element.
+ */
+ const domTexture1DRef getTexture1D() const { return elemTexture1D; }
+ /**
+ * Gets the texture2D element.
+ * @return a daeSmartRef to the texture2D element.
+ */
+ const domTexture2DRef getTexture2D() const { return elemTexture2D; }
+ /**
+ * Gets the texture3D element.
+ * @return a daeSmartRef to the texture3D element.
+ */
+ const domTexture3DRef getTexture3D() const { return elemTexture3D; }
+ /**
+ * Gets the textureCUBE element.
+ * @return a daeSmartRef to the textureCUBE element.
+ */
+ const domTextureCUBERef getTextureCUBE() const { return elemTextureCUBE; }
+ /**
+ * Gets the textureRECT element.
+ * @return a daeSmartRef to the textureRECT element.
+ */
+ const domTextureRECTRef getTextureRECT() const { return elemTextureRECT; }
+ /**
+ * Gets the textureDEPTH element.
+ * @return a daeSmartRef to the textureDEPTH element.
+ */
+ const domTextureDEPTHRef getTextureDEPTH() const { return elemTextureDEPTH; }
+ /**
+ * Gets the texture1D_enable element.
+ * @return a daeSmartRef to the texture1D_enable element.
+ */
+ const domTexture1D_enableRef getTexture1D_enable() const { return elemTexture1D_enable; }
+ /**
+ * Gets the texture2D_enable element.
+ * @return a daeSmartRef to the texture2D_enable element.
+ */
+ const domTexture2D_enableRef getTexture2D_enable() const { return elemTexture2D_enable; }
+ /**
+ * Gets the texture3D_enable element.
+ * @return a daeSmartRef to the texture3D_enable element.
+ */
+ const domTexture3D_enableRef getTexture3D_enable() const { return elemTexture3D_enable; }
+ /**
+ * Gets the textureCUBE_enable element.
+ * @return a daeSmartRef to the textureCUBE_enable element.
+ */
+ const domTextureCUBE_enableRef getTextureCUBE_enable() const { return elemTextureCUBE_enable; }
+ /**
+ * Gets the textureRECT_enable element.
+ * @return a daeSmartRef to the textureRECT_enable element.
+ */
+ const domTextureRECT_enableRef getTextureRECT_enable() const { return elemTextureRECT_enable; }
+ /**
+ * Gets the textureDEPTH_enable element.
+ * @return a daeSmartRef to the textureDEPTH_enable element.
+ */
+ const domTextureDEPTH_enableRef getTextureDEPTH_enable() const { return elemTextureDEPTH_enable; }
+ /**
+ * Gets the texture_env_color element.
+ * @return a daeSmartRef to the texture_env_color element.
+ */
+ const domTexture_env_colorRef getTexture_env_color() const { return elemTexture_env_color; }
+ /**
+ * Gets the texture_env_mode element.
+ * @return a daeSmartRef to the texture_env_mode element.
+ */
+ const domTexture_env_modeRef getTexture_env_mode() const { return elemTexture_env_mode; }
+ /**
+ * Gets the clip_plane element.
+ * @return a daeSmartRef to the clip_plane element.
+ */
+ const domClip_planeRef getClip_plane() const { return elemClip_plane; }
+ /**
+ * Gets the clip_plane_enable element.
+ * @return a daeSmartRef to the clip_plane_enable element.
+ */
+ const domClip_plane_enableRef getClip_plane_enable() const { return elemClip_plane_enable; }
+ /**
+ * Gets the blend_color element.
+ * @return a daeSmartRef to the blend_color element.
+ */
+ const domBlend_colorRef getBlend_color() const { return elemBlend_color; }
+ /**
+ * Gets the color_mask element.
+ * @return a daeSmartRef to the color_mask element.
+ */
+ const domColor_maskRef getColor_mask() const { return elemColor_mask; }
+ /**
+ * Gets the depth_bounds element.
+ * @return a daeSmartRef to the depth_bounds element.
+ */
+ const domDepth_boundsRef getDepth_bounds() const { return elemDepth_bounds; }
+ /**
+ * Gets the depth_mask element.
+ * @return a daeSmartRef to the depth_mask element.
+ */
+ const domDepth_maskRef getDepth_mask() const { return elemDepth_mask; }
+ /**
+ * Gets the depth_range element.
+ * @return a daeSmartRef to the depth_range element.
+ */
+ const domDepth_rangeRef getDepth_range() const { return elemDepth_range; }
+ /**
+ * Gets the fog_density element.
+ * @return a daeSmartRef to the fog_density element.
+ */
+ const domFog_densityRef getFog_density() const { return elemFog_density; }
+ /**
+ * Gets the fog_start element.
+ * @return a daeSmartRef to the fog_start element.
+ */
+ const domFog_startRef getFog_start() const { return elemFog_start; }
+ /**
+ * Gets the fog_end element.
+ * @return a daeSmartRef to the fog_end element.
+ */
+ const domFog_endRef getFog_end() const { return elemFog_end; }
+ /**
+ * Gets the fog_color element.
+ * @return a daeSmartRef to the fog_color element.
+ */
+ const domFog_colorRef getFog_color() const { return elemFog_color; }
+ /**
+ * Gets the light_model_ambient element.
+ * @return a daeSmartRef to the light_model_ambient element.
+ */
+ const domLight_model_ambientRef getLight_model_ambient() const { return elemLight_model_ambient; }
+ /**
+ * Gets the lighting_enable element.
+ * @return a daeSmartRef to the lighting_enable element.
+ */
+ const domLighting_enableRef getLighting_enable() const { return elemLighting_enable; }
+ /**
+ * Gets the line_stipple element.
+ * @return a daeSmartRef to the line_stipple element.
+ */
+ const domLine_stippleRef getLine_stipple() const { return elemLine_stipple; }
+ /**
+ * Gets the line_width element.
+ * @return a daeSmartRef to the line_width element.
+ */
+ const domLine_widthRef getLine_width() const { return elemLine_width; }
+ /**
+ * Gets the material_ambient element.
+ * @return a daeSmartRef to the material_ambient element.
+ */
+ const domMaterial_ambientRef getMaterial_ambient() const { return elemMaterial_ambient; }
+ /**
+ * Gets the material_diffuse element.
+ * @return a daeSmartRef to the material_diffuse element.
+ */
+ const domMaterial_diffuseRef getMaterial_diffuse() const { return elemMaterial_diffuse; }
+ /**
+ * Gets the material_emission element.
+ * @return a daeSmartRef to the material_emission element.
+ */
+ const domMaterial_emissionRef getMaterial_emission() const { return elemMaterial_emission; }
+ /**
+ * Gets the material_shininess element.
+ * @return a daeSmartRef to the material_shininess element.
+ */
+ const domMaterial_shininessRef getMaterial_shininess() const { return elemMaterial_shininess; }
+ /**
+ * Gets the material_specular element.
+ * @return a daeSmartRef to the material_specular element.
+ */
+ const domMaterial_specularRef getMaterial_specular() const { return elemMaterial_specular; }
+ /**
+ * Gets the model_view_matrix element.
+ * @return a daeSmartRef to the model_view_matrix element.
+ */
+ const domModel_view_matrixRef getModel_view_matrix() const { return elemModel_view_matrix; }
+ /**
+ * Gets the point_distance_attenuation element.
+ * @return a daeSmartRef to the point_distance_attenuation element.
+ */
+ const domPoint_distance_attenuationRef getPoint_distance_attenuation() const { return elemPoint_distance_attenuation; }
+ /**
+ * Gets the point_fade_threshold_size element.
+ * @return a daeSmartRef to the point_fade_threshold_size element.
+ */
+ const domPoint_fade_threshold_sizeRef getPoint_fade_threshold_size() const { return elemPoint_fade_threshold_size; }
+ /**
+ * Gets the point_size element.
+ * @return a daeSmartRef to the point_size element.
+ */
+ const domPoint_sizeRef getPoint_size() const { return elemPoint_size; }
+ /**
+ * Gets the point_size_min element.
+ * @return a daeSmartRef to the point_size_min element.
+ */
+ const domPoint_size_minRef getPoint_size_min() const { return elemPoint_size_min; }
+ /**
+ * Gets the point_size_max element.
+ * @return a daeSmartRef to the point_size_max element.
+ */
+ const domPoint_size_maxRef getPoint_size_max() const { return elemPoint_size_max; }
+ /**
+ * Gets the polygon_offset element.
+ * @return a daeSmartRef to the polygon_offset element.
+ */
+ const domPolygon_offsetRef getPolygon_offset() const { return elemPolygon_offset; }
+ /**
+ * Gets the projection_matrix element.
+ * @return a daeSmartRef to the projection_matrix element.
+ */
+ const domProjection_matrixRef getProjection_matrix() const { return elemProjection_matrix; }
+ /**
+ * Gets the scissor element.
+ * @return a daeSmartRef to the scissor element.
+ */
+ const domScissorRef getScissor() const { return elemScissor; }
+ /**
+ * Gets the stencil_mask element.
+ * @return a daeSmartRef to the stencil_mask element.
+ */
+ const domStencil_maskRef getStencil_mask() const { return elemStencil_mask; }
+ /**
+ * Gets the alpha_test_enable element.
+ * @return a daeSmartRef to the alpha_test_enable element.
+ */
+ const domAlpha_test_enableRef getAlpha_test_enable() const { return elemAlpha_test_enable; }
+ /**
+ * Gets the blend_enable element.
+ * @return a daeSmartRef to the blend_enable element.
+ */
+ const domBlend_enableRef getBlend_enable() const { return elemBlend_enable; }
+ /**
+ * Gets the color_logic_op_enable element.
+ * @return a daeSmartRef to the color_logic_op_enable element.
+ */
+ const domColor_logic_op_enableRef getColor_logic_op_enable() const { return elemColor_logic_op_enable; }
+ /**
+ * Gets the color_material_enable element.
+ * @return a daeSmartRef to the color_material_enable element.
+ */
+ const domColor_material_enableRef getColor_material_enable() const { return elemColor_material_enable; }
+ /**
+ * Gets the cull_face_enable element.
+ * @return a daeSmartRef to the cull_face_enable element.
+ */
+ const domCull_face_enableRef getCull_face_enable() const { return elemCull_face_enable; }
+ /**
+ * Gets the depth_bounds_enable element.
+ * @return a daeSmartRef to the depth_bounds_enable element.
+ */
+ const domDepth_bounds_enableRef getDepth_bounds_enable() const { return elemDepth_bounds_enable; }
+ /**
+ * Gets the depth_clamp_enable element.
+ * @return a daeSmartRef to the depth_clamp_enable element.
+ */
+ const domDepth_clamp_enableRef getDepth_clamp_enable() const { return elemDepth_clamp_enable; }
+ /**
+ * Gets the depth_test_enable element.
+ * @return a daeSmartRef to the depth_test_enable element.
+ */
+ const domDepth_test_enableRef getDepth_test_enable() const { return elemDepth_test_enable; }
+ /**
+ * Gets the dither_enable element.
+ * @return a daeSmartRef to the dither_enable element.
+ */
+ const domDither_enableRef getDither_enable() const { return elemDither_enable; }
+ /**
+ * Gets the fog_enable element.
+ * @return a daeSmartRef to the fog_enable element.
+ */
+ const domFog_enableRef getFog_enable() const { return elemFog_enable; }
+ /**
+ * Gets the light_model_local_viewer_enable element.
+ * @return a daeSmartRef to the light_model_local_viewer_enable element.
+ */
+ const domLight_model_local_viewer_enableRef getLight_model_local_viewer_enable() const { return elemLight_model_local_viewer_enable; }
+ /**
+ * Gets the light_model_two_side_enable element.
+ * @return a daeSmartRef to the light_model_two_side_enable element.
+ */
+ const domLight_model_two_side_enableRef getLight_model_two_side_enable() const { return elemLight_model_two_side_enable; }
+ /**
+ * Gets the line_smooth_enable element.
+ * @return a daeSmartRef to the line_smooth_enable element.
+ */
+ const domLine_smooth_enableRef getLine_smooth_enable() const { return elemLine_smooth_enable; }
+ /**
+ * Gets the line_stipple_enable element.
+ * @return a daeSmartRef to the line_stipple_enable element.
+ */
+ const domLine_stipple_enableRef getLine_stipple_enable() const { return elemLine_stipple_enable; }
+ /**
+ * Gets the logic_op_enable element.
+ * @return a daeSmartRef to the logic_op_enable element.
+ */
+ const domLogic_op_enableRef getLogic_op_enable() const { return elemLogic_op_enable; }
+ /**
+ * Gets the multisample_enable element.
+ * @return a daeSmartRef to the multisample_enable element.
+ */
+ const domMultisample_enableRef getMultisample_enable() const { return elemMultisample_enable; }
+ /**
+ * Gets the normalize_enable element.
+ * @return a daeSmartRef to the normalize_enable element.
+ */
+ const domNormalize_enableRef getNormalize_enable() const { return elemNormalize_enable; }
+ /**
+ * Gets the point_smooth_enable element.
+ * @return a daeSmartRef to the point_smooth_enable element.
+ */
+ const domPoint_smooth_enableRef getPoint_smooth_enable() const { return elemPoint_smooth_enable; }
+ /**
+ * Gets the polygon_offset_fill_enable element.
+ * @return a daeSmartRef to the polygon_offset_fill_enable element.
+ */
+ const domPolygon_offset_fill_enableRef getPolygon_offset_fill_enable() const { return elemPolygon_offset_fill_enable; }
+ /**
+ * Gets the polygon_offset_line_enable element.
+ * @return a daeSmartRef to the polygon_offset_line_enable element.
+ */
+ const domPolygon_offset_line_enableRef getPolygon_offset_line_enable() const { return elemPolygon_offset_line_enable; }
+ /**
+ * Gets the polygon_offset_point_enable element.
+ * @return a daeSmartRef to the polygon_offset_point_enable element.
+ */
+ const domPolygon_offset_point_enableRef getPolygon_offset_point_enable() const { return elemPolygon_offset_point_enable; }
+ /**
+ * Gets the polygon_smooth_enable element.
+ * @return a daeSmartRef to the polygon_smooth_enable element.
+ */
+ const domPolygon_smooth_enableRef getPolygon_smooth_enable() const { return elemPolygon_smooth_enable; }
+ /**
+ * Gets the polygon_stipple_enable element.
+ * @return a daeSmartRef to the polygon_stipple_enable element.
+ */
+ const domPolygon_stipple_enableRef getPolygon_stipple_enable() const { return elemPolygon_stipple_enable; }
+ /**
+ * Gets the rescale_normal_enable element.
+ * @return a daeSmartRef to the rescale_normal_enable element.
+ */
+ const domRescale_normal_enableRef getRescale_normal_enable() const { return elemRescale_normal_enable; }
+ /**
+ * Gets the sample_alpha_to_coverage_enable element.
+ * @return a daeSmartRef to the sample_alpha_to_coverage_enable element.
+ */
+ const domSample_alpha_to_coverage_enableRef getSample_alpha_to_coverage_enable() const { return elemSample_alpha_to_coverage_enable; }
+ /**
+ * Gets the sample_alpha_to_one_enable element.
+ * @return a daeSmartRef to the sample_alpha_to_one_enable element.
+ */
+ const domSample_alpha_to_one_enableRef getSample_alpha_to_one_enable() const { return elemSample_alpha_to_one_enable; }
+ /**
+ * Gets the sample_coverage_enable element.
+ * @return a daeSmartRef to the sample_coverage_enable element.
+ */
+ const domSample_coverage_enableRef getSample_coverage_enable() const { return elemSample_coverage_enable; }
+ /**
+ * Gets the scissor_test_enable element.
+ * @return a daeSmartRef to the scissor_test_enable element.
+ */
+ const domScissor_test_enableRef getScissor_test_enable() const { return elemScissor_test_enable; }
+ /**
+ * Gets the stencil_test_enable element.
+ * @return a daeSmartRef to the stencil_test_enable element.
+ */
+ const domStencil_test_enableRef getStencil_test_enable() const { return elemStencil_test_enable; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domGl_pipeline_settings(DAE& dae) : daeElement(dae), elemAlpha_func(), elemBlend_func(), elemBlend_func_separate(), elemBlend_equation(), elemBlend_equation_separate(), elemColor_material(), elemCull_face(), elemDepth_func(), elemFog_mode(), elemFog_coord_src(), elemFront_face(), elemLight_model_color_control(), elemLogic_op(), elemPolygon_mode(), elemShade_model(), elemStencil_func(), elemStencil_op(), elemStencil_func_separate(), elemStencil_op_separate(), elemStencil_mask_separate(), elemLight_enable(), elemLight_ambient(), elemLight_diffuse(), elemLight_specular(), elemLight_position(), elemLight_constant_attenuation(), elemLight_linear_attenuation(), elemLight_quadratic_attenuation(), elemLight_spot_cutoff(), elemLight_spot_direction(), elemLight_spot_exponent(), elemTexture1D(), elemTexture2D(), elemTexture3D(), elemTextureCUBE(), elemTextureRECT(), elemTextureDEPTH(), elemTexture1D_enable(), elemTexture2D_enable(), elemTexture3D_enable(), elemTextureCUBE_enable(), elemTextureRECT_enable(), elemTextureDEPTH_enable(), elemTexture_env_color(), elemTexture_env_mode(), elemClip_plane(), elemClip_plane_enable(), elemBlend_color(), elemColor_mask(), elemDepth_bounds(), elemDepth_mask(), elemDepth_range(), elemFog_density(), elemFog_start(), elemFog_end(), elemFog_color(), elemLight_model_ambient(), elemLighting_enable(), elemLine_stipple(), elemLine_width(), elemMaterial_ambient(), elemMaterial_diffuse(), elemMaterial_emission(), elemMaterial_shininess(), elemMaterial_specular(), elemModel_view_matrix(), elemPoint_distance_attenuation(), elemPoint_fade_threshold_size(), elemPoint_size(), elemPoint_size_min(), elemPoint_size_max(), elemPolygon_offset(), elemProjection_matrix(), elemScissor(), elemStencil_mask(), elemAlpha_test_enable(), elemBlend_enable(), elemColor_logic_op_enable(), elemColor_material_enable(), elemCull_face_enable(), elemDepth_bounds_enable(), elemDepth_clamp_enable(), elemDepth_test_enable(), elemDither_enable(), elemFog_enable(), elemLight_model_local_viewer_enable(), elemLight_model_two_side_enable(), elemLine_smooth_enable(), elemLine_stipple_enable(), elemLogic_op_enable(), elemMultisample_enable(), elemNormalize_enable(), elemPoint_smooth_enable(), elemPolygon_offset_fill_enable(), elemPolygon_offset_line_enable(), elemPolygon_offset_point_enable(), elemPolygon_smooth_enable(), elemPolygon_stipple_enable(), elemRescale_normal_enable(), elemSample_alpha_to_coverage_enable(), elemSample_alpha_to_one_enable(), elemSample_coverage_enable(), elemScissor_test_enable(), elemStencil_test_enable() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGl_pipeline_settings() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGl_pipeline_settings &operator=( const domGl_pipeline_settings &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domGles2_newparam.h b/1.4.0/dom/include/1.5/dom/domGles2_newparam.h
new file mode 100644
index 0000000..220b4a7
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domGles2_newparam.h
@@ -0,0 +1,225 @@
+#ifndef __dom150Gles2_newparam_h__
+#define __dom150Gles2_newparam_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domGles2_value.h>
+#include <1.5/dom/domFx_annotate.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * Declare a new parameter in the profile to be bound to the pipeline state
+ * or shaders
+ */
+class domGles2_newparam : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLES2_NEWPARAM; }
+ static daeInt ID() { return 210; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domSemantic;
+
+ typedef daeSmartRef<domSemantic> domSemanticRef;
+ typedef daeTArray<domSemanticRef> domSemantic_Array;
+
+/**
+ * The semantic element allows you to specify a semantic for this new param.
+ */
+ class domSemantic : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SEMANTIC; }
+ static daeInt ID() { return 211; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsNCName of the value.
+ */
+ xsNCName getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; }
+
+ protected: // Value
+ /**
+ * The xsNCName value of the text data of this element.
+ */
+ xsNCName _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domSemantic(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSemantic() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSemantic &operator=( const domSemantic &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domModifier;
+
+ typedef daeSmartRef<domModifier> domModifierRef;
+ typedef daeTArray<domModifierRef> domModifier_Array;
+
+ class domModifier : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MODIFIER; }
+ static daeInt ID() { return 212; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_modifier of the value.
+ */
+ domFx_modifier& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFx_modifier& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFx_modifier value of the text data of this element.
+ */
+ domFx_modifier _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domModifier(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domModifier() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domModifier &operator=( const domModifier &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attribute
+ domSid attrSid;
+
+protected: // Elements
+ domFx_annotate_Array elemAnnotate_array;
+/**
+ * The semantic element allows you to specify a semantic for this new param.
+ * @see domSemantic
+ */
+ domSemanticRef elemSemantic;
+ domModifierRef elemModifier;
+ domGles2_valueRef elemGles2_value;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the annotate element array.
+ * @return Returns a reference to the array of annotate elements.
+ */
+ domFx_annotate_Array &getAnnotate_array() { return elemAnnotate_array; }
+ /**
+ * Gets the annotate element array.
+ * @return Returns a constant reference to the array of annotate elements.
+ */
+ const domFx_annotate_Array &getAnnotate_array() const { return elemAnnotate_array; }
+ /**
+ * Gets the semantic element.
+ * @return a daeSmartRef to the semantic element.
+ */
+ const domSemanticRef getSemantic() const { return elemSemantic; }
+ /**
+ * Gets the modifier element.
+ * @return a daeSmartRef to the modifier element.
+ */
+ const domModifierRef getModifier() const { return elemModifier; }
+ /**
+ * Gets the gles2_value element.
+ * @return a daeSmartRef to the gles2_value element.
+ */
+ const domGles2_valueRef getGles2_value() const { return elemGles2_value; }
+protected:
+ /**
+ * Constructor
+ */
+ domGles2_newparam(DAE& dae) : daeElement(dae), attrSid(), elemAnnotate_array(), elemSemantic(), elemModifier(), elemGles2_value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGles2_newparam() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGles2_newparam &operator=( const domGles2_newparam &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domGles2_pass.h b/1.4.0/dom/include/1.5/dom/domGles2_pass.h
new file mode 100644
index 0000000..197781c
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domGles2_pass.h
@@ -0,0 +1,406 @@
+#ifndef __dom150Gles2_pass_h__
+#define __dom150Gles2_pass_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domFx_annotate.h>
+#include <1.5/dom/domGles2_pipeline_settings.h>
+#include <1.5/dom/domGles2_program.h>
+#include <1.5/dom/domFx_colortarget.h>
+#include <1.5/dom/domFx_depthtarget.h>
+#include <1.5/dom/domFx_stenciltarget.h>
+#include <1.5/dom/domFx_clearcolor.h>
+#include <1.5/dom/domFx_clearstencil.h>
+#include <1.5/dom/domFx_cleardepth.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * Set up pipeline state and shaders for rendering
+ */
+class domGles2_pass : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLES2_PASS; }
+ static daeInt ID() { return 220; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domStates;
+
+ typedef daeSmartRef<domStates> domStatesRef;
+ typedef daeTArray<domStatesRef> domStates_Array;
+
+/**
+ * API state
+ */
+ class domStates : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::STATES; }
+ static daeInt ID() { return 221; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Element
+ domGles2_pipeline_settings_Array elemGles2_pipeline_settings_array;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the gles2_pipeline_settings element array.
+ * @return Returns a reference to the array of gles2_pipeline_settings elements.
+ */
+ domGles2_pipeline_settings_Array &getGles2_pipeline_settings_array() { return elemGles2_pipeline_settings_array; }
+ /**
+ * Gets the gles2_pipeline_settings element array.
+ * @return Returns a constant reference to the array of gles2_pipeline_settings elements.
+ */
+ const domGles2_pipeline_settings_Array &getGles2_pipeline_settings_array() const { return elemGles2_pipeline_settings_array; }
+ protected:
+ /**
+ * Constructor
+ */
+ domStates(DAE& dae) : daeElement(dae), elemGles2_pipeline_settings_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domStates() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domStates &operator=( const domStates &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domEvaluate;
+
+ typedef daeSmartRef<domEvaluate> domEvaluateRef;
+ typedef daeTArray<domEvaluateRef> domEvaluate_Array;
+
+/**
+ * runtime execution helpers
+ */
+ class domEvaluate : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::EVALUATE; }
+ static daeInt ID() { return 222; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domDraw;
+
+ typedef daeSmartRef<domDraw> domDrawRef;
+ typedef daeTArray<domDrawRef> domDraw_Array;
+
+/**
+ * Identify what type of goemetry should be drawn durring this pass. See
+ * comments in fx_draw_common for a list of common strings.
+ */
+ class domDraw : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DRAW; }
+ static daeInt ID() { return 223; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_draw of the value.
+ */
+ domFx_draw& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFx_draw& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFx_draw value of the text data of this element.
+ */
+ domFx_draw _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domDraw(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDraw() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDraw &operator=( const domDraw &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+/**
+ * Identify that this pass is intended to render it's colors into a surface
+ * parameter @see domColor_target
+ */
+ domFx_colortarget_Array elemColor_target_array;
+/**
+ * Identify that this pass is intended to render it's depthinto a surface
+ * parameter @see domDepth_target
+ */
+ domFx_depthtarget_Array elemDepth_target_array;
+/**
+ * Identify that this pass is intended to render it's stencil bits into a
+ * surface parameter @see domStencil_target
+ */
+ domFx_stenciltarget_Array elemStencil_target_array;
+/**
+ * The indexed color render target is supposed to be cleared to this color
+ * @see domColor_clear
+ */
+ domFx_clearcolor_Array elemColor_clear_array;
+/**
+ * The indexed stencil bits render target is supposed to be cleared to this
+ * color @see domStencil_clear
+ */
+ domFx_clearstencil_Array elemStencil_clear_array;
+/**
+ * The indexed depth render target is supposed to be cleared to this color
+ * @see domDepth_clear
+ */
+ domFx_cleardepth_Array elemDepth_clear_array;
+/**
+ * Identify what type of goemetry should be drawn durring this pass. See
+ * comments in fx_draw_common for a list of common strings. @see domDraw
+ */
+ domDrawRef elemDraw;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the color_target element array.
+ * @return Returns a reference to the array of color_target elements.
+ */
+ domFx_colortarget_Array &getColor_target_array() { return elemColor_target_array; }
+ /**
+ * Gets the color_target element array.
+ * @return Returns a constant reference to the array of color_target elements.
+ */
+ const domFx_colortarget_Array &getColor_target_array() const { return elemColor_target_array; }
+ /**
+ * Gets the depth_target element array.
+ * @return Returns a reference to the array of depth_target elements.
+ */
+ domFx_depthtarget_Array &getDepth_target_array() { return elemDepth_target_array; }
+ /**
+ * Gets the depth_target element array.
+ * @return Returns a constant reference to the array of depth_target elements.
+ */
+ const domFx_depthtarget_Array &getDepth_target_array() const { return elemDepth_target_array; }
+ /**
+ * Gets the stencil_target element array.
+ * @return Returns a reference to the array of stencil_target elements.
+ */
+ domFx_stenciltarget_Array &getStencil_target_array() { return elemStencil_target_array; }
+ /**
+ * Gets the stencil_target element array.
+ * @return Returns a constant reference to the array of stencil_target elements.
+ */
+ const domFx_stenciltarget_Array &getStencil_target_array() const { return elemStencil_target_array; }
+ /**
+ * Gets the color_clear element array.
+ * @return Returns a reference to the array of color_clear elements.
+ */
+ domFx_clearcolor_Array &getColor_clear_array() { return elemColor_clear_array; }
+ /**
+ * Gets the color_clear element array.
+ * @return Returns a constant reference to the array of color_clear elements.
+ */
+ const domFx_clearcolor_Array &getColor_clear_array() const { return elemColor_clear_array; }
+ /**
+ * Gets the stencil_clear element array.
+ * @return Returns a reference to the array of stencil_clear elements.
+ */
+ domFx_clearstencil_Array &getStencil_clear_array() { return elemStencil_clear_array; }
+ /**
+ * Gets the stencil_clear element array.
+ * @return Returns a constant reference to the array of stencil_clear elements.
+ */
+ const domFx_clearstencil_Array &getStencil_clear_array() const { return elemStencil_clear_array; }
+ /**
+ * Gets the depth_clear element array.
+ * @return Returns a reference to the array of depth_clear elements.
+ */
+ domFx_cleardepth_Array &getDepth_clear_array() { return elemDepth_clear_array; }
+ /**
+ * Gets the depth_clear element array.
+ * @return Returns a constant reference to the array of depth_clear elements.
+ */
+ const domFx_cleardepth_Array &getDepth_clear_array() const { return elemDepth_clear_array; }
+ /**
+ * Gets the draw element.
+ * @return a daeSmartRef to the draw element.
+ */
+ const domDrawRef getDraw() const { return elemDraw; }
+ protected:
+ /**
+ * Constructor
+ */
+ domEvaluate(DAE& dae) : daeElement(dae), elemColor_target_array(), elemDepth_target_array(), elemStencil_target_array(), elemColor_clear_array(), elemStencil_clear_array(), elemDepth_clear_array(), elemDraw() {}
+ /**
+ * Destructor
+ */
+ virtual ~domEvaluate() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domEvaluate &operator=( const domEvaluate &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attribute
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ domSid attrSid;
+
+protected: // Elements
+/**
+ * Add metadata to this pass that may be used by games or tools to make decisions
+ * @see domAnnotate
+ */
+ domFx_annotate_Array elemAnnotate_array;
+/**
+ * API state @see domStates
+ */
+ domStatesRef elemStates;
+/**
+ * A vertex_shader and fragment_shader are linked together to produce a OpenGL
+ * ES 2 program. @see domProgram
+ */
+ domGles2_programRef elemProgram;
+/**
+ * runtime execution helpers @see domEvaluate
+ */
+ domEvaluateRef elemEvaluate;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the annotate element array.
+ * @return Returns a reference to the array of annotate elements.
+ */
+ domFx_annotate_Array &getAnnotate_array() { return elemAnnotate_array; }
+ /**
+ * Gets the annotate element array.
+ * @return Returns a constant reference to the array of annotate elements.
+ */
+ const domFx_annotate_Array &getAnnotate_array() const { return elemAnnotate_array; }
+ /**
+ * Gets the states element.
+ * @return a daeSmartRef to the states element.
+ */
+ const domStatesRef getStates() const { return elemStates; }
+ /**
+ * Gets the program element.
+ * @return a daeSmartRef to the program element.
+ */
+ const domGles2_programRef getProgram() const { return elemProgram; }
+ /**
+ * Gets the evaluate element.
+ * @return a daeSmartRef to the evaluate element.
+ */
+ const domEvaluateRef getEvaluate() const { return elemEvaluate; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domGles2_pass(DAE& dae) : daeElement(dae), attrSid(), elemAnnotate_array(), elemStates(), elemProgram(), elemEvaluate(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGles2_pass() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGles2_pass &operator=( const domGles2_pass &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domGles2_pipeline_settings.h b/1.4.0/dom/include/1.5/dom/domGles2_pipeline_settings.h
new file mode 100644
index 0000000..947a939
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domGles2_pipeline_settings.h
@@ -0,0 +1,4118 @@
+#ifndef __dom150Gles2_pipeline_settings_h__
+#define __dom150Gles2_pipeline_settings_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * All of the pass state settings for OpenGL ES 2 API
+ */
+class domGles2_pipeline_settings : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLES2_PIPELINE_SETTINGS; }
+ static daeInt ID() { return 668; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domBlend_color;
+
+ typedef daeSmartRef<domBlend_color> domBlend_colorRef;
+ typedef daeTArray<domBlend_colorRef> domBlend_color_Array;
+
+ class domBlend_color : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BLEND_COLOR; }
+ static daeInt ID() { return 669; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat4 of the value attribute.
+ */
+ domFloat4 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat4 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBlend_color(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBlend_color() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBlend_color &operator=( const domBlend_color &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBlend_equation;
+
+ typedef daeSmartRef<domBlend_equation> domBlend_equationRef;
+ typedef daeTArray<domBlend_equationRef> domBlend_equation_Array;
+
+ class domBlend_equation : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BLEND_EQUATION; }
+ static daeInt ID() { return 670; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_blend_equation attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_blend_equation of the value attribute.
+ */
+ domGl_blend_equation getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_blend_equation atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBlend_equation(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBlend_equation() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBlend_equation &operator=( const domBlend_equation &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBlend_equation_separate;
+
+ typedef daeSmartRef<domBlend_equation_separate> domBlend_equation_separateRef;
+ typedef daeTArray<domBlend_equation_separateRef> domBlend_equation_separate_Array;
+
+ class domBlend_equation_separate : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BLEND_EQUATION_SEPARATE; }
+ static daeInt ID() { return 671; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domRgb;
+
+ typedef daeSmartRef<domRgb> domRgbRef;
+ typedef daeTArray<domRgbRef> domRgb_Array;
+
+ class domRgb : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::RGB; }
+ static daeInt ID() { return 672; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_blend_equation attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_blend_equation of the value attribute.
+ */
+ domGl_blend_equation getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_blend_equation atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domRgb(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domRgb() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRgb &operator=( const domRgb &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domAlpha;
+
+ typedef daeSmartRef<domAlpha> domAlphaRef;
+ typedef daeTArray<domAlphaRef> domAlpha_Array;
+
+ class domAlpha : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ALPHA; }
+ static daeInt ID() { return 673; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_blend_equation attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_blend_equation of the value attribute.
+ */
+ domGl_blend_equation getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_blend_equation atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domAlpha(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domAlpha() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAlpha &operator=( const domAlpha &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domRgbRef elemRgb;
+ domAlphaRef elemAlpha;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the rgb element.
+ * @return a daeSmartRef to the rgb element.
+ */
+ const domRgbRef getRgb() const { return elemRgb; }
+ /**
+ * Gets the alpha element.
+ * @return a daeSmartRef to the alpha element.
+ */
+ const domAlphaRef getAlpha() const { return elemAlpha; }
+ protected:
+ /**
+ * Constructor
+ */
+ domBlend_equation_separate(DAE& dae) : daeElement(dae), elemRgb(), elemAlpha() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBlend_equation_separate() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBlend_equation_separate &operator=( const domBlend_equation_separate &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBlend_func;
+
+ typedef daeSmartRef<domBlend_func> domBlend_funcRef;
+ typedef daeTArray<domBlend_funcRef> domBlend_func_Array;
+
+ class domBlend_func : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BLEND_FUNC; }
+ static daeInt ID() { return 674; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domSrc;
+
+ typedef daeSmartRef<domSrc> domSrcRef;
+ typedef daeTArray<domSrcRef> domSrc_Array;
+
+ class domSrc : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SRC; }
+ static daeInt ID() { return 675; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_blend attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_blend of the value attribute.
+ */
+ domGl_blend getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_blend atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSrc(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSrc() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSrc &operator=( const domSrc &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDest;
+
+ typedef daeSmartRef<domDest> domDestRef;
+ typedef daeTArray<domDestRef> domDest_Array;
+
+ class domDest : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DEST; }
+ static daeInt ID() { return 676; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_blend attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_blend of the value attribute.
+ */
+ domGl_blend getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_blend atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDest(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDest() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDest &operator=( const domDest &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domSrcRef elemSrc;
+ domDestRef elemDest;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the src element.
+ * @return a daeSmartRef to the src element.
+ */
+ const domSrcRef getSrc() const { return elemSrc; }
+ /**
+ * Gets the dest element.
+ * @return a daeSmartRef to the dest element.
+ */
+ const domDestRef getDest() const { return elemDest; }
+ protected:
+ /**
+ * Constructor
+ */
+ domBlend_func(DAE& dae) : daeElement(dae), elemSrc(), elemDest() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBlend_func() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBlend_func &operator=( const domBlend_func &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBlend_func_separate;
+
+ typedef daeSmartRef<domBlend_func_separate> domBlend_func_separateRef;
+ typedef daeTArray<domBlend_func_separateRef> domBlend_func_separate_Array;
+
+ class domBlend_func_separate : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BLEND_FUNC_SEPARATE; }
+ static daeInt ID() { return 677; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domSrc_rgb;
+
+ typedef daeSmartRef<domSrc_rgb> domSrc_rgbRef;
+ typedef daeTArray<domSrc_rgbRef> domSrc_rgb_Array;
+
+ class domSrc_rgb : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SRC_RGB; }
+ static daeInt ID() { return 678; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_blend attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_blend of the value attribute.
+ */
+ domGl_blend getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_blend atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSrc_rgb(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSrc_rgb() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSrc_rgb &operator=( const domSrc_rgb &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDest_rgb;
+
+ typedef daeSmartRef<domDest_rgb> domDest_rgbRef;
+ typedef daeTArray<domDest_rgbRef> domDest_rgb_Array;
+
+ class domDest_rgb : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DEST_RGB; }
+ static daeInt ID() { return 679; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_blend attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_blend of the value attribute.
+ */
+ domGl_blend getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_blend atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDest_rgb(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDest_rgb() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDest_rgb &operator=( const domDest_rgb &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domSrc_alpha;
+
+ typedef daeSmartRef<domSrc_alpha> domSrc_alphaRef;
+ typedef daeTArray<domSrc_alphaRef> domSrc_alpha_Array;
+
+ class domSrc_alpha : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SRC_ALPHA; }
+ static daeInt ID() { return 680; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_blend attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_blend of the value attribute.
+ */
+ domGl_blend getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_blend atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSrc_alpha(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSrc_alpha() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSrc_alpha &operator=( const domSrc_alpha &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDest_alpha;
+
+ typedef daeSmartRef<domDest_alpha> domDest_alphaRef;
+ typedef daeTArray<domDest_alphaRef> domDest_alpha_Array;
+
+ class domDest_alpha : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DEST_ALPHA; }
+ static daeInt ID() { return 681; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_blend attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_blend of the value attribute.
+ */
+ domGl_blend getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_blend atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDest_alpha(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDest_alpha() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDest_alpha &operator=( const domDest_alpha &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domSrc_rgbRef elemSrc_rgb;
+ domDest_rgbRef elemDest_rgb;
+ domSrc_alphaRef elemSrc_alpha;
+ domDest_alphaRef elemDest_alpha;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the src_rgb element.
+ * @return a daeSmartRef to the src_rgb element.
+ */
+ const domSrc_rgbRef getSrc_rgb() const { return elemSrc_rgb; }
+ /**
+ * Gets the dest_rgb element.
+ * @return a daeSmartRef to the dest_rgb element.
+ */
+ const domDest_rgbRef getDest_rgb() const { return elemDest_rgb; }
+ /**
+ * Gets the src_alpha element.
+ * @return a daeSmartRef to the src_alpha element.
+ */
+ const domSrc_alphaRef getSrc_alpha() const { return elemSrc_alpha; }
+ /**
+ * Gets the dest_alpha element.
+ * @return a daeSmartRef to the dest_alpha element.
+ */
+ const domDest_alphaRef getDest_alpha() const { return elemDest_alpha; }
+ protected:
+ /**
+ * Constructor
+ */
+ domBlend_func_separate(DAE& dae) : daeElement(dae), elemSrc_rgb(), elemDest_rgb(), elemSrc_alpha(), elemDest_alpha() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBlend_func_separate() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBlend_func_separate &operator=( const domBlend_func_separate &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domColor_mask;
+
+ typedef daeSmartRef<domColor_mask> domColor_maskRef;
+ typedef daeTArray<domColor_maskRef> domColor_mask_Array;
+
+ class domColor_mask : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COLOR_MASK; }
+ static daeInt ID() { return 682; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool4 attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool4 of the value attribute.
+ */
+ domBool4 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool4 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domColor_mask(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domColor_mask() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domColor_mask &operator=( const domColor_mask &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domCull_face;
+
+ typedef daeSmartRef<domCull_face> domCull_faceRef;
+ typedef daeTArray<domCull_faceRef> domCull_face_Array;
+
+ class domCull_face : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CULL_FACE; }
+ static daeInt ID() { return 683; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_face attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_face of the value attribute.
+ */
+ domGl_face getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_face atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domCull_face(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCull_face() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCull_face &operator=( const domCull_face &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDepth_func;
+
+ typedef daeSmartRef<domDepth_func> domDepth_funcRef;
+ typedef daeTArray<domDepth_funcRef> domDepth_func_Array;
+
+ class domDepth_func : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DEPTH_FUNC; }
+ static daeInt ID() { return 684; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_func attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_func of the value attribute.
+ */
+ domGl_func getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_func atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDepth_func(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDepth_func() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDepth_func &operator=( const domDepth_func &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDepth_mask;
+
+ typedef daeSmartRef<domDepth_mask> domDepth_maskRef;
+ typedef daeTArray<domDepth_maskRef> domDepth_mask_Array;
+
+ class domDepth_mask : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DEPTH_MASK; }
+ static daeInt ID() { return 685; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDepth_mask(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDepth_mask() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDepth_mask &operator=( const domDepth_mask &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDepth_range;
+
+ typedef daeSmartRef<domDepth_range> domDepth_rangeRef;
+ typedef daeTArray<domDepth_rangeRef> domDepth_range_Array;
+
+ class domDepth_range : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DEPTH_RANGE; }
+ static daeInt ID() { return 686; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat2 attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat2 of the value attribute.
+ */
+ domFloat2 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat2 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDepth_range(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDepth_range() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDepth_range &operator=( const domDepth_range &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFront_face;
+
+ typedef daeSmartRef<domFront_face> domFront_faceRef;
+ typedef daeTArray<domFront_faceRef> domFront_face_Array;
+
+ class domFront_face : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FRONT_FACE; }
+ static daeInt ID() { return 687; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_front_face attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_front_face of the value attribute.
+ */
+ domGl_front_face getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_front_face atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFront_face(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFront_face() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFront_face &operator=( const domFront_face &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLine_width;
+
+ typedef daeSmartRef<domLine_width> domLine_widthRef;
+ typedef daeTArray<domLine_widthRef> domLine_width_Array;
+
+ class domLine_width : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LINE_WIDTH; }
+ static daeInt ID() { return 688; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLine_width(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLine_width() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLine_width &operator=( const domLine_width &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPolygon_offset;
+
+ typedef daeSmartRef<domPolygon_offset> domPolygon_offsetRef;
+ typedef daeTArray<domPolygon_offsetRef> domPolygon_offset_Array;
+
+ class domPolygon_offset : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POLYGON_OFFSET; }
+ static daeInt ID() { return 689; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat2 attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat2 of the value attribute.
+ */
+ domFloat2 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat2 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPolygon_offset(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPolygon_offset() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPolygon_offset &operator=( const domPolygon_offset &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPoint_size;
+
+ typedef daeSmartRef<domPoint_size> domPoint_sizeRef;
+ typedef daeTArray<domPoint_sizeRef> domPoint_size_Array;
+
+ class domPoint_size : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POINT_SIZE; }
+ static daeInt ID() { return 690; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPoint_size(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPoint_size() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPoint_size &operator=( const domPoint_size &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domSample_coverage;
+
+ typedef daeSmartRef<domSample_coverage> domSample_coverageRef;
+ typedef daeTArray<domSample_coverageRef> domSample_coverage_Array;
+
+ class domSample_coverage : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SAMPLE_COVERAGE; }
+ static daeInt ID() { return 691; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domValue;
+
+ typedef daeSmartRef<domValue> domValueRef;
+ typedef daeTArray<domValueRef> domValue_Array;
+
+ class domValue : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::VALUE; }
+ static daeInt ID() { return 692; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsFloat attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsFloat of the value attribute.
+ */
+ xsFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domValue(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domValue() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domValue &operator=( const domValue &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInvert;
+
+ typedef daeSmartRef<domInvert> domInvertRef;
+ typedef daeTArray<domInvertRef> domInvert_Array;
+
+ class domInvert : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INVERT; }
+ static daeInt ID() { return 693; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domInvert(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInvert() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInvert &operator=( const domInvert &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domValueRef elemValue;
+ domInvertRef elemInvert;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value element.
+ * @return a daeSmartRef to the value element.
+ */
+ const domValueRef getValue() const { return elemValue; }
+ /**
+ * Gets the invert element.
+ * @return a daeSmartRef to the invert element.
+ */
+ const domInvertRef getInvert() const { return elemInvert; }
+ protected:
+ /**
+ * Constructor
+ */
+ domSample_coverage(DAE& dae) : daeElement(dae), elemValue(), elemInvert() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSample_coverage() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSample_coverage &operator=( const domSample_coverage &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domScissor;
+
+ typedef daeSmartRef<domScissor> domScissorRef;
+ typedef daeTArray<domScissorRef> domScissor_Array;
+
+ class domScissor : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SCISSOR; }
+ static daeInt ID() { return 694; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domInt4 attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domInt4 of the value attribute.
+ */
+ domInt4 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domInt4 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domScissor(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domScissor() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domScissor &operator=( const domScissor &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domStencil_func;
+
+ typedef daeSmartRef<domStencil_func> domStencil_funcRef;
+ typedef daeTArray<domStencil_funcRef> domStencil_func_Array;
+
+ class domStencil_func : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::STENCIL_FUNC; }
+ static daeInt ID() { return 695; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domFunc;
+
+ typedef daeSmartRef<domFunc> domFuncRef;
+ typedef daeTArray<domFuncRef> domFunc_Array;
+
+ class domFunc : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FUNC; }
+ static daeInt ID() { return 696; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_func attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_func of the value attribute.
+ */
+ domGl_func getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_func atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFunc(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFunc() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFunc &operator=( const domFunc &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domRef;
+
+ typedef daeSmartRef<domRef> domRefRef;
+ typedef daeTArray<domRefRef> domRef_Array;
+
+ class domRef : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::REF; }
+ static daeInt ID() { return 697; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsUnsignedByte attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsUnsignedByte of the value attribute.
+ */
+ xsUnsignedByte getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsUnsignedByte atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domRef(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domRef() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRef &operator=( const domRef &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMask;
+
+ typedef daeSmartRef<domMask> domMaskRef;
+ typedef daeTArray<domMaskRef> domMask_Array;
+
+ class domMask : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MASK; }
+ static daeInt ID() { return 698; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsUnsignedByte attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsUnsignedByte of the value attribute.
+ */
+ xsUnsignedByte getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsUnsignedByte atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMask(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMask() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMask &operator=( const domMask &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domFuncRef elemFunc;
+ domRefRef elemRef;
+ domMaskRef elemMask;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the func element.
+ * @return a daeSmartRef to the func element.
+ */
+ const domFuncRef getFunc() const { return elemFunc; }
+ /**
+ * Gets the ref element.
+ * @return a daeSmartRef to the ref element.
+ */
+ const domRefRef getRef() const { return elemRef; }
+ /**
+ * Gets the mask element.
+ * @return a daeSmartRef to the mask element.
+ */
+ const domMaskRef getMask() const { return elemMask; }
+ protected:
+ /**
+ * Constructor
+ */
+ domStencil_func(DAE& dae) : daeElement(dae), elemFunc(), elemRef(), elemMask() {}
+ /**
+ * Destructor
+ */
+ virtual ~domStencil_func() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domStencil_func &operator=( const domStencil_func &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domStencil_func_separate;
+
+ typedef daeSmartRef<domStencil_func_separate> domStencil_func_separateRef;
+ typedef daeTArray<domStencil_func_separateRef> domStencil_func_separate_Array;
+
+ class domStencil_func_separate : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::STENCIL_FUNC_SEPARATE; }
+ static daeInt ID() { return 699; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domFront;
+
+ typedef daeSmartRef<domFront> domFrontRef;
+ typedef daeTArray<domFrontRef> domFront_Array;
+
+ class domFront : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FRONT; }
+ static daeInt ID() { return 700; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_func attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_func of the value attribute.
+ */
+ domGl_func getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_func atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFront(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFront() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFront &operator=( const domFront &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBack;
+
+ typedef daeSmartRef<domBack> domBackRef;
+ typedef daeTArray<domBackRef> domBack_Array;
+
+ class domBack : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BACK; }
+ static daeInt ID() { return 701; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_func attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_func of the value attribute.
+ */
+ domGl_func getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_func atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBack(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBack() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBack &operator=( const domBack &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domRef;
+
+ typedef daeSmartRef<domRef> domRefRef;
+ typedef daeTArray<domRefRef> domRef_Array;
+
+ class domRef : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::REF; }
+ static daeInt ID() { return 702; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsUnsignedByte attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsUnsignedByte of the value attribute.
+ */
+ xsUnsignedByte getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsUnsignedByte atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domRef(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domRef() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRef &operator=( const domRef &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMask;
+
+ typedef daeSmartRef<domMask> domMaskRef;
+ typedef daeTArray<domMaskRef> domMask_Array;
+
+ class domMask : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MASK; }
+ static daeInt ID() { return 703; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsUnsignedByte attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsUnsignedByte of the value attribute.
+ */
+ xsUnsignedByte getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsUnsignedByte atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMask(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMask() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMask &operator=( const domMask &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domFrontRef elemFront;
+ domBackRef elemBack;
+ domRefRef elemRef;
+ domMaskRef elemMask;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the front element.
+ * @return a daeSmartRef to the front element.
+ */
+ const domFrontRef getFront() const { return elemFront; }
+ /**
+ * Gets the back element.
+ * @return a daeSmartRef to the back element.
+ */
+ const domBackRef getBack() const { return elemBack; }
+ /**
+ * Gets the ref element.
+ * @return a daeSmartRef to the ref element.
+ */
+ const domRefRef getRef() const { return elemRef; }
+ /**
+ * Gets the mask element.
+ * @return a daeSmartRef to the mask element.
+ */
+ const domMaskRef getMask() const { return elemMask; }
+ protected:
+ /**
+ * Constructor
+ */
+ domStencil_func_separate(DAE& dae) : daeElement(dae), elemFront(), elemBack(), elemRef(), elemMask() {}
+ /**
+ * Destructor
+ */
+ virtual ~domStencil_func_separate() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domStencil_func_separate &operator=( const domStencil_func_separate &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domStencil_mask;
+
+ typedef daeSmartRef<domStencil_mask> domStencil_maskRef;
+ typedef daeTArray<domStencil_maskRef> domStencil_mask_Array;
+
+ class domStencil_mask : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::STENCIL_MASK; }
+ static daeInt ID() { return 704; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domInt attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domInt of the value attribute.
+ */
+ domInt getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domInt atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domStencil_mask(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domStencil_mask() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domStencil_mask &operator=( const domStencil_mask &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domStencil_mask_separate;
+
+ typedef daeSmartRef<domStencil_mask_separate> domStencil_mask_separateRef;
+ typedef daeTArray<domStencil_mask_separateRef> domStencil_mask_separate_Array;
+
+ class domStencil_mask_separate : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::STENCIL_MASK_SEPARATE; }
+ static daeInt ID() { return 705; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domFace;
+
+ typedef daeSmartRef<domFace> domFaceRef;
+ typedef daeTArray<domFaceRef> domFace_Array;
+
+ class domFace : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FACE; }
+ static daeInt ID() { return 706; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_face attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_face of the value attribute.
+ */
+ domGl_face getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_face atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFace(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFace() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFace &operator=( const domFace &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMask;
+
+ typedef daeSmartRef<domMask> domMaskRef;
+ typedef daeTArray<domMaskRef> domMask_Array;
+
+ class domMask : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MASK; }
+ static daeInt ID() { return 707; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsUnsignedByte attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsUnsignedByte of the value attribute.
+ */
+ xsUnsignedByte getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsUnsignedByte atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMask(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMask() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMask &operator=( const domMask &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domFaceRef elemFace;
+ domMaskRef elemMask;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the face element.
+ * @return a daeSmartRef to the face element.
+ */
+ const domFaceRef getFace() const { return elemFace; }
+ /**
+ * Gets the mask element.
+ * @return a daeSmartRef to the mask element.
+ */
+ const domMaskRef getMask() const { return elemMask; }
+ protected:
+ /**
+ * Constructor
+ */
+ domStencil_mask_separate(DAE& dae) : daeElement(dae), elemFace(), elemMask() {}
+ /**
+ * Destructor
+ */
+ virtual ~domStencil_mask_separate() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domStencil_mask_separate &operator=( const domStencil_mask_separate &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domStencil_op;
+
+ typedef daeSmartRef<domStencil_op> domStencil_opRef;
+ typedef daeTArray<domStencil_opRef> domStencil_op_Array;
+
+ class domStencil_op : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::STENCIL_OP; }
+ static daeInt ID() { return 708; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domFail;
+
+ typedef daeSmartRef<domFail> domFailRef;
+ typedef daeTArray<domFailRef> domFail_Array;
+
+ class domFail : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FAIL; }
+ static daeInt ID() { return 709; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_stencil_op attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_stencil_op of the value attribute.
+ */
+ domGl_stencil_op getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_stencil_op atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFail(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFail() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFail &operator=( const domFail &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domZfail;
+
+ typedef daeSmartRef<domZfail> domZfailRef;
+ typedef daeTArray<domZfailRef> domZfail_Array;
+
+ class domZfail : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ZFAIL; }
+ static daeInt ID() { return 710; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_stencil_op attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_stencil_op of the value attribute.
+ */
+ domGl_stencil_op getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_stencil_op atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domZfail(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domZfail() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domZfail &operator=( const domZfail &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domZpass;
+
+ typedef daeSmartRef<domZpass> domZpassRef;
+ typedef daeTArray<domZpassRef> domZpass_Array;
+
+ class domZpass : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ZPASS; }
+ static daeInt ID() { return 711; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_stencil_op attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_stencil_op of the value attribute.
+ */
+ domGl_stencil_op getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_stencil_op atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domZpass(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domZpass() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domZpass &operator=( const domZpass &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domFailRef elemFail;
+ domZfailRef elemZfail;
+ domZpassRef elemZpass;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the fail element.
+ * @return a daeSmartRef to the fail element.
+ */
+ const domFailRef getFail() const { return elemFail; }
+ /**
+ * Gets the zfail element.
+ * @return a daeSmartRef to the zfail element.
+ */
+ const domZfailRef getZfail() const { return elemZfail; }
+ /**
+ * Gets the zpass element.
+ * @return a daeSmartRef to the zpass element.
+ */
+ const domZpassRef getZpass() const { return elemZpass; }
+ protected:
+ /**
+ * Constructor
+ */
+ domStencil_op(DAE& dae) : daeElement(dae), elemFail(), elemZfail(), elemZpass() {}
+ /**
+ * Destructor
+ */
+ virtual ~domStencil_op() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domStencil_op &operator=( const domStencil_op &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domStencil_op_separate;
+
+ typedef daeSmartRef<domStencil_op_separate> domStencil_op_separateRef;
+ typedef daeTArray<domStencil_op_separateRef> domStencil_op_separate_Array;
+
+ class domStencil_op_separate : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::STENCIL_OP_SEPARATE; }
+ static daeInt ID() { return 712; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domFace;
+
+ typedef daeSmartRef<domFace> domFaceRef;
+ typedef daeTArray<domFaceRef> domFace_Array;
+
+ class domFace : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FACE; }
+ static daeInt ID() { return 713; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_face attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_face of the value attribute.
+ */
+ domGl_face getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_face atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFace(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFace() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFace &operator=( const domFace &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFail;
+
+ typedef daeSmartRef<domFail> domFailRef;
+ typedef daeTArray<domFailRef> domFail_Array;
+
+ class domFail : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FAIL; }
+ static daeInt ID() { return 714; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_stencil_op attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_stencil_op of the value attribute.
+ */
+ domGl_stencil_op getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_stencil_op atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFail(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFail() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFail &operator=( const domFail &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domZfail;
+
+ typedef daeSmartRef<domZfail> domZfailRef;
+ typedef daeTArray<domZfailRef> domZfail_Array;
+
+ class domZfail : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ZFAIL; }
+ static daeInt ID() { return 715; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_stencil_op attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_stencil_op of the value attribute.
+ */
+ domGl_stencil_op getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_stencil_op atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domZfail(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domZfail() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domZfail &operator=( const domZfail &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domZpass;
+
+ typedef daeSmartRef<domZpass> domZpassRef;
+ typedef daeTArray<domZpassRef> domZpass_Array;
+
+ class domZpass : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ZPASS; }
+ static daeInt ID() { return 716; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_stencil_op attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_stencil_op of the value attribute.
+ */
+ domGl_stencil_op getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_stencil_op atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domZpass(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domZpass() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domZpass &operator=( const domZpass &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domFaceRef elemFace;
+ domFailRef elemFail;
+ domZfailRef elemZfail;
+ domZpassRef elemZpass;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the face element.
+ * @return a daeSmartRef to the face element.
+ */
+ const domFaceRef getFace() const { return elemFace; }
+ /**
+ * Gets the fail element.
+ * @return a daeSmartRef to the fail element.
+ */
+ const domFailRef getFail() const { return elemFail; }
+ /**
+ * Gets the zfail element.
+ * @return a daeSmartRef to the zfail element.
+ */
+ const domZfailRef getZfail() const { return elemZfail; }
+ /**
+ * Gets the zpass element.
+ * @return a daeSmartRef to the zpass element.
+ */
+ const domZpassRef getZpass() const { return elemZpass; }
+ protected:
+ /**
+ * Constructor
+ */
+ domStencil_op_separate(DAE& dae) : daeElement(dae), elemFace(), elemFail(), elemZfail(), elemZpass() {}
+ /**
+ * Destructor
+ */
+ virtual ~domStencil_op_separate() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domStencil_op_separate &operator=( const domStencil_op_separate &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBlend_enable;
+
+ typedef daeSmartRef<domBlend_enable> domBlend_enableRef;
+ typedef daeTArray<domBlend_enableRef> domBlend_enable_Array;
+
+ class domBlend_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BLEND_ENABLE; }
+ static daeInt ID() { return 717; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBlend_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBlend_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBlend_enable &operator=( const domBlend_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domCull_face_enable;
+
+ typedef daeSmartRef<domCull_face_enable> domCull_face_enableRef;
+ typedef daeTArray<domCull_face_enableRef> domCull_face_enable_Array;
+
+ class domCull_face_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CULL_FACE_ENABLE; }
+ static daeInt ID() { return 718; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domCull_face_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCull_face_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCull_face_enable &operator=( const domCull_face_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDepth_test_enable;
+
+ typedef daeSmartRef<domDepth_test_enable> domDepth_test_enableRef;
+ typedef daeTArray<domDepth_test_enableRef> domDepth_test_enable_Array;
+
+ class domDepth_test_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DEPTH_TEST_ENABLE; }
+ static daeInt ID() { return 719; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDepth_test_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDepth_test_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDepth_test_enable &operator=( const domDepth_test_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDither_enable;
+
+ typedef daeSmartRef<domDither_enable> domDither_enableRef;
+ typedef daeTArray<domDither_enableRef> domDither_enable_Array;
+
+ class domDither_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DITHER_ENABLE; }
+ static daeInt ID() { return 720; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDither_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDither_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDither_enable &operator=( const domDither_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPolygon_offset_fill_enable;
+
+ typedef daeSmartRef<domPolygon_offset_fill_enable> domPolygon_offset_fill_enableRef;
+ typedef daeTArray<domPolygon_offset_fill_enableRef> domPolygon_offset_fill_enable_Array;
+
+ class domPolygon_offset_fill_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POLYGON_OFFSET_FILL_ENABLE; }
+ static daeInt ID() { return 721; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPolygon_offset_fill_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPolygon_offset_fill_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPolygon_offset_fill_enable &operator=( const domPolygon_offset_fill_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPoint_size_enable;
+
+ typedef daeSmartRef<domPoint_size_enable> domPoint_size_enableRef;
+ typedef daeTArray<domPoint_size_enableRef> domPoint_size_enable_Array;
+
+ class domPoint_size_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POINT_SIZE_ENABLE; }
+ static daeInt ID() { return 722; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPoint_size_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPoint_size_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPoint_size_enable &operator=( const domPoint_size_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domSample_alpha_to_coverage_enable;
+
+ typedef daeSmartRef<domSample_alpha_to_coverage_enable> domSample_alpha_to_coverage_enableRef;
+ typedef daeTArray<domSample_alpha_to_coverage_enableRef> domSample_alpha_to_coverage_enable_Array;
+
+ class domSample_alpha_to_coverage_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SAMPLE_ALPHA_TO_COVERAGE_ENABLE; }
+ static daeInt ID() { return 723; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSample_alpha_to_coverage_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSample_alpha_to_coverage_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSample_alpha_to_coverage_enable &operator=( const domSample_alpha_to_coverage_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domSample_coverage_enable;
+
+ typedef daeSmartRef<domSample_coverage_enable> domSample_coverage_enableRef;
+ typedef daeTArray<domSample_coverage_enableRef> domSample_coverage_enable_Array;
+
+ class domSample_coverage_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SAMPLE_COVERAGE_ENABLE; }
+ static daeInt ID() { return 724; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSample_coverage_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSample_coverage_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSample_coverage_enable &operator=( const domSample_coverage_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domScissor_test_enable;
+
+ typedef daeSmartRef<domScissor_test_enable> domScissor_test_enableRef;
+ typedef daeTArray<domScissor_test_enableRef> domScissor_test_enable_Array;
+
+ class domScissor_test_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SCISSOR_TEST_ENABLE; }
+ static daeInt ID() { return 725; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domScissor_test_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domScissor_test_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domScissor_test_enable &operator=( const domScissor_test_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domStencil_test_enable;
+
+ typedef daeSmartRef<domStencil_test_enable> domStencil_test_enableRef;
+ typedef daeTArray<domStencil_test_enableRef> domStencil_test_enable_Array;
+
+ class domStencil_test_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::STENCIL_TEST_ENABLE; }
+ static daeInt ID() { return 726; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsToken attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsToken of the param attribute.
+ */
+ xsToken getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsToken atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domStencil_test_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domStencil_test_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domStencil_test_enable &operator=( const domStencil_test_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+ domBlend_colorRef elemBlend_color;
+ domBlend_equationRef elemBlend_equation;
+ domBlend_equation_separateRef elemBlend_equation_separate;
+ domBlend_funcRef elemBlend_func;
+ domBlend_func_separateRef elemBlend_func_separate;
+ domColor_maskRef elemColor_mask;
+ domCull_faceRef elemCull_face;
+ domDepth_funcRef elemDepth_func;
+ domDepth_maskRef elemDepth_mask;
+ domDepth_rangeRef elemDepth_range;
+ domFront_faceRef elemFront_face;
+ domLine_widthRef elemLine_width;
+ domPolygon_offsetRef elemPolygon_offset;
+ domPoint_sizeRef elemPoint_size;
+ domSample_coverageRef elemSample_coverage;
+ domScissorRef elemScissor;
+ domStencil_funcRef elemStencil_func;
+ domStencil_func_separateRef elemStencil_func_separate;
+ domStencil_maskRef elemStencil_mask;
+ domStencil_mask_separateRef elemStencil_mask_separate;
+ domStencil_opRef elemStencil_op;
+ domStencil_op_separateRef elemStencil_op_separate;
+ domBlend_enableRef elemBlend_enable;
+ domCull_face_enableRef elemCull_face_enable;
+ domDepth_test_enableRef elemDepth_test_enable;
+ domDither_enableRef elemDither_enable;
+ domPolygon_offset_fill_enableRef elemPolygon_offset_fill_enable;
+ domPoint_size_enableRef elemPoint_size_enable;
+ domSample_alpha_to_coverage_enableRef elemSample_alpha_to_coverage_enable;
+ domSample_coverage_enableRef elemSample_coverage_enable;
+ domScissor_test_enableRef elemScissor_test_enable;
+ domStencil_test_enableRef elemStencil_test_enable;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the blend_color element.
+ * @return a daeSmartRef to the blend_color element.
+ */
+ const domBlend_colorRef getBlend_color() const { return elemBlend_color; }
+ /**
+ * Gets the blend_equation element.
+ * @return a daeSmartRef to the blend_equation element.
+ */
+ const domBlend_equationRef getBlend_equation() const { return elemBlend_equation; }
+ /**
+ * Gets the blend_equation_separate element.
+ * @return a daeSmartRef to the blend_equation_separate element.
+ */
+ const domBlend_equation_separateRef getBlend_equation_separate() const { return elemBlend_equation_separate; }
+ /**
+ * Gets the blend_func element.
+ * @return a daeSmartRef to the blend_func element.
+ */
+ const domBlend_funcRef getBlend_func() const { return elemBlend_func; }
+ /**
+ * Gets the blend_func_separate element.
+ * @return a daeSmartRef to the blend_func_separate element.
+ */
+ const domBlend_func_separateRef getBlend_func_separate() const { return elemBlend_func_separate; }
+ /**
+ * Gets the color_mask element.
+ * @return a daeSmartRef to the color_mask element.
+ */
+ const domColor_maskRef getColor_mask() const { return elemColor_mask; }
+ /**
+ * Gets the cull_face element.
+ * @return a daeSmartRef to the cull_face element.
+ */
+ const domCull_faceRef getCull_face() const { return elemCull_face; }
+ /**
+ * Gets the depth_func element.
+ * @return a daeSmartRef to the depth_func element.
+ */
+ const domDepth_funcRef getDepth_func() const { return elemDepth_func; }
+ /**
+ * Gets the depth_mask element.
+ * @return a daeSmartRef to the depth_mask element.
+ */
+ const domDepth_maskRef getDepth_mask() const { return elemDepth_mask; }
+ /**
+ * Gets the depth_range element.
+ * @return a daeSmartRef to the depth_range element.
+ */
+ const domDepth_rangeRef getDepth_range() const { return elemDepth_range; }
+ /**
+ * Gets the front_face element.
+ * @return a daeSmartRef to the front_face element.
+ */
+ const domFront_faceRef getFront_face() const { return elemFront_face; }
+ /**
+ * Gets the line_width element.
+ * @return a daeSmartRef to the line_width element.
+ */
+ const domLine_widthRef getLine_width() const { return elemLine_width; }
+ /**
+ * Gets the polygon_offset element.
+ * @return a daeSmartRef to the polygon_offset element.
+ */
+ const domPolygon_offsetRef getPolygon_offset() const { return elemPolygon_offset; }
+ /**
+ * Gets the point_size element.
+ * @return a daeSmartRef to the point_size element.
+ */
+ const domPoint_sizeRef getPoint_size() const { return elemPoint_size; }
+ /**
+ * Gets the sample_coverage element.
+ * @return a daeSmartRef to the sample_coverage element.
+ */
+ const domSample_coverageRef getSample_coverage() const { return elemSample_coverage; }
+ /**
+ * Gets the scissor element.
+ * @return a daeSmartRef to the scissor element.
+ */
+ const domScissorRef getScissor() const { return elemScissor; }
+ /**
+ * Gets the stencil_func element.
+ * @return a daeSmartRef to the stencil_func element.
+ */
+ const domStencil_funcRef getStencil_func() const { return elemStencil_func; }
+ /**
+ * Gets the stencil_func_separate element.
+ * @return a daeSmartRef to the stencil_func_separate element.
+ */
+ const domStencil_func_separateRef getStencil_func_separate() const { return elemStencil_func_separate; }
+ /**
+ * Gets the stencil_mask element.
+ * @return a daeSmartRef to the stencil_mask element.
+ */
+ const domStencil_maskRef getStencil_mask() const { return elemStencil_mask; }
+ /**
+ * Gets the stencil_mask_separate element.
+ * @return a daeSmartRef to the stencil_mask_separate element.
+ */
+ const domStencil_mask_separateRef getStencil_mask_separate() const { return elemStencil_mask_separate; }
+ /**
+ * Gets the stencil_op element.
+ * @return a daeSmartRef to the stencil_op element.
+ */
+ const domStencil_opRef getStencil_op() const { return elemStencil_op; }
+ /**
+ * Gets the stencil_op_separate element.
+ * @return a daeSmartRef to the stencil_op_separate element.
+ */
+ const domStencil_op_separateRef getStencil_op_separate() const { return elemStencil_op_separate; }
+ /**
+ * Gets the blend_enable element.
+ * @return a daeSmartRef to the blend_enable element.
+ */
+ const domBlend_enableRef getBlend_enable() const { return elemBlend_enable; }
+ /**
+ * Gets the cull_face_enable element.
+ * @return a daeSmartRef to the cull_face_enable element.
+ */
+ const domCull_face_enableRef getCull_face_enable() const { return elemCull_face_enable; }
+ /**
+ * Gets the depth_test_enable element.
+ * @return a daeSmartRef to the depth_test_enable element.
+ */
+ const domDepth_test_enableRef getDepth_test_enable() const { return elemDepth_test_enable; }
+ /**
+ * Gets the dither_enable element.
+ * @return a daeSmartRef to the dither_enable element.
+ */
+ const domDither_enableRef getDither_enable() const { return elemDither_enable; }
+ /**
+ * Gets the polygon_offset_fill_enable element.
+ * @return a daeSmartRef to the polygon_offset_fill_enable element.
+ */
+ const domPolygon_offset_fill_enableRef getPolygon_offset_fill_enable() const { return elemPolygon_offset_fill_enable; }
+ /**
+ * Gets the point_size_enable element.
+ * @return a daeSmartRef to the point_size_enable element.
+ */
+ const domPoint_size_enableRef getPoint_size_enable() const { return elemPoint_size_enable; }
+ /**
+ * Gets the sample_alpha_to_coverage_enable element.
+ * @return a daeSmartRef to the sample_alpha_to_coverage_enable element.
+ */
+ const domSample_alpha_to_coverage_enableRef getSample_alpha_to_coverage_enable() const { return elemSample_alpha_to_coverage_enable; }
+ /**
+ * Gets the sample_coverage_enable element.
+ * @return a daeSmartRef to the sample_coverage_enable element.
+ */
+ const domSample_coverage_enableRef getSample_coverage_enable() const { return elemSample_coverage_enable; }
+ /**
+ * Gets the scissor_test_enable element.
+ * @return a daeSmartRef to the scissor_test_enable element.
+ */
+ const domScissor_test_enableRef getScissor_test_enable() const { return elemScissor_test_enable; }
+ /**
+ * Gets the stencil_test_enable element.
+ * @return a daeSmartRef to the stencil_test_enable element.
+ */
+ const domStencil_test_enableRef getStencil_test_enable() const { return elemStencil_test_enable; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domGles2_pipeline_settings(DAE& dae) : daeElement(dae), elemBlend_color(), elemBlend_equation(), elemBlend_equation_separate(), elemBlend_func(), elemBlend_func_separate(), elemColor_mask(), elemCull_face(), elemDepth_func(), elemDepth_mask(), elemDepth_range(), elemFront_face(), elemLine_width(), elemPolygon_offset(), elemPoint_size(), elemSample_coverage(), elemScissor(), elemStencil_func(), elemStencil_func_separate(), elemStencil_mask(), elemStencil_mask_separate(), elemStencil_op(), elemStencil_op_separate(), elemBlend_enable(), elemCull_face_enable(), elemDepth_test_enable(), elemDither_enable(), elemPolygon_offset_fill_enable(), elemPoint_size_enable(), elemSample_alpha_to_coverage_enable(), elemSample_coverage_enable(), elemScissor_test_enable(), elemStencil_test_enable() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGles2_pipeline_settings() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGles2_pipeline_settings &operator=( const domGles2_pipeline_settings &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domGles2_program.h b/1.4.0/dom/include/1.5/dom/domGles2_program.h
new file mode 100644
index 0000000..9965f95
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domGles2_program.h
@@ -0,0 +1,448 @@
+#ifndef __dom150Gles2_program_h__
+#define __dom150Gles2_program_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domGles2_shader.h>
+#include <1.5/dom/domFx_target.h>
+#include <1.5/dom/domGles2_value.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * a program is one or more shaders linked together
+ */
+class domGles2_program : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLES2_PROGRAM; }
+ static daeInt ID() { return 215; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domBind_attribute;
+
+ typedef daeSmartRef<domBind_attribute> domBind_attributeRef;
+ typedef daeTArray<domBind_attributeRef> domBind_attribute_Array;
+
+/**
+ * Bind attributes. If not bound then it is assumed to be the same semantic
+ * as the variable name. If the variable name is prefixed with "gl_" or "sv_"
+ * then the prefix may be ignored.
+ */
+ class domBind_attribute : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BIND_ATTRIBUTE; }
+ static daeInt ID() { return 216; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domSemantic;
+
+ typedef daeSmartRef<domSemantic> domSemanticRef;
+ typedef daeTArray<domSemanticRef> domSemantic_Array;
+
+/**
+ * Bind attributes to semantics to enable semantic association to attributes
+ * that are not redeclared as parameters. Without this, the semantic is the
+ * same as the attribute's name.
+ */
+ class domSemantic : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SEMANTIC; }
+ static daeInt ID() { return 217; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsToken of the value.
+ */
+ xsToken getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsToken val ) { *(daeStringRef*)&_value = val; }
+
+ protected: // Value
+ /**
+ * The xsToken value of the text data of this element.
+ */
+ xsToken _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domSemantic(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSemantic() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSemantic &operator=( const domSemantic &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+ protected: // Attribute
+/**
+ * shader variable name
+ */
+ xsToken attrSymbol;
+
+ protected: // Element
+/**
+ * Bind attributes to semantics to enable semantic association to attributes
+ * that are not redeclared as parameters. Without this, the semantic is the
+ * same as the attribute's name. @see domSemantic
+ */
+ domSemanticRef elemSemantic;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the symbol attribute.
+ * @return Returns a xsToken of the symbol attribute.
+ */
+ xsToken getSymbol() const { return attrSymbol; }
+ /**
+ * Sets the symbol attribute.
+ * @param atSymbol The new value for the symbol attribute.
+ */
+ void setSymbol( xsToken atSymbol ) { *(daeStringRef*)&attrSymbol = atSymbol; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the semantic element.
+ * @return a daeSmartRef to the semantic element.
+ */
+ const domSemanticRef getSemantic() const { return elemSemantic; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBind_attribute(DAE& dae) : daeElement(dae), attrSymbol(), elemSemantic() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBind_attribute() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBind_attribute &operator=( const domBind_attribute &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBind_uniform;
+
+ typedef daeSmartRef<domBind_uniform> domBind_uniformRef;
+ typedef daeTArray<domBind_uniformRef> domBind_uniform_Array;
+
+/**
+ * Bind uniforms and samplers
+ */
+ class domBind_uniform : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BIND_UNIFORM; }
+ static daeInt ID() { return 218; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domParam;
+
+ typedef daeSmartRef<domParam> domParamRef;
+ typedef daeTArray<domParamRef> domParam_Array;
+
+/**
+ * Bind uniforms to parameters
+ */
+ class domParam : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PARAM; }
+ static daeInt ID() { return 219; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+/**
+ * SID of parameter
+ */
+ xsNCName attrRef;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the ref attribute.
+ * @return Returns a xsNCName of the ref attribute.
+ */
+ xsNCName getRef() const { return attrRef; }
+ /**
+ * Sets the ref attribute.
+ * @param atRef The new value for the ref attribute.
+ */
+ void setRef( xsNCName atRef ) { *(daeStringRef*)&attrRef = atRef; _validAttributeArray[0] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domParam(DAE& dae) : daeElement(dae), attrRef() {}
+ /**
+ * Destructor
+ */
+ virtual ~domParam() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domParam &operator=( const domParam &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+ protected: // Attribute
+/**
+ * shader variable name
+ */
+ xsToken attrSymbol;
+
+ protected: // Elements
+/**
+ * Bind uniforms to parameters @see domParam
+ */
+ domParamRef elemParam;
+ domGles2_valueRef elemGles2_value;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the symbol attribute.
+ * @return Returns a xsToken of the symbol attribute.
+ */
+ xsToken getSymbol() const { return attrSymbol; }
+ /**
+ * Sets the symbol attribute.
+ * @param atSymbol The new value for the symbol attribute.
+ */
+ void setSymbol( xsToken atSymbol ) { *(daeStringRef*)&attrSymbol = atSymbol; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param element.
+ * @return a daeSmartRef to the param element.
+ */
+ const domParamRef getParam() const { return elemParam; }
+ /**
+ * Gets the gles2_value element.
+ * @return a daeSmartRef to the gles2_value element.
+ */
+ const domGles2_valueRef getGles2_value() const { return elemGles2_value; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBind_uniform(DAE& dae) : daeElement(dae), attrSymbol(), elemParam(), elemGles2_value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBind_uniform() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBind_uniform &operator=( const domBind_uniform &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+/**
+ * compile shader stages @see domShader
+ */
+ domGles2_shader_Array elemShader_array;
+/**
+ * link shaders into program @see domLinker
+ */
+ domFx_target_Array elemLinker_array;
+/**
+ * Bind attributes. If not bound then it is assumed to be the same semantic
+ * as the variable name. If the variable name is prefixed with "gl_" or "sv_"
+ * then the prefix may be ignored. @see domBind_attribute
+ */
+ domBind_attribute_Array elemBind_attribute_array;
+/**
+ * Bind uniforms and samplers @see domBind_uniform
+ */
+ domBind_uniform_Array elemBind_uniform_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the shader element array.
+ * @return Returns a reference to the array of shader elements.
+ */
+ domGles2_shader_Array &getShader_array() { return elemShader_array; }
+ /**
+ * Gets the shader element array.
+ * @return Returns a constant reference to the array of shader elements.
+ */
+ const domGles2_shader_Array &getShader_array() const { return elemShader_array; }
+ /**
+ * Gets the linker element array.
+ * @return Returns a reference to the array of linker elements.
+ */
+ domFx_target_Array &getLinker_array() { return elemLinker_array; }
+ /**
+ * Gets the linker element array.
+ * @return Returns a constant reference to the array of linker elements.
+ */
+ const domFx_target_Array &getLinker_array() const { return elemLinker_array; }
+ /**
+ * Gets the bind_attribute element array.
+ * @return Returns a reference to the array of bind_attribute elements.
+ */
+ domBind_attribute_Array &getBind_attribute_array() { return elemBind_attribute_array; }
+ /**
+ * Gets the bind_attribute element array.
+ * @return Returns a constant reference to the array of bind_attribute elements.
+ */
+ const domBind_attribute_Array &getBind_attribute_array() const { return elemBind_attribute_array; }
+ /**
+ * Gets the bind_uniform element array.
+ * @return Returns a reference to the array of bind_uniform elements.
+ */
+ domBind_uniform_Array &getBind_uniform_array() { return elemBind_uniform_array; }
+ /**
+ * Gets the bind_uniform element array.
+ * @return Returns a constant reference to the array of bind_uniform elements.
+ */
+ const domBind_uniform_Array &getBind_uniform_array() const { return elemBind_uniform_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domGles2_program(DAE& dae) : daeElement(dae), elemShader_array(), elemLinker_array(), elemBind_attribute_array(), elemBind_uniform_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGles2_program() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGles2_program &operator=( const domGles2_program &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domGles2_shader.h b/1.4.0/dom/include/1.5/dom/domGles2_shader.h
new file mode 100644
index 0000000..0dae160
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domGles2_shader.h
@@ -0,0 +1,178 @@
+#ifndef __dom150Gles2_shader_h__
+#define __dom150Gles2_shader_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domFx_sources.h>
+#include <1.5/dom/domFx_target.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * Identify code fragments and bind their parameters to effect parameters
+ * to identify how their values will be filled in
+ */
+class domGles2_shader : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLES2_SHADER; }
+ static daeInt ID() { return 213; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domSources;
+
+ typedef daeSmartRef<domSources> domSourcesRef;
+ typedef daeTArray<domSourcesRef> domSources_Array;
+
+/**
+ * sid of the code or include element which provides the source for this shader.
+ * Code may come from local or library_code.
+ */
+ class domSources : public domFx_sources
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SOURCES; }
+ static daeInt ID() { return 214; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+/**
+ * Not used by GLSL. Some languages require functional entry points. GLSL
+ * always uses "main". CG requires an entry point
+ */
+ xsToken attrEntry;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the entry attribute.
+ * @return Returns a xsToken of the entry attribute.
+ */
+ xsToken getEntry() const { return attrEntry; }
+ /**
+ * Sets the entry attribute.
+ * @param atEntry The new value for the entry attribute.
+ */
+ void setEntry( xsToken atEntry ) { *(daeStringRef*)&attrEntry = atEntry; _validAttributeArray[0] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSources(DAE& dae) : domFx_sources(dae), attrEntry() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSources() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSources &operator=( const domSources &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attribute
+/**
+ * GPU Pipeline stage for this programmable shader. Current standards are
+ * VERTEX (vertex shader), FRAGMENT (pixel or fragment shader). These are
+ * recognized by both GLSL and CG
+ */
+ domFx_pipeline_stage attrStage;
+
+protected: // Elements
+/**
+ * sid of the code or include element which provides the source for this shader.
+ * Code may come from local or library_code. @see domSources
+ */
+ domSourcesRef elemSources;
+/**
+ * Not used by GLSL. This identifies a very specific binary target format
+ * for such things as a specific generation of GPU. Ex. NV4x @see domCompiler
+ */
+ domFx_target_Array elemCompiler_array;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the stage attribute.
+ * @return Returns a domFx_pipeline_stage of the stage attribute.
+ */
+ domFx_pipeline_stage getStage() const { return attrStage; }
+ /**
+ * Sets the stage attribute.
+ * @param atStage The new value for the stage attribute.
+ */
+ void setStage( domFx_pipeline_stage atStage ) { attrStage = atStage; }
+
+ /**
+ * Gets the sources element.
+ * @return a daeSmartRef to the sources element.
+ */
+ const domSourcesRef getSources() const { return elemSources; }
+ /**
+ * Gets the compiler element array.
+ * @return Returns a reference to the array of compiler elements.
+ */
+ domFx_target_Array &getCompiler_array() { return elemCompiler_array; }
+ /**
+ * Gets the compiler element array.
+ * @return Returns a constant reference to the array of compiler elements.
+ */
+ const domFx_target_Array &getCompiler_array() const { return elemCompiler_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domGles2_shader(DAE& dae) : daeElement(dae), attrStage(), elemSources(), elemCompiler_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGles2_shader() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGles2_shader &operator=( const domGles2_shader &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domGles2_value.h b/1.4.0/dom/include/1.5/dom/domGles2_value.h
new file mode 100644
index 0000000..583a450
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domGles2_value.h
@@ -0,0 +1,1375 @@
+#ifndef __dom150Gles2_value_h__
+#define __dom150Gles2_value_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domFx_sampler2D.h>
+#include <1.5/dom/domFx_sampler3D.h>
+#include <1.5/dom/domFx_samplerCUBE.h>
+#include <1.5/dom/domFx_samplerDEPTH.h>
+#include <1.5/dom/domGles2_value.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * New parameters may choose to type themselves by value, providing a default.
+ */
+class domGles2_value : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLES2_VALUE; }
+ static daeInt ID() { return 727; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domBool;
+
+ typedef daeSmartRef<domBool> domBoolRef;
+ typedef daeTArray<domBoolRef> domBool_Array;
+
+ class domBool : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL; }
+ static daeInt ID() { return 728; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a xsBoolean of the value.
+ */
+ xsBoolean& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const xsBoolean& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The xsBoolean value of the text data of this element.
+ */
+ xsBoolean _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBool(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool &operator=( const domBool &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBvec2;
+
+ typedef daeSmartRef<domBvec2> domBvec2Ref;
+ typedef daeTArray<domBvec2Ref> domBvec2_Array;
+
+ class domBvec2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BVEC2; }
+ static daeInt ID() { return 729; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domBool2 of the value.
+ */
+ domBool2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domBool2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domBool2 value of the text data of this element.
+ */
+ domBool2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBvec2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBvec2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBvec2 &operator=( const domBvec2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBvec3;
+
+ typedef daeSmartRef<domBvec3> domBvec3Ref;
+ typedef daeTArray<domBvec3Ref> domBvec3_Array;
+
+ class domBvec3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BVEC3; }
+ static daeInt ID() { return 730; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domBool3 of the value.
+ */
+ domBool3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domBool3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domBool3 value of the text data of this element.
+ */
+ domBool3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBvec3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBvec3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBvec3 &operator=( const domBvec3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBvec4;
+
+ typedef daeSmartRef<domBvec4> domBvec4Ref;
+ typedef daeTArray<domBvec4Ref> domBvec4_Array;
+
+ class domBvec4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BVEC4; }
+ static daeInt ID() { return 731; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domBool4 of the value.
+ */
+ domBool4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domBool4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domBool4 value of the text data of this element.
+ */
+ domBool4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBvec4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBvec4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBvec4 &operator=( const domBvec4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat;
+
+ typedef daeSmartRef<domFloat> domFloatRef;
+ typedef daeTArray<domFloatRef> domFloat_Array;
+
+ class domFloat : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT; }
+ static daeInt ID() { return 732; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat of the value.
+ */
+ ColladaDOM150::domFloat& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat value of the text data of this element.
+ */
+ ColladaDOM150::domFloat _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat &operator=( const domFloat &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domVec2;
+
+ typedef daeSmartRef<domVec2> domVec2Ref;
+ typedef daeTArray<domVec2Ref> domVec2_Array;
+
+ class domVec2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::VEC2; }
+ static daeInt ID() { return 733; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFloat2 of the value.
+ */
+ domFloat2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFloat2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFloat2 value of the text data of this element.
+ */
+ domFloat2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domVec2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domVec2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domVec2 &operator=( const domVec2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domVec3;
+
+ typedef daeSmartRef<domVec3> domVec3Ref;
+ typedef daeTArray<domVec3Ref> domVec3_Array;
+
+ class domVec3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::VEC3; }
+ static daeInt ID() { return 734; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFloat3 of the value.
+ */
+ domFloat3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFloat3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFloat3 value of the text data of this element.
+ */
+ domFloat3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domVec3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domVec3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domVec3 &operator=( const domVec3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domVec4;
+
+ typedef daeSmartRef<domVec4> domVec4Ref;
+ typedef daeTArray<domVec4Ref> domVec4_Array;
+
+ class domVec4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::VEC4; }
+ static daeInt ID() { return 735; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFloat4 of the value.
+ */
+ domFloat4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFloat4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFloat4 value of the text data of this element.
+ */
+ domFloat4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domVec4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domVec4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domVec4 &operator=( const domVec4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMat2;
+
+ typedef daeSmartRef<domMat2> domMat2Ref;
+ typedef daeTArray<domMat2Ref> domMat2_Array;
+
+ class domMat2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MAT2; }
+ static daeInt ID() { return 736; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFloat2x2 of the value.
+ */
+ domFloat2x2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFloat2x2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFloat2x2 value of the text data of this element.
+ */
+ domFloat2x2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domMat2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMat2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMat2 &operator=( const domMat2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMat3;
+
+ typedef daeSmartRef<domMat3> domMat3Ref;
+ typedef daeTArray<domMat3Ref> domMat3_Array;
+
+ class domMat3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MAT3; }
+ static daeInt ID() { return 737; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFloat3x3 of the value.
+ */
+ domFloat3x3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFloat3x3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFloat3x3 value of the text data of this element.
+ */
+ domFloat3x3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domMat3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMat3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMat3 &operator=( const domMat3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMat4;
+
+ typedef daeSmartRef<domMat4> domMat4Ref;
+ typedef daeTArray<domMat4Ref> domMat4_Array;
+
+ class domMat4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MAT4; }
+ static daeInt ID() { return 738; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFloat4x4 of the value.
+ */
+ domFloat4x4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFloat4x4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFloat4x4 value of the text data of this element.
+ */
+ domFloat4x4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domMat4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMat4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMat4 &operator=( const domMat4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt;
+
+ typedef daeSmartRef<domInt> domIntRef;
+ typedef daeTArray<domIntRef> domInt_Array;
+
+ class domInt : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT; }
+ static daeInt ID() { return 739; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domInt of the value.
+ */
+ ColladaDOM150::domInt& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domInt& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domInt value of the text data of this element.
+ */
+ ColladaDOM150::domInt _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domInt(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt &operator=( const domInt &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domIvec2;
+
+ typedef daeSmartRef<domIvec2> domIvec2Ref;
+ typedef daeTArray<domIvec2Ref> domIvec2_Array;
+
+ class domIvec2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::IVEC2; }
+ static daeInt ID() { return 740; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domInt2 of the value.
+ */
+ domInt2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domInt2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domInt2 value of the text data of this element.
+ */
+ domInt2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domIvec2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domIvec2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domIvec2 &operator=( const domIvec2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domIvec3;
+
+ typedef daeSmartRef<domIvec3> domIvec3Ref;
+ typedef daeTArray<domIvec3Ref> domIvec3_Array;
+
+ class domIvec3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::IVEC3; }
+ static daeInt ID() { return 741; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domInt3 of the value.
+ */
+ domInt3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domInt3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domInt3 value of the text data of this element.
+ */
+ domInt3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domIvec3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domIvec3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domIvec3 &operator=( const domIvec3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domIvec4;
+
+ typedef daeSmartRef<domIvec4> domIvec4Ref;
+ typedef daeTArray<domIvec4Ref> domIvec4_Array;
+
+ class domIvec4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::IVEC4; }
+ static daeInt ID() { return 742; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domInt4 of the value.
+ */
+ domInt4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domInt4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domInt4 value of the text data of this element.
+ */
+ domInt4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domIvec4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domIvec4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domIvec4 &operator=( const domIvec4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domEnum;
+
+ typedef daeSmartRef<domEnum> domEnumRef;
+ typedef daeTArray<domEnumRef> domEnum_Array;
+
+ class domEnum : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ENUM; }
+ static daeInt ID() { return 743; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domGl_enumeration of the value.
+ */
+ domGl_enumeration& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domGl_enumeration& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domGl_enumeration value of the text data of this element.
+ */
+ domGl_enumeration _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domEnum(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domEnum() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domEnum &operator=( const domEnum &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domUsertype;
+
+ typedef daeSmartRef<domUsertype> domUsertypeRef;
+ typedef daeTArray<domUsertypeRef> domUsertype_Array;
+
+ class domUsertype : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::USERTYPE; }
+ static daeInt ID() { return 744; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domSetparam;
+
+ typedef daeSmartRef<domSetparam> domSetparamRef;
+ typedef daeTArray<domSetparamRef> domSetparam_Array;
+
+/**
+ * Use a series of these to set the members by name. The ref attribute will
+ * be relative to the struct you are in right now.
+ */
+ class domSetparam : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SETPARAM; }
+ static daeInt ID() { return 745; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+/**
+ * Symbol name of the member
+ */
+ xsToken attrRef;
+
+ protected: // Element
+ domGles2_value_Array elemGles2_value_array;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the ref attribute.
+ * @return Returns a xsToken of the ref attribute.
+ */
+ xsToken getRef() const { return attrRef; }
+ /**
+ * Sets the ref attribute.
+ * @param atRef The new value for the ref attribute.
+ */
+ void setRef( xsToken atRef ) { *(daeStringRef*)&attrRef = atRef; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the gles2_value element array.
+ * @return Returns a reference to the array of gles2_value elements.
+ */
+ domGles2_value_Array &getGles2_value_array() { return elemGles2_value_array; }
+ /**
+ * Gets the gles2_value element array.
+ * @return Returns a constant reference to the array of gles2_value elements.
+ */
+ const domGles2_value_Array &getGles2_value_array() const { return elemGles2_value_array; }
+ protected:
+ /**
+ * Constructor
+ */
+ domSetparam(DAE& dae) : daeElement(dae), attrRef(), elemGles2_value_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSetparam() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSetparam &operator=( const domSetparam &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+ protected: // Attribute
+/**
+ * Symbol for type or structure in shader code. This aids in type-checking,
+ * resolution of bindings, and support interfaces
+ */
+ xsToken attrTypename;
+
+ protected: // Element
+/**
+ * Use a series of these to set the members by name. The ref attribute will
+ * be relative to the struct you are in right now. @see domSetparam
+ */
+ domSetparam_Array elemSetparam_array;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the typename attribute.
+ * @return Returns a xsToken of the typename attribute.
+ */
+ xsToken getTypename() const { return attrTypename; }
+ /**
+ * Sets the typename attribute.
+ * @param atTypename The new value for the typename attribute.
+ */
+ void setTypename( xsToken atTypename ) { *(daeStringRef*)&attrTypename = atTypename; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the setparam element array.
+ * @return Returns a reference to the array of setparam elements.
+ */
+ domSetparam_Array &getSetparam_array() { return elemSetparam_array; }
+ /**
+ * Gets the setparam element array.
+ * @return Returns a constant reference to the array of setparam elements.
+ */
+ const domSetparam_Array &getSetparam_array() const { return elemSetparam_array; }
+ protected:
+ /**
+ * Constructor
+ */
+ domUsertype(DAE& dae) : daeElement(dae), attrTypename(), elemSetparam_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domUsertype() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domUsertype &operator=( const domUsertype &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domArray;
+
+ typedef daeSmartRef<domArray> domArrayRef;
+ typedef daeTArray<domArrayRef> domArray_Array;
+
+ class domArray : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ARRAY; }
+ static daeInt ID() { return 746; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+/**
+ * Enable applications to validate element count without shader having been
+ * compiled
+ */
+ xsPositiveInteger attrLength;
+
+ protected: // Element
+ domGles2_value_Array elemGles2_value_array;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the length attribute.
+ * @return Returns a xsPositiveInteger of the length attribute.
+ */
+ xsPositiveInteger getLength() const { return attrLength; }
+ /**
+ * Sets the length attribute.
+ * @param atLength The new value for the length attribute.
+ */
+ void setLength( xsPositiveInteger atLength ) { attrLength = atLength; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the gles2_value element array.
+ * @return Returns a reference to the array of gles2_value elements.
+ */
+ domGles2_value_Array &getGles2_value_array() { return elemGles2_value_array; }
+ /**
+ * Gets the gles2_value element array.
+ * @return Returns a constant reference to the array of gles2_value elements.
+ */
+ const domGles2_value_Array &getGles2_value_array() const { return elemGles2_value_array; }
+ protected:
+ /**
+ * Constructor
+ */
+ domArray(DAE& dae) : daeElement(dae), attrLength(), elemGles2_value_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domArray() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domArray &operator=( const domArray &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+ domBoolRef elemBool;
+ domBvec2Ref elemBvec2;
+ domBvec3Ref elemBvec3;
+ domBvec4Ref elemBvec4;
+ domFloatRef elemFloat;
+ domVec2Ref elemVec2;
+ domVec3Ref elemVec3;
+ domVec4Ref elemVec4;
+ domMat2Ref elemMat2;
+ domMat3Ref elemMat3;
+ domMat4Ref elemMat4;
+ domIntRef elemInt;
+ domIvec2Ref elemIvec2;
+ domIvec3Ref elemIvec3;
+ domIvec4Ref elemIvec4;
+ domEnumRef elemEnum;
+ domFx_sampler2DRef elemSampler2D;
+/**
+ * not in baseline spec but probably available in extensions @see domSampler3D
+ */
+ domFx_sampler3DRef elemSampler3D;
+ domFx_samplerCUBERef elemSamplerCUBE;
+/**
+ * not in baseline spec but probably available in extensions @see domSamplerDEPTH
+ */
+ domFx_samplerDEPTHRef elemSamplerDEPTH;
+ domUsertypeRef elemUsertype;
+ domArrayRef elemArray;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the bool element.
+ * @return a daeSmartRef to the bool element.
+ */
+ const domBoolRef getBool() const { return elemBool; }
+ /**
+ * Gets the bvec2 element.
+ * @return a daeSmartRef to the bvec2 element.
+ */
+ const domBvec2Ref getBvec2() const { return elemBvec2; }
+ /**
+ * Gets the bvec3 element.
+ * @return a daeSmartRef to the bvec3 element.
+ */
+ const domBvec3Ref getBvec3() const { return elemBvec3; }
+ /**
+ * Gets the bvec4 element.
+ * @return a daeSmartRef to the bvec4 element.
+ */
+ const domBvec4Ref getBvec4() const { return elemBvec4; }
+ /**
+ * Gets the float element.
+ * @return a daeSmartRef to the float element.
+ */
+ const domFloatRef getFloat() const { return elemFloat; }
+ /**
+ * Gets the vec2 element.
+ * @return a daeSmartRef to the vec2 element.
+ */
+ const domVec2Ref getVec2() const { return elemVec2; }
+ /**
+ * Gets the vec3 element.
+ * @return a daeSmartRef to the vec3 element.
+ */
+ const domVec3Ref getVec3() const { return elemVec3; }
+ /**
+ * Gets the vec4 element.
+ * @return a daeSmartRef to the vec4 element.
+ */
+ const domVec4Ref getVec4() const { return elemVec4; }
+ /**
+ * Gets the mat2 element.
+ * @return a daeSmartRef to the mat2 element.
+ */
+ const domMat2Ref getMat2() const { return elemMat2; }
+ /**
+ * Gets the mat3 element.
+ * @return a daeSmartRef to the mat3 element.
+ */
+ const domMat3Ref getMat3() const { return elemMat3; }
+ /**
+ * Gets the mat4 element.
+ * @return a daeSmartRef to the mat4 element.
+ */
+ const domMat4Ref getMat4() const { return elemMat4; }
+ /**
+ * Gets the int element.
+ * @return a daeSmartRef to the int element.
+ */
+ const domIntRef getInt() const { return elemInt; }
+ /**
+ * Gets the ivec2 element.
+ * @return a daeSmartRef to the ivec2 element.
+ */
+ const domIvec2Ref getIvec2() const { return elemIvec2; }
+ /**
+ * Gets the ivec3 element.
+ * @return a daeSmartRef to the ivec3 element.
+ */
+ const domIvec3Ref getIvec3() const { return elemIvec3; }
+ /**
+ * Gets the ivec4 element.
+ * @return a daeSmartRef to the ivec4 element.
+ */
+ const domIvec4Ref getIvec4() const { return elemIvec4; }
+ /**
+ * Gets the enum element.
+ * @return a daeSmartRef to the enum element.
+ */
+ const domEnumRef getEnum() const { return elemEnum; }
+ /**
+ * Gets the sampler2D element.
+ * @return a daeSmartRef to the sampler2D element.
+ */
+ const domFx_sampler2DRef getSampler2D() const { return elemSampler2D; }
+ /**
+ * Gets the sampler3D element.
+ * @return a daeSmartRef to the sampler3D element.
+ */
+ const domFx_sampler3DRef getSampler3D() const { return elemSampler3D; }
+ /**
+ * Gets the samplerCUBE element.
+ * @return a daeSmartRef to the samplerCUBE element.
+ */
+ const domFx_samplerCUBERef getSamplerCUBE() const { return elemSamplerCUBE; }
+ /**
+ * Gets the samplerDEPTH element.
+ * @return a daeSmartRef to the samplerDEPTH element.
+ */
+ const domFx_samplerDEPTHRef getSamplerDEPTH() const { return elemSamplerDEPTH; }
+ /**
+ * Gets the usertype element.
+ * @return a daeSmartRef to the usertype element.
+ */
+ const domUsertypeRef getUsertype() const { return elemUsertype; }
+ /**
+ * Gets the array element.
+ * @return a daeSmartRef to the array element.
+ */
+ const domArrayRef getArray() const { return elemArray; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domGles2_value(DAE& dae) : daeElement(dae), elemBool(), elemBvec2(), elemBvec3(), elemBvec4(), elemFloat(), elemVec2(), elemVec3(), elemVec4(), elemMat2(), elemMat3(), elemMat4(), elemInt(), elemIvec2(), elemIvec3(), elemIvec4(), elemEnum(), elemSampler2D(), elemSampler3D(), elemSamplerCUBE(), elemSamplerDEPTH(), elemUsertype(), elemArray() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGles2_value() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGles2_value &operator=( const domGles2_value &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domGles_newparam.h b/1.4.0/dom/include/1.5/dom/domGles_newparam.h
new file mode 100644
index 0000000..fd2e3b4
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domGles_newparam.h
@@ -0,0 +1,241 @@
+#ifndef __dom150Gles_newparam_h__
+#define __dom150Gles_newparam_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domGles_param.h>
+#include <1.5/dom/domFx_annotate.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * Create a new, named param object in the GLES Runtime, assign it a type,
+ * an initial value, and additional attributes at declaration time.
+ */
+class domGles_newparam : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLES_NEWPARAM; }
+ static daeInt ID() { return 270; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domSemantic;
+
+ typedef daeSmartRef<domSemantic> domSemanticRef;
+ typedef daeTArray<domSemanticRef> domSemantic_Array;
+
+/**
+ * The semantic element allows you to specify a semantic for this new param.
+ */
+ class domSemantic : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SEMANTIC; }
+ static daeInt ID() { return 271; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsNCName of the value.
+ */
+ xsNCName getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; }
+
+ protected: // Value
+ /**
+ * The xsNCName value of the text data of this element.
+ */
+ xsNCName _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domSemantic(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSemantic() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSemantic &operator=( const domSemantic &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domModifier;
+
+ typedef daeSmartRef<domModifier> domModifierRef;
+ typedef daeTArray<domModifierRef> domModifier_Array;
+
+/**
+ * The modifier element allows you to specify a modifier for this new param.
+ */
+ class domModifier : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MODIFIER; }
+ static daeInt ID() { return 272; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_modifier of the value.
+ */
+ domFx_modifier& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFx_modifier& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFx_modifier value of the text data of this element.
+ */
+ domFx_modifier _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domModifier(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domModifier() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domModifier &operator=( const domModifier &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attribute
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element.
+ */
+ domSid attrSid;
+
+protected: // Elements
+/**
+ * The annotate element allows you to specify an annotation for this new param.
+ * @see domAnnotate
+ */
+ domFx_annotate_Array elemAnnotate_array;
+/**
+ * The semantic element allows you to specify a semantic for this new param.
+ * @see domSemantic
+ */
+ domSemanticRef elemSemantic;
+/**
+ * The modifier element allows you to specify a modifier for this new param.
+ * @see domModifier
+ */
+ domModifierRef elemModifier;
+ domGles_paramRef elemGles_param;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the annotate element array.
+ * @return Returns a reference to the array of annotate elements.
+ */
+ domFx_annotate_Array &getAnnotate_array() { return elemAnnotate_array; }
+ /**
+ * Gets the annotate element array.
+ * @return Returns a constant reference to the array of annotate elements.
+ */
+ const domFx_annotate_Array &getAnnotate_array() const { return elemAnnotate_array; }
+ /**
+ * Gets the semantic element.
+ * @return a daeSmartRef to the semantic element.
+ */
+ const domSemanticRef getSemantic() const { return elemSemantic; }
+ /**
+ * Gets the modifier element.
+ * @return a daeSmartRef to the modifier element.
+ */
+ const domModifierRef getModifier() const { return elemModifier; }
+ /**
+ * Gets the gles_param element.
+ * @return a daeSmartRef to the gles_param element.
+ */
+ const domGles_paramRef getGles_param() const { return elemGles_param; }
+protected:
+ /**
+ * Constructor
+ */
+ domGles_newparam(DAE& dae) : daeElement(dae), attrSid(), elemAnnotate_array(), elemSemantic(), elemModifier(), elemGles_param() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGles_newparam() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGles_newparam &operator=( const domGles_newparam &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domGles_param.h b/1.4.0/dom/include/1.5/dom/domGles_param.h
new file mode 100644
index 0000000..3932416
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domGles_param.h
@@ -0,0 +1,1945 @@
+#ifndef __dom150Gles_param_h__
+#define __dom150Gles_param_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domGles_sampler.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * A group that defines the available variable types for GLES parameters.
+ */
+class domGles_param : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLES_PARAM; }
+ static daeInt ID() { return 935; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domBool;
+
+ typedef daeSmartRef<domBool> domBoolRef;
+ typedef daeTArray<domBoolRef> domBool_Array;
+
+ class domBool : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL; }
+ static daeInt ID() { return 936; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a xsBoolean of the value.
+ */
+ xsBoolean& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const xsBoolean& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The xsBoolean value of the text data of this element.
+ */
+ xsBoolean _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBool(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool &operator=( const domBool &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool2;
+
+ typedef daeSmartRef<domBool2> domBool2Ref;
+ typedef daeTArray<domBool2Ref> domBool2_Array;
+
+ class domBool2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL2; }
+ static daeInt ID() { return 937; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domBool2 of the value.
+ */
+ ColladaDOM150::domBool2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domBool2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domBool2 value of the text data of this element.
+ */
+ ColladaDOM150::domBool2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBool2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool2 &operator=( const domBool2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool3;
+
+ typedef daeSmartRef<domBool3> domBool3Ref;
+ typedef daeTArray<domBool3Ref> domBool3_Array;
+
+ class domBool3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL3; }
+ static daeInt ID() { return 938; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domBool3 of the value.
+ */
+ ColladaDOM150::domBool3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domBool3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domBool3 value of the text data of this element.
+ */
+ ColladaDOM150::domBool3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBool3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool3 &operator=( const domBool3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool4;
+
+ typedef daeSmartRef<domBool4> domBool4Ref;
+ typedef daeTArray<domBool4Ref> domBool4_Array;
+
+ class domBool4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL4; }
+ static daeInt ID() { return 939; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domBool4 of the value.
+ */
+ ColladaDOM150::domBool4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domBool4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domBool4 value of the text data of this element.
+ */
+ ColladaDOM150::domBool4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBool4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool4 &operator=( const domBool4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt;
+
+ typedef daeSmartRef<domInt> domIntRef;
+ typedef daeTArray<domIntRef> domInt_Array;
+
+ class domInt : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT; }
+ static daeInt ID() { return 940; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domInt of the value.
+ */
+ ColladaDOM150::domInt& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domInt& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domInt value of the text data of this element.
+ */
+ ColladaDOM150::domInt _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domInt(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt &operator=( const domInt &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt2;
+
+ typedef daeSmartRef<domInt2> domInt2Ref;
+ typedef daeTArray<domInt2Ref> domInt2_Array;
+
+ class domInt2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT2; }
+ static daeInt ID() { return 941; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domInt2 of the value.
+ */
+ ColladaDOM150::domInt2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domInt2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domInt2 value of the text data of this element.
+ */
+ ColladaDOM150::domInt2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domInt2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt2 &operator=( const domInt2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt3;
+
+ typedef daeSmartRef<domInt3> domInt3Ref;
+ typedef daeTArray<domInt3Ref> domInt3_Array;
+
+ class domInt3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT3; }
+ static daeInt ID() { return 942; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domInt3 of the value.
+ */
+ ColladaDOM150::domInt3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domInt3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domInt3 value of the text data of this element.
+ */
+ ColladaDOM150::domInt3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domInt3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt3 &operator=( const domInt3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt4;
+
+ typedef daeSmartRef<domInt4> domInt4Ref;
+ typedef daeTArray<domInt4Ref> domInt4_Array;
+
+ class domInt4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT4; }
+ static daeInt ID() { return 943; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domInt4 of the value.
+ */
+ ColladaDOM150::domInt4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domInt4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domInt4 value of the text data of this element.
+ */
+ ColladaDOM150::domInt4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domInt4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt4 &operator=( const domInt4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat;
+
+ typedef daeSmartRef<domFloat> domFloatRef;
+ typedef daeTArray<domFloatRef> domFloat_Array;
+
+ class domFloat : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT; }
+ static daeInt ID() { return 944; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat of the value.
+ */
+ ColladaDOM150::domFloat& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat value of the text data of this element.
+ */
+ ColladaDOM150::domFloat _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat &operator=( const domFloat &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat2;
+
+ typedef daeSmartRef<domFloat2> domFloat2Ref;
+ typedef daeTArray<domFloat2Ref> domFloat2_Array;
+
+ class domFloat2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2; }
+ static daeInt ID() { return 945; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat2 of the value.
+ */
+ ColladaDOM150::domFloat2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat2 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat2 &operator=( const domFloat2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat3;
+
+ typedef daeSmartRef<domFloat3> domFloat3Ref;
+ typedef daeTArray<domFloat3Ref> domFloat3_Array;
+
+ class domFloat3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3; }
+ static daeInt ID() { return 946; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat3 of the value.
+ */
+ ColladaDOM150::domFloat3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat3 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat3 &operator=( const domFloat3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat4;
+
+ typedef daeSmartRef<domFloat4> domFloat4Ref;
+ typedef daeTArray<domFloat4Ref> domFloat4_Array;
+
+ class domFloat4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4; }
+ static daeInt ID() { return 947; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat4 of the value.
+ */
+ ColladaDOM150::domFloat4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat4 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat4 &operator=( const domFloat4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat1x1;
+
+ typedef daeSmartRef<domFloat1x1> domFloat1x1Ref;
+ typedef daeTArray<domFloat1x1Ref> domFloat1x1_Array;
+
+ class domFloat1x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT1X1; }
+ static daeInt ID() { return 948; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat of the value.
+ */
+ ColladaDOM150::domFloat& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat value of the text data of this element.
+ */
+ ColladaDOM150::domFloat _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat1x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat1x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat1x1 &operator=( const domFloat1x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat1x2;
+
+ typedef daeSmartRef<domFloat1x2> domFloat1x2Ref;
+ typedef daeTArray<domFloat1x2Ref> domFloat1x2_Array;
+
+ class domFloat1x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT1X2; }
+ static daeInt ID() { return 949; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat2 of the value.
+ */
+ ColladaDOM150::domFloat2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat2 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat1x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat1x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat1x2 &operator=( const domFloat1x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat1x3;
+
+ typedef daeSmartRef<domFloat1x3> domFloat1x3Ref;
+ typedef daeTArray<domFloat1x3Ref> domFloat1x3_Array;
+
+ class domFloat1x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT1X3; }
+ static daeInt ID() { return 950; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat3 of the value.
+ */
+ ColladaDOM150::domFloat3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat3 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat1x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat1x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat1x3 &operator=( const domFloat1x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat1x4;
+
+ typedef daeSmartRef<domFloat1x4> domFloat1x4Ref;
+ typedef daeTArray<domFloat1x4Ref> domFloat1x4_Array;
+
+ class domFloat1x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT1X4; }
+ static daeInt ID() { return 951; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat4 of the value.
+ */
+ ColladaDOM150::domFloat4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat4 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat1x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat1x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat1x4 &operator=( const domFloat1x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat2x1;
+
+ typedef daeSmartRef<domFloat2x1> domFloat2x1Ref;
+ typedef daeTArray<domFloat2x1Ref> domFloat2x1_Array;
+
+ class domFloat2x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2X1; }
+ static daeInt ID() { return 952; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat2 of the value.
+ */
+ ColladaDOM150::domFloat2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat2 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat2x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat2x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat2x1 &operator=( const domFloat2x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat2x2;
+
+ typedef daeSmartRef<domFloat2x2> domFloat2x2Ref;
+ typedef daeTArray<domFloat2x2Ref> domFloat2x2_Array;
+
+ class domFloat2x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2X2; }
+ static daeInt ID() { return 953; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat2x2 of the value.
+ */
+ ColladaDOM150::domFloat2x2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat2x2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat2x2 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat2x2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat2x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat2x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat2x2 &operator=( const domFloat2x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat2x3;
+
+ typedef daeSmartRef<domFloat2x3> domFloat2x3Ref;
+ typedef daeTArray<domFloat2x3Ref> domFloat2x3_Array;
+
+ class domFloat2x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2X3; }
+ static daeInt ID() { return 954; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat2x3 of the value.
+ */
+ ColladaDOM150::domFloat2x3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat2x3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat2x3 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat2x3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat2x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat2x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat2x3 &operator=( const domFloat2x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat2x4;
+
+ typedef daeSmartRef<domFloat2x4> domFloat2x4Ref;
+ typedef daeTArray<domFloat2x4Ref> domFloat2x4_Array;
+
+ class domFloat2x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2X4; }
+ static daeInt ID() { return 955; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat2x4 of the value.
+ */
+ ColladaDOM150::domFloat2x4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat2x4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat2x4 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat2x4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat2x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat2x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat2x4 &operator=( const domFloat2x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat3x1;
+
+ typedef daeSmartRef<domFloat3x1> domFloat3x1Ref;
+ typedef daeTArray<domFloat3x1Ref> domFloat3x1_Array;
+
+ class domFloat3x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3X1; }
+ static daeInt ID() { return 956; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat3 of the value.
+ */
+ ColladaDOM150::domFloat3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat3 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat3x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat3x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat3x1 &operator=( const domFloat3x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat3x2;
+
+ typedef daeSmartRef<domFloat3x2> domFloat3x2Ref;
+ typedef daeTArray<domFloat3x2Ref> domFloat3x2_Array;
+
+ class domFloat3x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3X2; }
+ static daeInt ID() { return 957; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat3x2 of the value.
+ */
+ ColladaDOM150::domFloat3x2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat3x2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat3x2 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat3x2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat3x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat3x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat3x2 &operator=( const domFloat3x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat3x3;
+
+ typedef daeSmartRef<domFloat3x3> domFloat3x3Ref;
+ typedef daeTArray<domFloat3x3Ref> domFloat3x3_Array;
+
+ class domFloat3x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3X3; }
+ static daeInt ID() { return 958; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat3x3 of the value.
+ */
+ ColladaDOM150::domFloat3x3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat3x3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat3x3 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat3x3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat3x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat3x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat3x3 &operator=( const domFloat3x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat3x4;
+
+ typedef daeSmartRef<domFloat3x4> domFloat3x4Ref;
+ typedef daeTArray<domFloat3x4Ref> domFloat3x4_Array;
+
+ class domFloat3x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3X4; }
+ static daeInt ID() { return 959; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat3x4 of the value.
+ */
+ ColladaDOM150::domFloat3x4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat3x4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat3x4 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat3x4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat3x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat3x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat3x4 &operator=( const domFloat3x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat4x1;
+
+ typedef daeSmartRef<domFloat4x1> domFloat4x1Ref;
+ typedef daeTArray<domFloat4x1Ref> domFloat4x1_Array;
+
+ class domFloat4x1 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4X1; }
+ static daeInt ID() { return 960; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat4 of the value.
+ */
+ ColladaDOM150::domFloat4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat4 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat4x1(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat4x1() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat4x1 &operator=( const domFloat4x1 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat4x2;
+
+ typedef daeSmartRef<domFloat4x2> domFloat4x2Ref;
+ typedef daeTArray<domFloat4x2Ref> domFloat4x2_Array;
+
+ class domFloat4x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4X2; }
+ static daeInt ID() { return 961; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat4x2 of the value.
+ */
+ ColladaDOM150::domFloat4x2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat4x2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat4x2 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat4x2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat4x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat4x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat4x2 &operator=( const domFloat4x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat4x3;
+
+ typedef daeSmartRef<domFloat4x3> domFloat4x3Ref;
+ typedef daeTArray<domFloat4x3Ref> domFloat4x3_Array;
+
+ class domFloat4x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4X3; }
+ static daeInt ID() { return 962; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat4x3 of the value.
+ */
+ ColladaDOM150::domFloat4x3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat4x3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat4x3 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat4x3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat4x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat4x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat4x3 &operator=( const domFloat4x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat4x4;
+
+ typedef daeSmartRef<domFloat4x4> domFloat4x4Ref;
+ typedef daeTArray<domFloat4x4Ref> domFloat4x4_Array;
+
+ class domFloat4x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4X4; }
+ static daeInt ID() { return 963; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat4x4 of the value.
+ */
+ ColladaDOM150::domFloat4x4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat4x4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat4x4 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat4x4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat4x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat4x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat4x4 &operator=( const domFloat4x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domEnum;
+
+ typedef daeSmartRef<domEnum> domEnumRef;
+ typedef daeTArray<domEnumRef> domEnum_Array;
+
+ class domEnum : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ENUM; }
+ static daeInt ID() { return 964; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domGles_enumeration of the value.
+ */
+ domGles_enumeration& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domGles_enumeration& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domGles_enumeration value of the text data of this element.
+ */
+ domGles_enumeration _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domEnum(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domEnum() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domEnum &operator=( const domEnum &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+ domBoolRef elemBool;
+ domBool2Ref elemBool2;
+ domBool3Ref elemBool3;
+ domBool4Ref elemBool4;
+ domIntRef elemInt;
+ domInt2Ref elemInt2;
+ domInt3Ref elemInt3;
+ domInt4Ref elemInt4;
+ domFloatRef elemFloat;
+ domFloat2Ref elemFloat2;
+ domFloat3Ref elemFloat3;
+ domFloat4Ref elemFloat4;
+ domFloat1x1Ref elemFloat1x1;
+ domFloat1x2Ref elemFloat1x2;
+ domFloat1x3Ref elemFloat1x3;
+ domFloat1x4Ref elemFloat1x4;
+ domFloat2x1Ref elemFloat2x1;
+ domFloat2x2Ref elemFloat2x2;
+ domFloat2x3Ref elemFloat2x3;
+ domFloat2x4Ref elemFloat2x4;
+ domFloat3x1Ref elemFloat3x1;
+ domFloat3x2Ref elemFloat3x2;
+ domFloat3x3Ref elemFloat3x3;
+ domFloat3x4Ref elemFloat3x4;
+ domFloat4x1Ref elemFloat4x1;
+ domFloat4x2Ref elemFloat4x2;
+ domFloat4x3Ref elemFloat4x3;
+ domFloat4x4Ref elemFloat4x4;
+ domGles_samplerRef elemSampler2D;
+ domEnumRef elemEnum;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the bool element.
+ * @return a daeSmartRef to the bool element.
+ */
+ const domBoolRef getBool() const { return elemBool; }
+ /**
+ * Gets the bool2 element.
+ * @return a daeSmartRef to the bool2 element.
+ */
+ const domBool2Ref getBool2() const { return elemBool2; }
+ /**
+ * Gets the bool3 element.
+ * @return a daeSmartRef to the bool3 element.
+ */
+ const domBool3Ref getBool3() const { return elemBool3; }
+ /**
+ * Gets the bool4 element.
+ * @return a daeSmartRef to the bool4 element.
+ */
+ const domBool4Ref getBool4() const { return elemBool4; }
+ /**
+ * Gets the int element.
+ * @return a daeSmartRef to the int element.
+ */
+ const domIntRef getInt() const { return elemInt; }
+ /**
+ * Gets the int2 element.
+ * @return a daeSmartRef to the int2 element.
+ */
+ const domInt2Ref getInt2() const { return elemInt2; }
+ /**
+ * Gets the int3 element.
+ * @return a daeSmartRef to the int3 element.
+ */
+ const domInt3Ref getInt3() const { return elemInt3; }
+ /**
+ * Gets the int4 element.
+ * @return a daeSmartRef to the int4 element.
+ */
+ const domInt4Ref getInt4() const { return elemInt4; }
+ /**
+ * Gets the float element.
+ * @return a daeSmartRef to the float element.
+ */
+ const domFloatRef getFloat() const { return elemFloat; }
+ /**
+ * Gets the float2 element.
+ * @return a daeSmartRef to the float2 element.
+ */
+ const domFloat2Ref getFloat2() const { return elemFloat2; }
+ /**
+ * Gets the float3 element.
+ * @return a daeSmartRef to the float3 element.
+ */
+ const domFloat3Ref getFloat3() const { return elemFloat3; }
+ /**
+ * Gets the float4 element.
+ * @return a daeSmartRef to the float4 element.
+ */
+ const domFloat4Ref getFloat4() const { return elemFloat4; }
+ /**
+ * Gets the float1x1 element.
+ * @return a daeSmartRef to the float1x1 element.
+ */
+ const domFloat1x1Ref getFloat1x1() const { return elemFloat1x1; }
+ /**
+ * Gets the float1x2 element.
+ * @return a daeSmartRef to the float1x2 element.
+ */
+ const domFloat1x2Ref getFloat1x2() const { return elemFloat1x2; }
+ /**
+ * Gets the float1x3 element.
+ * @return a daeSmartRef to the float1x3 element.
+ */
+ const domFloat1x3Ref getFloat1x3() const { return elemFloat1x3; }
+ /**
+ * Gets the float1x4 element.
+ * @return a daeSmartRef to the float1x4 element.
+ */
+ const domFloat1x4Ref getFloat1x4() const { return elemFloat1x4; }
+ /**
+ * Gets the float2x1 element.
+ * @return a daeSmartRef to the float2x1 element.
+ */
+ const domFloat2x1Ref getFloat2x1() const { return elemFloat2x1; }
+ /**
+ * Gets the float2x2 element.
+ * @return a daeSmartRef to the float2x2 element.
+ */
+ const domFloat2x2Ref getFloat2x2() const { return elemFloat2x2; }
+ /**
+ * Gets the float2x3 element.
+ * @return a daeSmartRef to the float2x3 element.
+ */
+ const domFloat2x3Ref getFloat2x3() const { return elemFloat2x3; }
+ /**
+ * Gets the float2x4 element.
+ * @return a daeSmartRef to the float2x4 element.
+ */
+ const domFloat2x4Ref getFloat2x4() const { return elemFloat2x4; }
+ /**
+ * Gets the float3x1 element.
+ * @return a daeSmartRef to the float3x1 element.
+ */
+ const domFloat3x1Ref getFloat3x1() const { return elemFloat3x1; }
+ /**
+ * Gets the float3x2 element.
+ * @return a daeSmartRef to the float3x2 element.
+ */
+ const domFloat3x2Ref getFloat3x2() const { return elemFloat3x2; }
+ /**
+ * Gets the float3x3 element.
+ * @return a daeSmartRef to the float3x3 element.
+ */
+ const domFloat3x3Ref getFloat3x3() const { return elemFloat3x3; }
+ /**
+ * Gets the float3x4 element.
+ * @return a daeSmartRef to the float3x4 element.
+ */
+ const domFloat3x4Ref getFloat3x4() const { return elemFloat3x4; }
+ /**
+ * Gets the float4x1 element.
+ * @return a daeSmartRef to the float4x1 element.
+ */
+ const domFloat4x1Ref getFloat4x1() const { return elemFloat4x1; }
+ /**
+ * Gets the float4x2 element.
+ * @return a daeSmartRef to the float4x2 element.
+ */
+ const domFloat4x2Ref getFloat4x2() const { return elemFloat4x2; }
+ /**
+ * Gets the float4x3 element.
+ * @return a daeSmartRef to the float4x3 element.
+ */
+ const domFloat4x3Ref getFloat4x3() const { return elemFloat4x3; }
+ /**
+ * Gets the float4x4 element.
+ * @return a daeSmartRef to the float4x4 element.
+ */
+ const domFloat4x4Ref getFloat4x4() const { return elemFloat4x4; }
+ /**
+ * Gets the sampler2D element.
+ * @return a daeSmartRef to the sampler2D element.
+ */
+ const domGles_samplerRef getSampler2D() const { return elemSampler2D; }
+ /**
+ * Gets the enum element.
+ * @return a daeSmartRef to the enum element.
+ */
+ const domEnumRef getEnum() const { return elemEnum; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domGles_param(DAE& dae) : daeElement(dae), elemBool(), elemBool2(), elemBool3(), elemBool4(), elemInt(), elemInt2(), elemInt3(), elemInt4(), elemFloat(), elemFloat2(), elemFloat3(), elemFloat4(), elemFloat1x1(), elemFloat1x2(), elemFloat1x3(), elemFloat1x4(), elemFloat2x1(), elemFloat2x2(), elemFloat2x3(), elemFloat2x4(), elemFloat3x1(), elemFloat3x2(), elemFloat3x3(), elemFloat3x4(), elemFloat4x1(), elemFloat4x2(), elemFloat4x3(), elemFloat4x4(), elemSampler2D(), elemEnum() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGles_param() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGles_param &operator=( const domGles_param &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domGles_pipeline_settings.h b/1.4.0/dom/include/1.5/dom/domGles_pipeline_settings.h
new file mode 100644
index 0000000..b491935
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domGles_pipeline_settings.h
@@ -0,0 +1,5900 @@
+#ifndef __dom150Gles_pipeline_settings_h__
+#define __dom150Gles_pipeline_settings_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domGles_texture_pipeline.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * A group that contains the renderstates available for the GLES profile.
+ */
+class domGles_pipeline_settings : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLES_PIPELINE_SETTINGS; }
+ static daeInt ID() { return 855; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domAlpha_func;
+
+ typedef daeSmartRef<domAlpha_func> domAlpha_funcRef;
+ typedef daeTArray<domAlpha_funcRef> domAlpha_func_Array;
+
+ class domAlpha_func : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ALPHA_FUNC; }
+ static daeInt ID() { return 856; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domFunc;
+
+ typedef daeSmartRef<domFunc> domFuncRef;
+ typedef daeTArray<domFuncRef> domFunc_Array;
+
+ class domFunc : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FUNC; }
+ static daeInt ID() { return 857; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_func attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_func of the value attribute.
+ */
+ domGl_func getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_func atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFunc(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFunc() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFunc &operator=( const domFunc &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domValue;
+
+ typedef daeSmartRef<domValue> domValueRef;
+ typedef daeTArray<domValueRef> domValue_Array;
+
+ class domValue : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::VALUE; }
+ static daeInt ID() { return 858; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_alpha_value attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_alpha_value of the value attribute.
+ */
+ domGl_alpha_value getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_alpha_value atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domValue(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domValue() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domValue &operator=( const domValue &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domFuncRef elemFunc;
+ domValueRef elemValue;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the func element.
+ * @return a daeSmartRef to the func element.
+ */
+ const domFuncRef getFunc() const { return elemFunc; }
+ /**
+ * Gets the value element.
+ * @return a daeSmartRef to the value element.
+ */
+ const domValueRef getValue() const { return elemValue; }
+ protected:
+ /**
+ * Constructor
+ */
+ domAlpha_func(DAE& dae) : daeElement(dae), elemFunc(), elemValue() {}
+ /**
+ * Destructor
+ */
+ virtual ~domAlpha_func() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAlpha_func &operator=( const domAlpha_func &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBlend_func;
+
+ typedef daeSmartRef<domBlend_func> domBlend_funcRef;
+ typedef daeTArray<domBlend_funcRef> domBlend_func_Array;
+
+ class domBlend_func : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BLEND_FUNC; }
+ static daeInt ID() { return 859; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domSrc;
+
+ typedef daeSmartRef<domSrc> domSrcRef;
+ typedef daeTArray<domSrcRef> domSrc_Array;
+
+ class domSrc : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SRC; }
+ static daeInt ID() { return 860; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_blend attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_blend of the value attribute.
+ */
+ domGl_blend getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_blend atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSrc(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSrc() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSrc &operator=( const domSrc &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDest;
+
+ typedef daeSmartRef<domDest> domDestRef;
+ typedef daeTArray<domDestRef> domDest_Array;
+
+ class domDest : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DEST; }
+ static daeInt ID() { return 861; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_blend attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_blend of the value attribute.
+ */
+ domGl_blend getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_blend atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDest(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDest() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDest &operator=( const domDest &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domSrcRef elemSrc;
+ domDestRef elemDest;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the src element.
+ * @return a daeSmartRef to the src element.
+ */
+ const domSrcRef getSrc() const { return elemSrc; }
+ /**
+ * Gets the dest element.
+ * @return a daeSmartRef to the dest element.
+ */
+ const domDestRef getDest() const { return elemDest; }
+ protected:
+ /**
+ * Constructor
+ */
+ domBlend_func(DAE& dae) : daeElement(dae), elemSrc(), elemDest() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBlend_func() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBlend_func &operator=( const domBlend_func &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domClip_plane;
+
+ typedef daeSmartRef<domClip_plane> domClip_planeRef;
+ typedef daeTArray<domClip_planeRef> domClip_plane_Array;
+
+ class domClip_plane : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CLIP_PLANE; }
+ static daeInt ID() { return 862; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool4 attrValue;
+ xsNCName attrParam;
+ domGles_max_clip_planes_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool4 of the value attribute.
+ */
+ domBool4 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool4 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGles_max_clip_planes_index of the index attribute.
+ */
+ domGles_max_clip_planes_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGles_max_clip_planes_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domClip_plane(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domClip_plane() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domClip_plane &operator=( const domClip_plane &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domColor_mask;
+
+ typedef daeSmartRef<domColor_mask> domColor_maskRef;
+ typedef daeTArray<domColor_maskRef> domColor_mask_Array;
+
+ class domColor_mask : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COLOR_MASK; }
+ static daeInt ID() { return 863; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domBool4 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domBool4 of the value attribute.
+ */
+ domBool4 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domBool4 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domColor_mask(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domColor_mask() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domColor_mask &operator=( const domColor_mask &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domCull_face;
+
+ typedef daeSmartRef<domCull_face> domCull_faceRef;
+ typedef daeTArray<domCull_faceRef> domCull_face_Array;
+
+ class domCull_face : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CULL_FACE; }
+ static daeInt ID() { return 864; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_face attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_face of the value attribute.
+ */
+ domGl_face getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_face atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domCull_face(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCull_face() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCull_face &operator=( const domCull_face &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDepth_func;
+
+ typedef daeSmartRef<domDepth_func> domDepth_funcRef;
+ typedef daeTArray<domDepth_funcRef> domDepth_func_Array;
+
+ class domDepth_func : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DEPTH_FUNC; }
+ static daeInt ID() { return 865; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_func attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_func of the value attribute.
+ */
+ domGl_func getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_func atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDepth_func(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDepth_func() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDepth_func &operator=( const domDepth_func &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDepth_mask;
+
+ typedef daeSmartRef<domDepth_mask> domDepth_maskRef;
+ typedef daeTArray<domDepth_maskRef> domDepth_mask_Array;
+
+ class domDepth_mask : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DEPTH_MASK; }
+ static daeInt ID() { return 866; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDepth_mask(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDepth_mask() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDepth_mask &operator=( const domDepth_mask &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDepth_range;
+
+ typedef daeSmartRef<domDepth_range> domDepth_rangeRef;
+ typedef daeTArray<domDepth_rangeRef> domDepth_range_Array;
+
+ class domDepth_range : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DEPTH_RANGE; }
+ static daeInt ID() { return 867; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat2 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat2 of the value attribute.
+ */
+ domFloat2 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat2 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDepth_range(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDepth_range() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDepth_range &operator=( const domDepth_range &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFog_color;
+
+ typedef daeSmartRef<domFog_color> domFog_colorRef;
+ typedef daeTArray<domFog_colorRef> domFog_color_Array;
+
+ class domFog_color : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FOG_COLOR; }
+ static daeInt ID() { return 868; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat4 of the value attribute.
+ */
+ domFloat4 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat4 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFog_color(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFog_color() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFog_color &operator=( const domFog_color &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFog_density;
+
+ typedef daeSmartRef<domFog_density> domFog_densityRef;
+ typedef daeTArray<domFog_densityRef> domFog_density_Array;
+
+ class domFog_density : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FOG_DENSITY; }
+ static daeInt ID() { return 869; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFog_density(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFog_density() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFog_density &operator=( const domFog_density &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFog_mode;
+
+ typedef daeSmartRef<domFog_mode> domFog_modeRef;
+ typedef daeTArray<domFog_modeRef> domFog_mode_Array;
+
+ class domFog_mode : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FOG_MODE; }
+ static daeInt ID() { return 870; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_fog attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_fog of the value attribute.
+ */
+ domGl_fog getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_fog atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFog_mode(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFog_mode() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFog_mode &operator=( const domFog_mode &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFog_start;
+
+ typedef daeSmartRef<domFog_start> domFog_startRef;
+ typedef daeTArray<domFog_startRef> domFog_start_Array;
+
+ class domFog_start : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FOG_START; }
+ static daeInt ID() { return 871; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFog_start(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFog_start() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFog_start &operator=( const domFog_start &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFog_end;
+
+ typedef daeSmartRef<domFog_end> domFog_endRef;
+ typedef daeTArray<domFog_endRef> domFog_end_Array;
+
+ class domFog_end : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FOG_END; }
+ static daeInt ID() { return 872; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFog_end(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFog_end() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFog_end &operator=( const domFog_end &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFront_face;
+
+ typedef daeSmartRef<domFront_face> domFront_faceRef;
+ typedef daeTArray<domFront_faceRef> domFront_face_Array;
+
+ class domFront_face : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FRONT_FACE; }
+ static daeInt ID() { return 873; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_front_face attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_front_face of the value attribute.
+ */
+ domGl_front_face getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_front_face atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFront_face(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFront_face() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFront_face &operator=( const domFront_face &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLogic_op;
+
+ typedef daeSmartRef<domLogic_op> domLogic_opRef;
+ typedef daeTArray<domLogic_opRef> domLogic_op_Array;
+
+ class domLogic_op : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LOGIC_OP; }
+ static daeInt ID() { return 874; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_logic_op attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_logic_op of the value attribute.
+ */
+ domGl_logic_op getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_logic_op atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLogic_op(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLogic_op() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLogic_op &operator=( const domLogic_op &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_ambient;
+
+ typedef daeSmartRef<domLight_ambient> domLight_ambientRef;
+ typedef daeTArray<domLight_ambientRef> domLight_ambient_Array;
+
+ class domLight_ambient : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_AMBIENT; }
+ static daeInt ID() { return 875; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+ domGles_max_lights_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat4 of the value attribute.
+ */
+ domFloat4 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat4 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGles_max_lights_index of the index attribute.
+ */
+ domGles_max_lights_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGles_max_lights_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_ambient(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_ambient() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_ambient &operator=( const domLight_ambient &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_diffuse;
+
+ typedef daeSmartRef<domLight_diffuse> domLight_diffuseRef;
+ typedef daeTArray<domLight_diffuseRef> domLight_diffuse_Array;
+
+ class domLight_diffuse : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_DIFFUSE; }
+ static daeInt ID() { return 876; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+ domGles_max_lights_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat4 of the value attribute.
+ */
+ domFloat4 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat4 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGles_max_lights_index of the index attribute.
+ */
+ domGles_max_lights_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGles_max_lights_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_diffuse(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_diffuse() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_diffuse &operator=( const domLight_diffuse &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_specular;
+
+ typedef daeSmartRef<domLight_specular> domLight_specularRef;
+ typedef daeTArray<domLight_specularRef> domLight_specular_Array;
+
+ class domLight_specular : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_SPECULAR; }
+ static daeInt ID() { return 877; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+ domGles_max_lights_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat4 of the value attribute.
+ */
+ domFloat4 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat4 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGles_max_lights_index of the index attribute.
+ */
+ domGles_max_lights_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGles_max_lights_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_specular(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_specular() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_specular &operator=( const domLight_specular &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_position;
+
+ typedef daeSmartRef<domLight_position> domLight_positionRef;
+ typedef daeTArray<domLight_positionRef> domLight_position_Array;
+
+ class domLight_position : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_POSITION; }
+ static daeInt ID() { return 878; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+ domGles_max_lights_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat4 of the value attribute.
+ */
+ domFloat4 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat4 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGles_max_lights_index of the index attribute.
+ */
+ domGles_max_lights_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGles_max_lights_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_position(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_position() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_position &operator=( const domLight_position &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_constant_attenuation;
+
+ typedef daeSmartRef<domLight_constant_attenuation> domLight_constant_attenuationRef;
+ typedef daeTArray<domLight_constant_attenuationRef> domLight_constant_attenuation_Array;
+
+ class domLight_constant_attenuation : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_CONSTANT_ATTENUATION; }
+ static daeInt ID() { return 879; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+ domGles_max_lights_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGles_max_lights_index of the index attribute.
+ */
+ domGles_max_lights_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGles_max_lights_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_constant_attenuation(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_constant_attenuation() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_constant_attenuation &operator=( const domLight_constant_attenuation &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_linear_attenuation;
+
+ typedef daeSmartRef<domLight_linear_attenuation> domLight_linear_attenuationRef;
+ typedef daeTArray<domLight_linear_attenuationRef> domLight_linear_attenuation_Array;
+
+ class domLight_linear_attenuation : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_LINEAR_ATTENUATION; }
+ static daeInt ID() { return 880; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+ domGles_max_lights_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGles_max_lights_index of the index attribute.
+ */
+ domGles_max_lights_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGles_max_lights_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_linear_attenuation(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_linear_attenuation() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_linear_attenuation &operator=( const domLight_linear_attenuation &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_quadratic_attenuation;
+
+ typedef daeSmartRef<domLight_quadratic_attenuation> domLight_quadratic_attenuationRef;
+ typedef daeTArray<domLight_quadratic_attenuationRef> domLight_quadratic_attenuation_Array;
+
+ class domLight_quadratic_attenuation : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_QUADRATIC_ATTENUATION; }
+ static daeInt ID() { return 881; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+ domGles_max_lights_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGles_max_lights_index of the index attribute.
+ */
+ domGles_max_lights_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGles_max_lights_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_quadratic_attenuation(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_quadratic_attenuation() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_quadratic_attenuation &operator=( const domLight_quadratic_attenuation &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_spot_cutoff;
+
+ typedef daeSmartRef<domLight_spot_cutoff> domLight_spot_cutoffRef;
+ typedef daeTArray<domLight_spot_cutoffRef> domLight_spot_cutoff_Array;
+
+ class domLight_spot_cutoff : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_SPOT_CUTOFF; }
+ static daeInt ID() { return 882; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+ domGles_max_lights_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGles_max_lights_index of the index attribute.
+ */
+ domGles_max_lights_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGles_max_lights_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_spot_cutoff(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_spot_cutoff() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_spot_cutoff &operator=( const domLight_spot_cutoff &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_spot_direction;
+
+ typedef daeSmartRef<domLight_spot_direction> domLight_spot_directionRef;
+ typedef daeTArray<domLight_spot_directionRef> domLight_spot_direction_Array;
+
+ class domLight_spot_direction : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_SPOT_DIRECTION; }
+ static daeInt ID() { return 883; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat3 attrValue;
+ xsNCName attrParam;
+ domGles_max_lights_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat3 of the value attribute.
+ */
+ domFloat3 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat3 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGles_max_lights_index of the index attribute.
+ */
+ domGles_max_lights_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGles_max_lights_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_spot_direction(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_spot_direction() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_spot_direction &operator=( const domLight_spot_direction &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_spot_exponent;
+
+ typedef daeSmartRef<domLight_spot_exponent> domLight_spot_exponentRef;
+ typedef daeTArray<domLight_spot_exponentRef> domLight_spot_exponent_Array;
+
+ class domLight_spot_exponent : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_SPOT_EXPONENT; }
+ static daeInt ID() { return 884; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+ domGles_max_lights_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGles_max_lights_index of the index attribute.
+ */
+ domGles_max_lights_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGles_max_lights_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_spot_exponent(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_spot_exponent() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_spot_exponent &operator=( const domLight_spot_exponent &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_model_ambient;
+
+ typedef daeSmartRef<domLight_model_ambient> domLight_model_ambientRef;
+ typedef daeTArray<domLight_model_ambientRef> domLight_model_ambient_Array;
+
+ class domLight_model_ambient : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_MODEL_AMBIENT; }
+ static daeInt ID() { return 885; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat4 of the value attribute.
+ */
+ domFloat4 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat4 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_model_ambient(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_model_ambient() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_model_ambient &operator=( const domLight_model_ambient &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLine_width;
+
+ typedef daeSmartRef<domLine_width> domLine_widthRef;
+ typedef daeTArray<domLine_widthRef> domLine_width_Array;
+
+ class domLine_width : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LINE_WIDTH; }
+ static daeInt ID() { return 886; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLine_width(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLine_width() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLine_width &operator=( const domLine_width &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMaterial_ambient;
+
+ typedef daeSmartRef<domMaterial_ambient> domMaterial_ambientRef;
+ typedef daeTArray<domMaterial_ambientRef> domMaterial_ambient_Array;
+
+ class domMaterial_ambient : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MATERIAL_AMBIENT; }
+ static daeInt ID() { return 887; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat4 of the value attribute.
+ */
+ domFloat4 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat4 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMaterial_ambient(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMaterial_ambient() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMaterial_ambient &operator=( const domMaterial_ambient &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMaterial_diffuse;
+
+ typedef daeSmartRef<domMaterial_diffuse> domMaterial_diffuseRef;
+ typedef daeTArray<domMaterial_diffuseRef> domMaterial_diffuse_Array;
+
+ class domMaterial_diffuse : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MATERIAL_DIFFUSE; }
+ static daeInt ID() { return 888; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat4 of the value attribute.
+ */
+ domFloat4 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat4 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMaterial_diffuse(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMaterial_diffuse() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMaterial_diffuse &operator=( const domMaterial_diffuse &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMaterial_emission;
+
+ typedef daeSmartRef<domMaterial_emission> domMaterial_emissionRef;
+ typedef daeTArray<domMaterial_emissionRef> domMaterial_emission_Array;
+
+ class domMaterial_emission : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MATERIAL_EMISSION; }
+ static daeInt ID() { return 889; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat4 of the value attribute.
+ */
+ domFloat4 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat4 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMaterial_emission(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMaterial_emission() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMaterial_emission &operator=( const domMaterial_emission &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMaterial_shininess;
+
+ typedef daeSmartRef<domMaterial_shininess> domMaterial_shininessRef;
+ typedef daeTArray<domMaterial_shininessRef> domMaterial_shininess_Array;
+
+ class domMaterial_shininess : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MATERIAL_SHININESS; }
+ static daeInt ID() { return 890; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMaterial_shininess(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMaterial_shininess() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMaterial_shininess &operator=( const domMaterial_shininess &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMaterial_specular;
+
+ typedef daeSmartRef<domMaterial_specular> domMaterial_specularRef;
+ typedef daeTArray<domMaterial_specularRef> domMaterial_specular_Array;
+
+ class domMaterial_specular : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MATERIAL_SPECULAR; }
+ static daeInt ID() { return 891; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat4 of the value attribute.
+ */
+ domFloat4 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat4 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMaterial_specular(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMaterial_specular() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMaterial_specular &operator=( const domMaterial_specular &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domModel_view_matrix;
+
+ typedef daeSmartRef<domModel_view_matrix> domModel_view_matrixRef;
+ typedef daeTArray<domModel_view_matrixRef> domModel_view_matrix_Array;
+
+ class domModel_view_matrix : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MODEL_VIEW_MATRIX; }
+ static daeInt ID() { return 892; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4x4 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat4x4 of the value attribute.
+ */
+ domFloat4x4 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat4x4 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domModel_view_matrix(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domModel_view_matrix() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domModel_view_matrix &operator=( const domModel_view_matrix &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPoint_distance_attenuation;
+
+ typedef daeSmartRef<domPoint_distance_attenuation> domPoint_distance_attenuationRef;
+ typedef daeTArray<domPoint_distance_attenuationRef> domPoint_distance_attenuation_Array;
+
+ class domPoint_distance_attenuation : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POINT_DISTANCE_ATTENUATION; }
+ static daeInt ID() { return 893; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat3 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat3 of the value attribute.
+ */
+ domFloat3 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat3 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPoint_distance_attenuation(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPoint_distance_attenuation() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPoint_distance_attenuation &operator=( const domPoint_distance_attenuation &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPoint_fade_threshold_size;
+
+ typedef daeSmartRef<domPoint_fade_threshold_size> domPoint_fade_threshold_sizeRef;
+ typedef daeTArray<domPoint_fade_threshold_sizeRef> domPoint_fade_threshold_size_Array;
+
+ class domPoint_fade_threshold_size : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POINT_FADE_THRESHOLD_SIZE; }
+ static daeInt ID() { return 894; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPoint_fade_threshold_size(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPoint_fade_threshold_size() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPoint_fade_threshold_size &operator=( const domPoint_fade_threshold_size &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPoint_size;
+
+ typedef daeSmartRef<domPoint_size> domPoint_sizeRef;
+ typedef daeTArray<domPoint_sizeRef> domPoint_size_Array;
+
+ class domPoint_size : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POINT_SIZE; }
+ static daeInt ID() { return 895; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPoint_size(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPoint_size() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPoint_size &operator=( const domPoint_size &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPoint_size_min;
+
+ typedef daeSmartRef<domPoint_size_min> domPoint_size_minRef;
+ typedef daeTArray<domPoint_size_minRef> domPoint_size_min_Array;
+
+ class domPoint_size_min : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POINT_SIZE_MIN; }
+ static daeInt ID() { return 896; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPoint_size_min(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPoint_size_min() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPoint_size_min &operator=( const domPoint_size_min &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPoint_size_max;
+
+ typedef daeSmartRef<domPoint_size_max> domPoint_size_maxRef;
+ typedef daeTArray<domPoint_size_maxRef> domPoint_size_max_Array;
+
+ class domPoint_size_max : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POINT_SIZE_MAX; }
+ static daeInt ID() { return 897; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat of the value attribute.
+ */
+ domFloat getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPoint_size_max(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPoint_size_max() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPoint_size_max &operator=( const domPoint_size_max &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPolygon_offset;
+
+ typedef daeSmartRef<domPolygon_offset> domPolygon_offsetRef;
+ typedef daeTArray<domPolygon_offsetRef> domPolygon_offset_Array;
+
+ class domPolygon_offset : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POLYGON_OFFSET; }
+ static daeInt ID() { return 898; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat2 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat2 of the value attribute.
+ */
+ domFloat2 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat2 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPolygon_offset(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPolygon_offset() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPolygon_offset &operator=( const domPolygon_offset &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domProjection_matrix;
+
+ typedef daeSmartRef<domProjection_matrix> domProjection_matrixRef;
+ typedef daeTArray<domProjection_matrixRef> domProjection_matrix_Array;
+
+ class domProjection_matrix : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PROJECTION_MATRIX; }
+ static daeInt ID() { return 899; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domFloat4x4 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat4x4 of the value attribute.
+ */
+ domFloat4x4 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat4x4 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domProjection_matrix(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domProjection_matrix() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domProjection_matrix &operator=( const domProjection_matrix &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domScissor;
+
+ typedef daeSmartRef<domScissor> domScissorRef;
+ typedef daeTArray<domScissorRef> domScissor_Array;
+
+ class domScissor : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SCISSOR; }
+ static daeInt ID() { return 900; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domInt4 attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domInt4 of the value attribute.
+ */
+ domInt4 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domInt4 atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domScissor(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domScissor() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domScissor &operator=( const domScissor &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domShade_model;
+
+ typedef daeSmartRef<domShade_model> domShade_modelRef;
+ typedef daeTArray<domShade_modelRef> domShade_model_Array;
+
+ class domShade_model : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SHADE_MODEL; }
+ static daeInt ID() { return 901; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_shade_model attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_shade_model of the value attribute.
+ */
+ domGl_shade_model getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_shade_model atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domShade_model(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domShade_model() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domShade_model &operator=( const domShade_model &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domStencil_func;
+
+ typedef daeSmartRef<domStencil_func> domStencil_funcRef;
+ typedef daeTArray<domStencil_funcRef> domStencil_func_Array;
+
+ class domStencil_func : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::STENCIL_FUNC; }
+ static daeInt ID() { return 902; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domFunc;
+
+ typedef daeSmartRef<domFunc> domFuncRef;
+ typedef daeTArray<domFuncRef> domFunc_Array;
+
+ class domFunc : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FUNC; }
+ static daeInt ID() { return 903; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGl_func attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGl_func of the value attribute.
+ */
+ domGl_func getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGl_func atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFunc(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFunc() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFunc &operator=( const domFunc &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domRef;
+
+ typedef daeSmartRef<domRef> domRefRef;
+ typedef daeTArray<domRefRef> domRef_Array;
+
+ class domRef : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::REF; }
+ static daeInt ID() { return 904; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsUnsignedByte attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsUnsignedByte of the value attribute.
+ */
+ xsUnsignedByte getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsUnsignedByte atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domRef(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domRef() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRef &operator=( const domRef &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMask;
+
+ typedef daeSmartRef<domMask> domMaskRef;
+ typedef daeTArray<domMaskRef> domMask_Array;
+
+ class domMask : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MASK; }
+ static daeInt ID() { return 905; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsUnsignedByte attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsUnsignedByte of the value attribute.
+ */
+ xsUnsignedByte getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsUnsignedByte atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMask(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMask() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMask &operator=( const domMask &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domFuncRef elemFunc;
+ domRefRef elemRef;
+ domMaskRef elemMask;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the func element.
+ * @return a daeSmartRef to the func element.
+ */
+ const domFuncRef getFunc() const { return elemFunc; }
+ /**
+ * Gets the ref element.
+ * @return a daeSmartRef to the ref element.
+ */
+ const domRefRef getRef() const { return elemRef; }
+ /**
+ * Gets the mask element.
+ * @return a daeSmartRef to the mask element.
+ */
+ const domMaskRef getMask() const { return elemMask; }
+ protected:
+ /**
+ * Constructor
+ */
+ domStencil_func(DAE& dae) : daeElement(dae), elemFunc(), elemRef(), elemMask() {}
+ /**
+ * Destructor
+ */
+ virtual ~domStencil_func() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domStencil_func &operator=( const domStencil_func &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domStencil_mask;
+
+ typedef daeSmartRef<domStencil_mask> domStencil_maskRef;
+ typedef daeTArray<domStencil_maskRef> domStencil_mask_Array;
+
+ class domStencil_mask : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::STENCIL_MASK; }
+ static daeInt ID() { return 906; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domInt attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domInt of the value attribute.
+ */
+ domInt getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domInt atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domStencil_mask(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domStencil_mask() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domStencil_mask &operator=( const domStencil_mask &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domStencil_op;
+
+ typedef daeSmartRef<domStencil_op> domStencil_opRef;
+ typedef daeTArray<domStencil_opRef> domStencil_op_Array;
+
+ class domStencil_op : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::STENCIL_OP; }
+ static daeInt ID() { return 907; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domFail;
+
+ typedef daeSmartRef<domFail> domFailRef;
+ typedef daeTArray<domFailRef> domFail_Array;
+
+ class domFail : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FAIL; }
+ static daeInt ID() { return 908; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGles_stencil_op attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGles_stencil_op of the value attribute.
+ */
+ domGles_stencil_op getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGles_stencil_op atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFail(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFail() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFail &operator=( const domFail &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domZfail;
+
+ typedef daeSmartRef<domZfail> domZfailRef;
+ typedef daeTArray<domZfailRef> domZfail_Array;
+
+ class domZfail : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ZFAIL; }
+ static daeInt ID() { return 909; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGles_stencil_op attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGles_stencil_op of the value attribute.
+ */
+ domGles_stencil_op getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGles_stencil_op atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domZfail(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domZfail() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domZfail &operator=( const domZfail &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domZpass;
+
+ typedef daeSmartRef<domZpass> domZpassRef;
+ typedef daeTArray<domZpassRef> domZpass_Array;
+
+ class domZpass : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ZPASS; }
+ static daeInt ID() { return 910; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domGles_stencil_op attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domGles_stencil_op of the value attribute.
+ */
+ domGles_stencil_op getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domGles_stencil_op atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domZpass(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domZpass() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domZpass &operator=( const domZpass &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domFailRef elemFail;
+ domZfailRef elemZfail;
+ domZpassRef elemZpass;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the fail element.
+ * @return a daeSmartRef to the fail element.
+ */
+ const domFailRef getFail() const { return elemFail; }
+ /**
+ * Gets the zfail element.
+ * @return a daeSmartRef to the zfail element.
+ */
+ const domZfailRef getZfail() const { return elemZfail; }
+ /**
+ * Gets the zpass element.
+ * @return a daeSmartRef to the zpass element.
+ */
+ const domZpassRef getZpass() const { return elemZpass; }
+ protected:
+ /**
+ * Constructor
+ */
+ domStencil_op(DAE& dae) : daeElement(dae), elemFail(), elemZfail(), elemZpass() {}
+ /**
+ * Destructor
+ */
+ virtual ~domStencil_op() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domStencil_op &operator=( const domStencil_op &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domTexture_pipeline;
+
+ typedef daeSmartRef<domTexture_pipeline> domTexture_pipelineRef;
+ typedef daeTArray<domTexture_pipelineRef> domTexture_pipeline_Array;
+
+ class domTexture_pipeline : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TEXTURE_PIPELINE; }
+ static daeInt ID() { return 911; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Element
+ domGles_texture_pipelineRef elemValue;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value element.
+ * @return a daeSmartRef to the value element.
+ */
+ const domGles_texture_pipelineRef getValue() const { return elemValue; }
+ protected:
+ /**
+ * Constructor
+ */
+ domTexture_pipeline(DAE& dae) : daeElement(dae), elemValue() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTexture_pipeline() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTexture_pipeline &operator=( const domTexture_pipeline &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domAlpha_test_enable;
+
+ typedef daeSmartRef<domAlpha_test_enable> domAlpha_test_enableRef;
+ typedef daeTArray<domAlpha_test_enableRef> domAlpha_test_enable_Array;
+
+ class domAlpha_test_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ALPHA_TEST_ENABLE; }
+ static daeInt ID() { return 912; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domAlpha_test_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domAlpha_test_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAlpha_test_enable &operator=( const domAlpha_test_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBlend_enable;
+
+ typedef daeSmartRef<domBlend_enable> domBlend_enableRef;
+ typedef daeTArray<domBlend_enableRef> domBlend_enable_Array;
+
+ class domBlend_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BLEND_ENABLE; }
+ static daeInt ID() { return 913; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBlend_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBlend_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBlend_enable &operator=( const domBlend_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domClip_plane_enable;
+
+ typedef daeSmartRef<domClip_plane_enable> domClip_plane_enableRef;
+ typedef daeTArray<domClip_plane_enableRef> domClip_plane_enable_Array;
+
+ class domClip_plane_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CLIP_PLANE_ENABLE; }
+ static daeInt ID() { return 914; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+ domGles_max_clip_planes_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGles_max_clip_planes_index of the index attribute.
+ */
+ domGles_max_clip_planes_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGles_max_clip_planes_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domClip_plane_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domClip_plane_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domClip_plane_enable &operator=( const domClip_plane_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domColor_logic_op_enable;
+
+ typedef daeSmartRef<domColor_logic_op_enable> domColor_logic_op_enableRef;
+ typedef daeTArray<domColor_logic_op_enableRef> domColor_logic_op_enable_Array;
+
+ class domColor_logic_op_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COLOR_LOGIC_OP_ENABLE; }
+ static daeInt ID() { return 915; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domColor_logic_op_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domColor_logic_op_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domColor_logic_op_enable &operator=( const domColor_logic_op_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domColor_material_enable;
+
+ typedef daeSmartRef<domColor_material_enable> domColor_material_enableRef;
+ typedef daeTArray<domColor_material_enableRef> domColor_material_enable_Array;
+
+ class domColor_material_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COLOR_MATERIAL_ENABLE; }
+ static daeInt ID() { return 916; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domColor_material_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domColor_material_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domColor_material_enable &operator=( const domColor_material_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domCull_face_enable;
+
+ typedef daeSmartRef<domCull_face_enable> domCull_face_enableRef;
+ typedef daeTArray<domCull_face_enableRef> domCull_face_enable_Array;
+
+ class domCull_face_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CULL_FACE_ENABLE; }
+ static daeInt ID() { return 917; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domCull_face_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCull_face_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCull_face_enable &operator=( const domCull_face_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDepth_test_enable;
+
+ typedef daeSmartRef<domDepth_test_enable> domDepth_test_enableRef;
+ typedef daeTArray<domDepth_test_enableRef> domDepth_test_enable_Array;
+
+ class domDepth_test_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DEPTH_TEST_ENABLE; }
+ static daeInt ID() { return 918; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDepth_test_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDepth_test_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDepth_test_enable &operator=( const domDepth_test_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDither_enable;
+
+ typedef daeSmartRef<domDither_enable> domDither_enableRef;
+ typedef daeTArray<domDither_enableRef> domDither_enable_Array;
+
+ class domDither_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DITHER_ENABLE; }
+ static daeInt ID() { return 919; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domDither_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDither_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDither_enable &operator=( const domDither_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFog_enable;
+
+ typedef daeSmartRef<domFog_enable> domFog_enableRef;
+ typedef daeTArray<domFog_enableRef> domFog_enable_Array;
+
+ class domFog_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FOG_ENABLE; }
+ static daeInt ID() { return 920; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domFog_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFog_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFog_enable &operator=( const domFog_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_enable;
+
+ typedef daeSmartRef<domLight_enable> domLight_enableRef;
+ typedef daeTArray<domLight_enableRef> domLight_enable_Array;
+
+ class domLight_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_ENABLE; }
+ static daeInt ID() { return 921; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+ domGles_max_lights_index attrIndex;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the index attribute.
+ * @return Returns a domGles_max_lights_index of the index attribute.
+ */
+ domGles_max_lights_index getIndex() const { return attrIndex; }
+ /**
+ * Sets the index attribute.
+ * @param atIndex The new value for the index attribute.
+ */
+ void setIndex( domGles_max_lights_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_enable &operator=( const domLight_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLighting_enable;
+
+ typedef daeSmartRef<domLighting_enable> domLighting_enableRef;
+ typedef daeTArray<domLighting_enableRef> domLighting_enable_Array;
+
+ class domLighting_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHTING_ENABLE; }
+ static daeInt ID() { return 922; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLighting_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLighting_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLighting_enable &operator=( const domLighting_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLight_model_two_side_enable;
+
+ typedef daeSmartRef<domLight_model_two_side_enable> domLight_model_two_side_enableRef;
+ typedef daeTArray<domLight_model_two_side_enableRef> domLight_model_two_side_enable_Array;
+
+ class domLight_model_two_side_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_MODEL_TWO_SIDE_ENABLE; }
+ static daeInt ID() { return 923; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLight_model_two_side_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight_model_two_side_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight_model_two_side_enable &operator=( const domLight_model_two_side_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLine_smooth_enable;
+
+ typedef daeSmartRef<domLine_smooth_enable> domLine_smooth_enableRef;
+ typedef daeTArray<domLine_smooth_enableRef> domLine_smooth_enable_Array;
+
+ class domLine_smooth_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LINE_SMOOTH_ENABLE; }
+ static daeInt ID() { return 924; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domLine_smooth_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLine_smooth_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLine_smooth_enable &operator=( const domLine_smooth_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMultisample_enable;
+
+ typedef daeSmartRef<domMultisample_enable> domMultisample_enableRef;
+ typedef daeTArray<domMultisample_enableRef> domMultisample_enable_Array;
+
+ class domMultisample_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MULTISAMPLE_ENABLE; }
+ static daeInt ID() { return 925; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMultisample_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMultisample_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMultisample_enable &operator=( const domMultisample_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domNormalize_enable;
+
+ typedef daeSmartRef<domNormalize_enable> domNormalize_enableRef;
+ typedef daeTArray<domNormalize_enableRef> domNormalize_enable_Array;
+
+ class domNormalize_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::NORMALIZE_ENABLE; }
+ static daeInt ID() { return 926; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domNormalize_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domNormalize_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domNormalize_enable &operator=( const domNormalize_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPoint_smooth_enable;
+
+ typedef daeSmartRef<domPoint_smooth_enable> domPoint_smooth_enableRef;
+ typedef daeTArray<domPoint_smooth_enableRef> domPoint_smooth_enable_Array;
+
+ class domPoint_smooth_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POINT_SMOOTH_ENABLE; }
+ static daeInt ID() { return 927; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPoint_smooth_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPoint_smooth_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPoint_smooth_enable &operator=( const domPoint_smooth_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPolygon_offset_fill_enable;
+
+ typedef daeSmartRef<domPolygon_offset_fill_enable> domPolygon_offset_fill_enableRef;
+ typedef daeTArray<domPolygon_offset_fill_enableRef> domPolygon_offset_fill_enable_Array;
+
+ class domPolygon_offset_fill_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POLYGON_OFFSET_FILL_ENABLE; }
+ static daeInt ID() { return 928; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domPolygon_offset_fill_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPolygon_offset_fill_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPolygon_offset_fill_enable &operator=( const domPolygon_offset_fill_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domRescale_normal_enable;
+
+ typedef daeSmartRef<domRescale_normal_enable> domRescale_normal_enableRef;
+ typedef daeTArray<domRescale_normal_enableRef> domRescale_normal_enable_Array;
+
+ class domRescale_normal_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::RESCALE_NORMAL_ENABLE; }
+ static daeInt ID() { return 929; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domRescale_normal_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domRescale_normal_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRescale_normal_enable &operator=( const domRescale_normal_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domSample_alpha_to_coverage_enable;
+
+ typedef daeSmartRef<domSample_alpha_to_coverage_enable> domSample_alpha_to_coverage_enableRef;
+ typedef daeTArray<domSample_alpha_to_coverage_enableRef> domSample_alpha_to_coverage_enable_Array;
+
+ class domSample_alpha_to_coverage_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SAMPLE_ALPHA_TO_COVERAGE_ENABLE; }
+ static daeInt ID() { return 930; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSample_alpha_to_coverage_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSample_alpha_to_coverage_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSample_alpha_to_coverage_enable &operator=( const domSample_alpha_to_coverage_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domSample_alpha_to_one_enable;
+
+ typedef daeSmartRef<domSample_alpha_to_one_enable> domSample_alpha_to_one_enableRef;
+ typedef daeTArray<domSample_alpha_to_one_enableRef> domSample_alpha_to_one_enable_Array;
+
+ class domSample_alpha_to_one_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SAMPLE_ALPHA_TO_ONE_ENABLE; }
+ static daeInt ID() { return 931; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSample_alpha_to_one_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSample_alpha_to_one_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSample_alpha_to_one_enable &operator=( const domSample_alpha_to_one_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domSample_coverage_enable;
+
+ typedef daeSmartRef<domSample_coverage_enable> domSample_coverage_enableRef;
+ typedef daeTArray<domSample_coverage_enableRef> domSample_coverage_enable_Array;
+
+ class domSample_coverage_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SAMPLE_COVERAGE_ENABLE; }
+ static daeInt ID() { return 932; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSample_coverage_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSample_coverage_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSample_coverage_enable &operator=( const domSample_coverage_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domScissor_test_enable;
+
+ typedef daeSmartRef<domScissor_test_enable> domScissor_test_enableRef;
+ typedef daeTArray<domScissor_test_enableRef> domScissor_test_enable_Array;
+
+ class domScissor_test_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SCISSOR_TEST_ENABLE; }
+ static daeInt ID() { return 933; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domScissor_test_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domScissor_test_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domScissor_test_enable &operator=( const domScissor_test_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domStencil_test_enable;
+
+ typedef daeSmartRef<domStencil_test_enable> domStencil_test_enableRef;
+ typedef daeTArray<domStencil_test_enableRef> domStencil_test_enable_Array;
+
+ class domStencil_test_enable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::STENCIL_TEST_ENABLE; }
+ static daeInt ID() { return 934; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsBoolean attrValue;
+ xsNCName attrParam;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a xsBoolean of the value attribute.
+ */
+ xsBoolean getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( xsBoolean atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domStencil_test_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domStencil_test_enable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domStencil_test_enable &operator=( const domStencil_test_enable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+ domAlpha_funcRef elemAlpha_func;
+ domBlend_funcRef elemBlend_func;
+ domClip_planeRef elemClip_plane;
+ domColor_maskRef elemColor_mask;
+ domCull_faceRef elemCull_face;
+ domDepth_funcRef elemDepth_func;
+ domDepth_maskRef elemDepth_mask;
+ domDepth_rangeRef elemDepth_range;
+ domFog_colorRef elemFog_color;
+ domFog_densityRef elemFog_density;
+ domFog_modeRef elemFog_mode;
+ domFog_startRef elemFog_start;
+ domFog_endRef elemFog_end;
+ domFront_faceRef elemFront_face;
+ domLogic_opRef elemLogic_op;
+ domLight_ambientRef elemLight_ambient;
+ domLight_diffuseRef elemLight_diffuse;
+ domLight_specularRef elemLight_specular;
+ domLight_positionRef elemLight_position;
+ domLight_constant_attenuationRef elemLight_constant_attenuation;
+ domLight_linear_attenuationRef elemLight_linear_attenuation;
+ domLight_quadratic_attenuationRef elemLight_quadratic_attenuation;
+ domLight_spot_cutoffRef elemLight_spot_cutoff;
+ domLight_spot_directionRef elemLight_spot_direction;
+ domLight_spot_exponentRef elemLight_spot_exponent;
+ domLight_model_ambientRef elemLight_model_ambient;
+ domLine_widthRef elemLine_width;
+ domMaterial_ambientRef elemMaterial_ambient;
+ domMaterial_diffuseRef elemMaterial_diffuse;
+ domMaterial_emissionRef elemMaterial_emission;
+ domMaterial_shininessRef elemMaterial_shininess;
+ domMaterial_specularRef elemMaterial_specular;
+ domModel_view_matrixRef elemModel_view_matrix;
+ domPoint_distance_attenuationRef elemPoint_distance_attenuation;
+ domPoint_fade_threshold_sizeRef elemPoint_fade_threshold_size;
+ domPoint_sizeRef elemPoint_size;
+ domPoint_size_minRef elemPoint_size_min;
+ domPoint_size_maxRef elemPoint_size_max;
+ domPolygon_offsetRef elemPolygon_offset;
+ domProjection_matrixRef elemProjection_matrix;
+ domScissorRef elemScissor;
+ domShade_modelRef elemShade_model;
+ domStencil_funcRef elemStencil_func;
+ domStencil_maskRef elemStencil_mask;
+ domStencil_opRef elemStencil_op;
+ domTexture_pipelineRef elemTexture_pipeline;
+ domAlpha_test_enableRef elemAlpha_test_enable;
+ domBlend_enableRef elemBlend_enable;
+ domClip_plane_enableRef elemClip_plane_enable;
+ domColor_logic_op_enableRef elemColor_logic_op_enable;
+ domColor_material_enableRef elemColor_material_enable;
+ domCull_face_enableRef elemCull_face_enable;
+ domDepth_test_enableRef elemDepth_test_enable;
+ domDither_enableRef elemDither_enable;
+ domFog_enableRef elemFog_enable;
+ domLight_enableRef elemLight_enable;
+ domLighting_enableRef elemLighting_enable;
+ domLight_model_two_side_enableRef elemLight_model_two_side_enable;
+ domLine_smooth_enableRef elemLine_smooth_enable;
+ domMultisample_enableRef elemMultisample_enable;
+ domNormalize_enableRef elemNormalize_enable;
+ domPoint_smooth_enableRef elemPoint_smooth_enable;
+ domPolygon_offset_fill_enableRef elemPolygon_offset_fill_enable;
+ domRescale_normal_enableRef elemRescale_normal_enable;
+ domSample_alpha_to_coverage_enableRef elemSample_alpha_to_coverage_enable;
+ domSample_alpha_to_one_enableRef elemSample_alpha_to_one_enable;
+ domSample_coverage_enableRef elemSample_coverage_enable;
+ domScissor_test_enableRef elemScissor_test_enable;
+ domStencil_test_enableRef elemStencil_test_enable;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the alpha_func element.
+ * @return a daeSmartRef to the alpha_func element.
+ */
+ const domAlpha_funcRef getAlpha_func() const { return elemAlpha_func; }
+ /**
+ * Gets the blend_func element.
+ * @return a daeSmartRef to the blend_func element.
+ */
+ const domBlend_funcRef getBlend_func() const { return elemBlend_func; }
+ /**
+ * Gets the clip_plane element.
+ * @return a daeSmartRef to the clip_plane element.
+ */
+ const domClip_planeRef getClip_plane() const { return elemClip_plane; }
+ /**
+ * Gets the color_mask element.
+ * @return a daeSmartRef to the color_mask element.
+ */
+ const domColor_maskRef getColor_mask() const { return elemColor_mask; }
+ /**
+ * Gets the cull_face element.
+ * @return a daeSmartRef to the cull_face element.
+ */
+ const domCull_faceRef getCull_face() const { return elemCull_face; }
+ /**
+ * Gets the depth_func element.
+ * @return a daeSmartRef to the depth_func element.
+ */
+ const domDepth_funcRef getDepth_func() const { return elemDepth_func; }
+ /**
+ * Gets the depth_mask element.
+ * @return a daeSmartRef to the depth_mask element.
+ */
+ const domDepth_maskRef getDepth_mask() const { return elemDepth_mask; }
+ /**
+ * Gets the depth_range element.
+ * @return a daeSmartRef to the depth_range element.
+ */
+ const domDepth_rangeRef getDepth_range() const { return elemDepth_range; }
+ /**
+ * Gets the fog_color element.
+ * @return a daeSmartRef to the fog_color element.
+ */
+ const domFog_colorRef getFog_color() const { return elemFog_color; }
+ /**
+ * Gets the fog_density element.
+ * @return a daeSmartRef to the fog_density element.
+ */
+ const domFog_densityRef getFog_density() const { return elemFog_density; }
+ /**
+ * Gets the fog_mode element.
+ * @return a daeSmartRef to the fog_mode element.
+ */
+ const domFog_modeRef getFog_mode() const { return elemFog_mode; }
+ /**
+ * Gets the fog_start element.
+ * @return a daeSmartRef to the fog_start element.
+ */
+ const domFog_startRef getFog_start() const { return elemFog_start; }
+ /**
+ * Gets the fog_end element.
+ * @return a daeSmartRef to the fog_end element.
+ */
+ const domFog_endRef getFog_end() const { return elemFog_end; }
+ /**
+ * Gets the front_face element.
+ * @return a daeSmartRef to the front_face element.
+ */
+ const domFront_faceRef getFront_face() const { return elemFront_face; }
+ /**
+ * Gets the logic_op element.
+ * @return a daeSmartRef to the logic_op element.
+ */
+ const domLogic_opRef getLogic_op() const { return elemLogic_op; }
+ /**
+ * Gets the light_ambient element.
+ * @return a daeSmartRef to the light_ambient element.
+ */
+ const domLight_ambientRef getLight_ambient() const { return elemLight_ambient; }
+ /**
+ * Gets the light_diffuse element.
+ * @return a daeSmartRef to the light_diffuse element.
+ */
+ const domLight_diffuseRef getLight_diffuse() const { return elemLight_diffuse; }
+ /**
+ * Gets the light_specular element.
+ * @return a daeSmartRef to the light_specular element.
+ */
+ const domLight_specularRef getLight_specular() const { return elemLight_specular; }
+ /**
+ * Gets the light_position element.
+ * @return a daeSmartRef to the light_position element.
+ */
+ const domLight_positionRef getLight_position() const { return elemLight_position; }
+ /**
+ * Gets the light_constant_attenuation element.
+ * @return a daeSmartRef to the light_constant_attenuation element.
+ */
+ const domLight_constant_attenuationRef getLight_constant_attenuation() const { return elemLight_constant_attenuation; }
+ /**
+ * Gets the light_linear_attenuation element.
+ * @return a daeSmartRef to the light_linear_attenuation element.
+ */
+ const domLight_linear_attenuationRef getLight_linear_attenuation() const { return elemLight_linear_attenuation; }
+ /**
+ * Gets the light_quadratic_attenuation element.
+ * @return a daeSmartRef to the light_quadratic_attenuation element.
+ */
+ const domLight_quadratic_attenuationRef getLight_quadratic_attenuation() const { return elemLight_quadratic_attenuation; }
+ /**
+ * Gets the light_spot_cutoff element.
+ * @return a daeSmartRef to the light_spot_cutoff element.
+ */
+ const domLight_spot_cutoffRef getLight_spot_cutoff() const { return elemLight_spot_cutoff; }
+ /**
+ * Gets the light_spot_direction element.
+ * @return a daeSmartRef to the light_spot_direction element.
+ */
+ const domLight_spot_directionRef getLight_spot_direction() const { return elemLight_spot_direction; }
+ /**
+ * Gets the light_spot_exponent element.
+ * @return a daeSmartRef to the light_spot_exponent element.
+ */
+ const domLight_spot_exponentRef getLight_spot_exponent() const { return elemLight_spot_exponent; }
+ /**
+ * Gets the light_model_ambient element.
+ * @return a daeSmartRef to the light_model_ambient element.
+ */
+ const domLight_model_ambientRef getLight_model_ambient() const { return elemLight_model_ambient; }
+ /**
+ * Gets the line_width element.
+ * @return a daeSmartRef to the line_width element.
+ */
+ const domLine_widthRef getLine_width() const { return elemLine_width; }
+ /**
+ * Gets the material_ambient element.
+ * @return a daeSmartRef to the material_ambient element.
+ */
+ const domMaterial_ambientRef getMaterial_ambient() const { return elemMaterial_ambient; }
+ /**
+ * Gets the material_diffuse element.
+ * @return a daeSmartRef to the material_diffuse element.
+ */
+ const domMaterial_diffuseRef getMaterial_diffuse() const { return elemMaterial_diffuse; }
+ /**
+ * Gets the material_emission element.
+ * @return a daeSmartRef to the material_emission element.
+ */
+ const domMaterial_emissionRef getMaterial_emission() const { return elemMaterial_emission; }
+ /**
+ * Gets the material_shininess element.
+ * @return a daeSmartRef to the material_shininess element.
+ */
+ const domMaterial_shininessRef getMaterial_shininess() const { return elemMaterial_shininess; }
+ /**
+ * Gets the material_specular element.
+ * @return a daeSmartRef to the material_specular element.
+ */
+ const domMaterial_specularRef getMaterial_specular() const { return elemMaterial_specular; }
+ /**
+ * Gets the model_view_matrix element.
+ * @return a daeSmartRef to the model_view_matrix element.
+ */
+ const domModel_view_matrixRef getModel_view_matrix() const { return elemModel_view_matrix; }
+ /**
+ * Gets the point_distance_attenuation element.
+ * @return a daeSmartRef to the point_distance_attenuation element.
+ */
+ const domPoint_distance_attenuationRef getPoint_distance_attenuation() const { return elemPoint_distance_attenuation; }
+ /**
+ * Gets the point_fade_threshold_size element.
+ * @return a daeSmartRef to the point_fade_threshold_size element.
+ */
+ const domPoint_fade_threshold_sizeRef getPoint_fade_threshold_size() const { return elemPoint_fade_threshold_size; }
+ /**
+ * Gets the point_size element.
+ * @return a daeSmartRef to the point_size element.
+ */
+ const domPoint_sizeRef getPoint_size() const { return elemPoint_size; }
+ /**
+ * Gets the point_size_min element.
+ * @return a daeSmartRef to the point_size_min element.
+ */
+ const domPoint_size_minRef getPoint_size_min() const { return elemPoint_size_min; }
+ /**
+ * Gets the point_size_max element.
+ * @return a daeSmartRef to the point_size_max element.
+ */
+ const domPoint_size_maxRef getPoint_size_max() const { return elemPoint_size_max; }
+ /**
+ * Gets the polygon_offset element.
+ * @return a daeSmartRef to the polygon_offset element.
+ */
+ const domPolygon_offsetRef getPolygon_offset() const { return elemPolygon_offset; }
+ /**
+ * Gets the projection_matrix element.
+ * @return a daeSmartRef to the projection_matrix element.
+ */
+ const domProjection_matrixRef getProjection_matrix() const { return elemProjection_matrix; }
+ /**
+ * Gets the scissor element.
+ * @return a daeSmartRef to the scissor element.
+ */
+ const domScissorRef getScissor() const { return elemScissor; }
+ /**
+ * Gets the shade_model element.
+ * @return a daeSmartRef to the shade_model element.
+ */
+ const domShade_modelRef getShade_model() const { return elemShade_model; }
+ /**
+ * Gets the stencil_func element.
+ * @return a daeSmartRef to the stencil_func element.
+ */
+ const domStencil_funcRef getStencil_func() const { return elemStencil_func; }
+ /**
+ * Gets the stencil_mask element.
+ * @return a daeSmartRef to the stencil_mask element.
+ */
+ const domStencil_maskRef getStencil_mask() const { return elemStencil_mask; }
+ /**
+ * Gets the stencil_op element.
+ * @return a daeSmartRef to the stencil_op element.
+ */
+ const domStencil_opRef getStencil_op() const { return elemStencil_op; }
+ /**
+ * Gets the texture_pipeline element.
+ * @return a daeSmartRef to the texture_pipeline element.
+ */
+ const domTexture_pipelineRef getTexture_pipeline() const { return elemTexture_pipeline; }
+ /**
+ * Gets the alpha_test_enable element.
+ * @return a daeSmartRef to the alpha_test_enable element.
+ */
+ const domAlpha_test_enableRef getAlpha_test_enable() const { return elemAlpha_test_enable; }
+ /**
+ * Gets the blend_enable element.
+ * @return a daeSmartRef to the blend_enable element.
+ */
+ const domBlend_enableRef getBlend_enable() const { return elemBlend_enable; }
+ /**
+ * Gets the clip_plane_enable element.
+ * @return a daeSmartRef to the clip_plane_enable element.
+ */
+ const domClip_plane_enableRef getClip_plane_enable() const { return elemClip_plane_enable; }
+ /**
+ * Gets the color_logic_op_enable element.
+ * @return a daeSmartRef to the color_logic_op_enable element.
+ */
+ const domColor_logic_op_enableRef getColor_logic_op_enable() const { return elemColor_logic_op_enable; }
+ /**
+ * Gets the color_material_enable element.
+ * @return a daeSmartRef to the color_material_enable element.
+ */
+ const domColor_material_enableRef getColor_material_enable() const { return elemColor_material_enable; }
+ /**
+ * Gets the cull_face_enable element.
+ * @return a daeSmartRef to the cull_face_enable element.
+ */
+ const domCull_face_enableRef getCull_face_enable() const { return elemCull_face_enable; }
+ /**
+ * Gets the depth_test_enable element.
+ * @return a daeSmartRef to the depth_test_enable element.
+ */
+ const domDepth_test_enableRef getDepth_test_enable() const { return elemDepth_test_enable; }
+ /**
+ * Gets the dither_enable element.
+ * @return a daeSmartRef to the dither_enable element.
+ */
+ const domDither_enableRef getDither_enable() const { return elemDither_enable; }
+ /**
+ * Gets the fog_enable element.
+ * @return a daeSmartRef to the fog_enable element.
+ */
+ const domFog_enableRef getFog_enable() const { return elemFog_enable; }
+ /**
+ * Gets the light_enable element.
+ * @return a daeSmartRef to the light_enable element.
+ */
+ const domLight_enableRef getLight_enable() const { return elemLight_enable; }
+ /**
+ * Gets the lighting_enable element.
+ * @return a daeSmartRef to the lighting_enable element.
+ */
+ const domLighting_enableRef getLighting_enable() const { return elemLighting_enable; }
+ /**
+ * Gets the light_model_two_side_enable element.
+ * @return a daeSmartRef to the light_model_two_side_enable element.
+ */
+ const domLight_model_two_side_enableRef getLight_model_two_side_enable() const { return elemLight_model_two_side_enable; }
+ /**
+ * Gets the line_smooth_enable element.
+ * @return a daeSmartRef to the line_smooth_enable element.
+ */
+ const domLine_smooth_enableRef getLine_smooth_enable() const { return elemLine_smooth_enable; }
+ /**
+ * Gets the multisample_enable element.
+ * @return a daeSmartRef to the multisample_enable element.
+ */
+ const domMultisample_enableRef getMultisample_enable() const { return elemMultisample_enable; }
+ /**
+ * Gets the normalize_enable element.
+ * @return a daeSmartRef to the normalize_enable element.
+ */
+ const domNormalize_enableRef getNormalize_enable() const { return elemNormalize_enable; }
+ /**
+ * Gets the point_smooth_enable element.
+ * @return a daeSmartRef to the point_smooth_enable element.
+ */
+ const domPoint_smooth_enableRef getPoint_smooth_enable() const { return elemPoint_smooth_enable; }
+ /**
+ * Gets the polygon_offset_fill_enable element.
+ * @return a daeSmartRef to the polygon_offset_fill_enable element.
+ */
+ const domPolygon_offset_fill_enableRef getPolygon_offset_fill_enable() const { return elemPolygon_offset_fill_enable; }
+ /**
+ * Gets the rescale_normal_enable element.
+ * @return a daeSmartRef to the rescale_normal_enable element.
+ */
+ const domRescale_normal_enableRef getRescale_normal_enable() const { return elemRescale_normal_enable; }
+ /**
+ * Gets the sample_alpha_to_coverage_enable element.
+ * @return a daeSmartRef to the sample_alpha_to_coverage_enable element.
+ */
+ const domSample_alpha_to_coverage_enableRef getSample_alpha_to_coverage_enable() const { return elemSample_alpha_to_coverage_enable; }
+ /**
+ * Gets the sample_alpha_to_one_enable element.
+ * @return a daeSmartRef to the sample_alpha_to_one_enable element.
+ */
+ const domSample_alpha_to_one_enableRef getSample_alpha_to_one_enable() const { return elemSample_alpha_to_one_enable; }
+ /**
+ * Gets the sample_coverage_enable element.
+ * @return a daeSmartRef to the sample_coverage_enable element.
+ */
+ const domSample_coverage_enableRef getSample_coverage_enable() const { return elemSample_coverage_enable; }
+ /**
+ * Gets the scissor_test_enable element.
+ * @return a daeSmartRef to the scissor_test_enable element.
+ */
+ const domScissor_test_enableRef getScissor_test_enable() const { return elemScissor_test_enable; }
+ /**
+ * Gets the stencil_test_enable element.
+ * @return a daeSmartRef to the stencil_test_enable element.
+ */
+ const domStencil_test_enableRef getStencil_test_enable() const { return elemStencil_test_enable; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domGles_pipeline_settings(DAE& dae) : daeElement(dae), elemAlpha_func(), elemBlend_func(), elemClip_plane(), elemColor_mask(), elemCull_face(), elemDepth_func(), elemDepth_mask(), elemDepth_range(), elemFog_color(), elemFog_density(), elemFog_mode(), elemFog_start(), elemFog_end(), elemFront_face(), elemLogic_op(), elemLight_ambient(), elemLight_diffuse(), elemLight_specular(), elemLight_position(), elemLight_constant_attenuation(), elemLight_linear_attenuation(), elemLight_quadratic_attenuation(), elemLight_spot_cutoff(), elemLight_spot_direction(), elemLight_spot_exponent(), elemLight_model_ambient(), elemLine_width(), elemMaterial_ambient(), elemMaterial_diffuse(), elemMaterial_emission(), elemMaterial_shininess(), elemMaterial_specular(), elemModel_view_matrix(), elemPoint_distance_attenuation(), elemPoint_fade_threshold_size(), elemPoint_size(), elemPoint_size_min(), elemPoint_size_max(), elemPolygon_offset(), elemProjection_matrix(), elemScissor(), elemShade_model(), elemStencil_func(), elemStencil_mask(), elemStencil_op(), elemTexture_pipeline(), elemAlpha_test_enable(), elemBlend_enable(), elemClip_plane_enable(), elemColor_logic_op_enable(), elemColor_material_enable(), elemCull_face_enable(), elemDepth_test_enable(), elemDither_enable(), elemFog_enable(), elemLight_enable(), elemLighting_enable(), elemLight_model_two_side_enable(), elemLine_smooth_enable(), elemMultisample_enable(), elemNormalize_enable(), elemPoint_smooth_enable(), elemPolygon_offset_fill_enable(), elemRescale_normal_enable(), elemSample_alpha_to_coverage_enable(), elemSample_alpha_to_one_enable(), elemSample_coverage_enable(), elemScissor_test_enable(), elemStencil_test_enable() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGles_pipeline_settings() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGles_pipeline_settings &operator=( const domGles_pipeline_settings &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domGles_sampler.h b/1.4.0/dom/include/1.5/dom/domGles_sampler.h
new file mode 100644
index 0000000..236ef00
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domGles_sampler.h
@@ -0,0 +1,133 @@
+#ifndef __dom150Gles_sampler_h__
+#define __dom150Gles_sampler_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domGles_sampler_states.h>
+#include <1.5/dom/domInstance_image.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * Sampling state that can be sharable between samplers because there is often
+ * heavy re-use
+ */
+class domGles_sampler : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLES_SAMPLER; }
+ static daeInt ID() { return 268; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domTexcoord;
+
+ typedef daeSmartRef<domTexcoord> domTexcoordRef;
+ typedef daeTArray<domTexcoordRef> domTexcoord_Array;
+
+ class domTexcoord : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TEXCOORD; }
+ static daeInt ID() { return 269; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+ xsNCName attrSemantic;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the semantic attribute.
+ * @return Returns a xsNCName of the semantic attribute.
+ */
+ xsNCName getSemantic() const { return attrSemantic; }
+ /**
+ * Sets the semantic attribute.
+ * @param atSemantic The new value for the semantic attribute.
+ */
+ void setSemantic( xsNCName atSemantic ) { *(daeStringRef*)&attrSemantic = atSemantic; _validAttributeArray[0] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTexcoord(DAE& dae) : daeElement(dae), attrSemantic() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTexcoord() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTexcoord &operator=( const domTexcoord &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+ domInstance_imageRef elemInstance_image;
+ domTexcoordRef elemTexcoord;
+ domGles_sampler_statesRef elemGles_sampler_states;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the instance_image element.
+ * @return a daeSmartRef to the instance_image element.
+ */
+ const domInstance_imageRef getInstance_image() const { return elemInstance_image; }
+ /**
+ * Gets the texcoord element.
+ * @return a daeSmartRef to the texcoord element.
+ */
+ const domTexcoordRef getTexcoord() const { return elemTexcoord; }
+ /**
+ * Gets the gles_sampler_states element.
+ * @return a daeSmartRef to the gles_sampler_states element.
+ */
+ const domGles_sampler_statesRef getGles_sampler_states() const { return elemGles_sampler_states; }
+protected:
+ /**
+ * Constructor
+ */
+ domGles_sampler(DAE& dae) : daeElement(dae), elemInstance_image(), elemTexcoord(), elemGles_sampler_states() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGles_sampler() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGles_sampler &operator=( const domGles_sampler &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domGles_sampler_states.h b/1.4.0/dom/include/1.5/dom/domGles_sampler_states.h
new file mode 100644
index 0000000..49fc9a3
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domGles_sampler_states.h
@@ -0,0 +1,518 @@
+#ifndef __dom150Gles_sampler_states_h__
+#define __dom150Gles_sampler_states_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domGles_sampler_states : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLES_SAMPLER_STATES; }
+ static daeInt ID() { return 847; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domWrap_s;
+
+ typedef daeSmartRef<domWrap_s> domWrap_sRef;
+ typedef daeTArray<domWrap_sRef> domWrap_s_Array;
+
+ class domWrap_s : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::WRAP_S; }
+ static daeInt ID() { return 848; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domGles_sampler_wrap of the value.
+ */
+ domGles_sampler_wrap& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domGles_sampler_wrap& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domGles_sampler_wrap value of the text data of this element.
+ */
+ domGles_sampler_wrap _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domWrap_s(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domWrap_s() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domWrap_s &operator=( const domWrap_s &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domWrap_t;
+
+ typedef daeSmartRef<domWrap_t> domWrap_tRef;
+ typedef daeTArray<domWrap_tRef> domWrap_t_Array;
+
+ class domWrap_t : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::WRAP_T; }
+ static daeInt ID() { return 849; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domGles_sampler_wrap of the value.
+ */
+ domGles_sampler_wrap& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domGles_sampler_wrap& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domGles_sampler_wrap value of the text data of this element.
+ */
+ domGles_sampler_wrap _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domWrap_t(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domWrap_t() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domWrap_t &operator=( const domWrap_t &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMinfilter;
+
+ typedef daeSmartRef<domMinfilter> domMinfilterRef;
+ typedef daeTArray<domMinfilterRef> domMinfilter_Array;
+
+ class domMinfilter : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MINFILTER; }
+ static daeInt ID() { return 850; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_sampler_min_filter of the value.
+ */
+ domFx_sampler_min_filter& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFx_sampler_min_filter& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFx_sampler_min_filter value of the text data of this element.
+ */
+ domFx_sampler_min_filter _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domMinfilter(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMinfilter() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMinfilter &operator=( const domMinfilter &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMagfilter;
+
+ typedef daeSmartRef<domMagfilter> domMagfilterRef;
+ typedef daeTArray<domMagfilterRef> domMagfilter_Array;
+
+ class domMagfilter : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MAGFILTER; }
+ static daeInt ID() { return 851; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_sampler_mag_filter of the value.
+ */
+ domFx_sampler_mag_filter& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFx_sampler_mag_filter& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFx_sampler_mag_filter value of the text data of this element.
+ */
+ domFx_sampler_mag_filter _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domMagfilter(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMagfilter() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMagfilter &operator=( const domMagfilter &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMipfilter;
+
+ typedef daeSmartRef<domMipfilter> domMipfilterRef;
+ typedef daeTArray<domMipfilterRef> domMipfilter_Array;
+
+ class domMipfilter : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MIPFILTER; }
+ static daeInt ID() { return 852; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_sampler_mip_filter of the value.
+ */
+ domFx_sampler_mip_filter& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFx_sampler_mip_filter& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFx_sampler_mip_filter value of the text data of this element.
+ */
+ domFx_sampler_mip_filter _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domMipfilter(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMipfilter() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMipfilter &operator=( const domMipfilter &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMip_max_level;
+
+ typedef daeSmartRef<domMip_max_level> domMip_max_levelRef;
+ typedef daeTArray<domMip_max_levelRef> domMip_max_level_Array;
+
+ class domMip_max_level : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MIP_MAX_LEVEL; }
+ static daeInt ID() { return 853; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a xsUnsignedByte of the value.
+ */
+ xsUnsignedByte& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const xsUnsignedByte& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The xsUnsignedByte value of the text data of this element.
+ */
+ xsUnsignedByte _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domMip_max_level(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMip_max_level() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMip_max_level &operator=( const domMip_max_level &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMip_bias;
+
+ typedef daeSmartRef<domMip_bias> domMip_biasRef;
+ typedef daeTArray<domMip_biasRef> domMip_bias_Array;
+
+ class domMip_bias : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MIP_BIAS; }
+ static daeInt ID() { return 854; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a xsFloat of the value.
+ */
+ xsFloat& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const xsFloat& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The xsFloat value of the text data of this element.
+ */
+ xsFloat _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domMip_bias(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMip_bias() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMip_bias &operator=( const domMip_bias &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+ domWrap_sRef elemWrap_s;
+ domWrap_tRef elemWrap_t;
+ domMinfilterRef elemMinfilter;
+ domMagfilterRef elemMagfilter;
+ domMipfilterRef elemMipfilter;
+ domMip_max_levelRef elemMip_max_level;
+ domMip_biasRef elemMip_bias;
+/**
+ * The extra element may appear any number of times. OpenGL ES extensions
+ * may be used here. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the wrap_s element.
+ * @return a daeSmartRef to the wrap_s element.
+ */
+ const domWrap_sRef getWrap_s() const { return elemWrap_s; }
+ /**
+ * Gets the wrap_t element.
+ * @return a daeSmartRef to the wrap_t element.
+ */
+ const domWrap_tRef getWrap_t() const { return elemWrap_t; }
+ /**
+ * Gets the minfilter element.
+ * @return a daeSmartRef to the minfilter element.
+ */
+ const domMinfilterRef getMinfilter() const { return elemMinfilter; }
+ /**
+ * Gets the magfilter element.
+ * @return a daeSmartRef to the magfilter element.
+ */
+ const domMagfilterRef getMagfilter() const { return elemMagfilter; }
+ /**
+ * Gets the mipfilter element.
+ * @return a daeSmartRef to the mipfilter element.
+ */
+ const domMipfilterRef getMipfilter() const { return elemMipfilter; }
+ /**
+ * Gets the mip_max_level element.
+ * @return a daeSmartRef to the mip_max_level element.
+ */
+ const domMip_max_levelRef getMip_max_level() const { return elemMip_max_level; }
+ /**
+ * Gets the mip_bias element.
+ * @return a daeSmartRef to the mip_bias element.
+ */
+ const domMip_biasRef getMip_bias() const { return elemMip_bias; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domGles_sampler_states(DAE& dae) : daeElement(dae), elemWrap_s(), elemWrap_t(), elemMinfilter(), elemMagfilter(), elemMipfilter(), elemMip_max_level(), elemMip_bias(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGles_sampler_states() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGles_sampler_states &operator=( const domGles_sampler_states &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domGles_texcombiner_argument_alpha.h b/1.4.0/dom/include/1.5/dom/domGles_texcombiner_argument_alpha.h
new file mode 100644
index 0000000..e83fcc6
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domGles_texcombiner_argument_alpha.h
@@ -0,0 +1,88 @@
+#ifndef __dom150Gles_texcombiner_argument_alpha_h__
+#define __dom150Gles_texcombiner_argument_alpha_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domGles_texcombiner_argument_alpha : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLES_TEXCOMBINER_ARGUMENT_ALPHA; }
+ static daeInt ID() { return 263; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+ domGles_texcombiner_source attrSource;
+ domGles_texcombiner_operand_alpha attrOperand;
+ xsNCName attrSampler;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the source attribute.
+ * @return Returns a domGles_texcombiner_source of the source attribute.
+ */
+ domGles_texcombiner_source getSource() const { return attrSource; }
+ /**
+ * Sets the source attribute.
+ * @param atSource The new value for the source attribute.
+ */
+ void setSource( domGles_texcombiner_source atSource ) { attrSource = atSource; }
+
+ /**
+ * Gets the operand attribute.
+ * @return Returns a domGles_texcombiner_operand_alpha of the operand attribute.
+ */
+ domGles_texcombiner_operand_alpha getOperand() const { return attrOperand; }
+ /**
+ * Sets the operand attribute.
+ * @param atOperand The new value for the operand attribute.
+ */
+ void setOperand( domGles_texcombiner_operand_alpha atOperand ) { attrOperand = atOperand; }
+
+ /**
+ * Gets the sampler attribute.
+ * @return Returns a xsNCName of the sampler attribute.
+ */
+ xsNCName getSampler() const { return attrSampler; }
+ /**
+ * Sets the sampler attribute.
+ * @param atSampler The new value for the sampler attribute.
+ */
+ void setSampler( xsNCName atSampler ) { *(daeStringRef*)&attrSampler = atSampler;}
+
+protected:
+ /**
+ * Constructor
+ */
+ domGles_texcombiner_argument_alpha(DAE& dae) : daeElement(dae), attrSource(), attrOperand(), attrSampler() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGles_texcombiner_argument_alpha() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGles_texcombiner_argument_alpha &operator=( const domGles_texcombiner_argument_alpha &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domGles_texcombiner_argument_rgb.h b/1.4.0/dom/include/1.5/dom/domGles_texcombiner_argument_rgb.h
new file mode 100644
index 0000000..fc1d3c0
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domGles_texcombiner_argument_rgb.h
@@ -0,0 +1,88 @@
+#ifndef __dom150Gles_texcombiner_argument_rgb_h__
+#define __dom150Gles_texcombiner_argument_rgb_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domGles_texcombiner_argument_rgb : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLES_TEXCOMBINER_ARGUMENT_RGB; }
+ static daeInt ID() { return 262; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+ domGles_texcombiner_source attrSource;
+ domGles_texcombiner_operand_rgb attrOperand;
+ xsNCName attrSampler;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the source attribute.
+ * @return Returns a domGles_texcombiner_source of the source attribute.
+ */
+ domGles_texcombiner_source getSource() const { return attrSource; }
+ /**
+ * Sets the source attribute.
+ * @param atSource The new value for the source attribute.
+ */
+ void setSource( domGles_texcombiner_source atSource ) { attrSource = atSource; }
+
+ /**
+ * Gets the operand attribute.
+ * @return Returns a domGles_texcombiner_operand_rgb of the operand attribute.
+ */
+ domGles_texcombiner_operand_rgb getOperand() const { return attrOperand; }
+ /**
+ * Sets the operand attribute.
+ * @param atOperand The new value for the operand attribute.
+ */
+ void setOperand( domGles_texcombiner_operand_rgb atOperand ) { attrOperand = atOperand; }
+
+ /**
+ * Gets the sampler attribute.
+ * @return Returns a xsNCName of the sampler attribute.
+ */
+ xsNCName getSampler() const { return attrSampler; }
+ /**
+ * Sets the sampler attribute.
+ * @param atSampler The new value for the sampler attribute.
+ */
+ void setSampler( xsNCName atSampler ) { *(daeStringRef*)&attrSampler = atSampler;}
+
+protected:
+ /**
+ * Constructor
+ */
+ domGles_texcombiner_argument_rgb(DAE& dae) : daeElement(dae), attrSource(), attrOperand(), attrSampler() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGles_texcombiner_argument_rgb() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGles_texcombiner_argument_rgb &operator=( const domGles_texcombiner_argument_rgb &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domGles_texcombiner_command.h b/1.4.0/dom/include/1.5/dom/domGles_texcombiner_command.h
new file mode 100644
index 0000000..fa4326a
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domGles_texcombiner_command.h
@@ -0,0 +1,73 @@
+#ifndef __dom150Gles_texcombiner_command_h__
+#define __dom150Gles_texcombiner_command_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domGles_texture_constant.h>
+#include <1.5/dom/domGles_texcombiner_command_rgb.h>
+#include <1.5/dom/domGles_texcombiner_command_alpha.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domGles_texcombiner_command : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLES_TEXCOMBINER_COMMAND; }
+ static daeInt ID() { return 266; }
+ virtual daeInt typeID() const { return ID(); }
+
+protected: // Elements
+ domGles_texture_constantRef elemConstant;
+ domGles_texcombiner_command_rgbRef elemRGB;
+ domGles_texcombiner_command_alphaRef elemAlpha;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the constant element.
+ * @return a daeSmartRef to the constant element.
+ */
+ const domGles_texture_constantRef getConstant() const { return elemConstant; }
+ /**
+ * Gets the RGB element.
+ * @return a daeSmartRef to the RGB element.
+ */
+ const domGles_texcombiner_command_rgbRef getRGB() const { return elemRGB; }
+ /**
+ * Gets the alpha element.
+ * @return a daeSmartRef to the alpha element.
+ */
+ const domGles_texcombiner_command_alphaRef getAlpha() const { return elemAlpha; }
+protected:
+ /**
+ * Constructor
+ */
+ domGles_texcombiner_command(DAE& dae) : daeElement(dae), elemConstant(), elemRGB(), elemAlpha() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGles_texcombiner_command() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGles_texcombiner_command &operator=( const domGles_texcombiner_command &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domGles_texcombiner_command_alpha.h b/1.4.0/dom/include/1.5/dom/domGles_texcombiner_command_alpha.h
new file mode 100644
index 0000000..97b20c9
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domGles_texcombiner_command_alpha.h
@@ -0,0 +1,89 @@
+#ifndef __dom150Gles_texcombiner_command_alpha_h__
+#define __dom150Gles_texcombiner_command_alpha_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domGles_texcombiner_argument_alpha.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domGles_texcombiner_command_alpha : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLES_TEXCOMBINER_COMMAND_ALPHA; }
+ static daeInt ID() { return 265; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+ domGles_texcombiner_operator_alpha attrOperator;
+ xsFloat attrScale;
+
+protected: // Element
+ domGles_texcombiner_argument_alpha_Array elemArgument_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the operator attribute.
+ * @return Returns a domGles_texcombiner_operator_alpha of the operator attribute.
+ */
+ domGles_texcombiner_operator_alpha getOperator() const { return attrOperator; }
+ /**
+ * Sets the operator attribute.
+ * @param atOperator The new value for the operator attribute.
+ */
+ void setOperator( domGles_texcombiner_operator_alpha atOperator ) { attrOperator = atOperator; }
+
+ /**
+ * Gets the scale attribute.
+ * @return Returns a xsFloat of the scale attribute.
+ */
+ xsFloat getScale() const { return attrScale; }
+ /**
+ * Sets the scale attribute.
+ * @param atScale The new value for the scale attribute.
+ */
+ void setScale( xsFloat atScale ) { attrScale = atScale; }
+
+ /**
+ * Gets the argument element array.
+ * @return Returns a reference to the array of argument elements.
+ */
+ domGles_texcombiner_argument_alpha_Array &getArgument_array() { return elemArgument_array; }
+ /**
+ * Gets the argument element array.
+ * @return Returns a constant reference to the array of argument elements.
+ */
+ const domGles_texcombiner_argument_alpha_Array &getArgument_array() const { return elemArgument_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domGles_texcombiner_command_alpha(DAE& dae) : daeElement(dae), attrOperator(), attrScale(), elemArgument_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGles_texcombiner_command_alpha() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGles_texcombiner_command_alpha &operator=( const domGles_texcombiner_command_alpha &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domGles_texcombiner_command_rgb.h b/1.4.0/dom/include/1.5/dom/domGles_texcombiner_command_rgb.h
new file mode 100644
index 0000000..0a64eb2
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domGles_texcombiner_command_rgb.h
@@ -0,0 +1,93 @@
+#ifndef __dom150Gles_texcombiner_command_rgb_h__
+#define __dom150Gles_texcombiner_command_rgb_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domGles_texcombiner_argument_rgb.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * Defines the RGB portion of a texture_pipeline command. This is a combiner-mode
+ * texturing operation.
+ */
+class domGles_texcombiner_command_rgb : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLES_TEXCOMBINER_COMMAND_RGB; }
+ static daeInt ID() { return 264; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+ domGles_texcombiner_operator_rgb attrOperator;
+ xsFloat attrScale;
+
+protected: // Element
+ domGles_texcombiner_argument_rgb_Array elemArgument_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the operator attribute.
+ * @return Returns a domGles_texcombiner_operator_rgb of the operator attribute.
+ */
+ domGles_texcombiner_operator_rgb getOperator() const { return attrOperator; }
+ /**
+ * Sets the operator attribute.
+ * @param atOperator The new value for the operator attribute.
+ */
+ void setOperator( domGles_texcombiner_operator_rgb atOperator ) { attrOperator = atOperator; }
+
+ /**
+ * Gets the scale attribute.
+ * @return Returns a xsFloat of the scale attribute.
+ */
+ xsFloat getScale() const { return attrScale; }
+ /**
+ * Sets the scale attribute.
+ * @param atScale The new value for the scale attribute.
+ */
+ void setScale( xsFloat atScale ) { attrScale = atScale; }
+
+ /**
+ * Gets the argument element array.
+ * @return Returns a reference to the array of argument elements.
+ */
+ domGles_texcombiner_argument_rgb_Array &getArgument_array() { return elemArgument_array; }
+ /**
+ * Gets the argument element array.
+ * @return Returns a constant reference to the array of argument elements.
+ */
+ const domGles_texcombiner_argument_rgb_Array &getArgument_array() const { return elemArgument_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domGles_texcombiner_command_rgb(DAE& dae) : daeElement(dae), attrOperator(), attrScale(), elemArgument_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGles_texcombiner_command_rgb() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGles_texcombiner_command_rgb &operator=( const domGles_texcombiner_command_rgb &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domGles_texenv_command.h b/1.4.0/dom/include/1.5/dom/domGles_texenv_command.h
new file mode 100644
index 0000000..8b462e2
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domGles_texenv_command.h
@@ -0,0 +1,84 @@
+#ifndef __dom150Gles_texenv_command_h__
+#define __dom150Gles_texenv_command_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domGles_texture_constant.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domGles_texenv_command : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLES_TEXENV_COMMAND; }
+ static daeInt ID() { return 261; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+ domGles_texenv_mode attrOperator;
+ xsNCName attrSampler;
+
+protected: // Element
+ domGles_texture_constantRef elemConstant;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the operator attribute.
+ * @return Returns a domGles_texenv_mode of the operator attribute.
+ */
+ domGles_texenv_mode getOperator() const { return attrOperator; }
+ /**
+ * Sets the operator attribute.
+ * @param atOperator The new value for the operator attribute.
+ */
+ void setOperator( domGles_texenv_mode atOperator ) { attrOperator = atOperator; }
+
+ /**
+ * Gets the sampler attribute.
+ * @return Returns a xsNCName of the sampler attribute.
+ */
+ xsNCName getSampler() const { return attrSampler; }
+ /**
+ * Sets the sampler attribute.
+ * @param atSampler The new value for the sampler attribute.
+ */
+ void setSampler( xsNCName atSampler ) { *(daeStringRef*)&attrSampler = atSampler;}
+
+ /**
+ * Gets the constant element.
+ * @return a daeSmartRef to the constant element.
+ */
+ const domGles_texture_constantRef getConstant() const { return elemConstant; }
+protected:
+ /**
+ * Constructor
+ */
+ domGles_texenv_command(DAE& dae) : daeElement(dae), attrOperator(), attrSampler(), elemConstant() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGles_texenv_command() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGles_texenv_command &operator=( const domGles_texenv_command &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domGles_texture_constant.h b/1.4.0/dom/include/1.5/dom/domGles_texture_constant.h
new file mode 100644
index 0000000..f30848f
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domGles_texture_constant.h
@@ -0,0 +1,76 @@
+#ifndef __dom150Gles_texture_constant_h__
+#define __dom150Gles_texture_constant_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domGles_texture_constant : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLES_TEXTURE_CONSTANT; }
+ static daeInt ID() { return 260; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+ domFloat4 attrValue;
+ xsNCName attrParam;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the value attribute.
+ * @return Returns a domFloat4 of the value attribute.
+ */
+ domFloat4 getValue() const { return attrValue; }
+ /**
+ * Sets the value attribute.
+ * @param atValue The new value for the value attribute.
+ */
+ void setValue( domFloat4 atValue ) { attrValue = atValue; }
+
+ /**
+ * Gets the param attribute.
+ * @return Returns a xsNCName of the param attribute.
+ */
+ xsNCName getParam() const { return attrParam; }
+ /**
+ * Sets the param attribute.
+ * @param atParam The new value for the param attribute.
+ */
+ void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam;}
+
+protected:
+ /**
+ * Constructor
+ */
+ domGles_texture_constant(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGles_texture_constant() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGles_texture_constant &operator=( const domGles_texture_constant &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domGles_texture_pipeline.h b/1.4.0/dom/include/1.5/dom/domGles_texture_pipeline.h
new file mode 100644
index 0000000..c4aa4f8
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domGles_texture_pipeline.h
@@ -0,0 +1,147 @@
+#ifndef __dom150Gles_texture_pipeline_h__
+#define __dom150Gles_texture_pipeline_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domGles_texcombiner_command.h>
+#include <1.5/dom/domGles_texenv_command.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * Defines a set of texturing commands that will be converted into multitexturing
+ * operations using glTexEnv in regular and combiner mode.
+ */
+class domGles_texture_pipeline : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLES_TEXTURE_PIPELINE; }
+ static daeInt ID() { return 267; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attribute
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ domSid attrSid;
+
+protected: // Elements
+/**
+ * Defines a texture_pipeline command. This is a combiner-mode texturing operation.
+ * @see domTexcombiner
+ */
+ domGles_texcombiner_command_Array elemTexcombiner_array;
+/**
+ * Defines a texture_pipeline command. It is a simple noncombiner mode of
+ * texturing operations. @see domTexenv
+ */
+ domGles_texenv_command_Array elemTexenv_array;
+/**
+ * The extra element may appear any number of times. OpenGL ES extensions
+ * may be used here. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the texcombiner element array.
+ * @return Returns a reference to the array of texcombiner elements.
+ */
+ domGles_texcombiner_command_Array &getTexcombiner_array() { return elemTexcombiner_array; }
+ /**
+ * Gets the texcombiner element array.
+ * @return Returns a constant reference to the array of texcombiner elements.
+ */
+ const domGles_texcombiner_command_Array &getTexcombiner_array() const { return elemTexcombiner_array; }
+ /**
+ * Gets the texenv element array.
+ * @return Returns a reference to the array of texenv elements.
+ */
+ domGles_texenv_command_Array &getTexenv_array() { return elemTexenv_array; }
+ /**
+ * Gets the texenv element array.
+ * @return Returns a constant reference to the array of texenv elements.
+ */
+ const domGles_texenv_command_Array &getTexenv_array() const { return elemTexenv_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domGles_texture_pipeline(DAE& dae) : daeElement(dae), attrSid(), elemTexcombiner_array(), elemTexenv_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGles_texture_pipeline() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGles_texture_pipeline &operator=( const domGles_texture_pipeline &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domGlsl_array.h b/1.4.0/dom/include/1.5/dom/domGlsl_array.h
new file mode 100644
index 0000000..ca81015
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domGlsl_array.h
@@ -0,0 +1,84 @@
+#ifndef __dom150Glsl_array_h__
+#define __dom150Glsl_array_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domGlsl_value.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The glsl_newarray_type element is used to creates a parameter of a one-dimensional
+ * array type.
+ */
+class domGlsl_array : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLSL_ARRAY; }
+ static daeInt ID() { return 227; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attribute
+/**
+ * The length attribute specifies the length of the array.
+ */
+ xsPositiveInteger attrLength;
+
+protected: // Element
+ domGlsl_value_Array elemGlsl_value_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the length attribute.
+ * @return Returns a xsPositiveInteger of the length attribute.
+ */
+ xsPositiveInteger getLength() const { return attrLength; }
+ /**
+ * Sets the length attribute.
+ * @param atLength The new value for the length attribute.
+ */
+ void setLength( xsPositiveInteger atLength ) { attrLength = atLength; }
+
+ /**
+ * Gets the glsl_value element array.
+ * @return Returns a reference to the array of glsl_value elements.
+ */
+ domGlsl_value_Array &getGlsl_value_array() { return elemGlsl_value_array; }
+ /**
+ * Gets the glsl_value element array.
+ * @return Returns a constant reference to the array of glsl_value elements.
+ */
+ const domGlsl_value_Array &getGlsl_value_array() const { return elemGlsl_value_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domGlsl_array(DAE& dae) : daeElement(dae), attrLength(), elemGlsl_value_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGlsl_array() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGlsl_array &operator=( const domGlsl_array &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domGlsl_newparam.h b/1.4.0/dom/include/1.5/dom/domGlsl_newparam.h
new file mode 100644
index 0000000..e7e6ca2
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domGlsl_newparam.h
@@ -0,0 +1,214 @@
+#ifndef __dom150Glsl_newparam_h__
+#define __dom150Glsl_newparam_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domGlsl_value.h>
+#include <1.5/dom/domFx_annotate.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domGlsl_newparam : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLSL_NEWPARAM; }
+ static daeInt ID() { return 228; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domSemantic;
+
+ typedef daeSmartRef<domSemantic> domSemanticRef;
+ typedef daeTArray<domSemanticRef> domSemantic_Array;
+
+ class domSemantic : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SEMANTIC; }
+ static daeInt ID() { return 229; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsNCName of the value.
+ */
+ xsNCName getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; }
+
+ protected: // Value
+ /**
+ * The xsNCName value of the text data of this element.
+ */
+ xsNCName _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domSemantic(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSemantic() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSemantic &operator=( const domSemantic &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domModifier;
+
+ typedef daeSmartRef<domModifier> domModifierRef;
+ typedef daeTArray<domModifierRef> domModifier_Array;
+
+ class domModifier : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MODIFIER; }
+ static daeInt ID() { return 230; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_modifier of the value.
+ */
+ domFx_modifier& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFx_modifier& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFx_modifier value of the text data of this element.
+ */
+ domFx_modifier _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domModifier(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domModifier() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domModifier &operator=( const domModifier &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attribute
+ domSid attrSid;
+
+protected: // Elements
+ domFx_annotate_Array elemAnnotate_array;
+ domSemanticRef elemSemantic;
+ domModifierRef elemModifier;
+ domGlsl_valueRef elemGlsl_value;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the annotate element array.
+ * @return Returns a reference to the array of annotate elements.
+ */
+ domFx_annotate_Array &getAnnotate_array() { return elemAnnotate_array; }
+ /**
+ * Gets the annotate element array.
+ * @return Returns a constant reference to the array of annotate elements.
+ */
+ const domFx_annotate_Array &getAnnotate_array() const { return elemAnnotate_array; }
+ /**
+ * Gets the semantic element.
+ * @return a daeSmartRef to the semantic element.
+ */
+ const domSemanticRef getSemantic() const { return elemSemantic; }
+ /**
+ * Gets the modifier element.
+ * @return a daeSmartRef to the modifier element.
+ */
+ const domModifierRef getModifier() const { return elemModifier; }
+ /**
+ * Gets the glsl_value element.
+ * @return a daeSmartRef to the glsl_value element.
+ */
+ const domGlsl_valueRef getGlsl_value() const { return elemGlsl_value; }
+protected:
+ /**
+ * Constructor
+ */
+ domGlsl_newparam(DAE& dae) : daeElement(dae), attrSid(), elemAnnotate_array(), elemSemantic(), elemModifier(), elemGlsl_value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGlsl_newparam() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGlsl_newparam &operator=( const domGlsl_newparam &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domGlsl_program.h b/1.4.0/dom/include/1.5/dom/domGlsl_program.h
new file mode 100644
index 0000000..5b2061a
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domGlsl_program.h
@@ -0,0 +1,433 @@
+#ifndef __dom150Glsl_program_h__
+#define __dom150Glsl_program_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domGlsl_shader.h>
+#include <1.5/dom/domGlsl_value.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * a program is one or more shaders linked together
+ */
+class domGlsl_program : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLSL_PROGRAM; }
+ static daeInt ID() { return 232; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domBind_attribute;
+
+ typedef daeSmartRef<domBind_attribute> domBind_attributeRef;
+ typedef daeTArray<domBind_attributeRef> domBind_attribute_Array;
+
+/**
+ * Bind attributes. If not bound then it is assumed to be the same semantic
+ * as the variable name. If the variable name is prefixed with "gl_" or "sv_"
+ * then the prefix may be ignored.
+ */
+ class domBind_attribute : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BIND_ATTRIBUTE; }
+ static daeInt ID() { return 233; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domSemantic;
+
+ typedef daeSmartRef<domSemantic> domSemanticRef;
+ typedef daeTArray<domSemanticRef> domSemantic_Array;
+
+/**
+ * Bind attributes to semantics to enable semantic association to attributes
+ * that are not redeclared as parameters. Without this, the semantic is the
+ * same as the attribute's name.
+ */
+ class domSemantic : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SEMANTIC; }
+ static daeInt ID() { return 234; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsToken of the value.
+ */
+ xsToken getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsToken val ) { *(daeStringRef*)&_value = val; }
+
+ protected: // Value
+ /**
+ * The xsToken value of the text data of this element.
+ */
+ xsToken _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domSemantic(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSemantic() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSemantic &operator=( const domSemantic &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+ protected: // Attribute
+/**
+ * shader variable name
+ */
+ xsToken attrSymbol;
+
+ protected: // Element
+/**
+ * Bind attributes to semantics to enable semantic association to attributes
+ * that are not redeclared as parameters. Without this, the semantic is the
+ * same as the attribute's name. @see domSemantic
+ */
+ domSemanticRef elemSemantic;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the symbol attribute.
+ * @return Returns a xsToken of the symbol attribute.
+ */
+ xsToken getSymbol() const { return attrSymbol; }
+ /**
+ * Sets the symbol attribute.
+ * @param atSymbol The new value for the symbol attribute.
+ */
+ void setSymbol( xsToken atSymbol ) { *(daeStringRef*)&attrSymbol = atSymbol; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the semantic element.
+ * @return a daeSmartRef to the semantic element.
+ */
+ const domSemanticRef getSemantic() const { return elemSemantic; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBind_attribute(DAE& dae) : daeElement(dae), attrSymbol(), elemSemantic() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBind_attribute() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBind_attribute &operator=( const domBind_attribute &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBind_uniform;
+
+ typedef daeSmartRef<domBind_uniform> domBind_uniformRef;
+ typedef daeTArray<domBind_uniformRef> domBind_uniform_Array;
+
+/**
+ * Bind uniforms and samplers
+ */
+ class domBind_uniform : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BIND_UNIFORM; }
+ static daeInt ID() { return 235; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domParam;
+
+ typedef daeSmartRef<domParam> domParamRef;
+ typedef daeTArray<domParamRef> domParam_Array;
+
+/**
+ * Bind uniforms to parameters
+ */
+ class domParam : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PARAM; }
+ static daeInt ID() { return 236; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+/**
+ * SID of parameter
+ */
+ xsNCName attrRef;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the ref attribute.
+ * @return Returns a xsNCName of the ref attribute.
+ */
+ xsNCName getRef() const { return attrRef; }
+ /**
+ * Sets the ref attribute.
+ * @param atRef The new value for the ref attribute.
+ */
+ void setRef( xsNCName atRef ) { *(daeStringRef*)&attrRef = atRef; _validAttributeArray[0] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domParam(DAE& dae) : daeElement(dae), attrRef() {}
+ /**
+ * Destructor
+ */
+ virtual ~domParam() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domParam &operator=( const domParam &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+ protected: // Attribute
+/**
+ * shader variable name
+ */
+ xsToken attrSymbol;
+
+ protected: // Elements
+/**
+ * Bind uniforms to parameters @see domParam
+ */
+ domParamRef elemParam;
+ domGlsl_valueRef elemGlsl_value;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the symbol attribute.
+ * @return Returns a xsToken of the symbol attribute.
+ */
+ xsToken getSymbol() const { return attrSymbol; }
+ /**
+ * Sets the symbol attribute.
+ * @param atSymbol The new value for the symbol attribute.
+ */
+ void setSymbol( xsToken atSymbol ) { *(daeStringRef*)&attrSymbol = atSymbol; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the param element.
+ * @return a daeSmartRef to the param element.
+ */
+ const domParamRef getParam() const { return elemParam; }
+ /**
+ * Gets the glsl_value element.
+ * @return a daeSmartRef to the glsl_value element.
+ */
+ const domGlsl_valueRef getGlsl_value() const { return elemGlsl_value; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBind_uniform(DAE& dae) : daeElement(dae), attrSymbol(), elemParam(), elemGlsl_value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBind_uniform() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBind_uniform &operator=( const domBind_uniform &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+/**
+ * compile shader stages @see domShader
+ */
+ domGlsl_shader_Array elemShader_array;
+/**
+ * Bind attributes. If not bound then it is assumed to be the same semantic
+ * as the variable name. If the variable name is prefixed with "gl_" or "sv_"
+ * then the prefix may be ignored. @see domBind_attribute
+ */
+ domBind_attribute_Array elemBind_attribute_array;
+/**
+ * Bind uniforms and samplers @see domBind_uniform
+ */
+ domBind_uniform_Array elemBind_uniform_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the shader element array.
+ * @return Returns a reference to the array of shader elements.
+ */
+ domGlsl_shader_Array &getShader_array() { return elemShader_array; }
+ /**
+ * Gets the shader element array.
+ * @return Returns a constant reference to the array of shader elements.
+ */
+ const domGlsl_shader_Array &getShader_array() const { return elemShader_array; }
+ /**
+ * Gets the bind_attribute element array.
+ * @return Returns a reference to the array of bind_attribute elements.
+ */
+ domBind_attribute_Array &getBind_attribute_array() { return elemBind_attribute_array; }
+ /**
+ * Gets the bind_attribute element array.
+ * @return Returns a constant reference to the array of bind_attribute elements.
+ */
+ const domBind_attribute_Array &getBind_attribute_array() const { return elemBind_attribute_array; }
+ /**
+ * Gets the bind_uniform element array.
+ * @return Returns a reference to the array of bind_uniform elements.
+ */
+ domBind_uniform_Array &getBind_uniform_array() { return elemBind_uniform_array; }
+ /**
+ * Gets the bind_uniform element array.
+ * @return Returns a constant reference to the array of bind_uniform elements.
+ */
+ const domBind_uniform_Array &getBind_uniform_array() const { return elemBind_uniform_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domGlsl_program(DAE& dae) : daeElement(dae), elemShader_array(), elemBind_attribute_array(), elemBind_uniform_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGlsl_program() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGlsl_program &operator=( const domGlsl_program &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domGlsl_shader.h b/1.4.0/dom/include/1.5/dom/domGlsl_shader.h
new file mode 100644
index 0000000..1f55cf3
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domGlsl_shader.h
@@ -0,0 +1,97 @@
+#ifndef __dom150Glsl_shader_h__
+#define __dom150Glsl_shader_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domFx_sources.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * Identify code fragments and bind their parameters to effect parameters
+ * to identify how their values will be filled in
+ */
+class domGlsl_shader : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLSL_SHADER; }
+ static daeInt ID() { return 231; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attribute
+/**
+ * GPU Pipeline stage for this programmable shader. Current standards are
+ * VERTEX (vertex shader), FRAGMENT (pixel or fragment shader). These are
+ * recognized by both GLSL and CG
+ */
+ domFx_pipeline_stage attrStage;
+
+protected: // Elements
+/**
+ * sid of the code or include element which provides the source for this shader.
+ * Code may come from local or library_code. @see domSources
+ */
+ domFx_sourcesRef elemSources;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the stage attribute.
+ * @return Returns a domFx_pipeline_stage of the stage attribute.
+ */
+ domFx_pipeline_stage getStage() const { return attrStage; }
+ /**
+ * Sets the stage attribute.
+ * @param atStage The new value for the stage attribute.
+ */
+ void setStage( domFx_pipeline_stage atStage ) { attrStage = atStage; }
+
+ /**
+ * Gets the sources element.
+ * @return a daeSmartRef to the sources element.
+ */
+ const domFx_sourcesRef getSources() const { return elemSources; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domGlsl_shader(DAE& dae) : daeElement(dae), attrStage(), elemSources(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGlsl_shader() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGlsl_shader &operator=( const domGlsl_shader &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domGlsl_value.h b/1.4.0/dom/include/1.5/dom/domGlsl_value.h
new file mode 100644
index 0000000..4b32c5c
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domGlsl_value.h
@@ -0,0 +1,1155 @@
+#ifndef __dom150Glsl_value_h__
+#define __dom150Glsl_value_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domFx_sampler1D.h>
+#include <1.5/dom/domFx_sampler2D.h>
+#include <1.5/dom/domFx_sampler3D.h>
+#include <1.5/dom/domFx_samplerCUBE.h>
+#include <1.5/dom/domFx_samplerRECT.h>
+#include <1.5/dom/domFx_samplerDEPTH.h>
+#include <1.5/dom/domGlsl_array.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * A group that specifies the allowable types for GLSL profile parameters.
+ */
+class domGlsl_value : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLSL_VALUE; }
+ static daeInt ID() { return 747; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domBool;
+
+ typedef daeSmartRef<domBool> domBoolRef;
+ typedef daeTArray<domBoolRef> domBool_Array;
+
+ class domBool : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL; }
+ static daeInt ID() { return 748; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a xsBoolean of the value.
+ */
+ xsBoolean& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const xsBoolean& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The xsBoolean value of the text data of this element.
+ */
+ xsBoolean _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBool(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool &operator=( const domBool &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool2;
+
+ typedef daeSmartRef<domBool2> domBool2Ref;
+ typedef daeTArray<domBool2Ref> domBool2_Array;
+
+ class domBool2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL2; }
+ static daeInt ID() { return 749; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domBool2 of the value.
+ */
+ ColladaDOM150::domBool2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domBool2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domBool2 value of the text data of this element.
+ */
+ ColladaDOM150::domBool2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBool2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool2 &operator=( const domBool2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool3;
+
+ typedef daeSmartRef<domBool3> domBool3Ref;
+ typedef daeTArray<domBool3Ref> domBool3_Array;
+
+ class domBool3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL3; }
+ static daeInt ID() { return 750; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domBool3 of the value.
+ */
+ ColladaDOM150::domBool3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domBool3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domBool3 value of the text data of this element.
+ */
+ ColladaDOM150::domBool3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBool3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool3 &operator=( const domBool3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool4;
+
+ typedef daeSmartRef<domBool4> domBool4Ref;
+ typedef daeTArray<domBool4Ref> domBool4_Array;
+
+ class domBool4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL4; }
+ static daeInt ID() { return 751; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domBool4 of the value.
+ */
+ ColladaDOM150::domBool4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domBool4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domBool4 value of the text data of this element.
+ */
+ ColladaDOM150::domBool4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBool4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool4 &operator=( const domBool4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat;
+
+ typedef daeSmartRef<domFloat> domFloatRef;
+ typedef daeTArray<domFloatRef> domFloat_Array;
+
+ class domFloat : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT; }
+ static daeInt ID() { return 752; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat of the value.
+ */
+ ColladaDOM150::domFloat& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat value of the text data of this element.
+ */
+ ColladaDOM150::domFloat _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat &operator=( const domFloat &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat2;
+
+ typedef daeSmartRef<domFloat2> domFloat2Ref;
+ typedef daeTArray<domFloat2Ref> domFloat2_Array;
+
+ class domFloat2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2; }
+ static daeInt ID() { return 753; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat2 of the value.
+ */
+ ColladaDOM150::domFloat2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat2 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat2 &operator=( const domFloat2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat3;
+
+ typedef daeSmartRef<domFloat3> domFloat3Ref;
+ typedef daeTArray<domFloat3Ref> domFloat3_Array;
+
+ class domFloat3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3; }
+ static daeInt ID() { return 754; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat3 of the value.
+ */
+ ColladaDOM150::domFloat3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat3 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat3 &operator=( const domFloat3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat4;
+
+ typedef daeSmartRef<domFloat4> domFloat4Ref;
+ typedef daeTArray<domFloat4Ref> domFloat4_Array;
+
+ class domFloat4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4; }
+ static daeInt ID() { return 755; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat4 of the value.
+ */
+ ColladaDOM150::domFloat4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat4 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat4 &operator=( const domFloat4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat2x2;
+
+ typedef daeSmartRef<domFloat2x2> domFloat2x2Ref;
+ typedef daeTArray<domFloat2x2Ref> domFloat2x2_Array;
+
+ class domFloat2x2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2X2; }
+ static daeInt ID() { return 756; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat2x2 of the value.
+ */
+ ColladaDOM150::domFloat2x2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat2x2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat2x2 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat2x2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat2x2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat2x2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat2x2 &operator=( const domFloat2x2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat3x3;
+
+ typedef daeSmartRef<domFloat3x3> domFloat3x3Ref;
+ typedef daeTArray<domFloat3x3Ref> domFloat3x3_Array;
+
+ class domFloat3x3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3X3; }
+ static daeInt ID() { return 757; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat3x3 of the value.
+ */
+ ColladaDOM150::domFloat3x3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat3x3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat3x3 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat3x3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat3x3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat3x3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat3x3 &operator=( const domFloat3x3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat4x4;
+
+ typedef daeSmartRef<domFloat4x4> domFloat4x4Ref;
+ typedef daeTArray<domFloat4x4Ref> domFloat4x4_Array;
+
+ class domFloat4x4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4X4; }
+ static daeInt ID() { return 758; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat4x4 of the value.
+ */
+ ColladaDOM150::domFloat4x4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat4x4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat4x4 value of the text data of this element.
+ */
+ ColladaDOM150::domFloat4x4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat4x4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat4x4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat4x4 &operator=( const domFloat4x4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt;
+
+ typedef daeSmartRef<domInt> domIntRef;
+ typedef daeTArray<domIntRef> domInt_Array;
+
+ class domInt : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT; }
+ static daeInt ID() { return 759; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domInt of the value.
+ */
+ ColladaDOM150::domInt& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domInt& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domInt value of the text data of this element.
+ */
+ ColladaDOM150::domInt _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domInt(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt &operator=( const domInt &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt2;
+
+ typedef daeSmartRef<domInt2> domInt2Ref;
+ typedef daeTArray<domInt2Ref> domInt2_Array;
+
+ class domInt2 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT2; }
+ static daeInt ID() { return 760; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domInt2 of the value.
+ */
+ ColladaDOM150::domInt2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domInt2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domInt2 value of the text data of this element.
+ */
+ ColladaDOM150::domInt2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domInt2(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt2() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt2 &operator=( const domInt2 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt3;
+
+ typedef daeSmartRef<domInt3> domInt3Ref;
+ typedef daeTArray<domInt3Ref> domInt3_Array;
+
+ class domInt3 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT3; }
+ static daeInt ID() { return 761; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domInt3 of the value.
+ */
+ ColladaDOM150::domInt3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domInt3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domInt3 value of the text data of this element.
+ */
+ ColladaDOM150::domInt3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domInt3(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt3 &operator=( const domInt3 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt4;
+
+ typedef daeSmartRef<domInt4> domInt4Ref;
+ typedef daeTArray<domInt4Ref> domInt4_Array;
+
+ class domInt4 : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT4; }
+ static daeInt ID() { return 762; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domInt4 of the value.
+ */
+ ColladaDOM150::domInt4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domInt4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domInt4 value of the text data of this element.
+ */
+ ColladaDOM150::domInt4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domInt4(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt4 &operator=( const domInt4 &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domEnum;
+
+ typedef daeSmartRef<domEnum> domEnumRef;
+ typedef daeTArray<domEnumRef> domEnum_Array;
+
+ class domEnum : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ENUM; }
+ static daeInt ID() { return 763; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domGl_enumeration of the value.
+ */
+ domGl_enumeration& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domGl_enumeration& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domGl_enumeration value of the text data of this element.
+ */
+ domGl_enumeration _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domEnum(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domEnum() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domEnum &operator=( const domEnum &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+ domBoolRef elemBool;
+ domBool2Ref elemBool2;
+ domBool3Ref elemBool3;
+ domBool4Ref elemBool4;
+ domFloatRef elemFloat;
+ domFloat2Ref elemFloat2;
+ domFloat3Ref elemFloat3;
+ domFloat4Ref elemFloat4;
+ domFloat2x2Ref elemFloat2x2;
+ domFloat3x3Ref elemFloat3x3;
+ domFloat4x4Ref elemFloat4x4;
+ domIntRef elemInt;
+ domInt2Ref elemInt2;
+ domInt3Ref elemInt3;
+ domInt4Ref elemInt4;
+ domFx_sampler1DRef elemSampler1D;
+ domFx_sampler2DRef elemSampler2D;
+ domFx_sampler3DRef elemSampler3D;
+ domFx_samplerCUBERef elemSamplerCUBE;
+ domFx_samplerRECTRef elemSamplerRECT;
+ domFx_samplerDEPTHRef elemSamplerDEPTH;
+ domEnumRef elemEnum;
+ domGlsl_arrayRef elemArray;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the bool element.
+ * @return a daeSmartRef to the bool element.
+ */
+ const domBoolRef getBool() const { return elemBool; }
+ /**
+ * Gets the bool2 element.
+ * @return a daeSmartRef to the bool2 element.
+ */
+ const domBool2Ref getBool2() const { return elemBool2; }
+ /**
+ * Gets the bool3 element.
+ * @return a daeSmartRef to the bool3 element.
+ */
+ const domBool3Ref getBool3() const { return elemBool3; }
+ /**
+ * Gets the bool4 element.
+ * @return a daeSmartRef to the bool4 element.
+ */
+ const domBool4Ref getBool4() const { return elemBool4; }
+ /**
+ * Gets the float element.
+ * @return a daeSmartRef to the float element.
+ */
+ const domFloatRef getFloat() const { return elemFloat; }
+ /**
+ * Gets the float2 element.
+ * @return a daeSmartRef to the float2 element.
+ */
+ const domFloat2Ref getFloat2() const { return elemFloat2; }
+ /**
+ * Gets the float3 element.
+ * @return a daeSmartRef to the float3 element.
+ */
+ const domFloat3Ref getFloat3() const { return elemFloat3; }
+ /**
+ * Gets the float4 element.
+ * @return a daeSmartRef to the float4 element.
+ */
+ const domFloat4Ref getFloat4() const { return elemFloat4; }
+ /**
+ * Gets the float2x2 element.
+ * @return a daeSmartRef to the float2x2 element.
+ */
+ const domFloat2x2Ref getFloat2x2() const { return elemFloat2x2; }
+ /**
+ * Gets the float3x3 element.
+ * @return a daeSmartRef to the float3x3 element.
+ */
+ const domFloat3x3Ref getFloat3x3() const { return elemFloat3x3; }
+ /**
+ * Gets the float4x4 element.
+ * @return a daeSmartRef to the float4x4 element.
+ */
+ const domFloat4x4Ref getFloat4x4() const { return elemFloat4x4; }
+ /**
+ * Gets the int element.
+ * @return a daeSmartRef to the int element.
+ */
+ const domIntRef getInt() const { return elemInt; }
+ /**
+ * Gets the int2 element.
+ * @return a daeSmartRef to the int2 element.
+ */
+ const domInt2Ref getInt2() const { return elemInt2; }
+ /**
+ * Gets the int3 element.
+ * @return a daeSmartRef to the int3 element.
+ */
+ const domInt3Ref getInt3() const { return elemInt3; }
+ /**
+ * Gets the int4 element.
+ * @return a daeSmartRef to the int4 element.
+ */
+ const domInt4Ref getInt4() const { return elemInt4; }
+ /**
+ * Gets the sampler1D element.
+ * @return a daeSmartRef to the sampler1D element.
+ */
+ const domFx_sampler1DRef getSampler1D() const { return elemSampler1D; }
+ /**
+ * Gets the sampler2D element.
+ * @return a daeSmartRef to the sampler2D element.
+ */
+ const domFx_sampler2DRef getSampler2D() const { return elemSampler2D; }
+ /**
+ * Gets the sampler3D element.
+ * @return a daeSmartRef to the sampler3D element.
+ */
+ const domFx_sampler3DRef getSampler3D() const { return elemSampler3D; }
+ /**
+ * Gets the samplerCUBE element.
+ * @return a daeSmartRef to the samplerCUBE element.
+ */
+ const domFx_samplerCUBERef getSamplerCUBE() const { return elemSamplerCUBE; }
+ /**
+ * Gets the samplerRECT element.
+ * @return a daeSmartRef to the samplerRECT element.
+ */
+ const domFx_samplerRECTRef getSamplerRECT() const { return elemSamplerRECT; }
+ /**
+ * Gets the samplerDEPTH element.
+ * @return a daeSmartRef to the samplerDEPTH element.
+ */
+ const domFx_samplerDEPTHRef getSamplerDEPTH() const { return elemSamplerDEPTH; }
+ /**
+ * Gets the enum element.
+ * @return a daeSmartRef to the enum element.
+ */
+ const domEnumRef getEnum() const { return elemEnum; }
+ /**
+ * Gets the array element.
+ * @return a daeSmartRef to the array element.
+ */
+ const domGlsl_arrayRef getArray() const { return elemArray; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domGlsl_value(DAE& dae) : daeElement(dae), elemBool(), elemBool2(), elemBool3(), elemBool4(), elemFloat(), elemFloat2(), elemFloat3(), elemFloat4(), elemFloat2x2(), elemFloat3x3(), elemFloat4x4(), elemInt(), elemInt2(), elemInt3(), elemInt4(), elemSampler1D(), elemSampler2D(), elemSampler3D(), elemSamplerCUBE(), elemSamplerRECT(), elemSamplerDEPTH(), elemEnum(), elemArray() {}
+ /**
+ * Destructor
+ */
+ virtual ~domGlsl_value() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domGlsl_value &operator=( const domGlsl_value &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domHyperbola.h b/1.4.0/dom/include/1.5/dom/domHyperbola.h
new file mode 100644
index 0000000..bfa07c8
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domHyperbola.h
@@ -0,0 +1,155 @@
+#ifndef __dom150Hyperbola_h__
+#define __dom150Hyperbola_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * Describes a branch of a hyperbola in 3D space. A hyperbola is defined
+ * by its major and minor radii and, as with any conic curve, is positioned
+ * in space with a right-handed coordinate system where: - the origin
+ * is the center of the hyperbola, - the "X Direction" defines the
+ * major axis, and - the "Y Direction" defines the minor axis. The origin,
+ * "X Direction" and "Y Direction" of this coordinate system define the
+ * plane of the hyperbola. The coordinate system is the local coordinate
+ * system of the hyperbola. The branch of the hyperbola described is the
+ * one located on the positive side of the major axis. The "main Direction"
+ * of the local coordinate system is a vector normal to the plane of the
+ * hyperbola. The axis, of which the origin and unit vector are respectively
+ * the origin and "main Direction" of the local coordinate system, is
+ * termed the "Axis" or "main Axis" of the hyperbola. The "main Direction"
+ * of the local coordinate system gives an explicit orientation to
+ * the hyperbola, determining the direction in which the parameter increases
+ * along the hyperbola. The Geom_Hyperbola hyperbola is parameterized
+ * as follows: P(U) = O + MajRad*Cosh(U)*XDir + MinRad*Sinh(U)*YDir,
+ * where: - P is the point of parameter U, - O, XDir and YDir are respectively
+ * the origin, "X Direction" and "Y Direction" of its local coordinate
+ * system, - MajRad and MinRad are the major and minor radii of the hyperbola.
+ * The "X Axis" of the local coordinate system therefore defines the origin
+ * of the parameter of the hyperbola. The parameter range is ] -infinite,
+ * +infinite [.
+ */
+class domHyperbola : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HYPERBOLA; }
+ static daeInt ID() { return 318; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domRadius;
+
+ typedef daeSmartRef<domRadius> domRadiusRef;
+ typedef daeTArray<domRadiusRef> domRadius_Array;
+
+ class domRadius : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::RADIUS; }
+ static daeInt ID() { return 319; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFloat2 of the value.
+ */
+ domFloat2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFloat2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFloat2 value of the text data of this element.
+ */
+ domFloat2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domRadius(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domRadius() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRadius &operator=( const domRadius &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+ domRadiusRef elemRadius;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the radius element.
+ * @return a daeSmartRef to the radius element.
+ */
+ const domRadiusRef getRadius() const { return elemRadius; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domHyperbola(DAE& dae) : daeElement(dae), elemRadius(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHyperbola() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHyperbola &operator=( const domHyperbola &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domIdref_array.h b/1.4.0/dom/include/1.5/dom/domIdref_array.h
new file mode 100644
index 0000000..936c1fb
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domIdref_array.h
@@ -0,0 +1,127 @@
+#ifndef __dom150Idref_array_h__
+#define __dom150Idref_array_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The IDREF_array element declares the storage for a homogenous array of
+ * ID reference values.
+ */
+class domIdref_array : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::IDREF_ARRAY; }
+ static daeInt ID() { return 6; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+/**
+ * The count attribute indicates the number of values in the array. Required
+ * attribute.
+ */
+ domUint attrCount;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the count attribute.
+ * @return Returns a domUint of the count attribute.
+ */
+ domUint getCount() const { return attrCount; }
+ /**
+ * Sets the count attribute.
+ * @param atCount The new value for the count attribute.
+ */
+ void setCount( domUint atCount ) { attrCount = atCount; }
+
+ /**
+ * Gets the _value array.
+ * @return Returns a xsIDREFS reference of the _value array.
+ */
+ xsIDREFS &getValue() { return _value; }
+ /**
+ * Gets the _value array.
+ * @return Returns a constant xsIDREFS reference of the _value array.
+ */
+ const xsIDREFS &getValue() const { return _value; }
+ /**
+ * Sets the _value array.
+ * @param val The new value for the _value array.
+ */
+ void setValue( const xsIDREFS &val ) { _value = val; }
+
+protected: // Value
+ /**
+ * The xsIDREFS value of the text data of this element.
+ */
+ xsIDREFS _value;
+protected:
+ /**
+ * Constructor
+ */
+ domIdref_array(DAE& dae) : daeElement(dae), attrId(), attrName(), attrCount(), _value(new xsIDREF(*this)) {}
+ /**
+ * Destructor
+ */
+ virtual ~domIdref_array() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domIdref_array &operator=( const domIdref_array &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domImage.h b/1.4.0/dom/include/1.5/dom/domImage.h
new file mode 100644
index 0000000..d24b2e1
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domImage.h
@@ -0,0 +1,2133 @@
+#ifndef __dom150Image_h__
+#define __dom150Image_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domImage_source.h>
+#include <1.5/dom/domImage_mips.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domImage : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::IMAGE; }
+ static daeInt ID() { return 60; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domRenderable;
+
+ typedef daeSmartRef<domRenderable> domRenderableRef;
+ typedef daeTArray<domRenderableRef> domRenderable_Array;
+
+/**
+ * This image is renderable if this element is used
+ */
+ class domRenderable : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::RENDERABLE; }
+ static daeInt ID() { return 61; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+/**
+ * As a render target, true = shared across all users, false = unique per
+ * instance
+ */
+ xsBoolean attrShare;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the share attribute.
+ * @return Returns a xsBoolean of the share attribute.
+ */
+ xsBoolean getShare() const { return attrShare; }
+ /**
+ * Sets the share attribute.
+ * @param atShare The new value for the share attribute.
+ */
+ void setShare( xsBoolean atShare ) { attrShare = atShare; _validAttributeArray[0] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domRenderable(DAE& dae) : daeElement(dae), attrShare() {}
+ /**
+ * Destructor
+ */
+ virtual ~domRenderable() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRenderable &operator=( const domRenderable &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInit_from;
+
+ typedef daeSmartRef<domInit_from> domInit_fromRef;
+ typedef daeTArray<domInit_fromRef> domInit_from_Array;
+
+/**
+ * initialize the whole image structure and data from formats like DDS
+ */
+ class domInit_from : public domImage_source
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INIT_FROM; }
+ static daeInt ID() { return 62; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+/**
+ * If true, unless mips already exist in data, generate the mipmaps based
+ * on information loaded into mip0,
+ */
+ xsBoolean attrMips_generate;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the mips_generate attribute.
+ * @return Returns a xsBoolean of the mips_generate attribute.
+ */
+ xsBoolean getMips_generate() const { return attrMips_generate; }
+ /**
+ * Sets the mips_generate attribute.
+ * @param atMips_generate The new value for the mips_generate attribute.
+ */
+ void setMips_generate( xsBoolean atMips_generate ) { attrMips_generate = atMips_generate; _validAttributeArray[0] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domInit_from(DAE& dae) : domImage_source(dae), attrMips_generate() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInit_from() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInit_from &operator=( const domInit_from &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domCreate_2d;
+
+ typedef daeSmartRef<domCreate_2d> domCreate_2dRef;
+ typedef daeTArray<domCreate_2dRef> domCreate_2d_Array;
+
+/**
+ * Initialize a custom 2d image
+ */
+ class domCreate_2d : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CREATE_2D; }
+ static daeInt ID() { return 63; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domSize_exact;
+
+ typedef daeSmartRef<domSize_exact> domSize_exactRef;
+ typedef daeTArray<domSize_exactRef> domSize_exact_Array;
+
+/**
+ * The surface should be sized to these exact dimensions
+ */
+ class domSize_exact : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SIZE_EXACT; }
+ static daeInt ID() { return 64; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsUnsignedInt attrWidth;
+ xsUnsignedInt attrHeight;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the width attribute.
+ * @return Returns a xsUnsignedInt of the width attribute.
+ */
+ xsUnsignedInt getWidth() const { return attrWidth; }
+ /**
+ * Sets the width attribute.
+ * @param atWidth The new value for the width attribute.
+ */
+ void setWidth( xsUnsignedInt atWidth ) { attrWidth = atWidth; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the height attribute.
+ * @return Returns a xsUnsignedInt of the height attribute.
+ */
+ xsUnsignedInt getHeight() const { return attrHeight; }
+ /**
+ * Sets the height attribute.
+ * @param atHeight The new value for the height attribute.
+ */
+ void setHeight( xsUnsignedInt atHeight ) { attrHeight = atHeight; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSize_exact(DAE& dae) : daeElement(dae), attrWidth(), attrHeight() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSize_exact() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSize_exact &operator=( const domSize_exact &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domSize_ratio;
+
+ typedef daeSmartRef<domSize_ratio> domSize_ratioRef;
+ typedef daeTArray<domSize_ratioRef> domSize_ratio_Array;
+
+/**
+ * Image size should be relative to the size of the viewport. Ex 1,1 is the
+ * same size as the viewport. 0.5,0.5 is 1/2 the size of the viewport
+ */
+ class domSize_ratio : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SIZE_RATIO; }
+ static daeInt ID() { return 65; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsFloat attrWidth;
+ xsFloat attrHeight;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the width attribute.
+ * @return Returns a xsFloat of the width attribute.
+ */
+ xsFloat getWidth() const { return attrWidth; }
+ /**
+ * Sets the width attribute.
+ * @param atWidth The new value for the width attribute.
+ */
+ void setWidth( xsFloat atWidth ) { attrWidth = atWidth; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the height attribute.
+ * @return Returns a xsFloat of the height attribute.
+ */
+ xsFloat getHeight() const { return attrHeight; }
+ /**
+ * Sets the height attribute.
+ * @param atHeight The new value for the height attribute.
+ */
+ void setHeight( xsFloat atHeight ) { attrHeight = atHeight; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSize_ratio(DAE& dae) : daeElement(dae), attrWidth(), attrHeight() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSize_ratio() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSize_ratio &operator=( const domSize_ratio &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domUnnormalized;
+
+ typedef daeSmartRef<domUnnormalized> domUnnormalizedRef;
+ typedef daeTArray<domUnnormalizedRef> domUnnormalized_Array;
+
+/**
+ * Unnormalized addressing of texels. (0-W, 0-H). This cannot be used with
+ * mips since the addressing is not uniform per level. This is equivilant
+ * to OpenGL textureRECT extension.
+ */
+ class domUnnormalized : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::UNNORMALIZED; }
+ static daeInt ID() { return 66; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domUnnormalized(DAE& dae) : daeElement(dae) {}
+ /**
+ * Destructor
+ */
+ virtual ~domUnnormalized() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domUnnormalized &operator=( const domUnnormalized &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domArray;
+
+ typedef daeSmartRef<domArray> domArrayRef;
+ typedef daeTArray<domArrayRef> domArray_Array;
+
+ class domArray : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ARRAY; }
+ static daeInt ID() { return 67; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+ xsPositiveInteger attrLength;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the length attribute.
+ * @return Returns a xsPositiveInteger of the length attribute.
+ */
+ xsPositiveInteger getLength() const { return attrLength; }
+ /**
+ * Sets the length attribute.
+ * @param atLength The new value for the length attribute.
+ */
+ void setLength( xsPositiveInteger atLength ) { attrLength = atLength; _validAttributeArray[0] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domArray(DAE& dae) : daeElement(dae), attrLength() {}
+ /**
+ * Destructor
+ */
+ virtual ~domArray() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domArray &operator=( const domArray &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFormat;
+
+ typedef daeSmartRef<domFormat> domFormatRef;
+ typedef daeTArray<domFormatRef> domFormat_Array;
+
+/**
+ * If not present it is assumed to be R8G8B8A8 linear.
+ */
+ class domFormat : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FORMAT; }
+ static daeInt ID() { return 68; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domHint;
+
+ typedef daeSmartRef<domHint> domHintRef;
+ typedef daeTArray<domHintRef> domHint_Array;
+
+/**
+ * if this element or a higher precidence element is not present then use
+ * a common format R8G8B8A8 with linear color gradient, not sRGB.
+ */
+ class domHint : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HINT; }
+ static daeInt ID() { return 69; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+/**
+ * The per-texel layout of the format. The length of the string indicate
+ * how many channels there are and the letter respresents the name of the
+ * channel. There are typically 0 to 4 channels.
+ */
+ domImage_format_hint_channels attrChannels;
+/**
+ * Each channel represents a range of values. Some example ranges are signed
+ * or unsigned integers, or between between a clamped range such as 0.0f to
+ * 1.0f, or high dynamic range via floating point
+ */
+ domImage_format_hint_range attrRange;
+/**
+ * Each channel of the texel has a precision. Typically these are all linked
+ * together. An exact format lay lower the precision of an individual channel
+ * but applying a higher precision by linking the channels together may still
+ * convey the same information.
+ */
+ domImage_format_hint_precision attrPrecision;
+/**
+ * linear(default), sRGB
+ */
+ xsToken attrSpace;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the channels attribute.
+ * @return Returns a domImage_format_hint_channels of the channels attribute.
+ */
+ domImage_format_hint_channels getChannels() const { return attrChannels; }
+ /**
+ * Sets the channels attribute.
+ * @param atChannels The new value for the channels attribute.
+ */
+ void setChannels( domImage_format_hint_channels atChannels ) { attrChannels = atChannels; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the range attribute.
+ * @return Returns a domImage_format_hint_range of the range attribute.
+ */
+ domImage_format_hint_range getRange() const { return attrRange; }
+ /**
+ * Sets the range attribute.
+ * @param atRange The new value for the range attribute.
+ */
+ void setRange( domImage_format_hint_range atRange ) { attrRange = atRange; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the precision attribute.
+ * @return Returns a domImage_format_hint_precision of the precision attribute.
+ */
+ domImage_format_hint_precision getPrecision() const { return attrPrecision; }
+ /**
+ * Sets the precision attribute.
+ * @param atPrecision The new value for the precision attribute.
+ */
+ void setPrecision( domImage_format_hint_precision atPrecision ) { attrPrecision = atPrecision; _validAttributeArray[2] = true; }
+
+ /**
+ * Gets the space attribute.
+ * @return Returns a xsToken of the space attribute.
+ */
+ xsToken getSpace() const { return attrSpace; }
+ /**
+ * Sets the space attribute.
+ * @param atSpace The new value for the space attribute.
+ */
+ void setSpace( xsToken atSpace ) { *(daeStringRef*)&attrSpace = atSpace; _validAttributeArray[3] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domHint(DAE& dae) : daeElement(dae), attrChannels(), attrRange(), attrPrecision(), attrSpace() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHint() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHint &operator=( const domHint &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domExact;
+
+ typedef daeSmartRef<domExact> domExactRef;
+ typedef daeTArray<domExactRef> domExact_Array;
+
+/**
+ * Contains a string representing the profile and platform specific texel
+ * format that the author would like this surface to use. If this element
+ * is not specified then the application will fall back to the hint
+ */
+ class domExact : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::EXACT; }
+ static daeInt ID() { return 70; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsToken of the value.
+ */
+ xsToken getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsToken val ) { *(daeStringRef*)&_value = val; }
+
+ protected: // Value
+ /**
+ * The xsToken value of the text data of this element.
+ */
+ xsToken _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domExact(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domExact() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domExact &operator=( const domExact &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+/**
+ * if this element or a higher precidence element is not present then use
+ * a common format R8G8B8A8 with linear color gradient, not sRGB. @see domHint
+ */
+ domHintRef elemHint;
+/**
+ * Contains a string representing the profile and platform specific texel
+ * format that the author would like this surface to use. If this element
+ * is not specified then the application will fall back to the hint @see domExact
+ */
+ domExactRef elemExact;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the hint element.
+ * @return a daeSmartRef to the hint element.
+ */
+ const domHintRef getHint() const { return elemHint; }
+ /**
+ * Gets the exact element.
+ * @return a daeSmartRef to the exact element.
+ */
+ const domExactRef getExact() const { return elemExact; }
+ protected:
+ /**
+ * Constructor
+ */
+ domFormat(DAE& dae) : daeElement(dae), elemHint(), elemExact() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFormat() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFormat &operator=( const domFormat &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInit_from;
+
+ typedef daeSmartRef<domInit_from> domInit_fromRef;
+ typedef daeTArray<domInit_fromRef> domInit_from_Array;
+
+/**
+ * init the image data from one or more partial pieces of data. The load
+ * attribute indicates what portion of the image will be loaded based on the
+ * ''address" specified. mip_generate may be used to complete the image.
+ */
+ class domInit_from : public domImage_source
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INIT_FROM; }
+ static daeInt ID() { return 71; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsUnsignedInt attrMip_index;
+ xsUnsignedInt attrArray_index;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the mip_index attribute.
+ * @return Returns a xsUnsignedInt of the mip_index attribute.
+ */
+ xsUnsignedInt getMip_index() const { return attrMip_index; }
+ /**
+ * Sets the mip_index attribute.
+ * @param atMip_index The new value for the mip_index attribute.
+ */
+ void setMip_index( xsUnsignedInt atMip_index ) { attrMip_index = atMip_index; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the array_index attribute.
+ * @return Returns a xsUnsignedInt of the array_index attribute.
+ */
+ xsUnsignedInt getArray_index() const { return attrArray_index; }
+ /**
+ * Sets the array_index attribute.
+ * @param atArray_index The new value for the array_index attribute.
+ */
+ void setArray_index( xsUnsignedInt atArray_index ) { attrArray_index = atArray_index; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domInit_from(DAE& dae) : domImage_source(dae), attrMip_index(), attrArray_index() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInit_from() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInit_from &operator=( const domInit_from &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+/**
+ * The surface should be sized to these exact dimensions @see domSize_exact
+ */
+ domSize_exactRef elemSize_exact;
+/**
+ * Image size should be relative to the size of the viewport. Ex 1,1 is the
+ * same size as the viewport. 0.5,0.5 is 1/2 the size of the viewport @see
+ * domSize_ratio
+ */
+ domSize_ratioRef elemSize_ratio;
+ domImage_mipsRef elemMips;
+/**
+ * Unnormalized addressing of texels. (0-W, 0-H). This cannot be used with
+ * mips since the addressing is not uniform per level. This is equivilant
+ * to OpenGL textureRECT extension. @see domUnnormalized
+ */
+ domUnnormalizedRef elemUnnormalized;
+ domArrayRef elemArray;
+/**
+ * If not present it is assumed to be R8G8B8A8 linear. @see domFormat
+ */
+ domFormatRef elemFormat;
+/**
+ * init the image data from one or more partial pieces of data. The load
+ * attribute indicates what portion of the image will be loaded based on the
+ * ''address" specified. mip_generate may be used to complete the image.
+ * @see domInit_from
+ */
+ domInit_from_Array elemInit_from_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the size_exact element.
+ * @return a daeSmartRef to the size_exact element.
+ */
+ const domSize_exactRef getSize_exact() const { return elemSize_exact; }
+ /**
+ * Gets the size_ratio element.
+ * @return a daeSmartRef to the size_ratio element.
+ */
+ const domSize_ratioRef getSize_ratio() const { return elemSize_ratio; }
+ /**
+ * Gets the mips element.
+ * @return a daeSmartRef to the mips element.
+ */
+ const domImage_mipsRef getMips() const { return elemMips; }
+ /**
+ * Gets the unnormalized element.
+ * @return a daeSmartRef to the unnormalized element.
+ */
+ const domUnnormalizedRef getUnnormalized() const { return elemUnnormalized; }
+ /**
+ * Gets the array element.
+ * @return a daeSmartRef to the array element.
+ */
+ const domArrayRef getArray() const { return elemArray; }
+ /**
+ * Gets the format element.
+ * @return a daeSmartRef to the format element.
+ */
+ const domFormatRef getFormat() const { return elemFormat; }
+ /**
+ * Gets the init_from element array.
+ * @return Returns a reference to the array of init_from elements.
+ */
+ domInit_from_Array &getInit_from_array() { return elemInit_from_array; }
+ /**
+ * Gets the init_from element array.
+ * @return Returns a constant reference to the array of init_from elements.
+ */
+ const domInit_from_Array &getInit_from_array() const { return elemInit_from_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domCreate_2d(DAE& dae) : daeElement(dae), elemSize_exact(), elemSize_ratio(), elemMips(), elemUnnormalized(), elemArray(), elemFormat(), elemInit_from_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCreate_2d() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCreate_2d &operator=( const domCreate_2d &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domCreate_3d;
+
+ typedef daeSmartRef<domCreate_3d> domCreate_3dRef;
+ typedef daeTArray<domCreate_3dRef> domCreate_3d_Array;
+
+/**
+ * Initialize a custom 3d image
+ */
+ class domCreate_3d : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CREATE_3D; }
+ static daeInt ID() { return 72; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domSize;
+
+ typedef daeSmartRef<domSize> domSizeRef;
+ typedef daeTArray<domSizeRef> domSize_Array;
+
+/**
+ * The surface should be sized to these exact dimensions
+ */
+ class domSize : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SIZE; }
+ static daeInt ID() { return 73; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsUnsignedInt attrWidth;
+ xsUnsignedInt attrHeight;
+ xsUnsignedInt attrDepth;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the width attribute.
+ * @return Returns a xsUnsignedInt of the width attribute.
+ */
+ xsUnsignedInt getWidth() const { return attrWidth; }
+ /**
+ * Sets the width attribute.
+ * @param atWidth The new value for the width attribute.
+ */
+ void setWidth( xsUnsignedInt atWidth ) { attrWidth = atWidth; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the height attribute.
+ * @return Returns a xsUnsignedInt of the height attribute.
+ */
+ xsUnsignedInt getHeight() const { return attrHeight; }
+ /**
+ * Sets the height attribute.
+ * @param atHeight The new value for the height attribute.
+ */
+ void setHeight( xsUnsignedInt atHeight ) { attrHeight = atHeight; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the depth attribute.
+ * @return Returns a xsUnsignedInt of the depth attribute.
+ */
+ xsUnsignedInt getDepth() const { return attrDepth; }
+ /**
+ * Sets the depth attribute.
+ * @param atDepth The new value for the depth attribute.
+ */
+ void setDepth( xsUnsignedInt atDepth ) { attrDepth = atDepth; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSize(DAE& dae) : daeElement(dae), attrWidth(), attrHeight(), attrDepth() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSize() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSize &operator=( const domSize &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domArray;
+
+ typedef daeSmartRef<domArray> domArrayRef;
+ typedef daeTArray<domArrayRef> domArray_Array;
+
+ class domArray : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ARRAY; }
+ static daeInt ID() { return 74; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+/**
+ * Zero is not an array
+ */
+ xsUnsignedInt attrLength;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the length attribute.
+ * @return Returns a xsUnsignedInt of the length attribute.
+ */
+ xsUnsignedInt getLength() const { return attrLength; }
+ /**
+ * Sets the length attribute.
+ * @param atLength The new value for the length attribute.
+ */
+ void setLength( xsUnsignedInt atLength ) { attrLength = atLength; _validAttributeArray[0] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domArray(DAE& dae) : daeElement(dae), attrLength() {}
+ /**
+ * Destructor
+ */
+ virtual ~domArray() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domArray &operator=( const domArray &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFormat;
+
+ typedef daeSmartRef<domFormat> domFormatRef;
+ typedef daeTArray<domFormatRef> domFormat_Array;
+
+/**
+ * If not present it is assumed to be R8G8B8A8 linear.
+ */
+ class domFormat : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FORMAT; }
+ static daeInt ID() { return 75; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domHint;
+
+ typedef daeSmartRef<domHint> domHintRef;
+ typedef daeTArray<domHintRef> domHint_Array;
+
+/**
+ * if this element or a higher precidence element is not present then use
+ * a common format R8G8B8A8 with linear color gradient, not sRGB.
+ */
+ class domHint : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HINT; }
+ static daeInt ID() { return 76; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+/**
+ * The per-texel layout of the format. The length of the string indicate
+ * how many channels there are and the letter respresents the name of the
+ * channel. There are typically 0 to 4 channels.
+ */
+ domImage_format_hint_channels attrChannels;
+/**
+ * Each channel represents a range of values. Some example ranges are signed
+ * or unsigned integers, or between between a clamped range such as 0.0f to
+ * 1.0f, or high dynamic range via floating point
+ */
+ domImage_format_hint_range attrRange;
+/**
+ * Each channel of the texel has a precision. Typically these are all linked
+ * together. An exact format lay lower the precision of an individual channel
+ * but applying a higher precision by linking the channels together may still
+ * convey the same information.
+ */
+ domImage_format_hint_precision attrPrecision;
+/**
+ * linear(default), sRGB
+ */
+ xsToken attrSpace;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the channels attribute.
+ * @return Returns a domImage_format_hint_channels of the channels attribute.
+ */
+ domImage_format_hint_channels getChannels() const { return attrChannels; }
+ /**
+ * Sets the channels attribute.
+ * @param atChannels The new value for the channels attribute.
+ */
+ void setChannels( domImage_format_hint_channels atChannels ) { attrChannels = atChannels; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the range attribute.
+ * @return Returns a domImage_format_hint_range of the range attribute.
+ */
+ domImage_format_hint_range getRange() const { return attrRange; }
+ /**
+ * Sets the range attribute.
+ * @param atRange The new value for the range attribute.
+ */
+ void setRange( domImage_format_hint_range atRange ) { attrRange = atRange; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the precision attribute.
+ * @return Returns a domImage_format_hint_precision of the precision attribute.
+ */
+ domImage_format_hint_precision getPrecision() const { return attrPrecision; }
+ /**
+ * Sets the precision attribute.
+ * @param atPrecision The new value for the precision attribute.
+ */
+ void setPrecision( domImage_format_hint_precision atPrecision ) { attrPrecision = atPrecision; _validAttributeArray[2] = true; }
+
+ /**
+ * Gets the space attribute.
+ * @return Returns a xsToken of the space attribute.
+ */
+ xsToken getSpace() const { return attrSpace; }
+ /**
+ * Sets the space attribute.
+ * @param atSpace The new value for the space attribute.
+ */
+ void setSpace( xsToken atSpace ) { *(daeStringRef*)&attrSpace = atSpace; _validAttributeArray[3] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domHint(DAE& dae) : daeElement(dae), attrChannels(), attrRange(), attrPrecision(), attrSpace() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHint() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHint &operator=( const domHint &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domExact;
+
+ typedef daeSmartRef<domExact> domExactRef;
+ typedef daeTArray<domExactRef> domExact_Array;
+
+/**
+ * Contains a string representing the profile and platform specific texel
+ * format that the author would like this surface to use. If this element
+ * is not specified then the application will fall back to the hint
+ */
+ class domExact : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::EXACT; }
+ static daeInt ID() { return 77; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsToken of the value.
+ */
+ xsToken getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsToken val ) { *(daeStringRef*)&_value = val; }
+
+ protected: // Value
+ /**
+ * The xsToken value of the text data of this element.
+ */
+ xsToken _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domExact(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domExact() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domExact &operator=( const domExact &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+/**
+ * if this element or a higher precidence element is not present then use
+ * a common format R8G8B8A8 with linear color gradient, not sRGB. @see domHint
+ */
+ domHintRef elemHint;
+/**
+ * Contains a string representing the profile and platform specific texel
+ * format that the author would like this surface to use. If this element
+ * is not specified then the application will fall back to the hint @see domExact
+ */
+ domExactRef elemExact;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the hint element.
+ * @return a daeSmartRef to the hint element.
+ */
+ const domHintRef getHint() const { return elemHint; }
+ /**
+ * Gets the exact element.
+ * @return a daeSmartRef to the exact element.
+ */
+ const domExactRef getExact() const { return elemExact; }
+ protected:
+ /**
+ * Constructor
+ */
+ domFormat(DAE& dae) : daeElement(dae), elemHint(), elemExact() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFormat() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFormat &operator=( const domFormat &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInit_from;
+
+ typedef daeSmartRef<domInit_from> domInit_fromRef;
+ typedef daeTArray<domInit_fromRef> domInit_from_Array;
+
+/**
+ * init the image data from one or more partial pieces of data. The load
+ * attribute indicates what portion of the image will be loaded based on the
+ * ''address" specified. mip_generate may be used to complete the image.
+ */
+ class domInit_from : public domImage_source
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INIT_FROM; }
+ static daeInt ID() { return 78; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsUnsignedInt attrDepth;
+ xsUnsignedInt attrMip_index;
+ xsUnsignedInt attrArray_index;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the depth attribute.
+ * @return Returns a xsUnsignedInt of the depth attribute.
+ */
+ xsUnsignedInt getDepth() const { return attrDepth; }
+ /**
+ * Sets the depth attribute.
+ * @param atDepth The new value for the depth attribute.
+ */
+ void setDepth( xsUnsignedInt atDepth ) { attrDepth = atDepth; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the mip_index attribute.
+ * @return Returns a xsUnsignedInt of the mip_index attribute.
+ */
+ xsUnsignedInt getMip_index() const { return attrMip_index; }
+ /**
+ * Sets the mip_index attribute.
+ * @param atMip_index The new value for the mip_index attribute.
+ */
+ void setMip_index( xsUnsignedInt atMip_index ) { attrMip_index = atMip_index; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the array_index attribute.
+ * @return Returns a xsUnsignedInt of the array_index attribute.
+ */
+ xsUnsignedInt getArray_index() const { return attrArray_index; }
+ /**
+ * Sets the array_index attribute.
+ * @param atArray_index The new value for the array_index attribute.
+ */
+ void setArray_index( xsUnsignedInt atArray_index ) { attrArray_index = atArray_index; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domInit_from(DAE& dae) : domImage_source(dae), attrDepth(), attrMip_index(), attrArray_index() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInit_from() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInit_from &operator=( const domInit_from &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+/**
+ * The surface should be sized to these exact dimensions @see domSize
+ */
+ domSizeRef elemSize;
+ domImage_mipsRef elemMips;
+ domArrayRef elemArray;
+/**
+ * If not present it is assumed to be R8G8B8A8 linear. @see domFormat
+ */
+ domFormatRef elemFormat;
+/**
+ * init the image data from one or more partial pieces of data. The load
+ * attribute indicates what portion of the image will be loaded based on the
+ * ''address" specified. mip_generate may be used to complete the image.
+ * @see domInit_from
+ */
+ domInit_from_Array elemInit_from_array;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the size element.
+ * @return a daeSmartRef to the size element.
+ */
+ const domSizeRef getSize() const { return elemSize; }
+ /**
+ * Gets the mips element.
+ * @return a daeSmartRef to the mips element.
+ */
+ const domImage_mipsRef getMips() const { return elemMips; }
+ /**
+ * Gets the array element.
+ * @return a daeSmartRef to the array element.
+ */
+ const domArrayRef getArray() const { return elemArray; }
+ /**
+ * Gets the format element.
+ * @return a daeSmartRef to the format element.
+ */
+ const domFormatRef getFormat() const { return elemFormat; }
+ /**
+ * Gets the init_from element array.
+ * @return Returns a reference to the array of init_from elements.
+ */
+ domInit_from_Array &getInit_from_array() { return elemInit_from_array; }
+ /**
+ * Gets the init_from element array.
+ * @return Returns a constant reference to the array of init_from elements.
+ */
+ const domInit_from_Array &getInit_from_array() const { return elemInit_from_array; }
+ protected:
+ /**
+ * Constructor
+ */
+ domCreate_3d(DAE& dae) : daeElement(dae), elemSize(), elemMips(), elemArray(), elemFormat(), elemInit_from_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCreate_3d() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCreate_3d &operator=( const domCreate_3d &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domCreate_cube;
+
+ typedef daeSmartRef<domCreate_cube> domCreate_cubeRef;
+ typedef daeTArray<domCreate_cubeRef> domCreate_cube_Array;
+
+/**
+ * Initialize a custom cube image
+ */
+ class domCreate_cube : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CREATE_CUBE; }
+ static daeInt ID() { return 79; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domSize;
+
+ typedef daeSmartRef<domSize> domSizeRef;
+ typedef daeTArray<domSizeRef> domSize_Array;
+
+/**
+ * The surface should be sized to these exact dimensions
+ */
+ class domSize : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SIZE; }
+ static daeInt ID() { return 80; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+ xsUnsignedInt attrWidth;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the width attribute.
+ * @return Returns a xsUnsignedInt of the width attribute.
+ */
+ xsUnsignedInt getWidth() const { return attrWidth; }
+ /**
+ * Sets the width attribute.
+ * @param atWidth The new value for the width attribute.
+ */
+ void setWidth( xsUnsignedInt atWidth ) { attrWidth = atWidth; _validAttributeArray[0] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domSize(DAE& dae) : daeElement(dae), attrWidth() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSize() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSize &operator=( const domSize &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domArray;
+
+ typedef daeSmartRef<domArray> domArrayRef;
+ typedef daeTArray<domArrayRef> domArray_Array;
+
+ class domArray : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ARRAY; }
+ static daeInt ID() { return 81; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+/**
+ * Zero is not an array
+ */
+ xsUnsignedInt attrLength;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the length attribute.
+ * @return Returns a xsUnsignedInt of the length attribute.
+ */
+ xsUnsignedInt getLength() const { return attrLength; }
+ /**
+ * Sets the length attribute.
+ * @param atLength The new value for the length attribute.
+ */
+ void setLength( xsUnsignedInt atLength ) { attrLength = atLength; _validAttributeArray[0] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domArray(DAE& dae) : daeElement(dae), attrLength() {}
+ /**
+ * Destructor
+ */
+ virtual ~domArray() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domArray &operator=( const domArray &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFormat;
+
+ typedef daeSmartRef<domFormat> domFormatRef;
+ typedef daeTArray<domFormatRef> domFormat_Array;
+
+/**
+ * If not present it is assumed to be R8G8B8A8 linear.
+ */
+ class domFormat : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FORMAT; }
+ static daeInt ID() { return 82; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domHint;
+
+ typedef daeSmartRef<domHint> domHintRef;
+ typedef daeTArray<domHintRef> domHint_Array;
+
+/**
+ * if this element or a higher precidence element is not present then use
+ * a common format R8G8B8A8 with linear color gradient, not sRGB.
+ */
+ class domHint : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HINT; }
+ static daeInt ID() { return 83; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+/**
+ * The per-texel layout of the format. The length of the string indicate
+ * how many channels there are and the letter respresents the name of the
+ * channel. There are typically 0 to 4 channels.
+ */
+ domImage_format_hint_channels attrChannels;
+/**
+ * Each channel represents a range of values. Some example ranges are signed
+ * or unsigned integers, or between between a clamped range such as 0.0f to
+ * 1.0f, or high dynamic range via floating point
+ */
+ domImage_format_hint_range attrRange;
+/**
+ * Each channel of the texel has a precision. Typically these are all linked
+ * together. An exact format lay lower the precision of an individual channel
+ * but applying a higher precision by linking the channels together may still
+ * convey the same information.
+ */
+ domImage_format_hint_precision attrPrecision;
+/**
+ * linear(default), sRGB
+ */
+ xsToken attrSpace;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the channels attribute.
+ * @return Returns a domImage_format_hint_channels of the channels attribute.
+ */
+ domImage_format_hint_channels getChannels() const { return attrChannels; }
+ /**
+ * Sets the channels attribute.
+ * @param atChannels The new value for the channels attribute.
+ */
+ void setChannels( domImage_format_hint_channels atChannels ) { attrChannels = atChannels; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the range attribute.
+ * @return Returns a domImage_format_hint_range of the range attribute.
+ */
+ domImage_format_hint_range getRange() const { return attrRange; }
+ /**
+ * Sets the range attribute.
+ * @param atRange The new value for the range attribute.
+ */
+ void setRange( domImage_format_hint_range atRange ) { attrRange = atRange; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the precision attribute.
+ * @return Returns a domImage_format_hint_precision of the precision attribute.
+ */
+ domImage_format_hint_precision getPrecision() const { return attrPrecision; }
+ /**
+ * Sets the precision attribute.
+ * @param atPrecision The new value for the precision attribute.
+ */
+ void setPrecision( domImage_format_hint_precision atPrecision ) { attrPrecision = atPrecision; _validAttributeArray[2] = true; }
+
+ /**
+ * Gets the space attribute.
+ * @return Returns a xsToken of the space attribute.
+ */
+ xsToken getSpace() const { return attrSpace; }
+ /**
+ * Sets the space attribute.
+ * @param atSpace The new value for the space attribute.
+ */
+ void setSpace( xsToken atSpace ) { *(daeStringRef*)&attrSpace = atSpace; _validAttributeArray[3] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domHint(DAE& dae) : daeElement(dae), attrChannels(), attrRange(), attrPrecision(), attrSpace() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHint() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHint &operator=( const domHint &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domExact;
+
+ typedef daeSmartRef<domExact> domExactRef;
+ typedef daeTArray<domExactRef> domExact_Array;
+
+/**
+ * Contains a string representing the profile and platform specific texel
+ * format that the author would like this surface to use. If this element
+ * is not specified then the application will fall back to the hint
+ */
+ class domExact : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::EXACT; }
+ static daeInt ID() { return 84; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsToken of the value.
+ */
+ xsToken getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsToken val ) { *(daeStringRef*)&_value = val; }
+
+ protected: // Value
+ /**
+ * The xsToken value of the text data of this element.
+ */
+ xsToken _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domExact(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domExact() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domExact &operator=( const domExact &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+/**
+ * if this element or a higher precidence element is not present then use
+ * a common format R8G8B8A8 with linear color gradient, not sRGB. @see domHint
+ */
+ domHintRef elemHint;
+/**
+ * Contains a string representing the profile and platform specific texel
+ * format that the author would like this surface to use. If this element
+ * is not specified then the application will fall back to the hint @see domExact
+ */
+ domExactRef elemExact;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the hint element.
+ * @return a daeSmartRef to the hint element.
+ */
+ const domHintRef getHint() const { return elemHint; }
+ /**
+ * Gets the exact element.
+ * @return a daeSmartRef to the exact element.
+ */
+ const domExactRef getExact() const { return elemExact; }
+ protected:
+ /**
+ * Constructor
+ */
+ domFormat(DAE& dae) : daeElement(dae), elemHint(), elemExact() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFormat() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFormat &operator=( const domFormat &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInit_from;
+
+ typedef daeSmartRef<domInit_from> domInit_fromRef;
+ typedef daeTArray<domInit_fromRef> domInit_from_Array;
+
+/**
+ * init the image data from one or more partial pieces of data. The load
+ * attribute indicates what portion of the image will be loaded based on the
+ * ''address" specified. mip_generate may be used to complete the image.
+ */
+ class domInit_from : public domImage_source
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INIT_FROM; }
+ static daeInt ID() { return 85; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ domImage_face attrFace;
+ xsUnsignedInt attrMip_index;
+ xsUnsignedInt attrArray_index;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the face attribute.
+ * @return Returns a domImage_face of the face attribute.
+ */
+ domImage_face getFace() const { return attrFace; }
+ /**
+ * Sets the face attribute.
+ * @param atFace The new value for the face attribute.
+ */
+ void setFace( domImage_face atFace ) { attrFace = atFace; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the mip_index attribute.
+ * @return Returns a xsUnsignedInt of the mip_index attribute.
+ */
+ xsUnsignedInt getMip_index() const { return attrMip_index; }
+ /**
+ * Sets the mip_index attribute.
+ * @param atMip_index The new value for the mip_index attribute.
+ */
+ void setMip_index( xsUnsignedInt atMip_index ) { attrMip_index = atMip_index; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the array_index attribute.
+ * @return Returns a xsUnsignedInt of the array_index attribute.
+ */
+ xsUnsignedInt getArray_index() const { return attrArray_index; }
+ /**
+ * Sets the array_index attribute.
+ * @param atArray_index The new value for the array_index attribute.
+ */
+ void setArray_index( xsUnsignedInt atArray_index ) { attrArray_index = atArray_index; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domInit_from(DAE& dae) : domImage_source(dae), attrFace(), attrMip_index(), attrArray_index() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInit_from() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInit_from &operator=( const domInit_from &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+/**
+ * The surface should be sized to these exact dimensions @see domSize
+ */
+ domSizeRef elemSize;
+ domImage_mipsRef elemMips;
+ domArrayRef elemArray;
+/**
+ * If not present it is assumed to be R8G8B8A8 linear. @see domFormat
+ */
+ domFormatRef elemFormat;
+/**
+ * init the image data from one or more partial pieces of data. The load
+ * attribute indicates what portion of the image will be loaded based on the
+ * ''address" specified. mip_generate may be used to complete the image.
+ * @see domInit_from
+ */
+ domInit_from_Array elemInit_from_array;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the size element.
+ * @return a daeSmartRef to the size element.
+ */
+ const domSizeRef getSize() const { return elemSize; }
+ /**
+ * Gets the mips element.
+ * @return a daeSmartRef to the mips element.
+ */
+ const domImage_mipsRef getMips() const { return elemMips; }
+ /**
+ * Gets the array element.
+ * @return a daeSmartRef to the array element.
+ */
+ const domArrayRef getArray() const { return elemArray; }
+ /**
+ * Gets the format element.
+ * @return a daeSmartRef to the format element.
+ */
+ const domFormatRef getFormat() const { return elemFormat; }
+ /**
+ * Gets the init_from element array.
+ * @return Returns a reference to the array of init_from elements.
+ */
+ domInit_from_Array &getInit_from_array() { return elemInit_from_array; }
+ /**
+ * Gets the init_from element array.
+ * @return Returns a constant reference to the array of init_from elements.
+ */
+ const domInit_from_Array &getInit_from_array() const { return elemInit_from_array; }
+ protected:
+ /**
+ * Constructor
+ */
+ domCreate_cube(DAE& dae) : daeElement(dae), elemSize(), elemMips(), elemArray(), elemFormat(), elemInit_from_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCreate_cube() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCreate_cube &operator=( const domCreate_cube &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * sub identifier
+ */
+ domSid attrSid;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+
+protected: // Elements
+/**
+ * The image element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * This image is renderable if this element is used @see domRenderable
+ */
+ domRenderableRef elemRenderable;
+/**
+ * initialize the whole image structure and data from formats like DDS @see
+ * domInit_from
+ */
+ domInit_fromRef elemInit_from;
+/**
+ * Initialize a custom 2d image @see domCreate_2d
+ */
+ domCreate_2dRef elemCreate_2d;
+/**
+ * Initialize a custom 3d image @see domCreate_3d
+ */
+ domCreate_3dRef elemCreate_3d;
+/**
+ * Initialize a custom cube image @see domCreate_cube
+ */
+ domCreate_cubeRef elemCreate_cube;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the renderable element.
+ * @return a daeSmartRef to the renderable element.
+ */
+ const domRenderableRef getRenderable() const { return elemRenderable; }
+ /**
+ * Gets the init_from element.
+ * @return a daeSmartRef to the init_from element.
+ */
+ const domInit_fromRef getInit_from() const { return elemInit_from; }
+ /**
+ * Gets the create_2d element.
+ * @return a daeSmartRef to the create_2d element.
+ */
+ const domCreate_2dRef getCreate_2d() const { return elemCreate_2d; }
+ /**
+ * Gets the create_3d element.
+ * @return a daeSmartRef to the create_3d element.
+ */
+ const domCreate_3dRef getCreate_3d() const { return elemCreate_3d; }
+ /**
+ * Gets the create_cube element.
+ * @return a daeSmartRef to the create_cube element.
+ */
+ const domCreate_cubeRef getCreate_cube() const { return elemCreate_cube; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domImage(DAE& dae) : daeElement(dae), attrId(), attrSid(), attrName(), elemAsset(), elemRenderable(), elemInit_from(), elemCreate_2d(), elemCreate_3d(), elemCreate_cube(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domImage() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domImage &operator=( const domImage &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domImage_mips.h b/1.4.0/dom/include/1.5/dom/domImage_mips.h
new file mode 100644
index 0000000..ed971d0
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domImage_mips.h
@@ -0,0 +1,83 @@
+#ifndef __dom150Image_mips_h__
+#define __dom150Image_mips_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domImage_mips : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::IMAGE_MIPS; }
+ static daeInt ID() { return 22; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * Zero is max levels = 1 + floor(log2(max(w, h, d))) in both OpenGL and DirectX.
+ * One is no mips.
+ */
+ xsUnsignedInt attrLevels;
+/**
+ * regenerate the mipmaps based on information loaded into mip0
+ */
+ xsBoolean attrAuto_generate;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the levels attribute.
+ * @return Returns a xsUnsignedInt of the levels attribute.
+ */
+ xsUnsignedInt getLevels() const { return attrLevels; }
+ /**
+ * Sets the levels attribute.
+ * @param atLevels The new value for the levels attribute.
+ */
+ void setLevels( xsUnsignedInt atLevels ) { attrLevels = atLevels; }
+
+ /**
+ * Gets the auto_generate attribute.
+ * @return Returns a xsBoolean of the auto_generate attribute.
+ */
+ xsBoolean getAuto_generate() const { return attrAuto_generate; }
+ /**
+ * Sets the auto_generate attribute.
+ * @param atAuto_generate The new value for the auto_generate attribute.
+ */
+ void setAuto_generate( xsBoolean atAuto_generate ) { attrAuto_generate = atAuto_generate; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domImage_mips(DAE& dae) : daeElement(dae), attrLevels(), attrAuto_generate() {}
+ /**
+ * Destructor
+ */
+ virtual ~domImage_mips() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domImage_mips &operator=( const domImage_mips &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domImage_source.h b/1.4.0/dom/include/1.5/dom/domImage_source.h
new file mode 100644
index 0000000..803518f
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domImage_source.h
@@ -0,0 +1,255 @@
+#ifndef __dom150Image_source_h__
+#define __dom150Image_source_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domImage_source : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::IMAGE_SOURCE; }
+ static daeInt ID() { return 19; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domRef;
+
+ typedef daeSmartRef<domRef> domRefRef;
+ typedef daeTArray<domRefRef> domRef_Array;
+
+/**
+ * Initialize purely from a file. Assume the characteristics of the file.
+ * If it is a complex format like DDS this may include cube maps, volumes,
+ * mips, etc.
+ */
+ class domRef : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::REF; }
+ static daeInt ID() { return 20; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsAnyURI of the value.
+ */
+ xsAnyURI &getValue() { return _value; }
+ /**
+ * Gets the value of this element.
+ * @return Returns a constant xsAnyURI of the value.
+ */
+ const xsAnyURI &getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const xsAnyURI &val ) { _value = val; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsString val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The xsAnyURI value of the text data of this element.
+ */
+ xsAnyURI _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domRef(DAE& dae) : daeElement(dae), _value(dae, *this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domRef() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRef &operator=( const domRef &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domHex;
+
+ typedef daeSmartRef<domHex> domHexRef;
+ typedef daeTArray<domHexRef> domHex_Array;
+
+/**
+ * The data element contains a sequence of hexadecimal encoded binary octets
+ * representing the embedded image data. The format attribute is use the
+ * determine which codec decodes the image's descriptions and data.
+ */
+ class domHex : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HEX; }
+ static daeInt ID() { return 21; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+/**
+ * The format attribute is a text string value that indicates the image format.
+ * Examples include "DDS", "EXR", "BMP", "JPG", and "PNG". Note that all
+ * of these formats have internal descriptors of size, bpp, etc.
+ */
+ xsToken attrFormat;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the format attribute.
+ * @return Returns a xsToken of the format attribute.
+ */
+ xsToken getFormat() const { return attrFormat; }
+ /**
+ * Sets the format attribute.
+ * @param atFormat The new value for the format attribute.
+ */
+ void setFormat( xsToken atFormat ) { *(daeStringRef*)&attrFormat = atFormat; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the value of this element.
+ * @return a domList_of_hex_binary of the value.
+ */
+ domList_of_hex_binary& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domList_of_hex_binary& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domList_of_hex_binary value of the text data of this element.
+ */
+ domList_of_hex_binary _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domHex(DAE& dae) : daeElement(dae), attrFormat(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHex() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHex &operator=( const domHex &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+/**
+ * Initialize purely from a file. Assume the characteristics of the file.
+ * If it is a complex format like DDS this may include cube maps, volumes,
+ * mips, etc. @see domRef
+ */
+ domRefRef elemRef;
+/**
+ * The data element contains a sequence of hexadecimal encoded binary octets
+ * representing the embedded image data. The format attribute is use the
+ * determine which codec decodes the image's descriptions and data. @see domHex
+ */
+ domHexRef elemHex;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the ref element.
+ * @return a daeSmartRef to the ref element.
+ */
+ const domRefRef getRef() const { return elemRef; }
+ /**
+ * Gets the hex element.
+ * @return a daeSmartRef to the hex element.
+ */
+ const domHexRef getHex() const { return elemHex; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domImage_source(DAE& dae) : daeElement(dae), elemRef(), elemHex() {}
+ /**
+ * Destructor
+ */
+ virtual ~domImage_source() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domImage_source &operator=( const domImage_source &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domInput_global.h b/1.4.0/dom/include/1.5/dom/domInput_global.h
new file mode 100644
index 0000000..49e8def
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domInput_global.h
@@ -0,0 +1,98 @@
+#ifndef __dom150Input_global_h__
+#define __dom150Input_global_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The input_global_type element is used to represent inputs that can reference
+ * external resources.
+ */
+class domInput_global : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INPUT_GLOBAL; }
+ static daeInt ID() { return 0; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The semantic attribute is the user-defined meaning of the input connection.
+ * Required attribute.
+ */
+ xsNMTOKEN attrSemantic;
+/**
+ * The source attribute indicates the location of the data source. Required
+ * attribute.
+ */
+ xsAnyURI attrSource;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the semantic attribute.
+ * @return Returns a xsNMTOKEN of the semantic attribute.
+ */
+ xsNMTOKEN getSemantic() const { return attrSemantic; }
+ /**
+ * Sets the semantic attribute.
+ * @param atSemantic The new value for the semantic attribute.
+ */
+ void setSemantic( xsNMTOKEN atSemantic ) { *(daeStringRef*)&attrSemantic = atSemantic;}
+
+ /**
+ * Gets the source attribute.
+ * @return Returns a xsAnyURI reference of the source attribute.
+ */
+ xsAnyURI &getSource() { return attrSource; }
+ /**
+ * Gets the source attribute.
+ * @return Returns a constant xsAnyURI reference of the source attribute.
+ */
+ const xsAnyURI &getSource() const { return attrSource; }
+ /**
+ * Sets the source attribute.
+ * @param atSource The new value for the source attribute.
+ */
+ void setSource( const xsAnyURI &atSource ) { attrSource = atSource; }
+ /**
+ * Sets the source attribute.
+ * @param atSource The new value for the source attribute.
+ */
+ void setSource( xsString atSource ) { attrSource = atSource; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domInput_global(DAE& dae) : daeElement(dae), attrSemantic(), attrSource(dae, *this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domInput_global() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInput_global &operator=( const domInput_global &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domInput_local.h b/1.4.0/dom/include/1.5/dom/domInput_local.h
new file mode 100644
index 0000000..bc54102
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domInput_local.h
@@ -0,0 +1,88 @@
+#ifndef __dom150Input_local_h__
+#define __dom150Input_local_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The input_local_type element is used to represent inputs that can only
+ * reference resources declared in the same document.
+ */
+class domInput_local : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INPUT_LOCAL; }
+ static daeInt ID() { return 1; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The semantic attribute is the user-defined meaning of the input connection.
+ * Required attribute.
+ */
+ xsNMTOKEN attrSemantic;
+/**
+ * The source attribute indicates the location of the data source. Required
+ * attribute.
+ */
+ domUrifragment attrSource;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the semantic attribute.
+ * @return Returns a xsNMTOKEN of the semantic attribute.
+ */
+ xsNMTOKEN getSemantic() const { return attrSemantic; }
+ /**
+ * Sets the semantic attribute.
+ * @param atSemantic The new value for the semantic attribute.
+ */
+ void setSemantic( xsNMTOKEN atSemantic ) { *(daeStringRef*)&attrSemantic = atSemantic;}
+
+ /**
+ * Gets the source attribute.
+ * @return Returns a domUrifragment of the source attribute.
+ */
+ domUrifragment getSource() const { return attrSource; }
+ /**
+ * Sets the source attribute.
+ * @param atSource The new value for the source attribute.
+ */
+ void setSource( domUrifragment atSource ) { attrSource = atSource; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domInput_local(DAE& dae) : daeElement(dae), attrSemantic(), attrSource(dae, *this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domInput_local() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInput_local &operator=( const domInput_local &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domInput_local_offset.h b/1.4.0/dom/include/1.5/dom/domInput_local_offset.h
new file mode 100644
index 0000000..9f1ad76
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domInput_local_offset.h
@@ -0,0 +1,122 @@
+#ifndef __dom150Input_local_offset_h__
+#define __dom150Input_local_offset_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The input_local_offset_type element is used to represent indexed inputs
+ * that can only reference resources declared in the same document.
+ */
+class domInput_local_offset : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INPUT_LOCAL_OFFSET; }
+ static daeInt ID() { return 2; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The offset attribute represents the offset into the list of indices.
+ * If two input elements share the same offset, they will be indexed the
+ * same. This works as a simple form of compression for the list of indices
+ * as well as defining the order the inputs should be used in. Required attribute.
+ */
+ domUint attrOffset;
+/**
+ * The semantic attribute is the user-defined meaning of the input connection.
+ * Required attribute.
+ */
+ xsNMTOKEN attrSemantic;
+/**
+ * The source attribute indicates the location of the data source. Required
+ * attribute.
+ */
+ domUrifragment attrSource;
+/**
+ * The set attribute indicates which inputs should be grouped together as
+ * a single set. This is helpful when multiple inputs share the same semantics.
+ */
+ domUint attrSet;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the offset attribute.
+ * @return Returns a domUint of the offset attribute.
+ */
+ domUint getOffset() const { return attrOffset; }
+ /**
+ * Sets the offset attribute.
+ * @param atOffset The new value for the offset attribute.
+ */
+ void setOffset( domUint atOffset ) { attrOffset = atOffset; }
+
+ /**
+ * Gets the semantic attribute.
+ * @return Returns a xsNMTOKEN of the semantic attribute.
+ */
+ xsNMTOKEN getSemantic() const { return attrSemantic; }
+ /**
+ * Sets the semantic attribute.
+ * @param atSemantic The new value for the semantic attribute.
+ */
+ void setSemantic( xsNMTOKEN atSemantic ) { *(daeStringRef*)&attrSemantic = atSemantic;}
+
+ /**
+ * Gets the source attribute.
+ * @return Returns a domUrifragment of the source attribute.
+ */
+ domUrifragment getSource() const { return attrSource; }
+ /**
+ * Sets the source attribute.
+ * @param atSource The new value for the source attribute.
+ */
+ void setSource( domUrifragment atSource ) { attrSource = atSource; }
+
+ /**
+ * Gets the set attribute.
+ * @return Returns a domUint of the set attribute.
+ */
+ domUint getSet() const { return attrSet; }
+ /**
+ * Sets the set attribute.
+ * @param atSet The new value for the set attribute.
+ */
+ void setSet( domUint atSet ) { attrSet = atSet; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domInput_local_offset(DAE& dae) : daeElement(dae), attrOffset(), attrSemantic(), attrSource(dae, *this), attrSet() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInput_local_offset() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInput_local_offset &operator=( const domInput_local_offset &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domInstance_articulated_system.h b/1.4.0/dom/include/1.5/dom/domInstance_articulated_system.h
new file mode 100644
index 0000000..a094b4e
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domInstance_articulated_system.h
@@ -0,0 +1,147 @@
+#ifndef __dom150Instance_articulated_system_h__
+#define __dom150Instance_articulated_system_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domKinematics_bind.h>
+#include <1.5/dom/domKinematics_setparam.h>
+#include <1.5/dom/domKinematics_newparam.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domInstance_articulated_system : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INSTANCE_ARTICULATED_SYSTEM; }
+ static daeInt ID() { return 450; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+ domSid attrSid;
+ xsAnyURI attrUrl;
+ xsToken attrName;
+
+protected: // Elements
+ domKinematics_bind_Array elemBind_array;
+ domKinematics_setparam_Array elemSetparam_array;
+ domKinematics_newparam_Array elemNewparam_array;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the url attribute.
+ * @return Returns a xsAnyURI reference of the url attribute.
+ */
+ xsAnyURI &getUrl() { return attrUrl; }
+ /**
+ * Gets the url attribute.
+ * @return Returns a constant xsAnyURI reference of the url attribute.
+ */
+ const xsAnyURI &getUrl() const { return attrUrl; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( const xsAnyURI &atUrl ) { attrUrl = atUrl; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( xsString atUrl ) { attrUrl = atUrl; }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the bind element array.
+ * @return Returns a reference to the array of bind elements.
+ */
+ domKinematics_bind_Array &getBind_array() { return elemBind_array; }
+ /**
+ * Gets the bind element array.
+ * @return Returns a constant reference to the array of bind elements.
+ */
+ const domKinematics_bind_Array &getBind_array() const { return elemBind_array; }
+ /**
+ * Gets the setparam element array.
+ * @return Returns a reference to the array of setparam elements.
+ */
+ domKinematics_setparam_Array &getSetparam_array() { return elemSetparam_array; }
+ /**
+ * Gets the setparam element array.
+ * @return Returns a constant reference to the array of setparam elements.
+ */
+ const domKinematics_setparam_Array &getSetparam_array() const { return elemSetparam_array; }
+ /**
+ * Gets the newparam element array.
+ * @return Returns a reference to the array of newparam elements.
+ */
+ domKinematics_newparam_Array &getNewparam_array() { return elemNewparam_array; }
+ /**
+ * Gets the newparam element array.
+ * @return Returns a constant reference to the array of newparam elements.
+ */
+ const domKinematics_newparam_Array &getNewparam_array() const { return elemNewparam_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domInstance_articulated_system(DAE& dae) : daeElement(dae), attrSid(), attrUrl(dae, *this), attrName(), elemBind_array(), elemSetparam_array(), elemNewparam_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInstance_articulated_system() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInstance_articulated_system &operator=( const domInstance_articulated_system &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domInstance_camera.h b/1.4.0/dom/include/1.5/dom/domInstance_camera.h
new file mode 100644
index 0000000..12895a0
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domInstance_camera.h
@@ -0,0 +1,55 @@
+#ifndef __dom150Instance_camera_h__
+#define __dom150Instance_camera_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domInstance_with_extra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+#include <1.5/dom/domInstance_with_extra.h>
+/**
+ * The instance_camera element declares the instantiation of a COLLADA camera
+ * resource.
+ */
+class domInstance_camera : public domInstance_with_extra
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INSTANCE_CAMERA; }
+ static daeInt ID() { return 100; }
+ virtual daeInt typeID() const { return ID(); }
+
+protected:
+ /**
+ * Constructor
+ */
+ domInstance_camera(DAE& dae) : domInstance_with_extra(dae) {}
+ /**
+ * Destructor
+ */
+ virtual ~domInstance_camera() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInstance_camera &operator=( const domInstance_camera &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domInstance_controller.h b/1.4.0/dom/include/1.5/dom/domInstance_controller.h
new file mode 100644
index 0000000..862831a
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domInstance_controller.h
@@ -0,0 +1,234 @@
+#ifndef __dom150Instance_controller_h__
+#define __dom150Instance_controller_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domBind_material.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The instance_controller element declares the instantiation of a COLLADA
+ * controller resource.
+ */
+class domInstance_controller : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INSTANCE_CONTROLLER; }
+ static daeInt ID() { return 108; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domSkeleton;
+
+ typedef daeSmartRef<domSkeleton> domSkeletonRef;
+ typedef daeTArray<domSkeletonRef> domSkeleton_Array;
+
+/**
+ * The skeleton element is used to indicate where a skin controller is to
+ * start to search for the joint nodes it needs. This element is meaningless
+ * for morph controllers.
+ */
+ class domSkeleton : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SKELETON; }
+ static daeInt ID() { return 109; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsAnyURI of the value.
+ */
+ xsAnyURI &getValue() { return _value; }
+ /**
+ * Gets the value of this element.
+ * @return Returns a constant xsAnyURI of the value.
+ */
+ const xsAnyURI &getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const xsAnyURI &val ) { _value = val; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsString val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The xsAnyURI value of the text data of this element.
+ */
+ xsAnyURI _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domSkeleton(DAE& dae) : daeElement(dae), _value(dae, *this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domSkeleton() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSkeleton &operator=( const domSkeleton &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+/**
+ * The url attribute refers to resource. This may refer to a local resource
+ * using a relative URL fragment identifier that begins with the "#" character.
+ * The url attribute may refer to an external resource using an absolute
+ * or relative URL.
+ */
+ xsAnyURI attrUrl;
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ domSid attrSid;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+
+protected: // Elements
+/**
+ * The skeleton element is used to indicate where a skin controller is to
+ * start to search for the joint nodes it needs. This element is meaningless
+ * for morph controllers. @see domSkeleton
+ */
+ domSkeleton_Array elemSkeleton_array;
+/**
+ * Bind a specific material to a piece of geometry, binding varying and uniform
+ * parameters at the same time. @see domBind_material
+ */
+ domBind_materialRef elemBind_material;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the url attribute.
+ * @return Returns a xsAnyURI reference of the url attribute.
+ */
+ xsAnyURI &getUrl() { return attrUrl; }
+ /**
+ * Gets the url attribute.
+ * @return Returns a constant xsAnyURI reference of the url attribute.
+ */
+ const xsAnyURI &getUrl() const { return attrUrl; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( const xsAnyURI &atUrl ) { attrUrl = atUrl; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( xsString atUrl ) { attrUrl = atUrl; }
+
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the skeleton element array.
+ * @return Returns a reference to the array of skeleton elements.
+ */
+ domSkeleton_Array &getSkeleton_array() { return elemSkeleton_array; }
+ /**
+ * Gets the skeleton element array.
+ * @return Returns a constant reference to the array of skeleton elements.
+ */
+ const domSkeleton_Array &getSkeleton_array() const { return elemSkeleton_array; }
+ /**
+ * Gets the bind_material element.
+ * @return a daeSmartRef to the bind_material element.
+ */
+ const domBind_materialRef getBind_material() const { return elemBind_material; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domInstance_controller(DAE& dae) : daeElement(dae), attrUrl(dae, *this), attrSid(), attrName(), elemSkeleton_array(), elemBind_material(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInstance_controller() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInstance_controller &operator=( const domInstance_controller &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domInstance_effect.h b/1.4.0/dom/include/1.5/dom/domInstance_effect.h
new file mode 100644
index 0000000..9c95193
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domInstance_effect.h
@@ -0,0 +1,322 @@
+#ifndef __dom150Instance_effect_h__
+#define __dom150Instance_effect_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domFx_setparam.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The instance_effect element declares the instantiation of a COLLADA effect
+ * resource.
+ */
+class domInstance_effect : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INSTANCE_EFFECT; }
+ static daeInt ID() { return 117; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domTechnique_hint;
+
+ typedef daeSmartRef<domTechnique_hint> domTechnique_hintRef;
+ typedef daeTArray<domTechnique_hintRef> domTechnique_hint_Array;
+
+/**
+ * Add a hint for a platform of which technique to use in this effect.
+ */
+ class domTechnique_hint : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TECHNIQUE_HINT; }
+ static daeInt ID() { return 118; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+/**
+ * A platform defines a string that specifies which platform this is hint
+ * is aimed for.
+ */
+ xsNCName attrPlatform;
+/**
+ * A profile defines a string that specifies which API profile this is hint
+ * is aimed for.
+ */
+ xsNCName attrProfile;
+/**
+ * A reference to the technique to use for the specified platform.
+ */
+ xsNCName attrRef;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the platform attribute.
+ * @return Returns a xsNCName of the platform attribute.
+ */
+ xsNCName getPlatform() const { return attrPlatform; }
+ /**
+ * Sets the platform attribute.
+ * @param atPlatform The new value for the platform attribute.
+ */
+ void setPlatform( xsNCName atPlatform ) { *(daeStringRef*)&attrPlatform = atPlatform; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the profile attribute.
+ * @return Returns a xsNCName of the profile attribute.
+ */
+ xsNCName getProfile() const { return attrProfile; }
+ /**
+ * Sets the profile attribute.
+ * @param atProfile The new value for the profile attribute.
+ */
+ void setProfile( xsNCName atProfile ) { *(daeStringRef*)&attrProfile = atProfile; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the ref attribute.
+ * @return Returns a xsNCName of the ref attribute.
+ */
+ xsNCName getRef() const { return attrRef; }
+ /**
+ * Sets the ref attribute.
+ * @param atRef The new value for the ref attribute.
+ */
+ void setRef( xsNCName atRef ) { *(daeStringRef*)&attrRef = atRef; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTechnique_hint(DAE& dae) : daeElement(dae), attrPlatform(), attrProfile(), attrRef() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTechnique_hint() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTechnique_hint &operator=( const domTechnique_hint &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domSetparam;
+
+ typedef daeSmartRef<domSetparam> domSetparamRef;
+ typedef daeTArray<domSetparamRef> domSetparam_Array;
+
+/**
+ * Assigns a new value to a previously defined parameter
+ */
+ class domSetparam : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SETPARAM; }
+ static daeInt ID() { return 119; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+ xsToken attrRef;
+
+ protected: // Element
+ domFx_setparamRef elemFx_setparam;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the ref attribute.
+ * @return Returns a xsToken of the ref attribute.
+ */
+ xsToken getRef() const { return attrRef; }
+ /**
+ * Sets the ref attribute.
+ * @param atRef The new value for the ref attribute.
+ */
+ void setRef( xsToken atRef ) { *(daeStringRef*)&attrRef = atRef; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the fx_setparam element.
+ * @return a daeSmartRef to the fx_setparam element.
+ */
+ const domFx_setparamRef getFx_setparam() const { return elemFx_setparam; }
+ protected:
+ /**
+ * Constructor
+ */
+ domSetparam(DAE& dae) : daeElement(dae), attrRef(), elemFx_setparam() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSetparam() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSetparam &operator=( const domSetparam &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+/**
+ * The url attribute refers to resource. This may refer to a local resource
+ * using a relative URL fragment identifier that begins with the "#" character.
+ * The url attribute may refer to an external resource using an absolute
+ * or relative URL.
+ */
+ xsAnyURI attrUrl;
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ domSid attrSid;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+
+protected: // Elements
+/**
+ * Add a hint for a platform of which technique to use in this effect. @see
+ * domTechnique_hint
+ */
+ domTechnique_hint_Array elemTechnique_hint_array;
+/**
+ * Assigns a new value to a previously defined parameter @see domSetparam
+ */
+ domSetparam_Array elemSetparam_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the url attribute.
+ * @return Returns a xsAnyURI reference of the url attribute.
+ */
+ xsAnyURI &getUrl() { return attrUrl; }
+ /**
+ * Gets the url attribute.
+ * @return Returns a constant xsAnyURI reference of the url attribute.
+ */
+ const xsAnyURI &getUrl() const { return attrUrl; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( const xsAnyURI &atUrl ) { attrUrl = atUrl; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( xsString atUrl ) { attrUrl = atUrl; }
+
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the technique_hint element array.
+ * @return Returns a reference to the array of technique_hint elements.
+ */
+ domTechnique_hint_Array &getTechnique_hint_array() { return elemTechnique_hint_array; }
+ /**
+ * Gets the technique_hint element array.
+ * @return Returns a constant reference to the array of technique_hint elements.
+ */
+ const domTechnique_hint_Array &getTechnique_hint_array() const { return elemTechnique_hint_array; }
+ /**
+ * Gets the setparam element array.
+ * @return Returns a reference to the array of setparam elements.
+ */
+ domSetparam_Array &getSetparam_array() { return elemSetparam_array; }
+ /**
+ * Gets the setparam element array.
+ * @return Returns a constant reference to the array of setparam elements.
+ */
+ const domSetparam_Array &getSetparam_array() const { return elemSetparam_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domInstance_effect(DAE& dae) : daeElement(dae), attrUrl(dae, *this), attrSid(), attrName(), elemTechnique_hint_array(), elemSetparam_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInstance_effect() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInstance_effect &operator=( const domInstance_effect &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domInstance_force_field.h b/1.4.0/dom/include/1.5/dom/domInstance_force_field.h
new file mode 100644
index 0000000..441dd6c
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domInstance_force_field.h
@@ -0,0 +1,55 @@
+#ifndef __dom150Instance_force_field_h__
+#define __dom150Instance_force_field_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domInstance_with_extra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+#include <1.5/dom/domInstance_with_extra.h>
+/**
+ * The instance_force_field element declares the instantiation of a COLLADA
+ * force_field resource.
+ */
+class domInstance_force_field : public domInstance_with_extra
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INSTANCE_FORCE_FIELD; }
+ static daeInt ID() { return 101; }
+ virtual daeInt typeID() const { return ID(); }
+
+protected:
+ /**
+ * Constructor
+ */
+ domInstance_force_field(DAE& dae) : domInstance_with_extra(dae) {}
+ /**
+ * Destructor
+ */
+ virtual ~domInstance_force_field() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInstance_force_field &operator=( const domInstance_force_field &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domInstance_formula.h b/1.4.0/dom/include/1.5/dom/domInstance_formula.h
new file mode 100644
index 0000000..a96d0f3
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domInstance_formula.h
@@ -0,0 +1,111 @@
+#ifndef __dom150Instance_formula_h__
+#define __dom150Instance_formula_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domFormula_setparam.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domInstance_formula : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INSTANCE_FORMULA; }
+ static daeInt ID() { return 475; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+ domSid attrSid;
+ xsToken attrName;
+ xsAnyURI attrUrl;
+
+protected: // Element
+ domFormula_setparam_Array elemSetparam_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the url attribute.
+ * @return Returns a xsAnyURI reference of the url attribute.
+ */
+ xsAnyURI &getUrl() { return attrUrl; }
+ /**
+ * Gets the url attribute.
+ * @return Returns a constant xsAnyURI reference of the url attribute.
+ */
+ const xsAnyURI &getUrl() const { return attrUrl; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( const xsAnyURI &atUrl ) { attrUrl = atUrl; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( xsString atUrl ) { attrUrl = atUrl; }
+
+ /**
+ * Gets the setparam element array.
+ * @return Returns a reference to the array of setparam elements.
+ */
+ domFormula_setparam_Array &getSetparam_array() { return elemSetparam_array; }
+ /**
+ * Gets the setparam element array.
+ * @return Returns a constant reference to the array of setparam elements.
+ */
+ const domFormula_setparam_Array &getSetparam_array() const { return elemSetparam_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domInstance_formula(DAE& dae) : daeElement(dae), attrSid(), attrName(), attrUrl(dae, *this), elemSetparam_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInstance_formula() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInstance_formula &operator=( const domInstance_formula &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domInstance_geometry.h b/1.4.0/dom/include/1.5/dom/domInstance_geometry.h
new file mode 100644
index 0000000..03ba1b2
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domInstance_geometry.h
@@ -0,0 +1,143 @@
+#ifndef __dom150Instance_geometry_h__
+#define __dom150Instance_geometry_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domBind_material.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The instance_geometry element declares the instantiation of a COLLADA geometry
+ * resource.
+ */
+class domInstance_geometry : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INSTANCE_GEOMETRY; }
+ static daeInt ID() { return 110; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The url attribute refers to resource. This may refer to a local resource
+ * using a relative URL fragment identifier that begins with the "#" character.
+ * The url attribute may refer to an external resource using an absolute
+ * or relative URL.
+ */
+ xsAnyURI attrUrl;
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ domSid attrSid;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+
+protected: // Elements
+/**
+ * Bind a specific material to a piece of geometry, binding varying and uniform
+ * parameters at the same time. @see domBind_material
+ */
+ domBind_materialRef elemBind_material;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the url attribute.
+ * @return Returns a xsAnyURI reference of the url attribute.
+ */
+ xsAnyURI &getUrl() { return attrUrl; }
+ /**
+ * Gets the url attribute.
+ * @return Returns a constant xsAnyURI reference of the url attribute.
+ */
+ const xsAnyURI &getUrl() const { return attrUrl; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( const xsAnyURI &atUrl ) { attrUrl = atUrl; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( xsString atUrl ) { attrUrl = atUrl; }
+
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the bind_material element.
+ * @return a daeSmartRef to the bind_material element.
+ */
+ const domBind_materialRef getBind_material() const { return elemBind_material; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domInstance_geometry(DAE& dae) : daeElement(dae), attrUrl(dae, *this), attrSid(), attrName(), elemBind_material(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInstance_geometry() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInstance_geometry &operator=( const domInstance_geometry &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domInstance_image.h b/1.4.0/dom/include/1.5/dom/domInstance_image.h
new file mode 100644
index 0000000..6910811
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domInstance_image.h
@@ -0,0 +1,51 @@
+#ifndef __dom150Instance_image_h__
+#define __dom150Instance_image_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domInstance_with_extra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+#include <1.5/dom/domInstance_with_extra.h>
+class domInstance_image : public domInstance_with_extra
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INSTANCE_IMAGE; }
+ static daeInt ID() { return 99; }
+ virtual daeInt typeID() const { return ID(); }
+
+protected:
+ /**
+ * Constructor
+ */
+ domInstance_image(DAE& dae) : domInstance_with_extra(dae) {}
+ /**
+ * Destructor
+ */
+ virtual ~domInstance_image() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInstance_image &operator=( const domInstance_image &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domInstance_joint.h b/1.4.0/dom/include/1.5/dom/domInstance_joint.h
new file mode 100644
index 0000000..767c353
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domInstance_joint.h
@@ -0,0 +1,51 @@
+#ifndef __dom150Instance_joint_h__
+#define __dom150Instance_joint_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domInstance_with_extra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+#include <1.5/dom/domInstance_with_extra.h>
+class domInstance_joint : public domInstance_with_extra
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INSTANCE_JOINT; }
+ static daeInt ID() { return 367; }
+ virtual daeInt typeID() const { return ID(); }
+
+protected:
+ /**
+ * Constructor
+ */
+ domInstance_joint(DAE& dae) : domInstance_with_extra(dae) {}
+ /**
+ * Destructor
+ */
+ virtual ~domInstance_joint() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInstance_joint &operator=( const domInstance_joint &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domInstance_kinematics_model.h b/1.4.0/dom/include/1.5/dom/domInstance_kinematics_model.h
new file mode 100644
index 0000000..a391878
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domInstance_kinematics_model.h
@@ -0,0 +1,147 @@
+#ifndef __dom150Instance_kinematics_model_h__
+#define __dom150Instance_kinematics_model_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domKinematics_bind.h>
+#include <1.5/dom/domKinematics_newparam.h>
+#include <1.5/dom/domKinematics_setparam.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domInstance_kinematics_model : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INSTANCE_KINEMATICS_MODEL; }
+ static daeInt ID() { return 449; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+ xsAnyURI attrUrl;
+ domSid attrSid;
+ xsToken attrName;
+
+protected: // Elements
+ domKinematics_bind_Array elemBind_array;
+ domKinematics_newparam_Array elemNewparam_array;
+ domKinematics_setparam_Array elemSetparam_array;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the url attribute.
+ * @return Returns a xsAnyURI reference of the url attribute.
+ */
+ xsAnyURI &getUrl() { return attrUrl; }
+ /**
+ * Gets the url attribute.
+ * @return Returns a constant xsAnyURI reference of the url attribute.
+ */
+ const xsAnyURI &getUrl() const { return attrUrl; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( const xsAnyURI &atUrl ) { attrUrl = atUrl; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( xsString atUrl ) { attrUrl = atUrl; }
+
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the bind element array.
+ * @return Returns a reference to the array of bind elements.
+ */
+ domKinematics_bind_Array &getBind_array() { return elemBind_array; }
+ /**
+ * Gets the bind element array.
+ * @return Returns a constant reference to the array of bind elements.
+ */
+ const domKinematics_bind_Array &getBind_array() const { return elemBind_array; }
+ /**
+ * Gets the newparam element array.
+ * @return Returns a reference to the array of newparam elements.
+ */
+ domKinematics_newparam_Array &getNewparam_array() { return elemNewparam_array; }
+ /**
+ * Gets the newparam element array.
+ * @return Returns a constant reference to the array of newparam elements.
+ */
+ const domKinematics_newparam_Array &getNewparam_array() const { return elemNewparam_array; }
+ /**
+ * Gets the setparam element array.
+ * @return Returns a reference to the array of setparam elements.
+ */
+ domKinematics_setparam_Array &getSetparam_array() { return elemSetparam_array; }
+ /**
+ * Gets the setparam element array.
+ * @return Returns a constant reference to the array of setparam elements.
+ */
+ const domKinematics_setparam_Array &getSetparam_array() const { return elemSetparam_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domInstance_kinematics_model(DAE& dae) : daeElement(dae), attrUrl(dae, *this), attrSid(), attrName(), elemBind_array(), elemNewparam_array(), elemSetparam_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInstance_kinematics_model() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInstance_kinematics_model &operator=( const domInstance_kinematics_model &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domInstance_kinematics_scene.h b/1.4.0/dom/include/1.5/dom/domInstance_kinematics_scene.h
new file mode 100644
index 0000000..44f175f
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domInstance_kinematics_scene.h
@@ -0,0 +1,166 @@
+#ifndef __dom150Instance_kinematics_scene_h__
+#define __dom150Instance_kinematics_scene_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domKinematics_newparam.h>
+#include <1.5/dom/domKinematics_setparam.h>
+#include <1.5/dom/domBind_kinematics_model.h>
+#include <1.5/dom/domBind_joint_axis.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domInstance_kinematics_scene : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INSTANCE_KINEMATICS_SCENE; }
+ static daeInt ID() { return 440; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+ xsAnyURI attrUrl;
+ domSid attrSid;
+ xsToken attrName;
+
+protected: // Elements
+ domAssetRef elemAsset;
+ domKinematics_newparam_Array elemNewparam_array;
+ domKinematics_setparam_Array elemSetparam_array;
+ domBind_kinematics_model_Array elemBind_kinematics_model_array;
+ domBind_joint_axis_Array elemBind_joint_axis_array;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the url attribute.
+ * @return Returns a xsAnyURI reference of the url attribute.
+ */
+ xsAnyURI &getUrl() { return attrUrl; }
+ /**
+ * Gets the url attribute.
+ * @return Returns a constant xsAnyURI reference of the url attribute.
+ */
+ const xsAnyURI &getUrl() const { return attrUrl; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( const xsAnyURI &atUrl ) { attrUrl = atUrl; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( xsString atUrl ) { attrUrl = atUrl; }
+
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the newparam element array.
+ * @return Returns a reference to the array of newparam elements.
+ */
+ domKinematics_newparam_Array &getNewparam_array() { return elemNewparam_array; }
+ /**
+ * Gets the newparam element array.
+ * @return Returns a constant reference to the array of newparam elements.
+ */
+ const domKinematics_newparam_Array &getNewparam_array() const { return elemNewparam_array; }
+ /**
+ * Gets the setparam element array.
+ * @return Returns a reference to the array of setparam elements.
+ */
+ domKinematics_setparam_Array &getSetparam_array() { return elemSetparam_array; }
+ /**
+ * Gets the setparam element array.
+ * @return Returns a constant reference to the array of setparam elements.
+ */
+ const domKinematics_setparam_Array &getSetparam_array() const { return elemSetparam_array; }
+ /**
+ * Gets the bind_kinematics_model element array.
+ * @return Returns a reference to the array of bind_kinematics_model elements.
+ */
+ domBind_kinematics_model_Array &getBind_kinematics_model_array() { return elemBind_kinematics_model_array; }
+ /**
+ * Gets the bind_kinematics_model element array.
+ * @return Returns a constant reference to the array of bind_kinematics_model elements.
+ */
+ const domBind_kinematics_model_Array &getBind_kinematics_model_array() const { return elemBind_kinematics_model_array; }
+ /**
+ * Gets the bind_joint_axis element array.
+ * @return Returns a reference to the array of bind_joint_axis elements.
+ */
+ domBind_joint_axis_Array &getBind_joint_axis_array() { return elemBind_joint_axis_array; }
+ /**
+ * Gets the bind_joint_axis element array.
+ * @return Returns a constant reference to the array of bind_joint_axis elements.
+ */
+ const domBind_joint_axis_Array &getBind_joint_axis_array() const { return elemBind_joint_axis_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domInstance_kinematics_scene(DAE& dae) : daeElement(dae), attrUrl(dae, *this), attrSid(), attrName(), elemAsset(), elemNewparam_array(), elemSetparam_array(), elemBind_kinematics_model_array(), elemBind_joint_axis_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInstance_kinematics_scene() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInstance_kinematics_scene &operator=( const domInstance_kinematics_scene &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domInstance_light.h b/1.4.0/dom/include/1.5/dom/domInstance_light.h
new file mode 100644
index 0000000..d4a2058
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domInstance_light.h
@@ -0,0 +1,55 @@
+#ifndef __dom150Instance_light_h__
+#define __dom150Instance_light_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domInstance_with_extra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+#include <1.5/dom/domInstance_with_extra.h>
+/**
+ * The instance_light element declares the instantiation of a COLLADA light
+ * resource.
+ */
+class domInstance_light : public domInstance_with_extra
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INSTANCE_LIGHT; }
+ static daeInt ID() { return 102; }
+ virtual daeInt typeID() const { return ID(); }
+
+protected:
+ /**
+ * Constructor
+ */
+ domInstance_light(DAE& dae) : domInstance_with_extra(dae) {}
+ /**
+ * Destructor
+ */
+ virtual ~domInstance_light() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInstance_light &operator=( const domInstance_light &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domInstance_material.h b/1.4.0/dom/include/1.5/dom/domInstance_material.h
new file mode 100644
index 0000000..b1940af
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domInstance_material.h
@@ -0,0 +1,348 @@
+#ifndef __dom150Instance_material_h__
+#define __dom150Instance_material_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The instance_material element declares the instantiation of a COLLADA material
+ * resource.
+ */
+class domInstance_material : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INSTANCE_MATERIAL; }
+ static daeInt ID() { return 103; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domBind;
+
+ typedef daeSmartRef<domBind> domBindRef;
+ typedef daeTArray<domBindRef> domBind_Array;
+
+/**
+ * The bind element binds values to effect parameters upon instantiation.
+ */
+ class domBind : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BIND; }
+ static daeInt ID() { return 104; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+/**
+ * The semantic attribute specifies which effect parameter to bind.
+ */
+ xsNCName attrSemantic;
+/**
+ * The target attribute specifies the location of the value to bind to the
+ * specified semantic. This text string is a path-name following a simple
+ * syntax described in the "Addressing Syntax" section.
+ */
+ xsToken attrTarget;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the semantic attribute.
+ * @return Returns a xsNCName of the semantic attribute.
+ */
+ xsNCName getSemantic() const { return attrSemantic; }
+ /**
+ * Sets the semantic attribute.
+ * @param atSemantic The new value for the semantic attribute.
+ */
+ void setSemantic( xsNCName atSemantic ) { *(daeStringRef*)&attrSemantic = atSemantic; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the target attribute.
+ * @return Returns a xsToken of the target attribute.
+ */
+ xsToken getTarget() const { return attrTarget; }
+ /**
+ * Sets the target attribute.
+ * @param atTarget The new value for the target attribute.
+ */
+ void setTarget( xsToken atTarget ) { *(daeStringRef*)&attrTarget = atTarget; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBind(DAE& dae) : daeElement(dae), attrSemantic(), attrTarget() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBind() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBind &operator=( const domBind &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBind_vertex_input;
+
+ typedef daeSmartRef<domBind_vertex_input> domBind_vertex_inputRef;
+ typedef daeTArray<domBind_vertex_inputRef> domBind_vertex_input_Array;
+
+/**
+ * The bind_vertex_input element binds vertex inputs to effect parameters
+ * upon instantiation.
+ */
+ class domBind_vertex_input : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BIND_VERTEX_INPUT; }
+ static daeInt ID() { return 105; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+/**
+ * The semantic attribute specifies which effect parameter to bind.
+ */
+ xsNCName attrSemantic;
+/**
+ * The input_semantic attribute specifies which input semantic to bind.
+ */
+ xsNCName attrInput_semantic;
+/**
+ * The input_set attribute specifies which input set to bind.
+ */
+ domUint attrInput_set;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the semantic attribute.
+ * @return Returns a xsNCName of the semantic attribute.
+ */
+ xsNCName getSemantic() const { return attrSemantic; }
+ /**
+ * Sets the semantic attribute.
+ * @param atSemantic The new value for the semantic attribute.
+ */
+ void setSemantic( xsNCName atSemantic ) { *(daeStringRef*)&attrSemantic = atSemantic; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the input_semantic attribute.
+ * @return Returns a xsNCName of the input_semantic attribute.
+ */
+ xsNCName getInput_semantic() const { return attrInput_semantic; }
+ /**
+ * Sets the input_semantic attribute.
+ * @param atInput_semantic The new value for the input_semantic attribute.
+ */
+ void setInput_semantic( xsNCName atInput_semantic ) { *(daeStringRef*)&attrInput_semantic = atInput_semantic; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the input_set attribute.
+ * @return Returns a domUint of the input_set attribute.
+ */
+ domUint getInput_set() const { return attrInput_set; }
+ /**
+ * Sets the input_set attribute.
+ * @param atInput_set The new value for the input_set attribute.
+ */
+ void setInput_set( domUint atInput_set ) { attrInput_set = atInput_set; _validAttributeArray[2] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBind_vertex_input(DAE& dae) : daeElement(dae), attrSemantic(), attrInput_semantic(), attrInput_set() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBind_vertex_input() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBind_vertex_input &operator=( const domBind_vertex_input &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+/**
+ * The symbol attribute specifies which symbol defined from within the geometry
+ * this material binds to.
+ */
+ xsNCName attrSymbol;
+/**
+ * The target attribute specifies the URL of the location of the object to
+ * instantiate.
+ */
+ xsAnyURI attrTarget;
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ domSid attrSid;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+
+protected: // Elements
+/**
+ * The bind element binds values to effect parameters upon instantiation.
+ * @see domBind
+ */
+ domBind_Array elemBind_array;
+/**
+ * The bind_vertex_input element binds vertex inputs to effect parameters
+ * upon instantiation. @see domBind_vertex_input
+ */
+ domBind_vertex_input_Array elemBind_vertex_input_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the symbol attribute.
+ * @return Returns a xsNCName of the symbol attribute.
+ */
+ xsNCName getSymbol() const { return attrSymbol; }
+ /**
+ * Sets the symbol attribute.
+ * @param atSymbol The new value for the symbol attribute.
+ */
+ void setSymbol( xsNCName atSymbol ) { *(daeStringRef*)&attrSymbol = atSymbol;}
+
+ /**
+ * Gets the target attribute.
+ * @return Returns a xsAnyURI reference of the target attribute.
+ */
+ xsAnyURI &getTarget() { return attrTarget; }
+ /**
+ * Gets the target attribute.
+ * @return Returns a constant xsAnyURI reference of the target attribute.
+ */
+ const xsAnyURI &getTarget() const { return attrTarget; }
+ /**
+ * Sets the target attribute.
+ * @param atTarget The new value for the target attribute.
+ */
+ void setTarget( const xsAnyURI &atTarget ) { attrTarget = atTarget; }
+ /**
+ * Sets the target attribute.
+ * @param atTarget The new value for the target attribute.
+ */
+ void setTarget( xsString atTarget ) { attrTarget = atTarget; }
+
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the bind element array.
+ * @return Returns a reference to the array of bind elements.
+ */
+ domBind_Array &getBind_array() { return elemBind_array; }
+ /**
+ * Gets the bind element array.
+ * @return Returns a constant reference to the array of bind elements.
+ */
+ const domBind_Array &getBind_array() const { return elemBind_array; }
+ /**
+ * Gets the bind_vertex_input element array.
+ * @return Returns a reference to the array of bind_vertex_input elements.
+ */
+ domBind_vertex_input_Array &getBind_vertex_input_array() { return elemBind_vertex_input_array; }
+ /**
+ * Gets the bind_vertex_input element array.
+ * @return Returns a constant reference to the array of bind_vertex_input elements.
+ */
+ const domBind_vertex_input_Array &getBind_vertex_input_array() const { return elemBind_vertex_input_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domInstance_material(DAE& dae) : daeElement(dae), attrSymbol(), attrTarget(dae, *this), attrSid(), attrName(), elemBind_array(), elemBind_vertex_input_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInstance_material() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInstance_material &operator=( const domInstance_material &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domInstance_node.h b/1.4.0/dom/include/1.5/dom/domInstance_node.h
new file mode 100644
index 0000000..5a1bdeb
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domInstance_node.h
@@ -0,0 +1,122 @@
+#ifndef __dom150Instance_node_h__
+#define __dom150Instance_node_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domInstance_with_extra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The instance_node element declares the instantiation of a COLLADA node
+ * resource.
+ */
+class domInstance_node : public domInstance_with_extra
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INSTANCE_NODE; }
+ static daeInt ID() { return 111; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attribute
+ xsAnyURI attrProxy;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the url attribute.
+ * @return Returns a xsAnyURI reference of the url attribute.
+ */
+ xsAnyURI &getUrl() { return attrUrl; }
+ /**
+ * Gets the url attribute.
+ * @return Returns a constant xsAnyURI reference of the url attribute.
+ */
+ const xsAnyURI &getUrl() const { return attrUrl; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( const xsAnyURI &atUrl ) { attrUrl = atUrl; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( xsString atUrl ) { attrUrl = atUrl; }
+
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the proxy attribute.
+ * @return Returns a xsAnyURI reference of the proxy attribute.
+ */
+ xsAnyURI &getProxy() { return attrProxy; }
+ /**
+ * Gets the proxy attribute.
+ * @return Returns a constant xsAnyURI reference of the proxy attribute.
+ */
+ const xsAnyURI &getProxy() const { return attrProxy; }
+ /**
+ * Sets the proxy attribute.
+ * @param atProxy The new value for the proxy attribute.
+ */
+ void setProxy( const xsAnyURI &atProxy ) { attrProxy = atProxy; }
+ /**
+ * Sets the proxy attribute.
+ * @param atProxy The new value for the proxy attribute.
+ */
+ void setProxy( xsString atProxy ) { attrProxy = atProxy; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domInstance_node(DAE& dae) : domInstance_with_extra(dae), attrProxy(dae, *this) {}
+ /**
+ * Destructor
+ */
+ virtual ~domInstance_node() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInstance_node &operator=( const domInstance_node &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domInstance_physics_material.h b/1.4.0/dom/include/1.5/dom/domInstance_physics_material.h
new file mode 100644
index 0000000..7fb5a98
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domInstance_physics_material.h
@@ -0,0 +1,55 @@
+#ifndef __dom150Instance_physics_material_h__
+#define __dom150Instance_physics_material_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domInstance_with_extra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+#include <1.5/dom/domInstance_with_extra.h>
+/**
+ * The instance_physics_material element declares the instantiation of a COLLADA
+ * physics_material resource.
+ */
+class domInstance_physics_material : public domInstance_with_extra
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INSTANCE_PHYSICS_MATERIAL; }
+ static daeInt ID() { return 112; }
+ virtual daeInt typeID() const { return ID(); }
+
+protected:
+ /**
+ * Constructor
+ */
+ domInstance_physics_material(DAE& dae) : domInstance_with_extra(dae) {}
+ /**
+ * Destructor
+ */
+ virtual ~domInstance_physics_material() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInstance_physics_material &operator=( const domInstance_physics_material &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domInstance_physics_model.h b/1.4.0/dom/include/1.5/dom/domInstance_physics_model.h
new file mode 100644
index 0000000..b71eb0a
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domInstance_physics_model.h
@@ -0,0 +1,208 @@
+#ifndef __dom150Instance_physics_model_h__
+#define __dom150Instance_physics_model_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domInstance_force_field.h>
+#include <1.5/dom/domInstance_rigid_body.h>
+#include <1.5/dom/domInstance_rigid_constraint.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * This element allows instancing physics model within another physics model,
+ * or in a physics scene.
+ */
+class domInstance_physics_model : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INSTANCE_PHYSICS_MODEL; }
+ static daeInt ID() { return 410; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The url attribute refers to resource. This may refer to a local resource
+ * using a relative URL fragment identifier that begins with the "#" character.
+ * The url attribute may refer to an external resource using an absolute
+ * or relative URL.
+ */
+ xsAnyURI attrUrl;
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ domSid attrSid;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+/**
+ * The parent attribute points to the id of a node in the visual scene. This
+ * allows a physics model to be instantiated under a specific transform node,
+ * which will dictate the initial position and orientation, and could be
+ * animated to influence kinematic rigid bodies.
+ */
+ xsAnyURI attrParent;
+
+protected: // Elements
+/**
+ * The instance_physics_model element may instance any number of force_field
+ * elements. @see domInstance_force_field
+ */
+ domInstance_force_field_Array elemInstance_force_field_array;
+/**
+ * The instance_physics_model element may instance any number of rigid_body
+ * elements. @see domInstance_rigid_body
+ */
+ domInstance_rigid_body_Array elemInstance_rigid_body_array;
+/**
+ * The instance_physics_model element may instance any number of rigid_constraint
+ * elements. @see domInstance_rigid_constraint
+ */
+ domInstance_rigid_constraint_Array elemInstance_rigid_constraint_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the url attribute.
+ * @return Returns a xsAnyURI reference of the url attribute.
+ */
+ xsAnyURI &getUrl() { return attrUrl; }
+ /**
+ * Gets the url attribute.
+ * @return Returns a constant xsAnyURI reference of the url attribute.
+ */
+ const xsAnyURI &getUrl() const { return attrUrl; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( const xsAnyURI &atUrl ) { attrUrl = atUrl; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( xsString atUrl ) { attrUrl = atUrl; }
+
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the parent attribute.
+ * @return Returns a xsAnyURI reference of the parent attribute.
+ */
+ xsAnyURI &getParent() { return attrParent; }
+ /**
+ * Gets the parent attribute.
+ * @return Returns a constant xsAnyURI reference of the parent attribute.
+ */
+ const xsAnyURI &getParent() const { return attrParent; }
+ /**
+ * Sets the parent attribute.
+ * @param atParent The new value for the parent attribute.
+ */
+ void setParent( const xsAnyURI &atParent ) { attrParent = atParent; }
+ /**
+ * Sets the parent attribute.
+ * @param atParent The new value for the parent attribute.
+ */
+ void setParent( xsString atParent ) { attrParent = atParent; }
+
+ /**
+ * Gets the instance_force_field element array.
+ * @return Returns a reference to the array of instance_force_field elements.
+ */
+ domInstance_force_field_Array &getInstance_force_field_array() { return elemInstance_force_field_array; }
+ /**
+ * Gets the instance_force_field element array.
+ * @return Returns a constant reference to the array of instance_force_field elements.
+ */
+ const domInstance_force_field_Array &getInstance_force_field_array() const { return elemInstance_force_field_array; }
+ /**
+ * Gets the instance_rigid_body element array.
+ * @return Returns a reference to the array of instance_rigid_body elements.
+ */
+ domInstance_rigid_body_Array &getInstance_rigid_body_array() { return elemInstance_rigid_body_array; }
+ /**
+ * Gets the instance_rigid_body element array.
+ * @return Returns a constant reference to the array of instance_rigid_body elements.
+ */
+ const domInstance_rigid_body_Array &getInstance_rigid_body_array() const { return elemInstance_rigid_body_array; }
+ /**
+ * Gets the instance_rigid_constraint element array.
+ * @return Returns a reference to the array of instance_rigid_constraint elements.
+ */
+ domInstance_rigid_constraint_Array &getInstance_rigid_constraint_array() { return elemInstance_rigid_constraint_array; }
+ /**
+ * Gets the instance_rigid_constraint element array.
+ * @return Returns a constant reference to the array of instance_rigid_constraint elements.
+ */
+ const domInstance_rigid_constraint_Array &getInstance_rigid_constraint_array() const { return elemInstance_rigid_constraint_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domInstance_physics_model(DAE& dae) : daeElement(dae), attrUrl(dae, *this), attrSid(), attrName(), attrParent(dae, *this), elemInstance_force_field_array(), elemInstance_rigid_body_array(), elemInstance_rigid_constraint_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInstance_physics_model() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInstance_physics_model &operator=( const domInstance_physics_model &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domInstance_rigid_body.h b/1.4.0/dom/include/1.5/dom/domInstance_rigid_body.h
new file mode 100644
index 0000000..6ff3346
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domInstance_rigid_body.h
@@ -0,0 +1,865 @@
+#ifndef __dom150Instance_rigid_body_h__
+#define __dom150Instance_rigid_body_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domTargetable_float.h>
+#include <1.5/dom/domTranslate.h>
+#include <1.5/dom/domRotate.h>
+#include <1.5/dom/domTargetable_float3.h>
+#include <1.5/dom/domInstance_physics_material.h>
+#include <1.5/dom/domPhysics_material.h>
+#include <1.5/dom/domInstance_geometry.h>
+#include <1.5/dom/domPlane.h>
+#include <1.5/dom/domBox.h>
+#include <1.5/dom/domSphere.h>
+#include <1.5/dom/domCylinder.h>
+#include <1.5/dom/domCapsule.h>
+#include <1.5/dom/domExtra.h>
+#include <1.5/dom/domTechnique.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * This element allows instancing a rigid_body within an instance_physics_model.
+ */
+class domInstance_rigid_body : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INSTANCE_RIGID_BODY; }
+ static daeInt ID() { return 402; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domTechnique_common;
+
+ typedef daeSmartRef<domTechnique_common> domTechnique_commonRef;
+ typedef daeTArray<domTechnique_commonRef> domTechnique_common_Array;
+
+/**
+ * The technique_common element specifies the instance_rigid_body information
+ * for the common profile which all COLLADA implementations need to support.
+ */
+ class domTechnique_common : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TECHNIQUE_COMMON; }
+ static daeInt ID() { return 403; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domAngular_velocity;
+
+ typedef daeSmartRef<domAngular_velocity> domAngular_velocityRef;
+ typedef daeTArray<domAngular_velocityRef> domAngular_velocity_Array;
+
+/**
+ * Specifies the initial angular velocity of the rigid_body instance in degrees
+ * per second around each axis, in the form of an X-Y-Z Euler rotation.
+ */
+ class domAngular_velocity : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ANGULAR_VELOCITY; }
+ static daeInt ID() { return 404; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFloat3 of the value.
+ */
+ domFloat3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFloat3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFloat3 value of the text data of this element.
+ */
+ domFloat3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domAngular_velocity(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domAngular_velocity() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAngular_velocity &operator=( const domAngular_velocity &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domVelocity;
+
+ typedef daeSmartRef<domVelocity> domVelocityRef;
+ typedef daeTArray<domVelocityRef> domVelocity_Array;
+
+/**
+ * Specifies the initial linear velocity of the rigid_body instance.
+ */
+ class domVelocity : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::VELOCITY; }
+ static daeInt ID() { return 405; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFloat3 of the value.
+ */
+ domFloat3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFloat3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFloat3 value of the text data of this element.
+ */
+ domFloat3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domVelocity(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domVelocity() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domVelocity &operator=( const domVelocity &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDynamic;
+
+ typedef daeSmartRef<domDynamic> domDynamicRef;
+ typedef daeTArray<domDynamicRef> domDynamic_Array;
+
+ class domDynamic : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DYNAMIC; }
+ static daeInt ID() { return 406; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ domSid attrSid;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the value of this element.
+ * @return a xsBoolean of the value.
+ */
+ xsBoolean& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const xsBoolean& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The xsBoolean value of the text data of this element.
+ */
+ xsBoolean _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domDynamic(DAE& dae) : daeElement(dae), attrSid(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDynamic() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDynamic &operator=( const domDynamic &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMass_frame;
+
+ typedef daeSmartRef<domMass_frame> domMass_frameRef;
+ typedef daeTArray<domMass_frameRef> domMass_frame_Array;
+
+ class domMass_frame : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MASS_FRAME; }
+ static daeInt ID() { return 407; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Elements
+ domTranslate_Array elemTranslate_array;
+ domRotate_Array elemRotate_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the translate element array.
+ * @return Returns a reference to the array of translate elements.
+ */
+ domTranslate_Array &getTranslate_array() { return elemTranslate_array; }
+ /**
+ * Gets the translate element array.
+ * @return Returns a constant reference to the array of translate elements.
+ */
+ const domTranslate_Array &getTranslate_array() const { return elemTranslate_array; }
+ /**
+ * Gets the rotate element array.
+ * @return Returns a reference to the array of rotate elements.
+ */
+ domRotate_Array &getRotate_array() { return elemRotate_array; }
+ /**
+ * Gets the rotate element array.
+ * @return Returns a constant reference to the array of rotate elements.
+ */
+ const domRotate_Array &getRotate_array() const { return elemRotate_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMass_frame(DAE& dae) : daeElement(dae), elemTranslate_array(), elemRotate_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMass_frame() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMass_frame &operator=( const domMass_frame &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domShape;
+
+ typedef daeSmartRef<domShape> domShapeRef;
+ typedef daeTArray<domShapeRef> domShape_Array;
+
+ class domShape : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SHAPE; }
+ static daeInt ID() { return 408; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domHollow;
+
+ typedef daeSmartRef<domHollow> domHollowRef;
+ typedef daeTArray<domHollowRef> domHollow_Array;
+
+ class domHollow : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HOLLOW; }
+ static daeInt ID() { return 409; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ domSid attrSid;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the value of this element.
+ * @return a xsBoolean of the value.
+ */
+ xsBoolean& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const xsBoolean& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The xsBoolean value of the text data of this element.
+ */
+ xsBoolean _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domHollow(DAE& dae) : daeElement(dae), attrSid(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHollow() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHollow &operator=( const domHollow &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domHollowRef elemHollow;
+ domTargetable_floatRef elemMass;
+ domTargetable_floatRef elemDensity;
+ domInstance_physics_materialRef elemInstance_physics_material;
+ domPhysics_materialRef elemPhysics_material;
+ domInstance_geometryRef elemInstance_geometry;
+ domPlaneRef elemPlane;
+ domBoxRef elemBox;
+ domSphereRef elemSphere;
+ domCylinderRef elemCylinder;
+ domCapsuleRef elemCapsule;
+ domTranslate_Array elemTranslate_array;
+ domRotate_Array elemRotate_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the hollow element.
+ * @return a daeSmartRef to the hollow element.
+ */
+ const domHollowRef getHollow() const { return elemHollow; }
+ /**
+ * Gets the mass element.
+ * @return a daeSmartRef to the mass element.
+ */
+ const domTargetable_floatRef getMass() const { return elemMass; }
+ /**
+ * Gets the density element.
+ * @return a daeSmartRef to the density element.
+ */
+ const domTargetable_floatRef getDensity() const { return elemDensity; }
+ /**
+ * Gets the instance_physics_material element.
+ * @return a daeSmartRef to the instance_physics_material element.
+ */
+ const domInstance_physics_materialRef getInstance_physics_material() const { return elemInstance_physics_material; }
+ /**
+ * Gets the physics_material element.
+ * @return a daeSmartRef to the physics_material element.
+ */
+ const domPhysics_materialRef getPhysics_material() const { return elemPhysics_material; }
+ /**
+ * Gets the instance_geometry element.
+ * @return a daeSmartRef to the instance_geometry element.
+ */
+ const domInstance_geometryRef getInstance_geometry() const { return elemInstance_geometry; }
+ /**
+ * Gets the plane element.
+ * @return a daeSmartRef to the plane element.
+ */
+ const domPlaneRef getPlane() const { return elemPlane; }
+ /**
+ * Gets the box element.
+ * @return a daeSmartRef to the box element.
+ */
+ const domBoxRef getBox() const { return elemBox; }
+ /**
+ * Gets the sphere element.
+ * @return a daeSmartRef to the sphere element.
+ */
+ const domSphereRef getSphere() const { return elemSphere; }
+ /**
+ * Gets the cylinder element.
+ * @return a daeSmartRef to the cylinder element.
+ */
+ const domCylinderRef getCylinder() const { return elemCylinder; }
+ /**
+ * Gets the capsule element.
+ * @return a daeSmartRef to the capsule element.
+ */
+ const domCapsuleRef getCapsule() const { return elemCapsule; }
+ /**
+ * Gets the translate element array.
+ * @return Returns a reference to the array of translate elements.
+ */
+ domTranslate_Array &getTranslate_array() { return elemTranslate_array; }
+ /**
+ * Gets the translate element array.
+ * @return Returns a constant reference to the array of translate elements.
+ */
+ const domTranslate_Array &getTranslate_array() const { return elemTranslate_array; }
+ /**
+ * Gets the rotate element array.
+ * @return Returns a reference to the array of rotate elements.
+ */
+ domRotate_Array &getRotate_array() { return elemRotate_array; }
+ /**
+ * Gets the rotate element array.
+ * @return Returns a constant reference to the array of rotate elements.
+ */
+ const domRotate_Array &getRotate_array() const { return elemRotate_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domShape(DAE& dae) : daeElement(dae), elemHollow(), elemMass(), elemDensity(), elemInstance_physics_material(), elemPhysics_material(), elemInstance_geometry(), elemPlane(), elemBox(), elemSphere(), elemCylinder(), elemCapsule(), elemTranslate_array(), elemRotate_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domShape() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domShape &operator=( const domShape &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+/**
+ * Specifies the initial angular velocity of the rigid_body instance in degrees
+ * per second around each axis, in the form of an X-Y-Z Euler rotation. @see
+ * domAngular_velocity
+ */
+ domAngular_velocityRef elemAngular_velocity;
+/**
+ * Specifies the initial linear velocity of the rigid_body instance. @see
+ * domVelocity
+ */
+ domVelocityRef elemVelocity;
+ domDynamicRef elemDynamic;
+ domTargetable_floatRef elemMass;
+ domMass_frameRef elemMass_frame;
+ domTargetable_float3Ref elemInertia;
+ domInstance_physics_materialRef elemInstance_physics_material;
+ domPhysics_materialRef elemPhysics_material;
+ domShape_Array elemShape_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the angular_velocity element.
+ * @return a daeSmartRef to the angular_velocity element.
+ */
+ const domAngular_velocityRef getAngular_velocity() const { return elemAngular_velocity; }
+ /**
+ * Gets the velocity element.
+ * @return a daeSmartRef to the velocity element.
+ */
+ const domVelocityRef getVelocity() const { return elemVelocity; }
+ /**
+ * Gets the dynamic element.
+ * @return a daeSmartRef to the dynamic element.
+ */
+ const domDynamicRef getDynamic() const { return elemDynamic; }
+ /**
+ * Gets the mass element.
+ * @return a daeSmartRef to the mass element.
+ */
+ const domTargetable_floatRef getMass() const { return elemMass; }
+ /**
+ * Gets the mass_frame element.
+ * @return a daeSmartRef to the mass_frame element.
+ */
+ const domMass_frameRef getMass_frame() const { return elemMass_frame; }
+ /**
+ * Gets the inertia element.
+ * @return a daeSmartRef to the inertia element.
+ */
+ const domTargetable_float3Ref getInertia() const { return elemInertia; }
+ /**
+ * Gets the instance_physics_material element.
+ * @return a daeSmartRef to the instance_physics_material element.
+ */
+ const domInstance_physics_materialRef getInstance_physics_material() const { return elemInstance_physics_material; }
+ /**
+ * Gets the physics_material element.
+ * @return a daeSmartRef to the physics_material element.
+ */
+ const domPhysics_materialRef getPhysics_material() const { return elemPhysics_material; }
+ /**
+ * Gets the shape element array.
+ * @return Returns a reference to the array of shape elements.
+ */
+ domShape_Array &getShape_array() { return elemShape_array; }
+ /**
+ * Gets the shape element array.
+ * @return Returns a constant reference to the array of shape elements.
+ */
+ const domShape_Array &getShape_array() const { return elemShape_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTechnique_common(DAE& dae) : daeElement(dae), elemAngular_velocity(), elemVelocity(), elemDynamic(), elemMass(), elemMass_frame(), elemInertia(), elemInstance_physics_material(), elemPhysics_material(), elemShape_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTechnique_common() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTechnique_common &operator=( const domTechnique_common &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+/**
+ * The body attribute indicates which rigid_body to instantiate. Required
+ * attribute.
+ */
+ xsNCName attrBody;
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ domSid attrSid;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+/**
+ * The target attribute indicates which node is influenced by this rigid_body
+ * instance. Required attribute
+ */
+ xsAnyURI attrTarget;
+
+protected: // Elements
+/**
+ * The technique_common element specifies the instance_rigid_body information
+ * for the common profile which all COLLADA implementations need to support.
+ * @see domTechnique_common
+ */
+ domTechnique_commonRef elemTechnique_common;
+/**
+ * This element may contain any number of non-common profile techniques. @see
+ * domTechnique
+ */
+ domTechnique_Array elemTechnique_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the body attribute.
+ * @return Returns a xsNCName of the body attribute.
+ */
+ xsNCName getBody() const { return attrBody; }
+ /**
+ * Sets the body attribute.
+ * @param atBody The new value for the body attribute.
+ */
+ void setBody( xsNCName atBody ) { *(daeStringRef*)&attrBody = atBody;}
+
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the target attribute.
+ * @return Returns a xsAnyURI reference of the target attribute.
+ */
+ xsAnyURI &getTarget() { return attrTarget; }
+ /**
+ * Gets the target attribute.
+ * @return Returns a constant xsAnyURI reference of the target attribute.
+ */
+ const xsAnyURI &getTarget() const { return attrTarget; }
+ /**
+ * Sets the target attribute.
+ * @param atTarget The new value for the target attribute.
+ */
+ void setTarget( const xsAnyURI &atTarget ) { attrTarget = atTarget; }
+ /**
+ * Sets the target attribute.
+ * @param atTarget The new value for the target attribute.
+ */
+ void setTarget( xsString atTarget ) { attrTarget = atTarget; }
+
+ /**
+ * Gets the technique_common element.
+ * @return a daeSmartRef to the technique_common element.
+ */
+ const domTechnique_commonRef getTechnique_common() const { return elemTechnique_common; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a reference to the array of technique elements.
+ */
+ domTechnique_Array &getTechnique_array() { return elemTechnique_array; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a constant reference to the array of technique elements.
+ */
+ const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domInstance_rigid_body(DAE& dae) : daeElement(dae), attrBody(), attrSid(), attrName(), attrTarget(dae, *this), elemTechnique_common(), elemTechnique_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInstance_rigid_body() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInstance_rigid_body &operator=( const domInstance_rigid_body &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domInstance_rigid_constraint.h b/1.4.0/dom/include/1.5/dom/domInstance_rigid_constraint.h
new file mode 100644
index 0000000..483393b
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domInstance_rigid_constraint.h
@@ -0,0 +1,119 @@
+#ifndef __dom150Instance_rigid_constraint_h__
+#define __dom150Instance_rigid_constraint_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * This element allows instancing a rigid_constraint within an instance_physics_model.
+ */
+class domInstance_rigid_constraint : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INSTANCE_RIGID_CONSTRAINT; }
+ static daeInt ID() { return 113; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The constraint attribute indicates which rigid_constraing to instantiate.
+ * Required attribute.
+ */
+ xsNCName attrConstraint;
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ domSid attrSid;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+
+protected: // Element
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the constraint attribute.
+ * @return Returns a xsNCName of the constraint attribute.
+ */
+ xsNCName getConstraint() const { return attrConstraint; }
+ /**
+ * Sets the constraint attribute.
+ * @param atConstraint The new value for the constraint attribute.
+ */
+ void setConstraint( xsNCName atConstraint ) { *(daeStringRef*)&attrConstraint = atConstraint;}
+
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domInstance_rigid_constraint(DAE& dae) : daeElement(dae), attrConstraint(), attrSid(), attrName(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInstance_rigid_constraint() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInstance_rigid_constraint &operator=( const domInstance_rigid_constraint &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domInstance_with_extra.h b/1.4.0/dom/include/1.5/dom/domInstance_with_extra.h
new file mode 100644
index 0000000..2464f44
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domInstance_with_extra.h
@@ -0,0 +1,133 @@
+#ifndef __dom150Instance_with_extra_h__
+#define __dom150Instance_with_extra_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The instance_with_extra_type element is used for all generic instance elements.
+ * A generic instance element is one which does not have any specific child
+ * elements declared.
+ */
+class domInstance_with_extra : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INSTANCE_WITH_EXTRA; }
+ static daeInt ID() { return 98; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The url attribute refers to resource to instantiate. This may refer to
+ * a local resource using a relative URL fragment identifier that begins
+ * with the "#" character. The url attribute may refer to an external resource
+ * using an absolute or relative URL.
+ */
+ xsAnyURI attrUrl;
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ domSid attrSid;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+
+protected: // Element
+/**
+ * The extra element may occur any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the url attribute.
+ * @return Returns a xsAnyURI reference of the url attribute.
+ */
+ xsAnyURI &getUrl() { return attrUrl; }
+ /**
+ * Gets the url attribute.
+ * @return Returns a constant xsAnyURI reference of the url attribute.
+ */
+ const xsAnyURI &getUrl() const { return attrUrl; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( const xsAnyURI &atUrl ) { attrUrl = atUrl; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( xsString atUrl ) { attrUrl = atUrl; }
+
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domInstance_with_extra(DAE& dae) : daeElement(dae), attrUrl(dae, *this), attrSid(), attrName(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInstance_with_extra() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInstance_with_extra &operator=( const domInstance_with_extra &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domInt_array.h b/1.4.0/dom/include/1.5/dom/domInt_array.h
new file mode 100644
index 0000000..a7fb8ec
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domInt_array.h
@@ -0,0 +1,155 @@
+#ifndef __dom150Int_array_h__
+#define __dom150Int_array_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The int_array element declares the storage for a homogenous array of integer
+ * values.
+ */
+class domInt_array : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT_ARRAY; }
+ static daeInt ID() { return 10; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+/**
+ * The count attribute indicates the number of values in the array. Required
+ * attribute.
+ */
+ domUint attrCount;
+/**
+ * The minInclusive attribute indicates the smallest integer value that can
+ * be contained in the array. The default value is -2147483648. Optional
+ * attribute.
+ */
+ xsInteger attrMinInclusive;
+/**
+ * The maxInclusive attribute indicates the largest integer value that can
+ * be contained in the array. The default value is 2147483647. Optional attribute.
+ */
+ xsInteger attrMaxInclusive;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the count attribute.
+ * @return Returns a domUint of the count attribute.
+ */
+ domUint getCount() const { return attrCount; }
+ /**
+ * Sets the count attribute.
+ * @param atCount The new value for the count attribute.
+ */
+ void setCount( domUint atCount ) { attrCount = atCount; }
+
+ /**
+ * Gets the minInclusive attribute.
+ * @return Returns a xsInteger of the minInclusive attribute.
+ */
+ xsInteger getMinInclusive() const { return attrMinInclusive; }
+ /**
+ * Sets the minInclusive attribute.
+ * @param atMinInclusive The new value for the minInclusive attribute.
+ */
+ void setMinInclusive( xsInteger atMinInclusive ) { attrMinInclusive = atMinInclusive; }
+
+ /**
+ * Gets the maxInclusive attribute.
+ * @return Returns a xsInteger of the maxInclusive attribute.
+ */
+ xsInteger getMaxInclusive() const { return attrMaxInclusive; }
+ /**
+ * Sets the maxInclusive attribute.
+ * @param atMaxInclusive The new value for the maxInclusive attribute.
+ */
+ void setMaxInclusive( xsInteger atMaxInclusive ) { attrMaxInclusive = atMaxInclusive; }
+
+ /**
+ * Gets the value of this element.
+ * @return a domList_of_ints of the value.
+ */
+ domList_of_ints& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domList_of_ints& val ) { _value = val; }
+
+protected: // Value
+ /**
+ * The domList_of_ints value of the text data of this element.
+ */
+ domList_of_ints _value;
+protected:
+ /**
+ * Constructor
+ */
+ domInt_array(DAE& dae) : daeElement(dae), attrId(), attrName(), attrCount(), attrMinInclusive(), attrMaxInclusive(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt_array() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt_array &operator=( const domInt_array &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domJoint.h b/1.4.0/dom/include/1.5/dom/domJoint.h
new file mode 100644
index 0000000..77de39f
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domJoint.h
@@ -0,0 +1,151 @@
+#ifndef __dom150Joint_h__
+#define __dom150Joint_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAxis_constraint.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domJoint : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::JOINT; }
+ static daeInt ID() { return 462; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+ xsID attrId;
+ xsToken attrName;
+ domSid attrSid;
+
+protected: // Elements
+ domAxis_constraint_Array elemPrismatic_array;
+ domAxis_constraint_Array elemRevolute_array;
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the prismatic element array.
+ * @return Returns a reference to the array of prismatic elements.
+ */
+ domAxis_constraint_Array &getPrismatic_array() { return elemPrismatic_array; }
+ /**
+ * Gets the prismatic element array.
+ * @return Returns a constant reference to the array of prismatic elements.
+ */
+ const domAxis_constraint_Array &getPrismatic_array() const { return elemPrismatic_array; }
+ /**
+ * Gets the revolute element array.
+ * @return Returns a reference to the array of revolute elements.
+ */
+ domAxis_constraint_Array &getRevolute_array() { return elemRevolute_array; }
+ /**
+ * Gets the revolute element array.
+ * @return Returns a constant reference to the array of revolute elements.
+ */
+ const domAxis_constraint_Array &getRevolute_array() const { return elemRevolute_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domJoint(DAE& dae) : daeElement(dae), attrId(), attrName(), attrSid(), elemPrismatic_array(), elemRevolute_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domJoint() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domJoint &operator=( const domJoint &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domJoint_limits.h b/1.4.0/dom/include/1.5/dom/domJoint_limits.h
new file mode 100644
index 0000000..1cac996
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domJoint_limits.h
@@ -0,0 +1,65 @@
+#ifndef __dom150Joint_limits_h__
+#define __dom150Joint_limits_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domMinmax.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domJoint_limits : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::JOINT_LIMITS; }
+ static daeInt ID() { return 459; }
+ virtual daeInt typeID() const { return ID(); }
+
+protected: // Elements
+ domMinmaxRef elemMin;
+ domMinmaxRef elemMax;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the min element.
+ * @return a daeSmartRef to the min element.
+ */
+ const domMinmaxRef getMin() const { return elemMin; }
+ /**
+ * Gets the max element.
+ * @return a daeSmartRef to the max element.
+ */
+ const domMinmaxRef getMax() const { return elemMax; }
+protected:
+ /**
+ * Constructor
+ */
+ domJoint_limits(DAE& dae) : daeElement(dae), elemMin(), elemMax() {}
+ /**
+ * Destructor
+ */
+ virtual ~domJoint_limits() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domJoint_limits &operator=( const domJoint_limits &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domKinematics.h b/1.4.0/dom/include/1.5/dom/domKinematics.h
new file mode 100644
index 0000000..085f7c2
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domKinematics.h
@@ -0,0 +1,95 @@
+#ifndef __dom150Kinematics_h__
+#define __dom150Kinematics_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domInstance_kinematics_model.h>
+#include <1.5/dom/domKinematics_technique.h>
+#include <1.5/dom/domTechnique.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domKinematics : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::KINEMATICS; }
+ static daeInt ID() { return 484; }
+ virtual daeInt typeID() const { return ID(); }
+
+protected: // Elements
+ domInstance_kinematics_model_Array elemInstance_kinematics_model_array;
+ domKinematics_techniqueRef elemTechnique_common;
+ domTechnique_Array elemTechnique_array;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the instance_kinematics_model element array.
+ * @return Returns a reference to the array of instance_kinematics_model elements.
+ */
+ domInstance_kinematics_model_Array &getInstance_kinematics_model_array() { return elemInstance_kinematics_model_array; }
+ /**
+ * Gets the instance_kinematics_model element array.
+ * @return Returns a constant reference to the array of instance_kinematics_model elements.
+ */
+ const domInstance_kinematics_model_Array &getInstance_kinematics_model_array() const { return elemInstance_kinematics_model_array; }
+ /**
+ * Gets the technique_common element.
+ * @return a daeSmartRef to the technique_common element.
+ */
+ const domKinematics_techniqueRef getTechnique_common() const { return elemTechnique_common; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a reference to the array of technique elements.
+ */
+ domTechnique_Array &getTechnique_array() { return elemTechnique_array; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a constant reference to the array of technique elements.
+ */
+ const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domKinematics(DAE& dae) : daeElement(dae), elemInstance_kinematics_model_array(), elemTechnique_common(), elemTechnique_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domKinematics() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domKinematics &operator=( const domKinematics &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domKinematics_axis_info.h b/1.4.0/dom/include/1.5/dom/domKinematics_axis_info.h
new file mode 100644
index 0000000..19c3c6c
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domKinematics_axis_info.h
@@ -0,0 +1,182 @@
+#ifndef __dom150Kinematics_axis_info_h__
+#define __dom150Kinematics_axis_info_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domKinematics_newparam.h>
+#include <1.5/dom/domCommon_bool_or_param.h>
+#include <1.5/dom/domKinematics_index.h>
+#include <1.5/dom/domKinematics_limits.h>
+#include <1.5/dom/domFormula.h>
+#include <1.5/dom/domInstance_formula.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domKinematics_axis_info : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::KINEMATICS_AXIS_INFO; }
+ static daeInt ID() { return 482; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+ domSid attrSid;
+ xsToken attrName;
+ xsToken attrAxis;
+
+protected: // Elements
+ domKinematics_newparam_Array elemNewparam_array;
+ domCommon_bool_or_paramRef elemActive;
+ domCommon_bool_or_paramRef elemLocked;
+ domKinematics_index_Array elemIndex_array;
+ domKinematics_limitsRef elemLimits;
+ domFormula_Array elemFormula_array;
+ domInstance_formula_Array elemInstance_formula_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the axis attribute.
+ * @return Returns a xsToken of the axis attribute.
+ */
+ xsToken getAxis() const { return attrAxis; }
+ /**
+ * Sets the axis attribute.
+ * @param atAxis The new value for the axis attribute.
+ */
+ void setAxis( xsToken atAxis ) { *(daeStringRef*)&attrAxis = atAxis;}
+
+ /**
+ * Gets the newparam element array.
+ * @return Returns a reference to the array of newparam elements.
+ */
+ domKinematics_newparam_Array &getNewparam_array() { return elemNewparam_array; }
+ /**
+ * Gets the newparam element array.
+ * @return Returns a constant reference to the array of newparam elements.
+ */
+ const domKinematics_newparam_Array &getNewparam_array() const { return elemNewparam_array; }
+ /**
+ * Gets the active element.
+ * @return a daeSmartRef to the active element.
+ */
+ const domCommon_bool_or_paramRef getActive() const { return elemActive; }
+ /**
+ * Gets the locked element.
+ * @return a daeSmartRef to the locked element.
+ */
+ const domCommon_bool_or_paramRef getLocked() const { return elemLocked; }
+ /**
+ * Gets the index element array.
+ * @return Returns a reference to the array of index elements.
+ */
+ domKinematics_index_Array &getIndex_array() { return elemIndex_array; }
+ /**
+ * Gets the index element array.
+ * @return Returns a constant reference to the array of index elements.
+ */
+ const domKinematics_index_Array &getIndex_array() const { return elemIndex_array; }
+ /**
+ * Gets the limits element.
+ * @return a daeSmartRef to the limits element.
+ */
+ const domKinematics_limitsRef getLimits() const { return elemLimits; }
+ /**
+ * Gets the formula element array.
+ * @return Returns a reference to the array of formula elements.
+ */
+ domFormula_Array &getFormula_array() { return elemFormula_array; }
+ /**
+ * Gets the formula element array.
+ * @return Returns a constant reference to the array of formula elements.
+ */
+ const domFormula_Array &getFormula_array() const { return elemFormula_array; }
+ /**
+ * Gets the instance_formula element array.
+ * @return Returns a reference to the array of instance_formula elements.
+ */
+ domInstance_formula_Array &getInstance_formula_array() { return elemInstance_formula_array; }
+ /**
+ * Gets the instance_formula element array.
+ * @return Returns a constant reference to the array of instance_formula elements.
+ */
+ const domInstance_formula_Array &getInstance_formula_array() const { return elemInstance_formula_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domKinematics_axis_info(DAE& dae) : daeElement(dae), attrSid(), attrName(), attrAxis(), elemNewparam_array(), elemActive(), elemLocked(), elemIndex_array(), elemLimits(), elemFormula_array(), elemInstance_formula_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domKinematics_axis_info() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domKinematics_axis_info &operator=( const domKinematics_axis_info &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domKinematics_bind.h b/1.4.0/dom/include/1.5/dom/domKinematics_bind.h
new file mode 100644
index 0000000..b2024ba
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domKinematics_bind.h
@@ -0,0 +1,355 @@
+#ifndef __dom150Kinematics_bind_h__
+#define __dom150Kinematics_bind_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domKinematics_param.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domKinematics_bind : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::KINEMATICS_BIND; }
+ static daeInt ID() { return 443; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domBool;
+
+ typedef daeSmartRef<domBool> domBoolRef;
+ typedef daeTArray<domBoolRef> domBool_Array;
+
+ class domBool : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL; }
+ static daeInt ID() { return 444; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a xsBoolean of the value.
+ */
+ xsBoolean& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const xsBoolean& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The xsBoolean value of the text data of this element.
+ */
+ xsBoolean _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBool(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool &operator=( const domBool &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domFloat;
+
+ typedef daeSmartRef<domFloat> domFloatRef;
+ typedef daeTArray<domFloatRef> domFloat_Array;
+
+ class domFloat : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT; }
+ static daeInt ID() { return 445; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat of the value.
+ */
+ ColladaDOM150::domFloat& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat value of the text data of this element.
+ */
+ ColladaDOM150::domFloat _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat &operator=( const domFloat &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt;
+
+ typedef daeSmartRef<domInt> domIntRef;
+ typedef daeTArray<domIntRef> domInt_Array;
+
+ class domInt : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT; }
+ static daeInt ID() { return 446; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domInt of the value.
+ */
+ ColladaDOM150::domInt& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domInt& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domInt value of the text data of this element.
+ */
+ ColladaDOM150::domInt _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domInt(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt &operator=( const domInt &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domSIDREF;
+
+ typedef daeSmartRef<domSIDREF> domSIDREFRef;
+ typedef daeTArray<domSIDREFRef> domSIDREF_Array;
+
+ class domSIDREF : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SIDREF; }
+ static daeInt ID() { return 447; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a domSidref of the value.
+ */
+ domSidref getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domSidref val ) { *(daeStringRef*)&_value = val; }
+
+ protected: // Value
+ /**
+ * The domSidref value of the text data of this element.
+ */
+ domSidref _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domSIDREF(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSIDREF() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSIDREF &operator=( const domSIDREF &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attribute
+ xsNCName attrSymbol;
+
+protected: // Elements
+ domKinematics_paramRef elemParam;
+ domBoolRef elemBool;
+ domFloatRef elemFloat;
+ domIntRef elemInt;
+ domSIDREFRef elemSIDREF;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the symbol attribute.
+ * @return Returns a xsNCName of the symbol attribute.
+ */
+ xsNCName getSymbol() const { return attrSymbol; }
+ /**
+ * Sets the symbol attribute.
+ * @param atSymbol The new value for the symbol attribute.
+ */
+ void setSymbol( xsNCName atSymbol ) { *(daeStringRef*)&attrSymbol = atSymbol;}
+
+ /**
+ * Gets the param element.
+ * @return a daeSmartRef to the param element.
+ */
+ const domKinematics_paramRef getParam() const { return elemParam; }
+ /**
+ * Gets the bool element.
+ * @return a daeSmartRef to the bool element.
+ */
+ const domBoolRef getBool() const { return elemBool; }
+ /**
+ * Gets the float element.
+ * @return a daeSmartRef to the float element.
+ */
+ const domFloatRef getFloat() const { return elemFloat; }
+ /**
+ * Gets the int element.
+ * @return a daeSmartRef to the int element.
+ */
+ const domIntRef getInt() const { return elemInt; }
+ /**
+ * Gets the SIDREF element.
+ * @return a daeSmartRef to the SIDREF element.
+ */
+ const domSIDREFRef getSIDREF() const { return elemSIDREF; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domKinematics_bind(DAE& dae) : daeElement(dae), attrSymbol(), elemParam(), elemBool(), elemFloat(), elemInt(), elemSIDREF() {}
+ /**
+ * Destructor
+ */
+ virtual ~domKinematics_bind() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domKinematics_bind &operator=( const domKinematics_bind &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domKinematics_connect_param.h b/1.4.0/dom/include/1.5/dom/domKinematics_connect_param.h
new file mode 100644
index 0000000..97e219c
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domKinematics_connect_param.h
@@ -0,0 +1,64 @@
+#ifndef __dom150Kinematics_connect_param_h__
+#define __dom150Kinematics_connect_param_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domKinematics_connect_param : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::KINEMATICS_CONNECT_PARAM; }
+ static daeInt ID() { return 434; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attribute
+ xsToken attrRef;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the ref attribute.
+ * @return Returns a xsToken of the ref attribute.
+ */
+ xsToken getRef() const { return attrRef; }
+ /**
+ * Sets the ref attribute.
+ * @param atRef The new value for the ref attribute.
+ */
+ void setRef( xsToken atRef ) { *(daeStringRef*)&attrRef = atRef;}
+
+protected:
+ /**
+ * Constructor
+ */
+ domKinematics_connect_param(DAE& dae) : daeElement(dae), attrRef() {}
+ /**
+ * Destructor
+ */
+ virtual ~domKinematics_connect_param() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domKinematics_connect_param &operator=( const domKinematics_connect_param &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domKinematics_frame.h b/1.4.0/dom/include/1.5/dom/domKinematics_frame.h
new file mode 100644
index 0000000..1448eb4
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domKinematics_frame.h
@@ -0,0 +1,114 @@
+#ifndef __dom150Kinematics_frame_h__
+#define __dom150Kinematics_frame_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domTranslate.h>
+#include <1.5/dom/domRotate.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domKinematics_frame : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::KINEMATICS_FRAME; }
+ static daeInt ID() { return 421; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attribute
+ xsToken attrLink;
+
+protected: // Elements
+ domTranslate_Array elemTranslate_array;
+ domRotate_Array elemRotate_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the link attribute.
+ * @return Returns a xsToken of the link attribute.
+ */
+ xsToken getLink() const { return attrLink; }
+ /**
+ * Sets the link attribute.
+ * @param atLink The new value for the link attribute.
+ */
+ void setLink( xsToken atLink ) { *(daeStringRef*)&attrLink = atLink;}
+
+ /**
+ * Gets the translate element array.
+ * @return Returns a reference to the array of translate elements.
+ */
+ domTranslate_Array &getTranslate_array() { return elemTranslate_array; }
+ /**
+ * Gets the translate element array.
+ * @return Returns a constant reference to the array of translate elements.
+ */
+ const domTranslate_Array &getTranslate_array() const { return elemTranslate_array; }
+ /**
+ * Gets the rotate element array.
+ * @return Returns a reference to the array of rotate elements.
+ */
+ domRotate_Array &getRotate_array() { return elemRotate_array; }
+ /**
+ * Gets the rotate element array.
+ * @return Returns a constant reference to the array of rotate elements.
+ */
+ const domRotate_Array &getRotate_array() const { return elemRotate_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domKinematics_frame(DAE& dae) : daeElement(dae), attrLink(), elemTranslate_array(), elemRotate_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domKinematics_frame() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domKinematics_frame &operator=( const domKinematics_frame &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domKinematics_index.h b/1.4.0/dom/include/1.5/dom/domKinematics_index.h
new file mode 100644
index 0000000..72d8ef7
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domKinematics_index.h
@@ -0,0 +1,65 @@
+#ifndef __dom150Kinematics_index_h__
+#define __dom150Kinematics_index_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domCommon_int_or_param.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domKinematics_index : public domCommon_int_or_param
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::KINEMATICS_INDEX; }
+ static daeInt ID() { return 441; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attribute
+ xsNMTOKEN attrSemantic;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the semantic attribute.
+ * @return Returns a xsNMTOKEN of the semantic attribute.
+ */
+ xsNMTOKEN getSemantic() const { return attrSemantic; }
+ /**
+ * Sets the semantic attribute.
+ * @param atSemantic The new value for the semantic attribute.
+ */
+ void setSemantic( xsNMTOKEN atSemantic ) { *(daeStringRef*)&attrSemantic = atSemantic;}
+
+protected:
+ /**
+ * Constructor
+ */
+ domKinematics_index(DAE& dae) : domCommon_int_or_param(dae), attrSemantic() {}
+ /**
+ * Destructor
+ */
+ virtual ~domKinematics_index() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domKinematics_index &operator=( const domKinematics_index &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domKinematics_limits.h b/1.4.0/dom/include/1.5/dom/domKinematics_limits.h
new file mode 100644
index 0000000..9eb2286
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domKinematics_limits.h
@@ -0,0 +1,65 @@
+#ifndef __dom150Kinematics_limits_h__
+#define __dom150Kinematics_limits_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domCommon_float_or_param.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domKinematics_limits : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::KINEMATICS_LIMITS; }
+ static daeInt ID() { return 429; }
+ virtual daeInt typeID() const { return ID(); }
+
+protected: // Elements
+ domCommon_float_or_paramRef elemMin;
+ domCommon_float_or_paramRef elemMax;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the min element.
+ * @return a daeSmartRef to the min element.
+ */
+ const domCommon_float_or_paramRef getMin() const { return elemMin; }
+ /**
+ * Gets the max element.
+ * @return a daeSmartRef to the max element.
+ */
+ const domCommon_float_or_paramRef getMax() const { return elemMax; }
+protected:
+ /**
+ * Constructor
+ */
+ domKinematics_limits(DAE& dae) : daeElement(dae), elemMin(), elemMax() {}
+ /**
+ * Destructor
+ */
+ virtual ~domKinematics_limits() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domKinematics_limits &operator=( const domKinematics_limits &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domKinematics_model.h b/1.4.0/dom/include/1.5/dom/domKinematics_model.h
new file mode 100644
index 0000000..0b8f180
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domKinematics_model.h
@@ -0,0 +1,117 @@
+#ifndef __dom150Kinematics_model_h__
+#define __dom150Kinematics_model_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domKinematics_model_technique.h>
+#include <1.5/dom/domTechnique.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domKinematics_model : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::KINEMATICS_MODEL; }
+ static daeInt ID() { return 480; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+ xsID attrId;
+ xsToken attrName;
+
+protected: // Elements
+ domAssetRef elemAsset;
+ domKinematics_model_techniqueRef elemTechnique_common;
+ domTechnique_Array elemTechnique_array;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the technique_common element.
+ * @return a daeSmartRef to the technique_common element.
+ */
+ const domKinematics_model_techniqueRef getTechnique_common() const { return elemTechnique_common; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a reference to the array of technique elements.
+ */
+ domTechnique_Array &getTechnique_array() { return elemTechnique_array; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a constant reference to the array of technique elements.
+ */
+ const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domKinematics_model(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemTechnique_common(), elemTechnique_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domKinematics_model() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domKinematics_model &operator=( const domKinematics_model &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domKinematics_model_technique.h b/1.4.0/dom/include/1.5/dom/domKinematics_model_technique.h
new file mode 100644
index 0000000..7d99c26
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domKinematics_model_technique.h
@@ -0,0 +1,149 @@
+#ifndef __dom150Kinematics_model_technique_h__
+#define __dom150Kinematics_model_technique_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domKinematics_newparam.h>
+#include <1.5/dom/domInstance_joint.h>
+#include <1.5/dom/domJoint.h>
+#include <1.5/dom/domLink.h>
+#include <1.5/dom/domFormula.h>
+#include <1.5/dom/domInstance_formula.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domKinematics_model_technique : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::KINEMATICS_MODEL_TECHNIQUE; }
+ static daeInt ID() { return 479; }
+ virtual daeInt typeID() const { return ID(); }
+
+protected: // Elements
+ domKinematics_newparam_Array elemNewparam_array;
+ domInstance_joint_Array elemInstance_joint_array;
+ domJoint_Array elemJoint_array;
+ domLink_Array elemLink_array;
+ domFormula_Array elemFormula_array;
+ domInstance_formula_Array elemInstance_formula_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the newparam element array.
+ * @return Returns a reference to the array of newparam elements.
+ */
+ domKinematics_newparam_Array &getNewparam_array() { return elemNewparam_array; }
+ /**
+ * Gets the newparam element array.
+ * @return Returns a constant reference to the array of newparam elements.
+ */
+ const domKinematics_newparam_Array &getNewparam_array() const { return elemNewparam_array; }
+ /**
+ * Gets the instance_joint element array.
+ * @return Returns a reference to the array of instance_joint elements.
+ */
+ domInstance_joint_Array &getInstance_joint_array() { return elemInstance_joint_array; }
+ /**
+ * Gets the instance_joint element array.
+ * @return Returns a constant reference to the array of instance_joint elements.
+ */
+ const domInstance_joint_Array &getInstance_joint_array() const { return elemInstance_joint_array; }
+ /**
+ * Gets the joint element array.
+ * @return Returns a reference to the array of joint elements.
+ */
+ domJoint_Array &getJoint_array() { return elemJoint_array; }
+ /**
+ * Gets the joint element array.
+ * @return Returns a constant reference to the array of joint elements.
+ */
+ const domJoint_Array &getJoint_array() const { return elemJoint_array; }
+ /**
+ * Gets the link element array.
+ * @return Returns a reference to the array of link elements.
+ */
+ domLink_Array &getLink_array() { return elemLink_array; }
+ /**
+ * Gets the link element array.
+ * @return Returns a constant reference to the array of link elements.
+ */
+ const domLink_Array &getLink_array() const { return elemLink_array; }
+ /**
+ * Gets the formula element array.
+ * @return Returns a reference to the array of formula elements.
+ */
+ domFormula_Array &getFormula_array() { return elemFormula_array; }
+ /**
+ * Gets the formula element array.
+ * @return Returns a constant reference to the array of formula elements.
+ */
+ const domFormula_Array &getFormula_array() const { return elemFormula_array; }
+ /**
+ * Gets the instance_formula element array.
+ * @return Returns a reference to the array of instance_formula elements.
+ */
+ domInstance_formula_Array &getInstance_formula_array() { return elemInstance_formula_array; }
+ /**
+ * Gets the instance_formula element array.
+ * @return Returns a constant reference to the array of instance_formula elements.
+ */
+ const domInstance_formula_Array &getInstance_formula_array() const { return elemInstance_formula_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domKinematics_model_technique(DAE& dae) : daeElement(dae), elemNewparam_array(), elemInstance_joint_array(), elemJoint_array(), elemLink_array(), elemFormula_array(), elemInstance_formula_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domKinematics_model_technique() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domKinematics_model_technique &operator=( const domKinematics_model_technique &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domKinematics_newparam.h b/1.4.0/dom/include/1.5/dom/domKinematics_newparam.h
new file mode 100644
index 0000000..0fbd595
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domKinematics_newparam.h
@@ -0,0 +1,348 @@
+#ifndef __dom150Kinematics_newparam_h__
+#define __dom150Kinematics_newparam_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domKinematics_newparam : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::KINEMATICS_NEWPARAM; }
+ static daeInt ID() { return 416; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domFloat;
+
+ typedef daeSmartRef<domFloat> domFloatRef;
+ typedef daeTArray<domFloatRef> domFloat_Array;
+
+ class domFloat : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT; }
+ static daeInt ID() { return 417; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat of the value.
+ */
+ ColladaDOM150::domFloat& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat value of the text data of this element.
+ */
+ ColladaDOM150::domFloat _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat &operator=( const domFloat &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt;
+
+ typedef daeSmartRef<domInt> domIntRef;
+ typedef daeTArray<domIntRef> domInt_Array;
+
+ class domInt : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT; }
+ static daeInt ID() { return 418; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domInt of the value.
+ */
+ ColladaDOM150::domInt& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domInt& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domInt value of the text data of this element.
+ */
+ ColladaDOM150::domInt _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domInt(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt &operator=( const domInt &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domSIDREF;
+
+ typedef daeSmartRef<domSIDREF> domSIDREFRef;
+ typedef daeTArray<domSIDREFRef> domSIDREF_Array;
+
+ class domSIDREF : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SIDREF; }
+ static daeInt ID() { return 419; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a domSidref of the value.
+ */
+ domSidref getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domSidref val ) { *(daeStringRef*)&_value = val; }
+
+ protected: // Value
+ /**
+ * The domSidref value of the text data of this element.
+ */
+ domSidref _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domSIDREF(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSIDREF() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSIDREF &operator=( const domSIDREF &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool;
+
+ typedef daeSmartRef<domBool> domBoolRef;
+ typedef daeTArray<domBoolRef> domBool_Array;
+
+ class domBool : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL; }
+ static daeInt ID() { return 420; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a xsBoolean of the value.
+ */
+ xsBoolean& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const xsBoolean& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The xsBoolean value of the text data of this element.
+ */
+ xsBoolean _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBool(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool &operator=( const domBool &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attribute
+ domSid attrSid;
+
+protected: // Elements
+ domFloatRef elemFloat;
+ domIntRef elemInt;
+ domSIDREFRef elemSIDREF;
+ domBoolRef elemBool;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the float element.
+ * @return a daeSmartRef to the float element.
+ */
+ const domFloatRef getFloat() const { return elemFloat; }
+ /**
+ * Gets the int element.
+ * @return a daeSmartRef to the int element.
+ */
+ const domIntRef getInt() const { return elemInt; }
+ /**
+ * Gets the SIDREF element.
+ * @return a daeSmartRef to the SIDREF element.
+ */
+ const domSIDREFRef getSIDREF() const { return elemSIDREF; }
+ /**
+ * Gets the bool element.
+ * @return a daeSmartRef to the bool element.
+ */
+ const domBoolRef getBool() const { return elemBool; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domKinematics_newparam(DAE& dae) : daeElement(dae), attrSid(), elemFloat(), elemInt(), elemSIDREF(), elemBool() {}
+ /**
+ * Destructor
+ */
+ virtual ~domKinematics_newparam() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domKinematics_newparam &operator=( const domKinematics_newparam &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domKinematics_param.h b/1.4.0/dom/include/1.5/dom/domKinematics_param.h
new file mode 100644
index 0000000..9f785a7
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domKinematics_param.h
@@ -0,0 +1,64 @@
+#ifndef __dom150Kinematics_param_h__
+#define __dom150Kinematics_param_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domKinematics_param : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::KINEMATICS_PARAM; }
+ static daeInt ID() { return 442; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attribute
+ xsToken attrRef;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the ref attribute.
+ * @return Returns a xsToken of the ref attribute.
+ */
+ xsToken getRef() const { return attrRef; }
+ /**
+ * Sets the ref attribute.
+ * @param atRef The new value for the ref attribute.
+ */
+ void setRef( xsToken atRef ) { *(daeStringRef*)&attrRef = atRef;}
+
+protected:
+ /**
+ * Constructor
+ */
+ domKinematics_param(DAE& dae) : daeElement(dae), attrRef() {}
+ /**
+ * Destructor
+ */
+ virtual ~domKinematics_param() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domKinematics_param &operator=( const domKinematics_param &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domKinematics_scene.h b/1.4.0/dom/include/1.5/dom/domKinematics_scene.h
new file mode 100644
index 0000000..5fd8d60
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domKinematics_scene.h
@@ -0,0 +1,122 @@
+#ifndef __dom150Kinematics_scene_h__
+#define __dom150Kinematics_scene_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domInstance_kinematics_model.h>
+#include <1.5/dom/domInstance_articulated_system.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domKinematics_scene : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::KINEMATICS_SCENE; }
+ static daeInt ID() { return 451; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+ xsID attrId;
+ xsToken attrName;
+
+protected: // Elements
+ domAssetRef elemAsset;
+ domInstance_kinematics_model_Array elemInstance_kinematics_model_array;
+ domInstance_articulated_system_Array elemInstance_articulated_system_array;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the instance_kinematics_model element array.
+ * @return Returns a reference to the array of instance_kinematics_model elements.
+ */
+ domInstance_kinematics_model_Array &getInstance_kinematics_model_array() { return elemInstance_kinematics_model_array; }
+ /**
+ * Gets the instance_kinematics_model element array.
+ * @return Returns a constant reference to the array of instance_kinematics_model elements.
+ */
+ const domInstance_kinematics_model_Array &getInstance_kinematics_model_array() const { return elemInstance_kinematics_model_array; }
+ /**
+ * Gets the instance_articulated_system element array.
+ * @return Returns a reference to the array of instance_articulated_system elements.
+ */
+ domInstance_articulated_system_Array &getInstance_articulated_system_array() { return elemInstance_articulated_system_array; }
+ /**
+ * Gets the instance_articulated_system element array.
+ * @return Returns a constant reference to the array of instance_articulated_system elements.
+ */
+ const domInstance_articulated_system_Array &getInstance_articulated_system_array() const { return elemInstance_articulated_system_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domKinematics_scene(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemInstance_kinematics_model_array(), elemInstance_articulated_system_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domKinematics_scene() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domKinematics_scene &operator=( const domKinematics_scene &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domKinematics_setparam.h b/1.4.0/dom/include/1.5/dom/domKinematics_setparam.h
new file mode 100644
index 0000000..a9f79bd
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domKinematics_setparam.h
@@ -0,0 +1,355 @@
+#ifndef __dom150Kinematics_setparam_h__
+#define __dom150Kinematics_setparam_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domKinematics_connect_param.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domKinematics_setparam : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::KINEMATICS_SETPARAM; }
+ static daeInt ID() { return 435; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domFloat;
+
+ typedef daeSmartRef<domFloat> domFloatRef;
+ typedef daeTArray<domFloatRef> domFloat_Array;
+
+ class domFloat : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT; }
+ static daeInt ID() { return 436; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domFloat of the value.
+ */
+ ColladaDOM150::domFloat& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domFloat& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domFloat value of the text data of this element.
+ */
+ ColladaDOM150::domFloat _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFloat(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFloat() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFloat &operator=( const domFloat &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInt;
+
+ typedef daeSmartRef<domInt> domIntRef;
+ typedef daeTArray<domIntRef> domInt_Array;
+
+ class domInt : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT; }
+ static daeInt ID() { return 437; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a ColladaDOM150::domInt of the value.
+ */
+ ColladaDOM150::domInt& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const ColladaDOM150::domInt& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The ColladaDOM150::domInt value of the text data of this element.
+ */
+ ColladaDOM150::domInt _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domInt(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInt() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInt &operator=( const domInt &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domSIDREF;
+
+ typedef daeSmartRef<domSIDREF> domSIDREFRef;
+ typedef daeTArray<domSIDREFRef> domSIDREF_Array;
+
+ class domSIDREF : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SIDREF; }
+ static daeInt ID() { return 438; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a domSidref of the value.
+ */
+ domSidref getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( domSidref val ) { *(daeStringRef*)&_value = val; }
+
+ protected: // Value
+ /**
+ * The domSidref value of the text data of this element.
+ */
+ domSidref _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domSIDREF(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSIDREF() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSIDREF &operator=( const domSIDREF &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBool;
+
+ typedef daeSmartRef<domBool> domBoolRef;
+ typedef daeTArray<domBoolRef> domBool_Array;
+
+ class domBool : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL; }
+ static daeInt ID() { return 439; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a xsBoolean of the value.
+ */
+ xsBoolean& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const xsBoolean& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The xsBoolean value of the text data of this element.
+ */
+ xsBoolean _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBool(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBool() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBool &operator=( const domBool &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attribute
+ xsToken attrRef;
+
+protected: // Elements
+ domFloatRef elemFloat;
+ domIntRef elemInt;
+ domSIDREFRef elemSIDREF;
+ domBoolRef elemBool;
+ domKinematics_connect_paramRef elemConnect_param;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the ref attribute.
+ * @return Returns a xsToken of the ref attribute.
+ */
+ xsToken getRef() const { return attrRef; }
+ /**
+ * Sets the ref attribute.
+ * @param atRef The new value for the ref attribute.
+ */
+ void setRef( xsToken atRef ) { *(daeStringRef*)&attrRef = atRef;}
+
+ /**
+ * Gets the float element.
+ * @return a daeSmartRef to the float element.
+ */
+ const domFloatRef getFloat() const { return elemFloat; }
+ /**
+ * Gets the int element.
+ * @return a daeSmartRef to the int element.
+ */
+ const domIntRef getInt() const { return elemInt; }
+ /**
+ * Gets the SIDREF element.
+ * @return a daeSmartRef to the SIDREF element.
+ */
+ const domSIDREFRef getSIDREF() const { return elemSIDREF; }
+ /**
+ * Gets the bool element.
+ * @return a daeSmartRef to the bool element.
+ */
+ const domBoolRef getBool() const { return elemBool; }
+ /**
+ * Gets the connect_param element.
+ * @return a daeSmartRef to the connect_param element.
+ */
+ const domKinematics_connect_paramRef getConnect_param() const { return elemConnect_param; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domKinematics_setparam(DAE& dae) : daeElement(dae), attrRef(), elemFloat(), elemInt(), elemSIDREF(), elemBool(), elemConnect_param() {}
+ /**
+ * Destructor
+ */
+ virtual ~domKinematics_setparam() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domKinematics_setparam &operator=( const domKinematics_setparam &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domKinematics_technique.h b/1.4.0/dom/include/1.5/dom/domKinematics_technique.h
new file mode 100644
index 0000000..49a6a56
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domKinematics_technique.h
@@ -0,0 +1,89 @@
+#ifndef __dom150Kinematics_technique_h__
+#define __dom150Kinematics_technique_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domKinematics_axis_info.h>
+#include <1.5/dom/domKinematics_frame.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domKinematics_technique : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::KINEMATICS_TECHNIQUE; }
+ static daeInt ID() { return 483; }
+ virtual daeInt typeID() const { return ID(); }
+
+protected: // Elements
+ domKinematics_axis_info_Array elemAxis_info_array;
+ domKinematics_frameRef elemFrame_origin;
+ domKinematics_frameRef elemFrame_tip;
+ domKinematics_frameRef elemFrame_tcp;
+ domKinematics_frameRef elemFrame_object;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the axis_info element array.
+ * @return Returns a reference to the array of axis_info elements.
+ */
+ domKinematics_axis_info_Array &getAxis_info_array() { return elemAxis_info_array; }
+ /**
+ * Gets the axis_info element array.
+ * @return Returns a constant reference to the array of axis_info elements.
+ */
+ const domKinematics_axis_info_Array &getAxis_info_array() const { return elemAxis_info_array; }
+ /**
+ * Gets the frame_origin element.
+ * @return a daeSmartRef to the frame_origin element.
+ */
+ const domKinematics_frameRef getFrame_origin() const { return elemFrame_origin; }
+ /**
+ * Gets the frame_tip element.
+ * @return a daeSmartRef to the frame_tip element.
+ */
+ const domKinematics_frameRef getFrame_tip() const { return elemFrame_tip; }
+ /**
+ * Gets the frame_tcp element.
+ * @return a daeSmartRef to the frame_tcp element.
+ */
+ const domKinematics_frameRef getFrame_tcp() const { return elemFrame_tcp; }
+ /**
+ * Gets the frame_object element.
+ * @return a daeSmartRef to the frame_object element.
+ */
+ const domKinematics_frameRef getFrame_object() const { return elemFrame_object; }
+protected:
+ /**
+ * Constructor
+ */
+ domKinematics_technique(DAE& dae) : daeElement(dae), elemAxis_info_array(), elemFrame_origin(), elemFrame_tip(), elemFrame_tcp(), elemFrame_object() {}
+ /**
+ * Destructor
+ */
+ virtual ~domKinematics_technique() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domKinematics_technique &operator=( const domKinematics_technique &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domLibrary_animation_clips.h b/1.4.0/dom/include/1.5/dom/domLibrary_animation_clips.h
new file mode 100644
index 0000000..28d4c3f
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domLibrary_animation_clips.h
@@ -0,0 +1,132 @@
+#ifndef __dom150Library_animation_clips_h__
+#define __dom150Library_animation_clips_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domAnimation_clip.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The library_animation_clips element declares a module of animation_clip
+ * elements.
+ */
+class domLibrary_animation_clips : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIBRARY_ANIMATION_CLIPS; }
+ static daeInt ID() { return 477; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+
+protected: // Elements
+/**
+ * The library_animation_clips element may contain an asset element. @see
+ * domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * There must be at least one animation_clip element. @see domAnimation_clip
+ */
+ domAnimation_clip_Array elemAnimation_clip_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the animation_clip element array.
+ * @return Returns a reference to the array of animation_clip elements.
+ */
+ domAnimation_clip_Array &getAnimation_clip_array() { return elemAnimation_clip_array; }
+ /**
+ * Gets the animation_clip element array.
+ * @return Returns a constant reference to the array of animation_clip elements.
+ */
+ const domAnimation_clip_Array &getAnimation_clip_array() const { return elemAnimation_clip_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domLibrary_animation_clips(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemAnimation_clip_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLibrary_animation_clips() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLibrary_animation_clips &operator=( const domLibrary_animation_clips &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domLibrary_animations.h b/1.4.0/dom/include/1.5/dom/domLibrary_animations.h
new file mode 100644
index 0000000..036a836
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domLibrary_animations.h
@@ -0,0 +1,130 @@
+#ifndef __dom150Library_animations_h__
+#define __dom150Library_animations_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domAnimation.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The library_animations element declares a module of animation elements.
+ */
+class domLibrary_animations : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIBRARY_ANIMATIONS; }
+ static daeInt ID() { return 328; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+
+protected: // Elements
+/**
+ * The library_animations element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * There must be at least one animation element. @see domAnimation
+ */
+ domAnimation_Array elemAnimation_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the animation element array.
+ * @return Returns a reference to the array of animation elements.
+ */
+ domAnimation_Array &getAnimation_array() { return elemAnimation_array; }
+ /**
+ * Gets the animation element array.
+ * @return Returns a constant reference to the array of animation elements.
+ */
+ const domAnimation_Array &getAnimation_array() const { return elemAnimation_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domLibrary_animations(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemAnimation_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLibrary_animations() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLibrary_animations &operator=( const domLibrary_animations &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domLibrary_articulated_systems.h b/1.4.0/dom/include/1.5/dom/domLibrary_articulated_systems.h
new file mode 100644
index 0000000..6dc403a
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domLibrary_articulated_systems.h
@@ -0,0 +1,110 @@
+#ifndef __dom150Library_articulated_systems_h__
+#define __dom150Library_articulated_systems_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domArticulated_system.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domLibrary_articulated_systems : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIBRARY_ARTICULATED_SYSTEMS; }
+ static daeInt ID() { return 486; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+ xsID attrId;
+ xsToken attrName;
+
+protected: // Elements
+ domAssetRef elemAsset;
+ domArticulated_system_Array elemArticulated_system_array;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the articulated_system element array.
+ * @return Returns a reference to the array of articulated_system elements.
+ */
+ domArticulated_system_Array &getArticulated_system_array() { return elemArticulated_system_array; }
+ /**
+ * Gets the articulated_system element array.
+ * @return Returns a constant reference to the array of articulated_system elements.
+ */
+ const domArticulated_system_Array &getArticulated_system_array() const { return elemArticulated_system_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domLibrary_articulated_systems(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemArticulated_system_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLibrary_articulated_systems() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLibrary_articulated_systems &operator=( const domLibrary_articulated_systems &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domLibrary_cameras.h b/1.4.0/dom/include/1.5/dom/domLibrary_cameras.h
new file mode 100644
index 0000000..1a4fea4
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domLibrary_cameras.h
@@ -0,0 +1,130 @@
+#ifndef __dom150Library_cameras_h__
+#define __dom150Library_cameras_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domCamera.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The library_cameras element declares a module of camera elements.
+ */
+class domLibrary_cameras : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIBRARY_CAMERAS; }
+ static daeInt ID() { return 114; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+
+protected: // Elements
+/**
+ * The library_cameras element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * There must be at least one camera element. @see domCamera
+ */
+ domCamera_Array elemCamera_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the camera element array.
+ * @return Returns a reference to the array of camera elements.
+ */
+ domCamera_Array &getCamera_array() { return elemCamera_array; }
+ /**
+ * Gets the camera element array.
+ * @return Returns a constant reference to the array of camera elements.
+ */
+ const domCamera_Array &getCamera_array() const { return elemCamera_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domLibrary_cameras(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemCamera_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLibrary_cameras() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLibrary_cameras &operator=( const domLibrary_cameras &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domLibrary_controllers.h b/1.4.0/dom/include/1.5/dom/domLibrary_controllers.h
new file mode 100644
index 0000000..f89d05b
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domLibrary_controllers.h
@@ -0,0 +1,130 @@
+#ifndef __dom150Library_controllers_h__
+#define __dom150Library_controllers_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domController.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The library_controllers element declares a module of controller elements.
+ */
+class domLibrary_controllers : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIBRARY_CONTROLLERS; }
+ static daeInt ID() { return 346; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+
+protected: // Elements
+/**
+ * The library_controllers element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * There must be at least one controller element. @see domController
+ */
+ domController_Array elemController_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the controller element array.
+ * @return Returns a reference to the array of controller elements.
+ */
+ domController_Array &getController_array() { return elemController_array; }
+ /**
+ * Gets the controller element array.
+ * @return Returns a constant reference to the array of controller elements.
+ */
+ const domController_Array &getController_array() const { return elemController_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domLibrary_controllers(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemController_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLibrary_controllers() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLibrary_controllers &operator=( const domLibrary_controllers &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domLibrary_effects.h b/1.4.0/dom/include/1.5/dom/domLibrary_effects.h
new file mode 100644
index 0000000..b8eb681
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domLibrary_effects.h
@@ -0,0 +1,130 @@
+#ifndef __dom150Library_effects_h__
+#define __dom150Library_effects_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domEffect.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The library_effects element declares a module of effect elements.
+ */
+class domLibrary_effects : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIBRARY_EFFECTS; }
+ static daeInt ID() { return 280; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+
+protected: // Elements
+/**
+ * The library_effects element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * There must be at least one effect element. @see domEffect
+ */
+ domEffect_Array elemEffect_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the effect element array.
+ * @return Returns a reference to the array of effect elements.
+ */
+ domEffect_Array &getEffect_array() { return elemEffect_array; }
+ /**
+ * Gets the effect element array.
+ * @return Returns a constant reference to the array of effect elements.
+ */
+ const domEffect_Array &getEffect_array() const { return elemEffect_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domLibrary_effects(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemEffect_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLibrary_effects() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLibrary_effects &operator=( const domLibrary_effects &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domLibrary_force_fields.h b/1.4.0/dom/include/1.5/dom/domLibrary_force_fields.h
new file mode 100644
index 0000000..93af6d7
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domLibrary_force_fields.h
@@ -0,0 +1,130 @@
+#ifndef __dom150Library_force_fields_h__
+#define __dom150Library_force_fields_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domForce_field.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The library_force_fields element declares a module of force_field elements.
+ */
+class domLibrary_force_fields : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIBRARY_FORCE_FIELDS; }
+ static daeInt ID() { return 296; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+
+protected: // Elements
+/**
+ * The library_force_fields element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * There must be at least one force_field element. @see domForce_field
+ */
+ domForce_field_Array elemForce_field_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the force_field element array.
+ * @return Returns a reference to the array of force_field elements.
+ */
+ domForce_field_Array &getForce_field_array() { return elemForce_field_array; }
+ /**
+ * Gets the force_field element array.
+ * @return Returns a constant reference to the array of force_field elements.
+ */
+ const domForce_field_Array &getForce_field_array() const { return elemForce_field_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domLibrary_force_fields(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemForce_field_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLibrary_force_fields() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLibrary_force_fields &operator=( const domLibrary_force_fields &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domLibrary_formulas.h b/1.4.0/dom/include/1.5/dom/domLibrary_formulas.h
new file mode 100644
index 0000000..8d1fece
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domLibrary_formulas.h
@@ -0,0 +1,110 @@
+#ifndef __dom150Library_formulas_h__
+#define __dom150Library_formulas_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domFormula.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domLibrary_formulas : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIBRARY_FORMULAS; }
+ static daeInt ID() { return 487; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+ xsID attrId;
+ xsToken attrName;
+
+protected: // Elements
+ domAssetRef elemAsset;
+ domFormula_Array elemFormula_array;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the formula element array.
+ * @return Returns a reference to the array of formula elements.
+ */
+ domFormula_Array &getFormula_array() { return elemFormula_array; }
+ /**
+ * Gets the formula element array.
+ * @return Returns a constant reference to the array of formula elements.
+ */
+ const domFormula_Array &getFormula_array() const { return elemFormula_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domLibrary_formulas(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemFormula_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLibrary_formulas() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLibrary_formulas &operator=( const domLibrary_formulas &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domLibrary_geometries.h b/1.4.0/dom/include/1.5/dom/domLibrary_geometries.h
new file mode 100644
index 0000000..969bff7
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domLibrary_geometries.h
@@ -0,0 +1,130 @@
+#ifndef __dom150Library_geometries_h__
+#define __dom150Library_geometries_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domGeometry.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The library_geometries element declares a module of geometry elements.
+ */
+class domLibrary_geometries : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIBRARY_GEOMETRIES; }
+ static daeInt ID() { return 365; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+
+protected: // Elements
+/**
+ * The library_geometries element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * There must be at least one geometry element. @see domGeometry
+ */
+ domGeometry_Array elemGeometry_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the geometry element array.
+ * @return Returns a reference to the array of geometry elements.
+ */
+ domGeometry_Array &getGeometry_array() { return elemGeometry_array; }
+ /**
+ * Gets the geometry element array.
+ * @return Returns a constant reference to the array of geometry elements.
+ */
+ const domGeometry_Array &getGeometry_array() const { return elemGeometry_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domLibrary_geometries(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemGeometry_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLibrary_geometries() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLibrary_geometries &operator=( const domLibrary_geometries &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domLibrary_images.h b/1.4.0/dom/include/1.5/dom/domLibrary_images.h
new file mode 100644
index 0000000..8b24acc
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domLibrary_images.h
@@ -0,0 +1,130 @@
+#ifndef __dom150Library_images_h__
+#define __dom150Library_images_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domImage.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The library_images element declares a module of image elements.
+ */
+class domLibrary_images : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIBRARY_IMAGES; }
+ static daeInt ID() { return 115; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+
+protected: // Elements
+/**
+ * The library_images element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * There must be at least one image element. @see domImage
+ */
+ domImage_Array elemImage_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the image element array.
+ * @return Returns a reference to the array of image elements.
+ */
+ domImage_Array &getImage_array() { return elemImage_array; }
+ /**
+ * Gets the image element array.
+ * @return Returns a constant reference to the array of image elements.
+ */
+ const domImage_Array &getImage_array() const { return elemImage_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domLibrary_images(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemImage_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLibrary_images() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLibrary_images &operator=( const domLibrary_images &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domLibrary_joints.h b/1.4.0/dom/include/1.5/dom/domLibrary_joints.h
new file mode 100644
index 0000000..2ea44b3
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domLibrary_joints.h
@@ -0,0 +1,110 @@
+#ifndef __dom150Library_joints_h__
+#define __dom150Library_joints_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domJoint.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domLibrary_joints : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIBRARY_JOINTS; }
+ static daeInt ID() { return 463; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+ xsID attrId;
+ xsToken attrName;
+
+protected: // Elements
+ domAssetRef elemAsset;
+ domJoint_Array elemJoint_array;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the joint element array.
+ * @return Returns a reference to the array of joint elements.
+ */
+ domJoint_Array &getJoint_array() { return elemJoint_array; }
+ /**
+ * Gets the joint element array.
+ * @return Returns a constant reference to the array of joint elements.
+ */
+ const domJoint_Array &getJoint_array() const { return elemJoint_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domLibrary_joints(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemJoint_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLibrary_joints() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLibrary_joints &operator=( const domLibrary_joints &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domLibrary_kinematics_models.h b/1.4.0/dom/include/1.5/dom/domLibrary_kinematics_models.h
new file mode 100644
index 0000000..865f9c6
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domLibrary_kinematics_models.h
@@ -0,0 +1,110 @@
+#ifndef __dom150Library_kinematics_models_h__
+#define __dom150Library_kinematics_models_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domKinematics_model.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domLibrary_kinematics_models : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIBRARY_KINEMATICS_MODELS; }
+ static daeInt ID() { return 481; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+ xsID attrId;
+ xsToken attrName;
+
+protected: // Elements
+ domAssetRef elemAsset;
+ domKinematics_model_Array elemKinematics_model_array;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the kinematics_model element array.
+ * @return Returns a reference to the array of kinematics_model elements.
+ */
+ domKinematics_model_Array &getKinematics_model_array() { return elemKinematics_model_array; }
+ /**
+ * Gets the kinematics_model element array.
+ * @return Returns a constant reference to the array of kinematics_model elements.
+ */
+ const domKinematics_model_Array &getKinematics_model_array() const { return elemKinematics_model_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domLibrary_kinematics_models(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemKinematics_model_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLibrary_kinematics_models() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLibrary_kinematics_models &operator=( const domLibrary_kinematics_models &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domLibrary_kinematics_scenes.h b/1.4.0/dom/include/1.5/dom/domLibrary_kinematics_scenes.h
new file mode 100644
index 0000000..5be618d
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domLibrary_kinematics_scenes.h
@@ -0,0 +1,110 @@
+#ifndef __dom150Library_kinematics_scenes_h__
+#define __dom150Library_kinematics_scenes_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domKinematics_scene.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domLibrary_kinematics_scenes : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIBRARY_KINEMATICS_SCENES; }
+ static daeInt ID() { return 452; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+ xsID attrId;
+ xsToken attrName;
+
+protected: // Elements
+ domAssetRef elemAsset;
+ domKinematics_scene_Array elemKinematics_scene_array;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the kinematics_scene element array.
+ * @return Returns a reference to the array of kinematics_scene elements.
+ */
+ domKinematics_scene_Array &getKinematics_scene_array() { return elemKinematics_scene_array; }
+ /**
+ * Gets the kinematics_scene element array.
+ * @return Returns a constant reference to the array of kinematics_scene elements.
+ */
+ const domKinematics_scene_Array &getKinematics_scene_array() const { return elemKinematics_scene_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domLibrary_kinematics_scenes(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemKinematics_scene_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLibrary_kinematics_scenes() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLibrary_kinematics_scenes &operator=( const domLibrary_kinematics_scenes &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domLibrary_lights.h b/1.4.0/dom/include/1.5/dom/domLibrary_lights.h
new file mode 100644
index 0000000..1bf5bc8
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domLibrary_lights.h
@@ -0,0 +1,130 @@
+#ifndef __dom150Library_lights_h__
+#define __dom150Library_lights_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domLight.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The library_lights element declares a module of light elements.
+ */
+class domLibrary_lights : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIBRARY_LIGHTS; }
+ static daeInt ID() { return 116; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+
+protected: // Elements
+/**
+ * The library_lights element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * There must be at least one light element. @see domLight
+ */
+ domLight_Array elemLight_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the light element array.
+ * @return Returns a reference to the array of light elements.
+ */
+ domLight_Array &getLight_array() { return elemLight_array; }
+ /**
+ * Gets the light element array.
+ * @return Returns a constant reference to the array of light elements.
+ */
+ const domLight_Array &getLight_array() const { return elemLight_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domLibrary_lights(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemLight_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLibrary_lights() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLibrary_lights &operator=( const domLibrary_lights &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domLibrary_materials.h b/1.4.0/dom/include/1.5/dom/domLibrary_materials.h
new file mode 100644
index 0000000..ffc5b19
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domLibrary_materials.h
@@ -0,0 +1,130 @@
+#ifndef __dom150Library_materials_h__
+#define __dom150Library_materials_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domMaterial.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The library_materials element declares a module of material elements.
+ */
+class domLibrary_materials : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIBRARY_MATERIALS; }
+ static daeInt ID() { return 121; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+
+protected: // Elements
+/**
+ * The library_materials element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * There must be at least one material element. @see domMaterial
+ */
+ domMaterial_Array elemMaterial_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the material element array.
+ * @return Returns a reference to the array of material elements.
+ */
+ domMaterial_Array &getMaterial_array() { return elemMaterial_array; }
+ /**
+ * Gets the material element array.
+ * @return Returns a constant reference to the array of material elements.
+ */
+ const domMaterial_Array &getMaterial_array() const { return elemMaterial_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domLibrary_materials(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemMaterial_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLibrary_materials() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLibrary_materials &operator=( const domLibrary_materials &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domLibrary_nodes.h b/1.4.0/dom/include/1.5/dom/domLibrary_nodes.h
new file mode 100644
index 0000000..4a429ef
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domLibrary_nodes.h
@@ -0,0 +1,130 @@
+#ifndef __dom150Library_nodes_h__
+#define __dom150Library_nodes_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domNode.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The library_nodes element declares a module of node elements.
+ */
+class domLibrary_nodes : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIBRARY_NODES; }
+ static daeInt ID() { return 387; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+
+protected: // Elements
+/**
+ * The library_nodes element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * There must be at least one node element. @see domNode
+ */
+ domNode_Array elemNode_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the node element array.
+ * @return Returns a reference to the array of node elements.
+ */
+ domNode_Array &getNode_array() { return elemNode_array; }
+ /**
+ * Gets the node element array.
+ * @return Returns a constant reference to the array of node elements.
+ */
+ const domNode_Array &getNode_array() const { return elemNode_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domLibrary_nodes(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemNode_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLibrary_nodes() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLibrary_nodes &operator=( const domLibrary_nodes &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domLibrary_physics_materials.h b/1.4.0/dom/include/1.5/dom/domLibrary_physics_materials.h
new file mode 100644
index 0000000..2936573
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domLibrary_physics_materials.h
@@ -0,0 +1,132 @@
+#ifndef __dom150Library_physics_materials_h__
+#define __dom150Library_physics_materials_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domPhysics_material.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The library_physics_materials element declares a module of physics_material
+ * elements.
+ */
+class domLibrary_physics_materials : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIBRARY_PHYSICS_MATERIALS; }
+ static daeInt ID() { return 299; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+
+protected: // Elements
+/**
+ * The library_physics_materials element may contain an asset element. @see
+ * domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * There must be at least one physics_material element. @see domPhysics_material
+ */
+ domPhysics_material_Array elemPhysics_material_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the physics_material element array.
+ * @return Returns a reference to the array of physics_material elements.
+ */
+ domPhysics_material_Array &getPhysics_material_array() { return elemPhysics_material_array; }
+ /**
+ * Gets the physics_material element array.
+ * @return Returns a constant reference to the array of physics_material elements.
+ */
+ const domPhysics_material_Array &getPhysics_material_array() const { return elemPhysics_material_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domLibrary_physics_materials(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemPhysics_material_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLibrary_physics_materials() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLibrary_physics_materials &operator=( const domLibrary_physics_materials &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domLibrary_physics_models.h b/1.4.0/dom/include/1.5/dom/domLibrary_physics_models.h
new file mode 100644
index 0000000..3dba806
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domLibrary_physics_models.h
@@ -0,0 +1,130 @@
+#ifndef __dom150Library_physics_models_h__
+#define __dom150Library_physics_models_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domPhysics_model.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The library_physics_models element declares a module of physics_model elements.
+ */
+class domLibrary_physics_models : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIBRARY_PHYSICS_MODELS; }
+ static daeInt ID() { return 412; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+
+protected: // Elements
+/**
+ * The library_physics_models element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * There must be at least one physics_model element. @see domPhysics_model
+ */
+ domPhysics_model_Array elemPhysics_model_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the physics_model element array.
+ * @return Returns a reference to the array of physics_model elements.
+ */
+ domPhysics_model_Array &getPhysics_model_array() { return elemPhysics_model_array; }
+ /**
+ * Gets the physics_model element array.
+ * @return Returns a constant reference to the array of physics_model elements.
+ */
+ const domPhysics_model_Array &getPhysics_model_array() const { return elemPhysics_model_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domLibrary_physics_models(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemPhysics_model_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLibrary_physics_models() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLibrary_physics_models &operator=( const domLibrary_physics_models &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domLibrary_physics_scenes.h b/1.4.0/dom/include/1.5/dom/domLibrary_physics_scenes.h
new file mode 100644
index 0000000..48fd576
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domLibrary_physics_scenes.h
@@ -0,0 +1,130 @@
+#ifndef __dom150Library_physics_scenes_h__
+#define __dom150Library_physics_scenes_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domPhysics_scene.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The library_physics_scenes element declares a module of physics_scene elements.
+ */
+class domLibrary_physics_scenes : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIBRARY_PHYSICS_SCENES; }
+ static daeInt ID() { return 415; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+
+protected: // Elements
+/**
+ * The library_physics_scenes element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * There must be at least one physics_scene element. @see domPhysics_scene
+ */
+ domPhysics_scene_Array elemPhysics_scene_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the physics_scene element array.
+ * @return Returns a reference to the array of physics_scene elements.
+ */
+ domPhysics_scene_Array &getPhysics_scene_array() { return elemPhysics_scene_array; }
+ /**
+ * Gets the physics_scene element array.
+ * @return Returns a constant reference to the array of physics_scene elements.
+ */
+ const domPhysics_scene_Array &getPhysics_scene_array() const { return elemPhysics_scene_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domLibrary_physics_scenes(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemPhysics_scene_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLibrary_physics_scenes() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLibrary_physics_scenes &operator=( const domLibrary_physics_scenes &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domLibrary_visual_scenes.h b/1.4.0/dom/include/1.5/dom/domLibrary_visual_scenes.h
new file mode 100644
index 0000000..dd708db
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domLibrary_visual_scenes.h
@@ -0,0 +1,130 @@
+#ifndef __dom150Library_visual_scenes_h__
+#define __dom150Library_visual_scenes_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domVisual_scene.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The library_visual_scenes element declares a module of visual_scene elements.
+ */
+class domLibrary_visual_scenes : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIBRARY_VISUAL_SCENES; }
+ static daeInt ID() { return 395; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+
+protected: // Elements
+/**
+ * The library_visual_scenes element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * There must be at least one visual_scene element. @see domVisual_scene
+ */
+ domVisual_scene_Array elemVisual_scene_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the visual_scene element array.
+ * @return Returns a reference to the array of visual_scene elements.
+ */
+ domVisual_scene_Array &getVisual_scene_array() { return elemVisual_scene_array; }
+ /**
+ * Gets the visual_scene element array.
+ * @return Returns a constant reference to the array of visual_scene elements.
+ */
+ const domVisual_scene_Array &getVisual_scene_array() const { return elemVisual_scene_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domLibrary_visual_scenes(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemVisual_scene_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLibrary_visual_scenes() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLibrary_visual_scenes &operator=( const domLibrary_visual_scenes &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domLight.h b/1.4.0/dom/include/1.5/dom/domLight.h
new file mode 100644
index 0000000..79b108a
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domLight.h
@@ -0,0 +1,610 @@
+#ifndef __dom150Light_h__
+#define __dom150Light_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domTargetable_float3.h>
+#include <1.5/dom/domTargetable_float.h>
+#include <1.5/dom/domTechnique.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The light element declares a light source that illuminates the scene. Light
+ * sources have many different properties and radiate light in many different
+ * patterns and frequencies.
+ */
+class domLight : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT; }
+ static daeInt ID() { return 92; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domTechnique_common;
+
+ typedef daeSmartRef<domTechnique_common> domTechnique_commonRef;
+ typedef daeTArray<domTechnique_commonRef> domTechnique_common_Array;
+
+/**
+ * The technique_common element specifies the light information for the common
+ * profile which all COLLADA implementations need to support.
+ */
+ class domTechnique_common : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TECHNIQUE_COMMON; }
+ static daeInt ID() { return 93; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domAmbient;
+
+ typedef daeSmartRef<domAmbient> domAmbientRef;
+ typedef daeTArray<domAmbientRef> domAmbient_Array;
+
+/**
+ * The ambient element declares the parameters required to describe an ambient
+ * light source. An ambient light is one that lights everything evenly,
+ * regardless of location or orientation.
+ */
+ class domAmbient : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::AMBIENT; }
+ static daeInt ID() { return 94; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Element
+/**
+ * The color element contains three floating point numbers specifying the
+ * color of the light. The color element must occur exactly once. @see domColor
+ */
+ domTargetable_float3Ref elemColor;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the color element.
+ * @return a daeSmartRef to the color element.
+ */
+ const domTargetable_float3Ref getColor() const { return elemColor; }
+ protected:
+ /**
+ * Constructor
+ */
+ domAmbient(DAE& dae) : daeElement(dae), elemColor() {}
+ /**
+ * Destructor
+ */
+ virtual ~domAmbient() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAmbient &operator=( const domAmbient &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDirectional;
+
+ typedef daeSmartRef<domDirectional> domDirectionalRef;
+ typedef daeTArray<domDirectionalRef> domDirectional_Array;
+
+/**
+ * The directional element declares the parameters required to describe a
+ * directional light source. A directional light is one that lights everything
+ * from the same direction, regardless of location. The light's default
+ * direction vector in local coordinates is [0,0,-1], pointing down the -Z
+ * axis. The actual direction of the light is defined by the transform of
+ * the node where the light is instantiated.
+ */
+ class domDirectional : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DIRECTIONAL; }
+ static daeInt ID() { return 95; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Element
+/**
+ * The color element contains three floating point numbers specifying the
+ * color of the light. The color element must occur exactly once. @see domColor
+ */
+ domTargetable_float3Ref elemColor;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the color element.
+ * @return a daeSmartRef to the color element.
+ */
+ const domTargetable_float3Ref getColor() const { return elemColor; }
+ protected:
+ /**
+ * Constructor
+ */
+ domDirectional(DAE& dae) : daeElement(dae), elemColor() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDirectional() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDirectional &operator=( const domDirectional &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPoint;
+
+ typedef daeSmartRef<domPoint> domPointRef;
+ typedef daeTArray<domPointRef> domPoint_Array;
+
+/**
+ * The point element declares the parameters required to describe a point
+ * light source. A point light source radiates light in all directions from
+ * a known location in space. The intensity of a point light source is attenuated
+ * as the distance to the light source increases. The position of the light
+ * is defined by the transform of the node in which it is instantiated.
+ */
+ class domPoint : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POINT; }
+ static daeInt ID() { return 96; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Elements
+/**
+ * The color element contains three floating point numbers specifying the
+ * color of the light. The color element must occur exactly once. @see domColor
+ */
+ domTargetable_float3Ref elemColor;
+/**
+ * The constant_attenuation is used to calculate the total attenuation of
+ * this light given a distance. The equation used is A = constant_attenuation
+ * + Dist*linear_attenuation + Dist^2*quadratic_attenuation. @see domConstant_attenuation
+ */
+ domTargetable_floatRef elemConstant_attenuation;
+/**
+ * The linear_attenuation is used to calculate the total attenuation of this
+ * light given a distance. The equation used is A = constant_attenuation
+ * + Dist*linear_attenuation + Dist^2*quadratic_attenuation. @see domLinear_attenuation
+ */
+ domTargetable_floatRef elemLinear_attenuation;
+/**
+ * The quadratic_attenuation is used to calculate the total attenuation of
+ * this light given a distance. The equation used is A = constant_attenuation
+ * + Dist*linear_attenuation + Dist^2*quadratic_attenuation. @see domQuadratic_attenuation
+ */
+ domTargetable_floatRef elemQuadratic_attenuation;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the color element.
+ * @return a daeSmartRef to the color element.
+ */
+ const domTargetable_float3Ref getColor() const { return elemColor; }
+ /**
+ * Gets the constant_attenuation element.
+ * @return a daeSmartRef to the constant_attenuation element.
+ */
+ const domTargetable_floatRef getConstant_attenuation() const { return elemConstant_attenuation; }
+ /**
+ * Gets the linear_attenuation element.
+ * @return a daeSmartRef to the linear_attenuation element.
+ */
+ const domTargetable_floatRef getLinear_attenuation() const { return elemLinear_attenuation; }
+ /**
+ * Gets the quadratic_attenuation element.
+ * @return a daeSmartRef to the quadratic_attenuation element.
+ */
+ const domTargetable_floatRef getQuadratic_attenuation() const { return elemQuadratic_attenuation; }
+ protected:
+ /**
+ * Constructor
+ */
+ domPoint(DAE& dae) : daeElement(dae), elemColor(), elemConstant_attenuation(), elemLinear_attenuation(), elemQuadratic_attenuation() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPoint() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPoint &operator=( const domPoint &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domSpot;
+
+ typedef daeSmartRef<domSpot> domSpotRef;
+ typedef daeTArray<domSpotRef> domSpot_Array;
+
+/**
+ * The spot element declares the parameters required to describe a spot light
+ * source. A spot light source radiates light in one direction from a known
+ * location in space. The light radiates from the spot light source in a
+ * cone shape. The intensity of the light is attenuated as the radiation
+ * angle increases away from the direction of the light source. The intensity
+ * of a spot light source is also attenuated as the distance to the light
+ * source increases. The position of the light is defined by the transform
+ * of the node in which it is instantiated. The light's default direction
+ * vector in local coordinates is [0,0,-1], pointing down the -Z axis. The
+ * actual direction of the light is defined by the transform of the node
+ * where the light is instantiated.
+ */
+ class domSpot : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SPOT; }
+ static daeInt ID() { return 97; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Elements
+/**
+ * The color element contains three floating point numbers specifying the
+ * color of the light. The color element must occur exactly once. @see domColor
+ */
+ domTargetable_float3Ref elemColor;
+/**
+ * The constant_attenuation is used to calculate the total attenuation of
+ * this light given a distance. The equation used is A = constant_attenuation
+ * + Dist*linear_attenuation + Dist^2*quadratic_attenuation. @see domConstant_attenuation
+ */
+ domTargetable_floatRef elemConstant_attenuation;
+/**
+ * The linear_attenuation is used to calculate the total attenuation of this
+ * light given a distance. The equation used is A = constant_attenuation
+ * + Dist*linear_attenuation + Dist^2*quadratic_attenuation. @see domLinear_attenuation
+ */
+ domTargetable_floatRef elemLinear_attenuation;
+/**
+ * The quadratic_attenuation is used to calculate the total attenuation of
+ * this light given a distance. The equation used is A = constant_attenuation
+ * + Dist*linear_attenuation + Dist^2*quadratic_attenuation. @see domQuadratic_attenuation
+ */
+ domTargetable_floatRef elemQuadratic_attenuation;
+/**
+ * The falloff_angle is used to specify the amount of attenuation based on
+ * the direction of the light. @see domFalloff_angle
+ */
+ domTargetable_floatRef elemFalloff_angle;
+/**
+ * The falloff_exponent is used to specify the amount of attenuation based
+ * on the direction of the light. @see domFalloff_exponent
+ */
+ domTargetable_floatRef elemFalloff_exponent;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the color element.
+ * @return a daeSmartRef to the color element.
+ */
+ const domTargetable_float3Ref getColor() const { return elemColor; }
+ /**
+ * Gets the constant_attenuation element.
+ * @return a daeSmartRef to the constant_attenuation element.
+ */
+ const domTargetable_floatRef getConstant_attenuation() const { return elemConstant_attenuation; }
+ /**
+ * Gets the linear_attenuation element.
+ * @return a daeSmartRef to the linear_attenuation element.
+ */
+ const domTargetable_floatRef getLinear_attenuation() const { return elemLinear_attenuation; }
+ /**
+ * Gets the quadratic_attenuation element.
+ * @return a daeSmartRef to the quadratic_attenuation element.
+ */
+ const domTargetable_floatRef getQuadratic_attenuation() const { return elemQuadratic_attenuation; }
+ /**
+ * Gets the falloff_angle element.
+ * @return a daeSmartRef to the falloff_angle element.
+ */
+ const domTargetable_floatRef getFalloff_angle() const { return elemFalloff_angle; }
+ /**
+ * Gets the falloff_exponent element.
+ * @return a daeSmartRef to the falloff_exponent element.
+ */
+ const domTargetable_floatRef getFalloff_exponent() const { return elemFalloff_exponent; }
+ protected:
+ /**
+ * Constructor
+ */
+ domSpot(DAE& dae) : daeElement(dae), elemColor(), elemConstant_attenuation(), elemLinear_attenuation(), elemQuadratic_attenuation(), elemFalloff_angle(), elemFalloff_exponent() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSpot() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSpot &operator=( const domSpot &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+/**
+ * The ambient element declares the parameters required to describe an ambient
+ * light source. An ambient light is one that lights everything evenly,
+ * regardless of location or orientation. @see domAmbient
+ */
+ domAmbientRef elemAmbient;
+/**
+ * The directional element declares the parameters required to describe a
+ * directional light source. A directional light is one that lights everything
+ * from the same direction, regardless of location. The light's default
+ * direction vector in local coordinates is [0,0,-1], pointing down the -Z
+ * axis. The actual direction of the light is defined by the transform of
+ * the node where the light is instantiated. @see domDirectional
+ */
+ domDirectionalRef elemDirectional;
+/**
+ * The point element declares the parameters required to describe a point
+ * light source. A point light source radiates light in all directions from
+ * a known location in space. The intensity of a point light source is attenuated
+ * as the distance to the light source increases. The position of the light
+ * is defined by the transform of the node in which it is instantiated. @see
+ * domPoint
+ */
+ domPointRef elemPoint;
+/**
+ * The spot element declares the parameters required to describe a spot light
+ * source. A spot light source radiates light in one direction from a known
+ * location in space. The light radiates from the spot light source in a
+ * cone shape. The intensity of the light is attenuated as the radiation
+ * angle increases away from the direction of the light source. The intensity
+ * of a spot light source is also attenuated as the distance to the light
+ * source increases. The position of the light is defined by the transform
+ * of the node in which it is instantiated. The light's default direction
+ * vector in local coordinates is [0,0,-1], pointing down the -Z axis. The
+ * actual direction of the light is defined by the transform of the node
+ * where the light is instantiated. @see domSpot
+ */
+ domSpotRef elemSpot;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the ambient element.
+ * @return a daeSmartRef to the ambient element.
+ */
+ const domAmbientRef getAmbient() const { return elemAmbient; }
+ /**
+ * Gets the directional element.
+ * @return a daeSmartRef to the directional element.
+ */
+ const domDirectionalRef getDirectional() const { return elemDirectional; }
+ /**
+ * Gets the point element.
+ * @return a daeSmartRef to the point element.
+ */
+ const domPointRef getPoint() const { return elemPoint; }
+ /**
+ * Gets the spot element.
+ * @return a daeSmartRef to the spot element.
+ */
+ const domSpotRef getSpot() const { return elemSpot; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTechnique_common(DAE& dae) : daeElement(dae), elemAmbient(), elemDirectional(), elemPoint(), elemSpot() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTechnique_common() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTechnique_common &operator=( const domTechnique_common &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+
+protected: // Elements
+/**
+ * The light element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * The technique_common element specifies the light information for the common
+ * profile which all COLLADA implementations need to support. @see domTechnique_common
+ */
+ domTechnique_commonRef elemTechnique_common;
+/**
+ * This element may contain any number of non-common profile techniques. @see
+ * domTechnique
+ */
+ domTechnique_Array elemTechnique_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the technique_common element.
+ * @return a daeSmartRef to the technique_common element.
+ */
+ const domTechnique_commonRef getTechnique_common() const { return elemTechnique_common; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a reference to the array of technique elements.
+ */
+ domTechnique_Array &getTechnique_array() { return elemTechnique_array; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a constant reference to the array of technique elements.
+ */
+ const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domLight(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemTechnique_common(), elemTechnique_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLight() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLight &operator=( const domLight &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domLimits_sub.h b/1.4.0/dom/include/1.5/dom/domLimits_sub.h
new file mode 100644
index 0000000..ef660f3
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domLimits_sub.h
@@ -0,0 +1,80 @@
+#ifndef __dom150Limits_sub_h__
+#define __dom150Limits_sub_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domLimits_sub : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIMITS_SUB; }
+ static daeInt ID() { return 366; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attribute
+ domSid attrSid;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the value of this element.
+ * @return a domFloat of the value.
+ */
+ domFloat& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFloat& val ) { _value = val; }
+
+protected: // Value
+ /**
+ * The domFloat value of the text data of this element.
+ */
+ domFloat _value;
+protected:
+ /**
+ * Constructor
+ */
+ domLimits_sub(DAE& dae) : daeElement(dae), attrSid(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLimits_sub() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLimits_sub &operator=( const domLimits_sub &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domLine.h b/1.4.0/dom/include/1.5/dom/domLine.h
new file mode 100644
index 0000000..b59bead
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domLine.h
@@ -0,0 +1,202 @@
+#ifndef __dom150Line_h__
+#define __dom150Line_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * Describes an infinite line. A line is defined and positioned in space
+ * with an axis which gives it an origin and a unit vector. The Geom_Line
+ * line is parameterized: P (U) = O + U*Dir, where: - P is the point
+ * of parameter U, - O is the origin and Dir the unit vector of its positioning
+ * axis. The parameter range is ] -infinite, +infinite [. The orientation
+ * of the line is given by the unit vector of its positioning axis.
+ */
+class domLine : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LINE; }
+ static daeInt ID() { return 309; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domOrigin;
+
+ typedef daeSmartRef<domOrigin> domOriginRef;
+ typedef daeTArray<domOriginRef> domOrigin_Array;
+
+ class domOrigin : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ORIGIN; }
+ static daeInt ID() { return 310; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFloat3 of the value.
+ */
+ domFloat3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFloat3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFloat3 value of the text data of this element.
+ */
+ domFloat3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domOrigin(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domOrigin() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domOrigin &operator=( const domOrigin &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domDirection;
+
+ typedef daeSmartRef<domDirection> domDirectionRef;
+ typedef daeTArray<domDirectionRef> domDirection_Array;
+
+ class domDirection : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DIRECTION; }
+ static daeInt ID() { return 311; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFloat3 of the value.
+ */
+ domFloat3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFloat3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFloat3 value of the text data of this element.
+ */
+ domFloat3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domDirection(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDirection() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDirection &operator=( const domDirection &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+ domOriginRef elemOrigin;
+ domDirectionRef elemDirection;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the origin element.
+ * @return a daeSmartRef to the origin element.
+ */
+ const domOriginRef getOrigin() const { return elemOrigin; }
+ /**
+ * Gets the direction element.
+ * @return a daeSmartRef to the direction element.
+ */
+ const domDirectionRef getDirection() const { return elemDirection; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domLine(DAE& dae) : daeElement(dae), elemOrigin(), elemDirection(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLine() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLine &operator=( const domLine &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domLines.h b/1.4.0/dom/include/1.5/dom/domLines.h
new file mode 100644
index 0000000..2b6c445
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domLines.h
@@ -0,0 +1,150 @@
+#ifndef __dom150Lines_h__
+#define __dom150Lines_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domInput_local_offset.h>
+#include <1.5/dom/domP.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The lines element provides the information needed to bind vertex attributes
+ * together and then organize those vertices into individual lines. Each
+ * line described by the mesh has two vertices. The first line is formed
+ * from first and second vertices. The second line is formed from the third
+ * and fourth vertices and so on.
+ */
+class domLines : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LINES; }
+ static daeInt ID() { return 34; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+/**
+ * The count attribute indicates the number of line primitives. Required
+ * attribute.
+ */
+ domUint attrCount;
+/**
+ * The material attribute declares a symbol for a material. This symbol is
+ * bound to a material at the time of instantiation. If the material attribute
+ * is not specified then the lighting and shading results are application
+ * defined. Optional attribute.
+ */
+ xsNCName attrMaterial;
+
+protected: // Elements
+/**
+ * The input element may occur any number of times. This input is a local
+ * input with the offset and set attributes. @see domInput
+ */
+ domInput_local_offset_Array elemInput_array;
+/**
+ * The lines element may have zero or one p element. @see domP
+ */
+ domPRef elemP;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the count attribute.
+ * @return Returns a domUint of the count attribute.
+ */
+ domUint getCount() const { return attrCount; }
+ /**
+ * Sets the count attribute.
+ * @param atCount The new value for the count attribute.
+ */
+ void setCount( domUint atCount ) { attrCount = atCount; }
+
+ /**
+ * Gets the material attribute.
+ * @return Returns a xsNCName of the material attribute.
+ */
+ xsNCName getMaterial() const { return attrMaterial; }
+ /**
+ * Sets the material attribute.
+ * @param atMaterial The new value for the material attribute.
+ */
+ void setMaterial( xsNCName atMaterial ) { *(daeStringRef*)&attrMaterial = atMaterial;}
+
+ /**
+ * Gets the input element array.
+ * @return Returns a reference to the array of input elements.
+ */
+ domInput_local_offset_Array &getInput_array() { return elemInput_array; }
+ /**
+ * Gets the input element array.
+ * @return Returns a constant reference to the array of input elements.
+ */
+ const domInput_local_offset_Array &getInput_array() const { return elemInput_array; }
+ /**
+ * Gets the p element.
+ * @return a daeSmartRef to the p element.
+ */
+ const domPRef getP() const { return elemP; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domLines(DAE& dae) : daeElement(dae), attrName(), attrCount(), attrMaterial(), elemInput_array(), elemP(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLines() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLines &operator=( const domLines &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domLinestrips.h b/1.4.0/dom/include/1.5/dom/domLinestrips.h
new file mode 100644
index 0000000..541eb51
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domLinestrips.h
@@ -0,0 +1,155 @@
+#ifndef __dom150Linestrips_h__
+#define __dom150Linestrips_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domInput_local_offset.h>
+#include <1.5/dom/domP.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The linestrips element provides the information needed to bind vertex attributes
+ * together and then organize those vertices into connected line-strips.
+ * Each line-strip described by the mesh has an arbitrary number of vertices.
+ * Each line segment within the line-strip is formed from the current vertex
+ * and the preceding vertex.
+ */
+class domLinestrips : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LINESTRIPS; }
+ static daeInt ID() { return 32; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+/**
+ * The count attribute indicates the number of linestrip primitives. Required
+ * attribute.
+ */
+ domUint attrCount;
+/**
+ * The material attribute declares a symbol for a material. This symbol is
+ * bound to a material at the time of instantiation. If the material attribute
+ * is not specified then the lighting and shading results are application
+ * defined. Optional attribute.
+ */
+ xsNCName attrMaterial;
+
+protected: // Elements
+/**
+ * The input element may occur any number of times. This input is a local
+ * input with the offset and set attributes. @see domInput
+ */
+ domInput_local_offset_Array elemInput_array;
+/**
+ * The linestrips element may have any number of p elements. @see domP
+ */
+ domP_Array elemP_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the count attribute.
+ * @return Returns a domUint of the count attribute.
+ */
+ domUint getCount() const { return attrCount; }
+ /**
+ * Sets the count attribute.
+ * @param atCount The new value for the count attribute.
+ */
+ void setCount( domUint atCount ) { attrCount = atCount; }
+
+ /**
+ * Gets the material attribute.
+ * @return Returns a xsNCName of the material attribute.
+ */
+ xsNCName getMaterial() const { return attrMaterial; }
+ /**
+ * Sets the material attribute.
+ * @param atMaterial The new value for the material attribute.
+ */
+ void setMaterial( xsNCName atMaterial ) { *(daeStringRef*)&attrMaterial = atMaterial;}
+
+ /**
+ * Gets the input element array.
+ * @return Returns a reference to the array of input elements.
+ */
+ domInput_local_offset_Array &getInput_array() { return elemInput_array; }
+ /**
+ * Gets the input element array.
+ * @return Returns a constant reference to the array of input elements.
+ */
+ const domInput_local_offset_Array &getInput_array() const { return elemInput_array; }
+ /**
+ * Gets the p element array.
+ * @return Returns a reference to the array of p elements.
+ */
+ domP_Array &getP_array() { return elemP_array; }
+ /**
+ * Gets the p element array.
+ * @return Returns a constant reference to the array of p elements.
+ */
+ const domP_Array &getP_array() const { return elemP_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domLinestrips(DAE& dae) : daeElement(dae), attrName(), attrCount(), attrMaterial(), elemInput_array(), elemP_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLinestrips() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLinestrips &operator=( const domLinestrips &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domLink.h b/1.4.0/dom/include/1.5/dom/domLink.h
new file mode 100644
index 0000000..825dd55
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domLink.h
@@ -0,0 +1,477 @@
+#ifndef __dom150Link_h__
+#define __dom150Link_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domRotate.h>
+#include <1.5/dom/domTranslate.h>
+#include <1.5/dom/domLink.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domLink : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LINK; }
+ static daeInt ID() { return 370; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domAttachment_full;
+
+ typedef daeSmartRef<domAttachment_full> domAttachment_fullRef;
+ typedef daeTArray<domAttachment_fullRef> domAttachment_full_Array;
+
+ class domAttachment_full : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ATTACHMENT_FULL; }
+ static daeInt ID() { return 371; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+ xsToken attrJoint;
+
+ protected: // Elements
+ domRotate_Array elemRotate_array;
+ domTranslate_Array elemTranslate_array;
+ domLinkRef elemLink;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the joint attribute.
+ * @return Returns a xsToken of the joint attribute.
+ */
+ xsToken getJoint() const { return attrJoint; }
+ /**
+ * Sets the joint attribute.
+ * @param atJoint The new value for the joint attribute.
+ */
+ void setJoint( xsToken atJoint ) { *(daeStringRef*)&attrJoint = atJoint; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the rotate element array.
+ * @return Returns a reference to the array of rotate elements.
+ */
+ domRotate_Array &getRotate_array() { return elemRotate_array; }
+ /**
+ * Gets the rotate element array.
+ * @return Returns a constant reference to the array of rotate elements.
+ */
+ const domRotate_Array &getRotate_array() const { return elemRotate_array; }
+ /**
+ * Gets the translate element array.
+ * @return Returns a reference to the array of translate elements.
+ */
+ domTranslate_Array &getTranslate_array() { return elemTranslate_array; }
+ /**
+ * Gets the translate element array.
+ * @return Returns a constant reference to the array of translate elements.
+ */
+ const domTranslate_Array &getTranslate_array() const { return elemTranslate_array; }
+ /**
+ * Gets the link element.
+ * @return a daeSmartRef to the link element.
+ */
+ const domLinkRef getLink() const { return elemLink; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domAttachment_full(DAE& dae) : daeElement(dae), attrJoint(), elemRotate_array(), elemTranslate_array(), elemLink() {}
+ /**
+ * Destructor
+ */
+ virtual ~domAttachment_full() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAttachment_full &operator=( const domAttachment_full &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domAttachment_start;
+
+ typedef daeSmartRef<domAttachment_start> domAttachment_startRef;
+ typedef daeTArray<domAttachment_startRef> domAttachment_start_Array;
+
+ class domAttachment_start : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ATTACHMENT_START; }
+ static daeInt ID() { return 372; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+ xsToken attrJoint;
+
+ protected: // Elements
+ domRotate_Array elemRotate_array;
+ domTranslate_Array elemTranslate_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the joint attribute.
+ * @return Returns a xsToken of the joint attribute.
+ */
+ xsToken getJoint() const { return attrJoint; }
+ /**
+ * Sets the joint attribute.
+ * @param atJoint The new value for the joint attribute.
+ */
+ void setJoint( xsToken atJoint ) { *(daeStringRef*)&attrJoint = atJoint; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the rotate element array.
+ * @return Returns a reference to the array of rotate elements.
+ */
+ domRotate_Array &getRotate_array() { return elemRotate_array; }
+ /**
+ * Gets the rotate element array.
+ * @return Returns a constant reference to the array of rotate elements.
+ */
+ const domRotate_Array &getRotate_array() const { return elemRotate_array; }
+ /**
+ * Gets the translate element array.
+ * @return Returns a reference to the array of translate elements.
+ */
+ domTranslate_Array &getTranslate_array() { return elemTranslate_array; }
+ /**
+ * Gets the translate element array.
+ * @return Returns a constant reference to the array of translate elements.
+ */
+ const domTranslate_Array &getTranslate_array() const { return elemTranslate_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domAttachment_start(DAE& dae) : daeElement(dae), attrJoint(), elemRotate_array(), elemTranslate_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domAttachment_start() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAttachment_start &operator=( const domAttachment_start &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domAttachment_end;
+
+ typedef daeSmartRef<domAttachment_end> domAttachment_endRef;
+ typedef daeTArray<domAttachment_endRef> domAttachment_end_Array;
+
+ class domAttachment_end : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ATTACHMENT_END; }
+ static daeInt ID() { return 373; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+ xsToken attrJoint;
+
+ protected: // Elements
+ domRotate_Array elemRotate_array;
+ domTranslate_Array elemTranslate_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the joint attribute.
+ * @return Returns a xsToken of the joint attribute.
+ */
+ xsToken getJoint() const { return attrJoint; }
+ /**
+ * Sets the joint attribute.
+ * @param atJoint The new value for the joint attribute.
+ */
+ void setJoint( xsToken atJoint ) { *(daeStringRef*)&attrJoint = atJoint; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the rotate element array.
+ * @return Returns a reference to the array of rotate elements.
+ */
+ domRotate_Array &getRotate_array() { return elemRotate_array; }
+ /**
+ * Gets the rotate element array.
+ * @return Returns a constant reference to the array of rotate elements.
+ */
+ const domRotate_Array &getRotate_array() const { return elemRotate_array; }
+ /**
+ * Gets the translate element array.
+ * @return Returns a reference to the array of translate elements.
+ */
+ domTranslate_Array &getTranslate_array() { return elemTranslate_array; }
+ /**
+ * Gets the translate element array.
+ * @return Returns a constant reference to the array of translate elements.
+ */
+ const domTranslate_Array &getTranslate_array() const { return elemTranslate_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domAttachment_end(DAE& dae) : daeElement(dae), attrJoint(), elemRotate_array(), elemTranslate_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domAttachment_end() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAttachment_end &operator=( const domAttachment_end &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+ domSid attrSid;
+ xsToken attrName;
+
+protected: // Elements
+ domRotate_Array elemRotate_array;
+ domTranslate_Array elemTranslate_array;
+ domAttachment_full_Array elemAttachment_full_array;
+ domAttachment_start_Array elemAttachment_start_array;
+ domAttachment_end_Array elemAttachment_end_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the rotate element array.
+ * @return Returns a reference to the array of rotate elements.
+ */
+ domRotate_Array &getRotate_array() { return elemRotate_array; }
+ /**
+ * Gets the rotate element array.
+ * @return Returns a constant reference to the array of rotate elements.
+ */
+ const domRotate_Array &getRotate_array() const { return elemRotate_array; }
+ /**
+ * Gets the translate element array.
+ * @return Returns a reference to the array of translate elements.
+ */
+ domTranslate_Array &getTranslate_array() { return elemTranslate_array; }
+ /**
+ * Gets the translate element array.
+ * @return Returns a constant reference to the array of translate elements.
+ */
+ const domTranslate_Array &getTranslate_array() const { return elemTranslate_array; }
+ /**
+ * Gets the attachment_full element array.
+ * @return Returns a reference to the array of attachment_full elements.
+ */
+ domAttachment_full_Array &getAttachment_full_array() { return elemAttachment_full_array; }
+ /**
+ * Gets the attachment_full element array.
+ * @return Returns a constant reference to the array of attachment_full elements.
+ */
+ const domAttachment_full_Array &getAttachment_full_array() const { return elemAttachment_full_array; }
+ /**
+ * Gets the attachment_start element array.
+ * @return Returns a reference to the array of attachment_start elements.
+ */
+ domAttachment_start_Array &getAttachment_start_array() { return elemAttachment_start_array; }
+ /**
+ * Gets the attachment_start element array.
+ * @return Returns a constant reference to the array of attachment_start elements.
+ */
+ const domAttachment_start_Array &getAttachment_start_array() const { return elemAttachment_start_array; }
+ /**
+ * Gets the attachment_end element array.
+ * @return Returns a reference to the array of attachment_end elements.
+ */
+ domAttachment_end_Array &getAttachment_end_array() { return elemAttachment_end_array; }
+ /**
+ * Gets the attachment_end element array.
+ * @return Returns a constant reference to the array of attachment_end elements.
+ */
+ const domAttachment_end_Array &getAttachment_end_array() const { return elemAttachment_end_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domLink(DAE& dae) : daeElement(dae), attrSid(), attrName(), elemRotate_array(), elemTranslate_array(), elemAttachment_full_array(), elemAttachment_start_array(), elemAttachment_end_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLink() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLink &operator=( const domLink &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domLookat.h b/1.4.0/dom/include/1.5/dom/domLookat.h
new file mode 100644
index 0000000..d47a2d9
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domLookat.h
@@ -0,0 +1,91 @@
+#ifndef __dom150Lookat_h__
+#define __dom150Lookat_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The lookat element contains a position and orientation transformation suitable
+ * for aiming a camera. The lookat element contains three mathematical vectors
+ * within it that describe: 1.The position of the object; 2.The position
+ * of the interest point; 3.The direction that points up.
+ */
+class domLookat : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LOOKAT; }
+ static daeInt ID() { return 14; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attribute
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ domSid attrSid;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the value of this element.
+ * @return a domFloat3x3 of the value.
+ */
+ domFloat3x3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFloat3x3& val ) { _value = val; }
+
+protected: // Value
+ /**
+ * The domFloat3x3 value of the text data of this element.
+ */
+ domFloat3x3 _value;
+protected:
+ /**
+ * Constructor
+ */
+ domLookat(DAE& dae) : daeElement(dae), attrSid(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLookat() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLookat &operator=( const domLookat &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domMaterial.h b/1.4.0/dom/include/1.5/dom/domMaterial.h
new file mode 100644
index 0000000..c6d04b0
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domMaterial.h
@@ -0,0 +1,125 @@
+#ifndef __dom150Material_h__
+#define __dom150Material_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domInstance_effect.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * Materials describe the visual appearance of a geometric object.
+ */
+class domMaterial : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MATERIAL; }
+ static daeInt ID() { return 120; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+
+protected: // Elements
+/**
+ * The material element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * The material must instance an effect. @see domInstance_effect
+ */
+ domInstance_effectRef elemInstance_effect;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the instance_effect element.
+ * @return a daeSmartRef to the instance_effect element.
+ */
+ const domInstance_effectRef getInstance_effect() const { return elemInstance_effect; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domMaterial(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemInstance_effect(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMaterial() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMaterial &operator=( const domMaterial &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domMatrix.h b/1.4.0/dom/include/1.5/dom/domMatrix.h
new file mode 100644
index 0000000..aea4819
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domMatrix.h
@@ -0,0 +1,90 @@
+#ifndef __dom150Matrix_h__
+#define __dom150Matrix_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * Matrix transformations embody mathematical changes to points within a coordinate
+ * systems or the coordinate system itself. The matrix element contains a
+ * 4-by-4 matrix of floating-point values.
+ */
+class domMatrix : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MATRIX; }
+ static daeInt ID() { return 15; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attribute
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ domSid attrSid;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the value of this element.
+ * @return a domFloat4x4 of the value.
+ */
+ domFloat4x4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFloat4x4& val ) { _value = val; }
+
+protected: // Value
+ /**
+ * The domFloat4x4 value of the text data of this element.
+ */
+ domFloat4x4 _value;
+protected:
+ /**
+ * Constructor
+ */
+ domMatrix(DAE& dae) : daeElement(dae), attrSid(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMatrix() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMatrix &operator=( const domMatrix &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domMesh.h b/1.4.0/dom/include/1.5/dom/domMesh.h
new file mode 100644
index 0000000..d48414a
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domMesh.h
@@ -0,0 +1,226 @@
+#ifndef __dom150Mesh_h__
+#define __dom150Mesh_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domSource.h>
+#include <1.5/dom/domVertices.h>
+#include <1.5/dom/domLines.h>
+#include <1.5/dom/domLinestrips.h>
+#include <1.5/dom/domPolygons.h>
+#include <1.5/dom/domPolylist.h>
+#include <1.5/dom/domTriangles.h>
+#include <1.5/dom/domTrifans.h>
+#include <1.5/dom/domTristrips.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The mesh element contains vertex and primitive information sufficient to
+ * describe basic geometric meshes.
+ */
+class domMesh : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MESH; }
+ static daeInt ID() { return 336; }
+ virtual daeInt typeID() const { return ID(); }
+
+protected: // Elements
+/**
+ * The mesh element must contain one or more source elements. @see domSource
+ */
+ domSource_Array elemSource_array;
+/**
+ * The mesh element must contain one vertices element. @see domVertices
+ */
+ domVerticesRef elemVertices;
+/**
+ * The mesh element may contain any number of lines elements. @see domLines
+ */
+ domLines_Array elemLines_array;
+/**
+ * The mesh element may contain any number of linestrips elements. @see domLinestrips
+ */
+ domLinestrips_Array elemLinestrips_array;
+/**
+ * The mesh element may contain any number of polygons elements. @see domPolygons
+ */
+ domPolygons_Array elemPolygons_array;
+/**
+ * The mesh element may contain any number of polylist elements. @see domPolylist
+ */
+ domPolylist_Array elemPolylist_array;
+/**
+ * The mesh element may contain any number of triangles elements. @see domTriangles
+ */
+ domTriangles_Array elemTriangles_array;
+/**
+ * The mesh element may contain any number of trifans elements. @see domTrifans
+ */
+ domTrifans_Array elemTrifans_array;
+/**
+ * The mesh element may contain any number of tristrips elements. @see domTristrips
+ */
+ domTristrips_Array elemTristrips_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the source element array.
+ * @return Returns a reference to the array of source elements.
+ */
+ domSource_Array &getSource_array() { return elemSource_array; }
+ /**
+ * Gets the source element array.
+ * @return Returns a constant reference to the array of source elements.
+ */
+ const domSource_Array &getSource_array() const { return elemSource_array; }
+ /**
+ * Gets the vertices element.
+ * @return a daeSmartRef to the vertices element.
+ */
+ const domVerticesRef getVertices() const { return elemVertices; }
+ /**
+ * Gets the lines element array.
+ * @return Returns a reference to the array of lines elements.
+ */
+ domLines_Array &getLines_array() { return elemLines_array; }
+ /**
+ * Gets the lines element array.
+ * @return Returns a constant reference to the array of lines elements.
+ */
+ const domLines_Array &getLines_array() const { return elemLines_array; }
+ /**
+ * Gets the linestrips element array.
+ * @return Returns a reference to the array of linestrips elements.
+ */
+ domLinestrips_Array &getLinestrips_array() { return elemLinestrips_array; }
+ /**
+ * Gets the linestrips element array.
+ * @return Returns a constant reference to the array of linestrips elements.
+ */
+ const domLinestrips_Array &getLinestrips_array() const { return elemLinestrips_array; }
+ /**
+ * Gets the polygons element array.
+ * @return Returns a reference to the array of polygons elements.
+ */
+ domPolygons_Array &getPolygons_array() { return elemPolygons_array; }
+ /**
+ * Gets the polygons element array.
+ * @return Returns a constant reference to the array of polygons elements.
+ */
+ const domPolygons_Array &getPolygons_array() const { return elemPolygons_array; }
+ /**
+ * Gets the polylist element array.
+ * @return Returns a reference to the array of polylist elements.
+ */
+ domPolylist_Array &getPolylist_array() { return elemPolylist_array; }
+ /**
+ * Gets the polylist element array.
+ * @return Returns a constant reference to the array of polylist elements.
+ */
+ const domPolylist_Array &getPolylist_array() const { return elemPolylist_array; }
+ /**
+ * Gets the triangles element array.
+ * @return Returns a reference to the array of triangles elements.
+ */
+ domTriangles_Array &getTriangles_array() { return elemTriangles_array; }
+ /**
+ * Gets the triangles element array.
+ * @return Returns a constant reference to the array of triangles elements.
+ */
+ const domTriangles_Array &getTriangles_array() const { return elemTriangles_array; }
+ /**
+ * Gets the trifans element array.
+ * @return Returns a reference to the array of trifans elements.
+ */
+ domTrifans_Array &getTrifans_array() { return elemTrifans_array; }
+ /**
+ * Gets the trifans element array.
+ * @return Returns a constant reference to the array of trifans elements.
+ */
+ const domTrifans_Array &getTrifans_array() const { return elemTrifans_array; }
+ /**
+ * Gets the tristrips element array.
+ * @return Returns a reference to the array of tristrips elements.
+ */
+ domTristrips_Array &getTristrips_array() { return elemTristrips_array; }
+ /**
+ * Gets the tristrips element array.
+ * @return Returns a constant reference to the array of tristrips elements.
+ */
+ const domTristrips_Array &getTristrips_array() const { return elemTristrips_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domMesh(DAE& dae) : daeElement(dae), elemSource_array(), elemVertices(), elemLines_array(), elemLinestrips_array(), elemPolygons_array(), elemPolylist_array(), elemTriangles_array(), elemTrifans_array(), elemTristrips_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMesh() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMesh &operator=( const domMesh &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domMinmax.h b/1.4.0/dom/include/1.5/dom/domMinmax.h
new file mode 100644
index 0000000..61a7995
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domMinmax.h
@@ -0,0 +1,92 @@
+#ifndef __dom150Minmax_h__
+#define __dom150Minmax_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domMinmax : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MINMAX; }
+ static daeInt ID() { return 458; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+ xsToken attrName;
+ domSid attrSid;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the value of this element.
+ * @return a domFloat of the value.
+ */
+ domFloat& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFloat& val ) { _value = val; }
+
+protected: // Value
+ /**
+ * The domFloat value of the text data of this element.
+ */
+ domFloat _value;
+protected:
+ /**
+ * Constructor
+ */
+ domMinmax(DAE& dae) : daeElement(dae), attrName(), attrSid(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMinmax() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMinmax &operator=( const domMinmax &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domMorph.h b/1.4.0/dom/include/1.5/dom/domMorph.h
new file mode 100644
index 0000000..a9be436
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domMorph.h
@@ -0,0 +1,219 @@
+#ifndef __dom150Morph_h__
+#define __dom150Morph_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domSource.h>
+#include <1.5/dom/domInput_local.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The morph element describes the data required to blend between sets of
+ * static meshes. Each possible mesh that can be blended (a morph target)
+ * must be specified.
+ */
+class domMorph : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MORPH; }
+ static daeInt ID() { return 343; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domTargets;
+
+ typedef daeSmartRef<domTargets> domTargetsRef;
+ typedef daeTArray<domTargetsRef> domTargets_Array;
+
+/**
+ * The targets element declares the morph targets, their weights and any user
+ * defined attributes associated with them.
+ */
+ class domTargets : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TARGETS; }
+ static daeInt ID() { return 344; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Elements
+/**
+ * The input element must occur at least twice. These inputs are local inputs.
+ * @see domInput
+ */
+ domInput_local_Array elemInput_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the input element array.
+ * @return Returns a reference to the array of input elements.
+ */
+ domInput_local_Array &getInput_array() { return elemInput_array; }
+ /**
+ * Gets the input element array.
+ * @return Returns a constant reference to the array of input elements.
+ */
+ const domInput_local_Array &getInput_array() const { return elemInput_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ protected:
+ /**
+ * Constructor
+ */
+ domTargets(DAE& dae) : daeElement(dae), elemInput_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTargets() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTargets &operator=( const domTargets &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+/**
+ * The method attribute specifies the which blending technique to use. The
+ * accepted values are NORMALIZED, and RELATIVE. The default value if not
+ * specified is NORMALIZED. Optional attribute.
+ */
+ domMorph_method attrMethod;
+/**
+ * The source attribute indicates the base mesh. Required attribute.
+ */
+ xsAnyURI attrSource;
+
+protected: // Elements
+/**
+ * The morph element must contain at least two source elements. @see domSource
+ */
+ domSource_Array elemSource_array;
+/**
+ * The targets element declares the morph targets, their weights and any user
+ * defined attributes associated with them. @see domTargets
+ */
+ domTargetsRef elemTargets;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the method attribute.
+ * @return Returns a domMorph_method of the method attribute.
+ */
+ domMorph_method getMethod() const { return attrMethod; }
+ /**
+ * Sets the method attribute.
+ * @param atMethod The new value for the method attribute.
+ */
+ void setMethod( domMorph_method atMethod ) { attrMethod = atMethod; }
+
+ /**
+ * Gets the source attribute.
+ * @return Returns a xsAnyURI reference of the source attribute.
+ */
+ xsAnyURI &getSource() { return attrSource; }
+ /**
+ * Gets the source attribute.
+ * @return Returns a constant xsAnyURI reference of the source attribute.
+ */
+ const xsAnyURI &getSource() const { return attrSource; }
+ /**
+ * Sets the source attribute.
+ * @param atSource The new value for the source attribute.
+ */
+ void setSource( const xsAnyURI &atSource ) { attrSource = atSource; }
+ /**
+ * Sets the source attribute.
+ * @param atSource The new value for the source attribute.
+ */
+ void setSource( xsString atSource ) { attrSource = atSource; }
+
+ /**
+ * Gets the source element array.
+ * @return Returns a reference to the array of source elements.
+ */
+ domSource_Array &getSource_array() { return elemSource_array; }
+ /**
+ * Gets the source element array.
+ * @return Returns a constant reference to the array of source elements.
+ */
+ const domSource_Array &getSource_array() const { return elemSource_array; }
+ /**
+ * Gets the targets element.
+ * @return a daeSmartRef to the targets element.
+ */
+ const domTargetsRef getTargets() const { return elemTargets; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domMorph(DAE& dae) : daeElement(dae), attrMethod(), attrSource(dae, *this), elemSource_array(), elemTargets(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMorph() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMorph &operator=( const domMorph &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domMotion.h b/1.4.0/dom/include/1.5/dom/domMotion.h
new file mode 100644
index 0000000..4a08b25
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domMotion.h
@@ -0,0 +1,90 @@
+#ifndef __dom150Motion_h__
+#define __dom150Motion_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domInstance_articulated_system.h>
+#include <1.5/dom/domMotion_technique.h>
+#include <1.5/dom/domTechnique.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domMotion : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MOTION; }
+ static daeInt ID() { return 457; }
+ virtual daeInt typeID() const { return ID(); }
+
+protected: // Elements
+ domInstance_articulated_systemRef elemInstance_articulated_system;
+ domMotion_techniqueRef elemTechnique_common;
+ domTechnique_Array elemTechnique_array;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the instance_articulated_system element.
+ * @return a daeSmartRef to the instance_articulated_system element.
+ */
+ const domInstance_articulated_systemRef getInstance_articulated_system() const { return elemInstance_articulated_system; }
+ /**
+ * Gets the technique_common element.
+ * @return a daeSmartRef to the technique_common element.
+ */
+ const domMotion_techniqueRef getTechnique_common() const { return elemTechnique_common; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a reference to the array of technique elements.
+ */
+ domTechnique_Array &getTechnique_array() { return elemTechnique_array; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a constant reference to the array of technique elements.
+ */
+ const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domMotion(DAE& dae) : daeElement(dae), elemInstance_articulated_system(), elemTechnique_common(), elemTechnique_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMotion() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMotion &operator=( const domMotion &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domMotion_axis_info.h b/1.4.0/dom/include/1.5/dom/domMotion_axis_info.h
new file mode 100644
index 0000000..e908ede
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domMotion_axis_info.h
@@ -0,0 +1,150 @@
+#ifndef __dom150Motion_axis_info_h__
+#define __dom150Motion_axis_info_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domKinematics_bind.h>
+#include <1.5/dom/domKinematics_newparam.h>
+#include <1.5/dom/domKinematics_setparam.h>
+#include <1.5/dom/domCommon_float_or_param.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domMotion_axis_info : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MOTION_AXIS_INFO; }
+ static daeInt ID() { return 448; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+ domSid attrSid;
+ xsToken attrAxis;
+ xsToken attrName;
+
+protected: // Elements
+ domKinematics_bind_Array elemBind_array;
+ domKinematics_newparam_Array elemNewparam_array;
+ domKinematics_setparam_Array elemSetparam_array;
+ domCommon_float_or_paramRef elemSpeed;
+ domCommon_float_or_paramRef elemAcceleration;
+ domCommon_float_or_paramRef elemDeceleration;
+ domCommon_float_or_paramRef elemJerk;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the axis attribute.
+ * @return Returns a xsToken of the axis attribute.
+ */
+ xsToken getAxis() const { return attrAxis; }
+ /**
+ * Sets the axis attribute.
+ * @param atAxis The new value for the axis attribute.
+ */
+ void setAxis( xsToken atAxis ) { *(daeStringRef*)&attrAxis = atAxis;}
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the bind element array.
+ * @return Returns a reference to the array of bind elements.
+ */
+ domKinematics_bind_Array &getBind_array() { return elemBind_array; }
+ /**
+ * Gets the bind element array.
+ * @return Returns a constant reference to the array of bind elements.
+ */
+ const domKinematics_bind_Array &getBind_array() const { return elemBind_array; }
+ /**
+ * Gets the newparam element array.
+ * @return Returns a reference to the array of newparam elements.
+ */
+ domKinematics_newparam_Array &getNewparam_array() { return elemNewparam_array; }
+ /**
+ * Gets the newparam element array.
+ * @return Returns a constant reference to the array of newparam elements.
+ */
+ const domKinematics_newparam_Array &getNewparam_array() const { return elemNewparam_array; }
+ /**
+ * Gets the setparam element array.
+ * @return Returns a reference to the array of setparam elements.
+ */
+ domKinematics_setparam_Array &getSetparam_array() { return elemSetparam_array; }
+ /**
+ * Gets the setparam element array.
+ * @return Returns a constant reference to the array of setparam elements.
+ */
+ const domKinematics_setparam_Array &getSetparam_array() const { return elemSetparam_array; }
+ /**
+ * Gets the speed element.
+ * @return a daeSmartRef to the speed element.
+ */
+ const domCommon_float_or_paramRef getSpeed() const { return elemSpeed; }
+ /**
+ * Gets the acceleration element.
+ * @return a daeSmartRef to the acceleration element.
+ */
+ const domCommon_float_or_paramRef getAcceleration() const { return elemAcceleration; }
+ /**
+ * Gets the deceleration element.
+ * @return a daeSmartRef to the deceleration element.
+ */
+ const domCommon_float_or_paramRef getDeceleration() const { return elemDeceleration; }
+ /**
+ * Gets the jerk element.
+ * @return a daeSmartRef to the jerk element.
+ */
+ const domCommon_float_or_paramRef getJerk() const { return elemJerk; }
+protected:
+ /**
+ * Constructor
+ */
+ domMotion_axis_info(DAE& dae) : daeElement(dae), attrSid(), attrAxis(), attrName(), elemBind_array(), elemNewparam_array(), elemSetparam_array(), elemSpeed(), elemAcceleration(), elemDeceleration(), elemJerk() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMotion_axis_info() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMotion_axis_info &operator=( const domMotion_axis_info &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domMotion_effector_info.h b/1.4.0/dom/include/1.5/dom/domMotion_effector_info.h
new file mode 100644
index 0000000..9b1aba6
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domMotion_effector_info.h
@@ -0,0 +1,138 @@
+#ifndef __dom150Motion_effector_info_h__
+#define __dom150Motion_effector_info_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domKinematics_bind.h>
+#include <1.5/dom/domKinematics_newparam.h>
+#include <1.5/dom/domKinematics_setparam.h>
+#include <1.5/dom/domCommon_float2_or_param.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domMotion_effector_info : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MOTION_EFFECTOR_INFO; }
+ static daeInt ID() { return 455; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+ domSid attrSid;
+ xsToken attrName;
+
+protected: // Elements
+ domKinematics_bind_Array elemBind_array;
+ domKinematics_newparam_Array elemNewparam_array;
+ domKinematics_setparam_Array elemSetparam_array;
+ domCommon_float2_or_paramRef elemSpeed;
+ domCommon_float2_or_paramRef elemAcceleration;
+ domCommon_float2_or_paramRef elemDeceleration;
+ domCommon_float2_or_paramRef elemJerk;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the bind element array.
+ * @return Returns a reference to the array of bind elements.
+ */
+ domKinematics_bind_Array &getBind_array() { return elemBind_array; }
+ /**
+ * Gets the bind element array.
+ * @return Returns a constant reference to the array of bind elements.
+ */
+ const domKinematics_bind_Array &getBind_array() const { return elemBind_array; }
+ /**
+ * Gets the newparam element array.
+ * @return Returns a reference to the array of newparam elements.
+ */
+ domKinematics_newparam_Array &getNewparam_array() { return elemNewparam_array; }
+ /**
+ * Gets the newparam element array.
+ * @return Returns a constant reference to the array of newparam elements.
+ */
+ const domKinematics_newparam_Array &getNewparam_array() const { return elemNewparam_array; }
+ /**
+ * Gets the setparam element array.
+ * @return Returns a reference to the array of setparam elements.
+ */
+ domKinematics_setparam_Array &getSetparam_array() { return elemSetparam_array; }
+ /**
+ * Gets the setparam element array.
+ * @return Returns a constant reference to the array of setparam elements.
+ */
+ const domKinematics_setparam_Array &getSetparam_array() const { return elemSetparam_array; }
+ /**
+ * Gets the speed element.
+ * @return a daeSmartRef to the speed element.
+ */
+ const domCommon_float2_or_paramRef getSpeed() const { return elemSpeed; }
+ /**
+ * Gets the acceleration element.
+ * @return a daeSmartRef to the acceleration element.
+ */
+ const domCommon_float2_or_paramRef getAcceleration() const { return elemAcceleration; }
+ /**
+ * Gets the deceleration element.
+ * @return a daeSmartRef to the deceleration element.
+ */
+ const domCommon_float2_or_paramRef getDeceleration() const { return elemDeceleration; }
+ /**
+ * Gets the jerk element.
+ * @return a daeSmartRef to the jerk element.
+ */
+ const domCommon_float2_or_paramRef getJerk() const { return elemJerk; }
+protected:
+ /**
+ * Constructor
+ */
+ domMotion_effector_info(DAE& dae) : daeElement(dae), attrSid(), attrName(), elemBind_array(), elemNewparam_array(), elemSetparam_array(), elemSpeed(), elemAcceleration(), elemDeceleration(), elemJerk() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMotion_effector_info() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMotion_effector_info &operator=( const domMotion_effector_info &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domMotion_technique.h b/1.4.0/dom/include/1.5/dom/domMotion_technique.h
new file mode 100644
index 0000000..c1a8457
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domMotion_technique.h
@@ -0,0 +1,71 @@
+#ifndef __dom150Motion_technique_h__
+#define __dom150Motion_technique_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domMotion_axis_info.h>
+#include <1.5/dom/domMotion_effector_info.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domMotion_technique : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MOTION_TECHNIQUE; }
+ static daeInt ID() { return 456; }
+ virtual daeInt typeID() const { return ID(); }
+
+protected: // Elements
+ domMotion_axis_info_Array elemAxis_info_array;
+ domMotion_effector_infoRef elemEffector_info;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the axis_info element array.
+ * @return Returns a reference to the array of axis_info elements.
+ */
+ domMotion_axis_info_Array &getAxis_info_array() { return elemAxis_info_array; }
+ /**
+ * Gets the axis_info element array.
+ * @return Returns a constant reference to the array of axis_info elements.
+ */
+ const domMotion_axis_info_Array &getAxis_info_array() const { return elemAxis_info_array; }
+ /**
+ * Gets the effector_info element.
+ * @return a daeSmartRef to the effector_info element.
+ */
+ const domMotion_effector_infoRef getEffector_info() const { return elemEffector_info; }
+protected:
+ /**
+ * Constructor
+ */
+ domMotion_technique(DAE& dae) : daeElement(dae), elemAxis_info_array(), elemEffector_info() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMotion_technique() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMotion_technique &operator=( const domMotion_technique &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domName_array.h b/1.4.0/dom/include/1.5/dom/domName_array.h
new file mode 100644
index 0000000..837f84a
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domName_array.h
@@ -0,0 +1,122 @@
+#ifndef __dom150Name_array_h__
+#define __dom150Name_array_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The Name_array element declares the storage for a homogenous array of Name
+ * string values.
+ */
+class domName_array : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::NAME_ARRAY; }
+ static daeInt ID() { return 7; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+/**
+ * The count attribute indicates the number of values in the array. Required
+ * attribute.
+ */
+ domUint attrCount;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the count attribute.
+ * @return Returns a domUint of the count attribute.
+ */
+ domUint getCount() const { return attrCount; }
+ /**
+ * Sets the count attribute.
+ * @param atCount The new value for the count attribute.
+ */
+ void setCount( domUint atCount ) { attrCount = atCount; }
+
+ /**
+ * Gets the value of this element.
+ * @return a domList_of_names of the value.
+ */
+ domList_of_names& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domList_of_names& val ) { _value = val; }
+
+protected: // Value
+ /**
+ * The domList_of_names value of the text data of this element.
+ */
+ domList_of_names _value;
+protected:
+ /**
+ * Constructor
+ */
+ domName_array(DAE& dae) : daeElement(dae), attrId(), attrName(), attrCount(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domName_array() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domName_array &operator=( const domName_array &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domNode.h b/1.4.0/dom/include/1.5/dom/domNode.h
new file mode 100644
index 0000000..8bdc0de
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domNode.h
@@ -0,0 +1,374 @@
+#ifndef __dom150Node_h__
+#define __dom150Node_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domLookat.h>
+#include <1.5/dom/domMatrix.h>
+#include <1.5/dom/domRotate.h>
+#include <1.5/dom/domScale.h>
+#include <1.5/dom/domSkew.h>
+#include <1.5/dom/domTranslate.h>
+#include <1.5/dom/domInstance_camera.h>
+#include <1.5/dom/domInstance_controller.h>
+#include <1.5/dom/domInstance_geometry.h>
+#include <1.5/dom/domInstance_light.h>
+#include <1.5/dom/domInstance_node.h>
+#include <1.5/dom/domNode.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * Nodes embody the hierarchical relationship of elements in the scene.
+ */
+class domNode : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::NODE; }
+ static daeInt ID() { return 386; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ domSid attrSid;
+/**
+ * The type attribute indicates the type of the node element. The default
+ * value is "NODE". Optional attribute.
+ */
+ domNode_enum attrType;
+/**
+ * The layer attribute indicates the names of the layers to which this node
+ * belongs. For example, a value of "foreground glowing" indicates that
+ * this node belongs to both the 'foreground' layer and the 'glowing' layer.
+ * The default value is empty, indicating that the node doesn't belong to
+ * any layer. Optional attribute.
+ */
+ domList_of_names attrLayer;
+
+protected: // Elements
+/**
+ * The node element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * The node element may contain any number of lookat elements. @see domLookat
+ */
+ domLookat_Array elemLookat_array;
+/**
+ * The node element may contain any number of matrix elements. @see domMatrix
+ */
+ domMatrix_Array elemMatrix_array;
+/**
+ * The node element may contain any number of rotate elements. @see domRotate
+ */
+ domRotate_Array elemRotate_array;
+/**
+ * The node element may contain any number of scale elements. @see domScale
+ */
+ domScale_Array elemScale_array;
+/**
+ * The node element may contain any number of skew elements. @see domSkew
+ */
+ domSkew_Array elemSkew_array;
+/**
+ * The node element may contain any number of translate elements. @see domTranslate
+ */
+ domTranslate_Array elemTranslate_array;
+/**
+ * The node element may instance any number of camera objects. @see domInstance_camera
+ */
+ domInstance_camera_Array elemInstance_camera_array;
+/**
+ * The node element may instance any number of controller objects. @see domInstance_controller
+ */
+ domInstance_controller_Array elemInstance_controller_array;
+/**
+ * The node element may instance any number of geometry objects. @see domInstance_geometry
+ */
+ domInstance_geometry_Array elemInstance_geometry_array;
+/**
+ * The node element may instance any number of light objects. @see domInstance_light
+ */
+ domInstance_light_Array elemInstance_light_array;
+/**
+ * The node element may instance any number of node elements or hierarchies
+ * objects. @see domInstance_node
+ */
+ domInstance_node_Array elemInstance_node_array;
+/**
+ * The node element may be hierarchical and be the parent of any number of
+ * other node elements. @see domNode
+ */
+ domNode_Array elemNode_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the type attribute.
+ * @return Returns a domNode_enum of the type attribute.
+ */
+ domNode_enum getType() const { return attrType; }
+ /**
+ * Sets the type attribute.
+ * @param atType The new value for the type attribute.
+ */
+ void setType( domNode_enum atType ) { attrType = atType; }
+
+ /**
+ * Gets the layer attribute.
+ * @return Returns a domList_of_names of the layer attribute.
+ */
+ domList_of_names getLayer() const { return attrLayer; }
+ /**
+ * Sets the layer attribute.
+ * @param atLayer The new value for the layer attribute.
+ */
+ void setLayer( domList_of_names atLayer ) { attrLayer = atLayer; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the lookat element array.
+ * @return Returns a reference to the array of lookat elements.
+ */
+ domLookat_Array &getLookat_array() { return elemLookat_array; }
+ /**
+ * Gets the lookat element array.
+ * @return Returns a constant reference to the array of lookat elements.
+ */
+ const domLookat_Array &getLookat_array() const { return elemLookat_array; }
+ /**
+ * Gets the matrix element array.
+ * @return Returns a reference to the array of matrix elements.
+ */
+ domMatrix_Array &getMatrix_array() { return elemMatrix_array; }
+ /**
+ * Gets the matrix element array.
+ * @return Returns a constant reference to the array of matrix elements.
+ */
+ const domMatrix_Array &getMatrix_array() const { return elemMatrix_array; }
+ /**
+ * Gets the rotate element array.
+ * @return Returns a reference to the array of rotate elements.
+ */
+ domRotate_Array &getRotate_array() { return elemRotate_array; }
+ /**
+ * Gets the rotate element array.
+ * @return Returns a constant reference to the array of rotate elements.
+ */
+ const domRotate_Array &getRotate_array() const { return elemRotate_array; }
+ /**
+ * Gets the scale element array.
+ * @return Returns a reference to the array of scale elements.
+ */
+ domScale_Array &getScale_array() { return elemScale_array; }
+ /**
+ * Gets the scale element array.
+ * @return Returns a constant reference to the array of scale elements.
+ */
+ const domScale_Array &getScale_array() const { return elemScale_array; }
+ /**
+ * Gets the skew element array.
+ * @return Returns a reference to the array of skew elements.
+ */
+ domSkew_Array &getSkew_array() { return elemSkew_array; }
+ /**
+ * Gets the skew element array.
+ * @return Returns a constant reference to the array of skew elements.
+ */
+ const domSkew_Array &getSkew_array() const { return elemSkew_array; }
+ /**
+ * Gets the translate element array.
+ * @return Returns a reference to the array of translate elements.
+ */
+ domTranslate_Array &getTranslate_array() { return elemTranslate_array; }
+ /**
+ * Gets the translate element array.
+ * @return Returns a constant reference to the array of translate elements.
+ */
+ const domTranslate_Array &getTranslate_array() const { return elemTranslate_array; }
+ /**
+ * Gets the instance_camera element array.
+ * @return Returns a reference to the array of instance_camera elements.
+ */
+ domInstance_camera_Array &getInstance_camera_array() { return elemInstance_camera_array; }
+ /**
+ * Gets the instance_camera element array.
+ * @return Returns a constant reference to the array of instance_camera elements.
+ */
+ const domInstance_camera_Array &getInstance_camera_array() const { return elemInstance_camera_array; }
+ /**
+ * Gets the instance_controller element array.
+ * @return Returns a reference to the array of instance_controller elements.
+ */
+ domInstance_controller_Array &getInstance_controller_array() { return elemInstance_controller_array; }
+ /**
+ * Gets the instance_controller element array.
+ * @return Returns a constant reference to the array of instance_controller elements.
+ */
+ const domInstance_controller_Array &getInstance_controller_array() const { return elemInstance_controller_array; }
+ /**
+ * Gets the instance_geometry element array.
+ * @return Returns a reference to the array of instance_geometry elements.
+ */
+ domInstance_geometry_Array &getInstance_geometry_array() { return elemInstance_geometry_array; }
+ /**
+ * Gets the instance_geometry element array.
+ * @return Returns a constant reference to the array of instance_geometry elements.
+ */
+ const domInstance_geometry_Array &getInstance_geometry_array() const { return elemInstance_geometry_array; }
+ /**
+ * Gets the instance_light element array.
+ * @return Returns a reference to the array of instance_light elements.
+ */
+ domInstance_light_Array &getInstance_light_array() { return elemInstance_light_array; }
+ /**
+ * Gets the instance_light element array.
+ * @return Returns a constant reference to the array of instance_light elements.
+ */
+ const domInstance_light_Array &getInstance_light_array() const { return elemInstance_light_array; }
+ /**
+ * Gets the instance_node element array.
+ * @return Returns a reference to the array of instance_node elements.
+ */
+ domInstance_node_Array &getInstance_node_array() { return elemInstance_node_array; }
+ /**
+ * Gets the instance_node element array.
+ * @return Returns a constant reference to the array of instance_node elements.
+ */
+ const domInstance_node_Array &getInstance_node_array() const { return elemInstance_node_array; }
+ /**
+ * Gets the node element array.
+ * @return Returns a reference to the array of node elements.
+ */
+ domNode_Array &getNode_array() { return elemNode_array; }
+ /**
+ * Gets the node element array.
+ * @return Returns a constant reference to the array of node elements.
+ */
+ const domNode_Array &getNode_array() const { return elemNode_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domNode(DAE& dae) : daeElement(dae), attrId(), attrName(), attrSid(), attrType(), attrLayer(), elemAsset(), elemLookat_array(), elemMatrix_array(), elemRotate_array(), elemScale_array(), elemSkew_array(), elemTranslate_array(), elemInstance_camera_array(), elemInstance_controller_array(), elemInstance_geometry_array(), elemInstance_light_array(), elemInstance_node_array(), elemNode_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domNode() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domNode &operator=( const domNode &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domNurbs.h b/1.4.0/dom/include/1.5/dom/domNurbs.h
new file mode 100644
index 0000000..a244346
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domNurbs.h
@@ -0,0 +1,190 @@
+#ifndef __dom150Nurbs_h__
+#define __dom150Nurbs_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domSource.h>
+#include <1.5/dom/domInput_local.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domNurbs : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::NURBS; }
+ static daeInt ID() { return 341; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domControl_vertices;
+
+ typedef daeSmartRef<domControl_vertices> domControl_verticesRef;
+ typedef daeTArray<domControl_verticesRef> domControl_vertices_Array;
+
+/**
+ * The control vertices element must occur exactly one time. It is used
+ * to describe the CVs of the spline.
+ */
+ class domControl_vertices : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CONTROL_VERTICES; }
+ static daeInt ID() { return 342; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Elements
+/**
+ * The input element must occur at least one time. These inputs are local
+ * inputs. @see domInput
+ */
+ domInput_local_Array elemInput_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the input element array.
+ * @return Returns a reference to the array of input elements.
+ */
+ domInput_local_Array &getInput_array() { return elemInput_array; }
+ /**
+ * Gets the input element array.
+ * @return Returns a constant reference to the array of input elements.
+ */
+ const domInput_local_Array &getInput_array() const { return elemInput_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ protected:
+ /**
+ * Constructor
+ */
+ domControl_vertices(DAE& dae) : daeElement(dae), elemInput_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domControl_vertices() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domControl_vertices &operator=( const domControl_vertices &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+ domUint attrDegree;
+ xsBoolean attrClosed;
+
+protected: // Elements
+ domSource_Array elemSource_array;
+/**
+ * The control vertices element must occur exactly one time. It is used
+ * to describe the CVs of the spline. @see domControl_vertices
+ */
+ domControl_verticesRef elemControl_vertices;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the degree attribute.
+ * @return Returns a domUint of the degree attribute.
+ */
+ domUint getDegree() const { return attrDegree; }
+ /**
+ * Sets the degree attribute.
+ * @param atDegree The new value for the degree attribute.
+ */
+ void setDegree( domUint atDegree ) { attrDegree = atDegree; }
+
+ /**
+ * Gets the closed attribute.
+ * @return Returns a xsBoolean of the closed attribute.
+ */
+ xsBoolean getClosed() const { return attrClosed; }
+ /**
+ * Sets the closed attribute.
+ * @param atClosed The new value for the closed attribute.
+ */
+ void setClosed( xsBoolean atClosed ) { attrClosed = atClosed; }
+
+ /**
+ * Gets the source element array.
+ * @return Returns a reference to the array of source elements.
+ */
+ domSource_Array &getSource_array() { return elemSource_array; }
+ /**
+ * Gets the source element array.
+ * @return Returns a constant reference to the array of source elements.
+ */
+ const domSource_Array &getSource_array() const { return elemSource_array; }
+ /**
+ * Gets the control_vertices element.
+ * @return a daeSmartRef to the control_vertices element.
+ */
+ const domControl_verticesRef getControl_vertices() const { return elemControl_vertices; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domNurbs(DAE& dae) : daeElement(dae), attrDegree(), attrClosed(), elemSource_array(), elemControl_vertices(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domNurbs() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domNurbs &operator=( const domNurbs &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domNurbs_surface.h b/1.4.0/dom/include/1.5/dom/domNurbs_surface.h
new file mode 100644
index 0000000..d273339
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domNurbs_surface.h
@@ -0,0 +1,214 @@
+#ifndef __dom150Nurbs_surface_h__
+#define __dom150Nurbs_surface_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domSource.h>
+#include <1.5/dom/domInput_local.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domNurbs_surface : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::NURBS_SURFACE; }
+ static daeInt ID() { return 339; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domControl_vertices;
+
+ typedef daeSmartRef<domControl_vertices> domControl_verticesRef;
+ typedef daeTArray<domControl_verticesRef> domControl_vertices_Array;
+
+/**
+ * The control vertices element must occur exactly one time. It is used to
+ * describe the CVs of the spline.
+ */
+ class domControl_vertices : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CONTROL_VERTICES; }
+ static daeInt ID() { return 340; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Elements
+/**
+ * The input element must occur at least one time. These inputs are local
+ * inputs. @see domInput
+ */
+ domInput_local_Array elemInput_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the input element array.
+ * @return Returns a reference to the array of input elements.
+ */
+ domInput_local_Array &getInput_array() { return elemInput_array; }
+ /**
+ * Gets the input element array.
+ * @return Returns a constant reference to the array of input elements.
+ */
+ const domInput_local_Array &getInput_array() const { return elemInput_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ protected:
+ /**
+ * Constructor
+ */
+ domControl_vertices(DAE& dae) : daeElement(dae), elemInput_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domControl_vertices() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domControl_vertices &operator=( const domControl_vertices &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+ domUint attrDegree_u;
+ xsBoolean attrClosed_u;
+ domUint attrDegree_v;
+ xsBoolean attrClosed_v;
+
+protected: // Elements
+ domSource_Array elemSource_array;
+/**
+ * The control vertices element must occur exactly one time. It is used to
+ * describe the CVs of the spline. @see domControl_vertices
+ */
+ domControl_verticesRef elemControl_vertices;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the degree_u attribute.
+ * @return Returns a domUint of the degree_u attribute.
+ */
+ domUint getDegree_u() const { return attrDegree_u; }
+ /**
+ * Sets the degree_u attribute.
+ * @param atDegree_u The new value for the degree_u attribute.
+ */
+ void setDegree_u( domUint atDegree_u ) { attrDegree_u = atDegree_u; }
+
+ /**
+ * Gets the closed_u attribute.
+ * @return Returns a xsBoolean of the closed_u attribute.
+ */
+ xsBoolean getClosed_u() const { return attrClosed_u; }
+ /**
+ * Sets the closed_u attribute.
+ * @param atClosed_u The new value for the closed_u attribute.
+ */
+ void setClosed_u( xsBoolean atClosed_u ) { attrClosed_u = atClosed_u; }
+
+ /**
+ * Gets the degree_v attribute.
+ * @return Returns a domUint of the degree_v attribute.
+ */
+ domUint getDegree_v() const { return attrDegree_v; }
+ /**
+ * Sets the degree_v attribute.
+ * @param atDegree_v The new value for the degree_v attribute.
+ */
+ void setDegree_v( domUint atDegree_v ) { attrDegree_v = atDegree_v; }
+
+ /**
+ * Gets the closed_v attribute.
+ * @return Returns a xsBoolean of the closed_v attribute.
+ */
+ xsBoolean getClosed_v() const { return attrClosed_v; }
+ /**
+ * Sets the closed_v attribute.
+ * @param atClosed_v The new value for the closed_v attribute.
+ */
+ void setClosed_v( xsBoolean atClosed_v ) { attrClosed_v = atClosed_v; }
+
+ /**
+ * Gets the source element array.
+ * @return Returns a reference to the array of source elements.
+ */
+ domSource_Array &getSource_array() { return elemSource_array; }
+ /**
+ * Gets the source element array.
+ * @return Returns a constant reference to the array of source elements.
+ */
+ const domSource_Array &getSource_array() const { return elemSource_array; }
+ /**
+ * Gets the control_vertices element.
+ * @return a daeSmartRef to the control_vertices element.
+ */
+ const domControl_verticesRef getControl_vertices() const { return elemControl_vertices; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domNurbs_surface(DAE& dae) : daeElement(dae), attrDegree_u(), attrClosed_u(), attrDegree_v(), attrClosed_v(), elemSource_array(), elemControl_vertices(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domNurbs_surface() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domNurbs_surface &operator=( const domNurbs_surface &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domOrient.h b/1.4.0/dom/include/1.5/dom/domOrient.h
new file mode 100644
index 0000000..4cc80a4
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domOrient.h
@@ -0,0 +1,67 @@
+#ifndef __dom150Orient_h__
+#define __dom150Orient_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domOrient : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ORIENT; }
+ static daeInt ID() { return 348; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFloat4 of the value.
+ */
+ domFloat4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFloat4& val ) { _value = val; }
+
+protected: // Value
+ /**
+ * The domFloat4 value of the text data of this element.
+ */
+ domFloat4 _value;
+protected:
+ /**
+ * Constructor
+ */
+ domOrient(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domOrient() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domOrient &operator=( const domOrient &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domOrigin.h b/1.4.0/dom/include/1.5/dom/domOrigin.h
new file mode 100644
index 0000000..367ca0d
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domOrigin.h
@@ -0,0 +1,67 @@
+#ifndef __dom150Origin_h__
+#define __dom150Origin_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domOrigin : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ORIGIN; }
+ static daeInt ID() { return 347; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFloat3 of the value.
+ */
+ domFloat3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFloat3& val ) { _value = val; }
+
+protected: // Value
+ /**
+ * The domFloat3 value of the text data of this element.
+ */
+ domFloat3 _value;
+protected:
+ /**
+ * Constructor
+ */
+ domOrigin(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domOrigin() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domOrigin &operator=( const domOrigin &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domP.h b/1.4.0/dom/include/1.5/dom/domP.h
new file mode 100644
index 0000000..32a8b8f
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domP.h
@@ -0,0 +1,73 @@
+#ifndef __dom150P_h__
+#define __dom150P_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The p element represents primitive data for the primitive types (lines,
+ * linestrips, polygons, polylist, triangles, trifans, tristrips). The p
+ * element contains indices that reference into the parent's source elements
+ * referenced by the input elements.
+ */
+class domP : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::P; }
+ static daeInt ID() { return 13; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domList_of_uints of the value.
+ */
+ domList_of_uints& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domList_of_uints& val ) { _value = val; }
+
+protected: // Value
+ /**
+ * The domList_of_uints value of the text data of this element.
+ */
+ domList_of_uints _value;
+protected:
+ /**
+ * Constructor
+ */
+ domP(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domP() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domP &operator=( const domP &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domParabola.h b/1.4.0/dom/include/1.5/dom/domParabola.h
new file mode 100644
index 0000000..82107c9
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domParabola.h
@@ -0,0 +1,153 @@
+#ifndef __dom150Parabola_h__
+#define __dom150Parabola_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * Describes a parabola in 3D space. A parabola is defined by its focal
+ * length (i.e. the distance between its focus and its apex) and is positioned
+ * in space with a coordinate system where: - the origin is the apex
+ * of the parabola, - the "X Axis" defines the axis of symmetry; the parabola
+ * is on the positive side of this axis, - the origin, "X Direction"
+ * and "Y Direction" define the plane of the parabola. This coordinate
+ * system is the local coordinate system of the parabola. The "main
+ * Direction" of this coordinate system is a vector normal to the plane
+ * of the parabola. The axis, of which the origin and unit vector are
+ * respectively the origin and "main Direction" of the local coordinate
+ * system, is termed the "Axis" or "main Axis" of the parabola. The "main
+ * Direction" of the local coordinate system gives an explicit orientation
+ * to the parabola, determining the direction in which the parameter increases
+ * along the parabola. The Geom_Parabola parabola is parameterized as
+ * follows: P(U) = O + U*U/(4.*F)*XDir + U*YDir where: - P is the point
+ * of parameter U, - O, XDir and YDir are respectively the origin, "X
+ * <br> Direction" and "Y Direction" of its local coordinate system,
+ * - F is the focal length of the parabola. The parameter of the parabola
+ * is therefore its Y coordinate in the local coordinate system, with
+ * the "X <br> Axis" of the local coordinate system defining the origin
+ * of the parameter. The parameter range is ] -infinite, +infinite [.
+ */
+class domParabola : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PARABOLA; }
+ static daeInt ID() { return 316; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domFocal;
+
+ typedef daeSmartRef<domFocal> domFocalRef;
+ typedef daeTArray<domFocalRef> domFocal_Array;
+
+ class domFocal : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FOCAL; }
+ static daeInt ID() { return 317; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFloat of the value.
+ */
+ domFloat& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFloat& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFloat value of the text data of this element.
+ */
+ domFloat _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domFocal(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domFocal() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domFocal &operator=( const domFocal &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+ domFocalRef elemFocal;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the focal element.
+ * @return a daeSmartRef to the focal element.
+ */
+ const domFocalRef getFocal() const { return elemFocal; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domParabola(DAE& dae) : daeElement(dae), elemFocal(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domParabola() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domParabola &operator=( const domParabola &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domParam.h b/1.4.0/dom/include/1.5/dom/domParam.h
new file mode 100644
index 0000000..6811f9d
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domParam.h
@@ -0,0 +1,136 @@
+#ifndef __dom150Param_h__
+#define __dom150Param_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The param element declares parametric information regarding its parent
+ * element.
+ */
+class domParam : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PARAM; }
+ static daeInt ID() { return 11; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ domSid attrSid;
+/**
+ * The semantic attribute is the user-defined meaning of the parameter. Optional
+ * attribute.
+ */
+ xsNMTOKEN attrSemantic;
+/**
+ * The type attribute indicates the type of the value data. This text string
+ * must be understood by the application. Required attribute.
+ */
+ xsNMTOKEN attrType;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the semantic attribute.
+ * @return Returns a xsNMTOKEN of the semantic attribute.
+ */
+ xsNMTOKEN getSemantic() const { return attrSemantic; }
+ /**
+ * Sets the semantic attribute.
+ * @param atSemantic The new value for the semantic attribute.
+ */
+ void setSemantic( xsNMTOKEN atSemantic ) { *(daeStringRef*)&attrSemantic = atSemantic;}
+
+ /**
+ * Gets the type attribute.
+ * @return Returns a xsNMTOKEN of the type attribute.
+ */
+ xsNMTOKEN getType() const { return attrType; }
+ /**
+ * Sets the type attribute.
+ * @param atType The new value for the type attribute.
+ */
+ void setType( xsNMTOKEN atType ) { *(daeStringRef*)&attrType = atType;}
+
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsString of the value.
+ */
+ xsString getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsString val ) { *(daeStringRef*)&_value = val; }
+
+protected: // Value
+ /**
+ * The xsString value of the text data of this element.
+ */
+ xsString _value;
+protected:
+ /**
+ * Constructor
+ */
+ domParam(DAE& dae) : daeElement(dae), attrName(), attrSid(), attrSemantic(), attrType(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domParam() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domParam &operator=( const domParam &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domPcurves.h b/1.4.0/dom/include/1.5/dom/domPcurves.h
new file mode 100644
index 0000000..a67d6c1
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domPcurves.h
@@ -0,0 +1,192 @@
+#ifndef __dom150Pcurves_h__
+#define __dom150Pcurves_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domInput_local_offset.h>
+#include <1.5/dom/domP.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domPcurves : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PCURVES; }
+ static daeInt ID() { return 322; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domVcount;
+
+ typedef daeSmartRef<domVcount> domVcountRef;
+ typedef daeTArray<domVcountRef> domVcount_Array;
+
+ class domVcount : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::VCOUNT; }
+ static daeInt ID() { return 323; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domList_of_uints of the value.
+ */
+ domList_of_uints& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domList_of_uints& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domList_of_uints value of the text data of this element.
+ */
+ domList_of_uints _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domVcount(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domVcount() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domVcount &operator=( const domVcount &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+ xsID attrId;
+ xsToken attrName;
+ domUint attrCount;
+
+protected: // Elements
+/**
+ * The first two inputs are needed to reference the edge-face-connection.
+ * The third input references the pcurve. @see domInput
+ */
+ domInput_local_offset_Array elemInput_array;
+ domVcountRef elemVcount;
+ domPRef elemP;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the count attribute.
+ * @return Returns a domUint of the count attribute.
+ */
+ domUint getCount() const { return attrCount; }
+ /**
+ * Sets the count attribute.
+ * @param atCount The new value for the count attribute.
+ */
+ void setCount( domUint atCount ) { attrCount = atCount; }
+
+ /**
+ * Gets the input element array.
+ * @return Returns a reference to the array of input elements.
+ */
+ domInput_local_offset_Array &getInput_array() { return elemInput_array; }
+ /**
+ * Gets the input element array.
+ * @return Returns a constant reference to the array of input elements.
+ */
+ const domInput_local_offset_Array &getInput_array() const { return elemInput_array; }
+ /**
+ * Gets the vcount element.
+ * @return a daeSmartRef to the vcount element.
+ */
+ const domVcountRef getVcount() const { return elemVcount; }
+ /**
+ * Gets the p element.
+ * @return a daeSmartRef to the p element.
+ */
+ const domPRef getP() const { return elemP; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domPcurves(DAE& dae) : daeElement(dae), attrId(), attrName(), attrCount(), elemInput_array(), elemVcount(), elemP(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPcurves() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPcurves &operator=( const domPcurves &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domPhysics_material.h b/1.4.0/dom/include/1.5/dom/domPhysics_material.h
new file mode 100644
index 0000000..5ebe99e
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domPhysics_material.h
@@ -0,0 +1,222 @@
+#ifndef __dom150Physics_material_h__
+#define __dom150Physics_material_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domTargetable_float.h>
+#include <1.5/dom/domTechnique.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * This element defines the physical properties of an object. It contains
+ * a technique/profile with parameters. The COMMON profile defines the built-in
+ * names, such as static_friction.
+ */
+class domPhysics_material : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PHYSICS_MATERIAL; }
+ static daeInt ID() { return 297; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domTechnique_common;
+
+ typedef daeSmartRef<domTechnique_common> domTechnique_commonRef;
+ typedef daeTArray<domTechnique_commonRef> domTechnique_common_Array;
+
+/**
+ * The technique_common element specifies the physics_material information
+ * for the common profile which all COLLADA implementations need to support.
+ */
+ class domTechnique_common : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TECHNIQUE_COMMON; }
+ static daeInt ID() { return 298; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Elements
+/**
+ * Dynamic friction coefficient @see domDynamic_friction
+ */
+ domTargetable_floatRef elemDynamic_friction;
+/**
+ * The proportion of the kinetic energy preserved in the impact (typically
+ * ranges from 0.0 to 1.0) @see domRestitution
+ */
+ domTargetable_floatRef elemRestitution;
+/**
+ * Static friction coefficient @see domStatic_friction
+ */
+ domTargetable_floatRef elemStatic_friction;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the dynamic_friction element.
+ * @return a daeSmartRef to the dynamic_friction element.
+ */
+ const domTargetable_floatRef getDynamic_friction() const { return elemDynamic_friction; }
+ /**
+ * Gets the restitution element.
+ * @return a daeSmartRef to the restitution element.
+ */
+ const domTargetable_floatRef getRestitution() const { return elemRestitution; }
+ /**
+ * Gets the static_friction element.
+ * @return a daeSmartRef to the static_friction element.
+ */
+ const domTargetable_floatRef getStatic_friction() const { return elemStatic_friction; }
+ protected:
+ /**
+ * Constructor
+ */
+ domTechnique_common(DAE& dae) : daeElement(dae), elemDynamic_friction(), elemRestitution(), elemStatic_friction() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTechnique_common() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTechnique_common &operator=( const domTechnique_common &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+
+protected: // Elements
+/**
+ * The physics_material element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * The technique_common element specifies the physics_material information
+ * for the common profile which all COLLADA implementations need to support.
+ * @see domTechnique_common
+ */
+ domTechnique_commonRef elemTechnique_common;
+/**
+ * This element may contain any number of non-common profile techniques. @see
+ * domTechnique
+ */
+ domTechnique_Array elemTechnique_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the technique_common element.
+ * @return a daeSmartRef to the technique_common element.
+ */
+ const domTechnique_commonRef getTechnique_common() const { return elemTechnique_common; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a reference to the array of technique elements.
+ */
+ domTechnique_Array &getTechnique_array() { return elemTechnique_array; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a constant reference to the array of technique elements.
+ */
+ const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domPhysics_material(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemTechnique_common(), elemTechnique_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPhysics_material() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPhysics_material &operator=( const domPhysics_material &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domPhysics_model.h b/1.4.0/dom/include/1.5/dom/domPhysics_model.h
new file mode 100644
index 0000000..e79fd3d
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domPhysics_model.h
@@ -0,0 +1,163 @@
+#ifndef __dom150Physics_model_h__
+#define __dom150Physics_model_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domRigid_body.h>
+#include <1.5/dom/domRigid_constraint.h>
+#include <1.5/dom/domInstance_physics_model.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * This element allows for building complex combinations of rigid-bodies and
+ * constraints that may be instantiated multiple times.
+ */
+class domPhysics_model : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PHYSICS_MODEL; }
+ static daeInt ID() { return 411; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+
+protected: // Elements
+/**
+ * The physics_model element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * The physics_model may define any number of rigid_body elements. @see domRigid_body
+ */
+ domRigid_body_Array elemRigid_body_array;
+/**
+ * The physics_model may define any number of rigid_constraint elements. @see
+ * domRigid_constraint
+ */
+ domRigid_constraint_Array elemRigid_constraint_array;
+/**
+ * The physics_model may instance any number of other physics_model elements.
+ * @see domInstance_physics_model
+ */
+ domInstance_physics_model_Array elemInstance_physics_model_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the rigid_body element array.
+ * @return Returns a reference to the array of rigid_body elements.
+ */
+ domRigid_body_Array &getRigid_body_array() { return elemRigid_body_array; }
+ /**
+ * Gets the rigid_body element array.
+ * @return Returns a constant reference to the array of rigid_body elements.
+ */
+ const domRigid_body_Array &getRigid_body_array() const { return elemRigid_body_array; }
+ /**
+ * Gets the rigid_constraint element array.
+ * @return Returns a reference to the array of rigid_constraint elements.
+ */
+ domRigid_constraint_Array &getRigid_constraint_array() { return elemRigid_constraint_array; }
+ /**
+ * Gets the rigid_constraint element array.
+ * @return Returns a constant reference to the array of rigid_constraint elements.
+ */
+ const domRigid_constraint_Array &getRigid_constraint_array() const { return elemRigid_constraint_array; }
+ /**
+ * Gets the instance_physics_model element array.
+ * @return Returns a reference to the array of instance_physics_model elements.
+ */
+ domInstance_physics_model_Array &getInstance_physics_model_array() { return elemInstance_physics_model_array; }
+ /**
+ * Gets the instance_physics_model element array.
+ * @return Returns a constant reference to the array of instance_physics_model elements.
+ */
+ const domInstance_physics_model_Array &getInstance_physics_model_array() const { return elemInstance_physics_model_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domPhysics_model(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemRigid_body_array(), elemRigid_constraint_array(), elemInstance_physics_model_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPhysics_model() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPhysics_model &operator=( const domPhysics_model &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domPhysics_scene.h b/1.4.0/dom/include/1.5/dom/domPhysics_scene.h
new file mode 100644
index 0000000..e9d59bf
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domPhysics_scene.h
@@ -0,0 +1,238 @@
+#ifndef __dom150Physics_scene_h__
+#define __dom150Physics_scene_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domInstance_force_field.h>
+#include <1.5/dom/domInstance_physics_model.h>
+#include <1.5/dom/domTargetable_float3.h>
+#include <1.5/dom/domTargetable_float.h>
+#include <1.5/dom/domTechnique.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domPhysics_scene : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PHYSICS_SCENE; }
+ static daeInt ID() { return 413; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domTechnique_common;
+
+ typedef daeSmartRef<domTechnique_common> domTechnique_commonRef;
+ typedef daeTArray<domTechnique_commonRef> domTechnique_common_Array;
+
+/**
+ * The technique_common element specifies the physics_scene information for
+ * the common profile which all COLLADA implementations need to support.
+ */
+ class domTechnique_common : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TECHNIQUE_COMMON; }
+ static daeInt ID() { return 414; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Elements
+/**
+ * The gravity vector to use for the physics_scene. @see domGravity
+ */
+ domTargetable_float3Ref elemGravity;
+/**
+ * The time_step for the physics_scene. @see domTime_step
+ */
+ domTargetable_floatRef elemTime_step;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the gravity element.
+ * @return a daeSmartRef to the gravity element.
+ */
+ const domTargetable_float3Ref getGravity() const { return elemGravity; }
+ /**
+ * Gets the time_step element.
+ * @return a daeSmartRef to the time_step element.
+ */
+ const domTargetable_floatRef getTime_step() const { return elemTime_step; }
+ protected:
+ /**
+ * Constructor
+ */
+ domTechnique_common(DAE& dae) : daeElement(dae), elemGravity(), elemTime_step() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTechnique_common() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTechnique_common &operator=( const domTechnique_common &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+
+protected: // Elements
+/**
+ * The physics_scene element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * There may be any number of instance_force_field elements. @see domInstance_force_field
+ */
+ domInstance_force_field_Array elemInstance_force_field_array;
+/**
+ * There may be any number of instance_physics_model elements. @see domInstance_physics_model
+ */
+ domInstance_physics_model_Array elemInstance_physics_model_array;
+/**
+ * The technique_common element specifies the physics_scene information for
+ * the common profile which all COLLADA implementations need to support.
+ * @see domTechnique_common
+ */
+ domTechnique_commonRef elemTechnique_common;
+/**
+ * This element may contain any number of non-common profile techniques. @see
+ * domTechnique
+ */
+ domTechnique_Array elemTechnique_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the instance_force_field element array.
+ * @return Returns a reference to the array of instance_force_field elements.
+ */
+ domInstance_force_field_Array &getInstance_force_field_array() { return elemInstance_force_field_array; }
+ /**
+ * Gets the instance_force_field element array.
+ * @return Returns a constant reference to the array of instance_force_field elements.
+ */
+ const domInstance_force_field_Array &getInstance_force_field_array() const { return elemInstance_force_field_array; }
+ /**
+ * Gets the instance_physics_model element array.
+ * @return Returns a reference to the array of instance_physics_model elements.
+ */
+ domInstance_physics_model_Array &getInstance_physics_model_array() { return elemInstance_physics_model_array; }
+ /**
+ * Gets the instance_physics_model element array.
+ * @return Returns a constant reference to the array of instance_physics_model elements.
+ */
+ const domInstance_physics_model_Array &getInstance_physics_model_array() const { return elemInstance_physics_model_array; }
+ /**
+ * Gets the technique_common element.
+ * @return a daeSmartRef to the technique_common element.
+ */
+ const domTechnique_commonRef getTechnique_common() const { return elemTechnique_common; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a reference to the array of technique elements.
+ */
+ domTechnique_Array &getTechnique_array() { return elemTechnique_array; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a constant reference to the array of technique elements.
+ */
+ const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domPhysics_scene(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemInstance_force_field_array(), elemInstance_physics_model_array(), elemTechnique_common(), elemTechnique_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPhysics_scene() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPhysics_scene &operator=( const domPhysics_scene &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domPlane.h b/1.4.0/dom/include/1.5/dom/domPlane.h
new file mode 100644
index 0000000..f896eda
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domPlane.h
@@ -0,0 +1,144 @@
+#ifndef __dom150Plane_h__
+#define __dom150Plane_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * An infinite plane primitive.
+ */
+class domPlane : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PLANE; }
+ static daeInt ID() { return 283; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domEquation;
+
+ typedef daeSmartRef<domEquation> domEquationRef;
+ typedef daeTArray<domEquationRef> domEquation_Array;
+
+/**
+ * 4 float values that represent the coefficients for the plane's equation:
+ * Ax + By + Cz + D = 0
+ */
+ class domEquation : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::EQUATION; }
+ static daeInt ID() { return 284; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFloat4 of the value.
+ */
+ domFloat4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFloat4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFloat4 value of the text data of this element.
+ */
+ domFloat4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domEquation(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domEquation() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domEquation &operator=( const domEquation &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+/**
+ * 4 float values that represent the coefficients for the plane's equation:
+ * Ax + By + Cz + D = 0 @see domEquation
+ */
+ domEquationRef elemEquation;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the equation element.
+ * @return a daeSmartRef to the equation element.
+ */
+ const domEquationRef getEquation() const { return elemEquation; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domPlane(DAE& dae) : daeElement(dae), elemEquation(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPlane() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPlane &operator=( const domPlane &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domPolygons.h b/1.4.0/dom/include/1.5/dom/domPolygons.h
new file mode 100644
index 0000000..1cc91f3
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domPolygons.h
@@ -0,0 +1,331 @@
+#ifndef __dom150Polygons_h__
+#define __dom150Polygons_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domInput_local_offset.h>
+#include <1.5/dom/domP.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The polygons element provides the information needed to bind vertex attributes
+ * together and then organize those vertices into individual polygons. The
+ * polygons described can contain arbitrary numbers of vertices. These polygons
+ * may be self intersecting and may also contain holes.
+ */
+class domPolygons : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POLYGONS; }
+ static daeInt ID() { return 29; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domPh;
+
+ typedef daeSmartRef<domPh> domPhRef;
+ typedef daeTArray<domPhRef> domPh_Array;
+
+/**
+ * The ph element may occur any number of times. It describes a polygon with
+ * holes.
+ */
+ class domPh : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PH; }
+ static daeInt ID() { return 30; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domH;
+
+ typedef daeSmartRef<domH> domHRef;
+ typedef daeTArray<domHRef> domH_Array;
+
+/**
+ * The h element represents a hole in the polygon specified. There must be
+ * at least one h element.
+ */
+ class domH : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::H; }
+ static daeInt ID() { return 31; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domList_of_uints of the value.
+ */
+ domList_of_uints& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domList_of_uints& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domList_of_uints value of the text data of this element.
+ */
+ domList_of_uints _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domH(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domH() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domH &operator=( const domH &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+/**
+ * There may only be one p element. @see domP
+ */
+ domPRef elemP;
+/**
+ * The h element represents a hole in the polygon specified. There must be
+ * at least one h element. @see domH
+ */
+ domH_Array elemH_array;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the p element.
+ * @return a daeSmartRef to the p element.
+ */
+ const domPRef getP() const { return elemP; }
+ /**
+ * Gets the h element array.
+ * @return Returns a reference to the array of h elements.
+ */
+ domH_Array &getH_array() { return elemH_array; }
+ /**
+ * Gets the h element array.
+ * @return Returns a constant reference to the array of h elements.
+ */
+ const domH_Array &getH_array() const { return elemH_array; }
+ protected:
+ /**
+ * Constructor
+ */
+ domPh(DAE& dae) : daeElement(dae), elemP(), elemH_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPh() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPh &operator=( const domPh &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+/**
+ * The count attribute indicates the number of polygon primitives. Required
+ * attribute.
+ */
+ domUint attrCount;
+/**
+ * The material attribute declares a symbol for a material. This symbol is
+ * bound to a material at the time of instantiation. If the material attribute
+ * is not specified then the lighting and shading results are application
+ * defined. Optional attribute.
+ */
+ xsNCName attrMaterial;
+
+protected: // Elements
+/**
+ * The input element may occur any number of times. This input is a local
+ * input with the offset and set attributes. @see domInput
+ */
+ domInput_local_offset_Array elemInput_array;
+/**
+ * The p element may occur any number of times. @see domP
+ */
+ domP_Array elemP_array;
+/**
+ * The ph element may occur any number of times. It describes a polygon with
+ * holes. @see domPh
+ */
+ domPh_Array elemPh_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the count attribute.
+ * @return Returns a domUint of the count attribute.
+ */
+ domUint getCount() const { return attrCount; }
+ /**
+ * Sets the count attribute.
+ * @param atCount The new value for the count attribute.
+ */
+ void setCount( domUint atCount ) { attrCount = atCount; }
+
+ /**
+ * Gets the material attribute.
+ * @return Returns a xsNCName of the material attribute.
+ */
+ xsNCName getMaterial() const { return attrMaterial; }
+ /**
+ * Sets the material attribute.
+ * @param atMaterial The new value for the material attribute.
+ */
+ void setMaterial( xsNCName atMaterial ) { *(daeStringRef*)&attrMaterial = atMaterial;}
+
+ /**
+ * Gets the input element array.
+ * @return Returns a reference to the array of input elements.
+ */
+ domInput_local_offset_Array &getInput_array() { return elemInput_array; }
+ /**
+ * Gets the input element array.
+ * @return Returns a constant reference to the array of input elements.
+ */
+ const domInput_local_offset_Array &getInput_array() const { return elemInput_array; }
+ /**
+ * Gets the p element array.
+ * @return Returns a reference to the array of p elements.
+ */
+ domP_Array &getP_array() { return elemP_array; }
+ /**
+ * Gets the p element array.
+ * @return Returns a constant reference to the array of p elements.
+ */
+ const domP_Array &getP_array() const { return elemP_array; }
+ /**
+ * Gets the ph element array.
+ * @return Returns a reference to the array of ph elements.
+ */
+ domPh_Array &getPh_array() { return elemPh_array; }
+ /**
+ * Gets the ph element array.
+ * @return Returns a constant reference to the array of ph elements.
+ */
+ const domPh_Array &getPh_array() const { return elemPh_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domPolygons(DAE& dae) : daeElement(dae), attrName(), attrCount(), attrMaterial(), elemInput_array(), elemP_array(), elemPh_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPolygons() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPolygons &operator=( const domPolygons &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domPolylist.h b/1.4.0/dom/include/1.5/dom/domPolylist.h
new file mode 100644
index 0000000..6ef42e7
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domPolylist.h
@@ -0,0 +1,226 @@
+#ifndef __dom150Polylist_h__
+#define __dom150Polylist_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domInput_local_offset.h>
+#include <1.5/dom/domP.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The polylist element provides the information needed to bind vertex attributes
+ * together and then organize those vertices into individual polygons. The
+ * polygons described in polylist can contain arbitrary numbers of vertices.
+ * Unlike the polygons element, the polylist element cannot contain polygons
+ * with holes.
+ */
+class domPolylist : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POLYLIST; }
+ static daeInt ID() { return 27; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domVcount;
+
+ typedef daeSmartRef<domVcount> domVcountRef;
+ typedef daeTArray<domVcountRef> domVcount_Array;
+
+/**
+ * The vcount element contains a list of integers describing the number of
+ * sides for each polygon described by the polylist element. The vcount element
+ * may occur once.
+ */
+ class domVcount : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::VCOUNT; }
+ static daeInt ID() { return 28; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domList_of_uints of the value.
+ */
+ domList_of_uints& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domList_of_uints& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domList_of_uints value of the text data of this element.
+ */
+ domList_of_uints _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domVcount(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domVcount() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domVcount &operator=( const domVcount &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+/**
+ * The count attribute indicates the number of polygon primitives. Required
+ * attribute.
+ */
+ domUint attrCount;
+/**
+ * The material attribute declares a symbol for a material. This symbol is
+ * bound to a material at the time of instantiation. If the material attribute
+ * is not specified then the lighting and shading results are application
+ * defined. Optional attribute.
+ */
+ xsNCName attrMaterial;
+
+protected: // Elements
+/**
+ * The input element may occur any number of times. This input is a local
+ * input with the offset and set attributes. @see domInput
+ */
+ domInput_local_offset_Array elemInput_array;
+/**
+ * The vcount element contains a list of integers describing the number of
+ * sides for each polygon described by the polylist element. The vcount element
+ * may occur once. @see domVcount
+ */
+ domVcountRef elemVcount;
+/**
+ * The polylist element may have zero or one p element. @see domP
+ */
+ domPRef elemP;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the count attribute.
+ * @return Returns a domUint of the count attribute.
+ */
+ domUint getCount() const { return attrCount; }
+ /**
+ * Sets the count attribute.
+ * @param atCount The new value for the count attribute.
+ */
+ void setCount( domUint atCount ) { attrCount = atCount; }
+
+ /**
+ * Gets the material attribute.
+ * @return Returns a xsNCName of the material attribute.
+ */
+ xsNCName getMaterial() const { return attrMaterial; }
+ /**
+ * Sets the material attribute.
+ * @param atMaterial The new value for the material attribute.
+ */
+ void setMaterial( xsNCName atMaterial ) { *(daeStringRef*)&attrMaterial = atMaterial;}
+
+ /**
+ * Gets the input element array.
+ * @return Returns a reference to the array of input elements.
+ */
+ domInput_local_offset_Array &getInput_array() { return elemInput_array; }
+ /**
+ * Gets the input element array.
+ * @return Returns a constant reference to the array of input elements.
+ */
+ const domInput_local_offset_Array &getInput_array() const { return elemInput_array; }
+ /**
+ * Gets the vcount element.
+ * @return a daeSmartRef to the vcount element.
+ */
+ const domVcountRef getVcount() const { return elemVcount; }
+ /**
+ * Gets the p element.
+ * @return a daeSmartRef to the p element.
+ */
+ const domPRef getP() const { return elemP; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domPolylist(DAE& dae) : daeElement(dae), attrName(), attrCount(), attrMaterial(), elemInput_array(), elemVcount(), elemP(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPolylist() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPolylist &operator=( const domPolylist &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domProfile_bridge.h b/1.4.0/dom/include/1.5/dom/domProfile_bridge.h
new file mode 100644
index 0000000..0f57fae
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domProfile_bridge.h
@@ -0,0 +1,131 @@
+#ifndef __dom150Profile_bridge_h__
+#define __dom150Profile_bridge_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * Bridge COLLADA FX to an external FX framework such as NVIDIA's CgFX or
+ * Microsoft's Direct3D FX
+ */
+class domProfile_bridge : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PROFILE_BRIDGE; }
+ static daeInt ID() { return 209; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+ xsID attrId;
+/**
+ * The type of platform. This is a vendor-defined character string that indicates
+ * the platform or capability target for the technique. Optional
+ */
+ xsNCName attrPlatform;
+/**
+ * The url to the file which we are bridging too
+ */
+ xsAnyURI attrUrl;
+
+protected: // Elements
+ domAssetRef elemAsset;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the platform attribute.
+ * @return Returns a xsNCName of the platform attribute.
+ */
+ xsNCName getPlatform() const { return attrPlatform; }
+ /**
+ * Sets the platform attribute.
+ * @param atPlatform The new value for the platform attribute.
+ */
+ void setPlatform( xsNCName atPlatform ) { *(daeStringRef*)&attrPlatform = atPlatform;}
+
+ /**
+ * Gets the url attribute.
+ * @return Returns a xsAnyURI reference of the url attribute.
+ */
+ xsAnyURI &getUrl() { return attrUrl; }
+ /**
+ * Gets the url attribute.
+ * @return Returns a constant xsAnyURI reference of the url attribute.
+ */
+ const xsAnyURI &getUrl() const { return attrUrl; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( const xsAnyURI &atUrl ) { attrUrl = atUrl; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( xsString atUrl ) { attrUrl = atUrl; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domProfile_bridge(DAE& dae) : daeElement(dae), attrId(), attrPlatform(), attrUrl(dae, *this), elemAsset(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domProfile_bridge() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domProfile_bridge &operator=( const domProfile_bridge &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domProfile_cg.h b/1.4.0/dom/include/1.5/dom/domProfile_cg.h
new file mode 100644
index 0000000..17bfb4e
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domProfile_cg.h
@@ -0,0 +1,320 @@
+#ifndef __dom150Profile_cg_h__
+#define __dom150Profile_cg_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domFx_code.h>
+#include <1.5/dom/domFx_include.h>
+#include <1.5/dom/domCg_newparam.h>
+#include <1.5/dom/domFx_annotate.h>
+#include <1.5/dom/domCg_pass.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * Opens a block of CG platform-specific data types and technique declarations.
+ */
+class domProfile_cg : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PROFILE_CG; }
+ static daeInt ID() { return 258; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domTechnique;
+
+ typedef daeSmartRef<domTechnique> domTechniqueRef;
+ typedef daeTArray<domTechniqueRef> domTechnique_Array;
+
+/**
+ * Holds a description of the textures, samplers, shaders, parameters, and
+ * passes necessary for rendering this effect using one method.
+ */
+ class domTechnique : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TECHNIQUE; }
+ static daeInt ID() { return 259; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ domSid attrSid;
+
+ protected: // Elements
+/**
+ * The technique element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+ domFx_annotate_Array elemAnnotate_array;
+/**
+ * A static declaration of all the render states, shaders, and settings for
+ * one rendering pipeline. @see domPass
+ */
+ domCg_pass_Array elemPass_array;
+ domExtra_Array elemExtra_array;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the annotate element array.
+ * @return Returns a reference to the array of annotate elements.
+ */
+ domFx_annotate_Array &getAnnotate_array() { return elemAnnotate_array; }
+ /**
+ * Gets the annotate element array.
+ * @return Returns a constant reference to the array of annotate elements.
+ */
+ const domFx_annotate_Array &getAnnotate_array() const { return elemAnnotate_array; }
+ /**
+ * Gets the pass element array.
+ * @return Returns a reference to the array of pass elements.
+ */
+ domCg_pass_Array &getPass_array() { return elemPass_array; }
+ /**
+ * Gets the pass element array.
+ * @return Returns a constant reference to the array of pass elements.
+ */
+ const domCg_pass_Array &getPass_array() const { return elemPass_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ protected:
+ /**
+ * Constructor
+ */
+ domTechnique(DAE& dae) : daeElement(dae), attrId(), attrSid(), elemAsset(), elemAnnotate_array(), elemPass_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTechnique() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTechnique &operator=( const domTechnique &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The type of platform. This is a vendor-defined character string that indicates
+ * the platform or capability target for the technique. Optional
+ */
+ xsNCName attrPlatform;
+
+protected: // Elements
+ domAssetRef elemAsset;
+ domFx_code_Array elemCode_array;
+ domFx_include_Array elemInclude_array;
+ domCg_newparam_Array elemNewparam_array;
+/**
+ * Holds a description of the textures, samplers, shaders, parameters, and
+ * passes necessary for rendering this effect using one method. @see domTechnique
+ */
+ domTechnique_Array elemTechnique_array;
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the platform attribute.
+ * @return Returns a xsNCName of the platform attribute.
+ */
+ xsNCName getPlatform() const { return attrPlatform; }
+ /**
+ * Sets the platform attribute.
+ * @param atPlatform The new value for the platform attribute.
+ */
+ void setPlatform( xsNCName atPlatform ) { *(daeStringRef*)&attrPlatform = atPlatform;}
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the code element array.
+ * @return Returns a reference to the array of code elements.
+ */
+ domFx_code_Array &getCode_array() { return elemCode_array; }
+ /**
+ * Gets the code element array.
+ * @return Returns a constant reference to the array of code elements.
+ */
+ const domFx_code_Array &getCode_array() const { return elemCode_array; }
+ /**
+ * Gets the include element array.
+ * @return Returns a reference to the array of include elements.
+ */
+ domFx_include_Array &getInclude_array() { return elemInclude_array; }
+ /**
+ * Gets the include element array.
+ * @return Returns a constant reference to the array of include elements.
+ */
+ const domFx_include_Array &getInclude_array() const { return elemInclude_array; }
+ /**
+ * Gets the newparam element array.
+ * @return Returns a reference to the array of newparam elements.
+ */
+ domCg_newparam_Array &getNewparam_array() { return elemNewparam_array; }
+ /**
+ * Gets the newparam element array.
+ * @return Returns a constant reference to the array of newparam elements.
+ */
+ const domCg_newparam_Array &getNewparam_array() const { return elemNewparam_array; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a reference to the array of technique elements.
+ */
+ domTechnique_Array &getTechnique_array() { return elemTechnique_array; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a constant reference to the array of technique elements.
+ */
+ const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domProfile_cg(DAE& dae) : daeElement(dae), attrId(), attrPlatform(), elemAsset(), elemCode_array(), elemInclude_array(), elemNewparam_array(), elemTechnique_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domProfile_cg() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domProfile_cg &operator=( const domProfile_cg &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domProfile_common.h b/1.4.0/dom/include/1.5/dom/domProfile_common.h
new file mode 100644
index 0000000..b6e2402
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domProfile_common.h
@@ -0,0 +1,658 @@
+#ifndef __dom150Profile_common_h__
+#define __dom150Profile_common_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domFx_common_newparam.h>
+#include <1.5/dom/domFx_common_color_or_texture.h>
+#include <1.5/dom/domFx_common_float_or_param.h>
+#include <1.5/dom/domFx_common_transparent.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * Opens a block of COMMON platform-specific data types and technique declarations.
+ */
+class domProfile_common : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PROFILE_COMMON; }
+ static daeInt ID() { return 203; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domTechnique;
+
+ typedef daeSmartRef<domTechnique> domTechniqueRef;
+ typedef daeTArray<domTechniqueRef> domTechnique_Array;
+
+/**
+ * Holds a description of the textures, samplers, shaders, parameters, and
+ * passes necessary for rendering this effect using one method.
+ */
+ class domTechnique : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TECHNIQUE; }
+ static daeInt ID() { return 204; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domConstant;
+
+ typedef daeSmartRef<domConstant> domConstantRef;
+ typedef daeTArray<domConstantRef> domConstant_Array;
+
+ class domConstant : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CONSTANT; }
+ static daeInt ID() { return 205; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Elements
+ domFx_common_color_or_textureRef elemEmission;
+ domFx_common_color_or_textureRef elemReflective;
+ domFx_common_float_or_paramRef elemReflectivity;
+ domFx_common_transparentRef elemTransparent;
+ domFx_common_float_or_paramRef elemTransparency;
+ domFx_common_float_or_paramRef elemIndex_of_refraction;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the emission element.
+ * @return a daeSmartRef to the emission element.
+ */
+ const domFx_common_color_or_textureRef getEmission() const { return elemEmission; }
+ /**
+ * Gets the reflective element.
+ * @return a daeSmartRef to the reflective element.
+ */
+ const domFx_common_color_or_textureRef getReflective() const { return elemReflective; }
+ /**
+ * Gets the reflectivity element.
+ * @return a daeSmartRef to the reflectivity element.
+ */
+ const domFx_common_float_or_paramRef getReflectivity() const { return elemReflectivity; }
+ /**
+ * Gets the transparent element.
+ * @return a daeSmartRef to the transparent element.
+ */
+ const domFx_common_transparentRef getTransparent() const { return elemTransparent; }
+ /**
+ * Gets the transparency element.
+ * @return a daeSmartRef to the transparency element.
+ */
+ const domFx_common_float_or_paramRef getTransparency() const { return elemTransparency; }
+ /**
+ * Gets the index_of_refraction element.
+ * @return a daeSmartRef to the index_of_refraction element.
+ */
+ const domFx_common_float_or_paramRef getIndex_of_refraction() const { return elemIndex_of_refraction; }
+ protected:
+ /**
+ * Constructor
+ */
+ domConstant(DAE& dae) : daeElement(dae), elemEmission(), elemReflective(), elemReflectivity(), elemTransparent(), elemTransparency(), elemIndex_of_refraction() {}
+ /**
+ * Destructor
+ */
+ virtual ~domConstant() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domConstant &operator=( const domConstant &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLambert;
+
+ typedef daeSmartRef<domLambert> domLambertRef;
+ typedef daeTArray<domLambertRef> domLambert_Array;
+
+ class domLambert : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LAMBERT; }
+ static daeInt ID() { return 206; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Elements
+ domFx_common_color_or_textureRef elemEmission;
+ domFx_common_color_or_textureRef elemAmbient;
+ domFx_common_color_or_textureRef elemDiffuse;
+ domFx_common_color_or_textureRef elemReflective;
+ domFx_common_float_or_paramRef elemReflectivity;
+ domFx_common_transparentRef elemTransparent;
+ domFx_common_float_or_paramRef elemTransparency;
+ domFx_common_float_or_paramRef elemIndex_of_refraction;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the emission element.
+ * @return a daeSmartRef to the emission element.
+ */
+ const domFx_common_color_or_textureRef getEmission() const { return elemEmission; }
+ /**
+ * Gets the ambient element.
+ * @return a daeSmartRef to the ambient element.
+ */
+ const domFx_common_color_or_textureRef getAmbient() const { return elemAmbient; }
+ /**
+ * Gets the diffuse element.
+ * @return a daeSmartRef to the diffuse element.
+ */
+ const domFx_common_color_or_textureRef getDiffuse() const { return elemDiffuse; }
+ /**
+ * Gets the reflective element.
+ * @return a daeSmartRef to the reflective element.
+ */
+ const domFx_common_color_or_textureRef getReflective() const { return elemReflective; }
+ /**
+ * Gets the reflectivity element.
+ * @return a daeSmartRef to the reflectivity element.
+ */
+ const domFx_common_float_or_paramRef getReflectivity() const { return elemReflectivity; }
+ /**
+ * Gets the transparent element.
+ * @return a daeSmartRef to the transparent element.
+ */
+ const domFx_common_transparentRef getTransparent() const { return elemTransparent; }
+ /**
+ * Gets the transparency element.
+ * @return a daeSmartRef to the transparency element.
+ */
+ const domFx_common_float_or_paramRef getTransparency() const { return elemTransparency; }
+ /**
+ * Gets the index_of_refraction element.
+ * @return a daeSmartRef to the index_of_refraction element.
+ */
+ const domFx_common_float_or_paramRef getIndex_of_refraction() const { return elemIndex_of_refraction; }
+ protected:
+ /**
+ * Constructor
+ */
+ domLambert(DAE& dae) : daeElement(dae), elemEmission(), elemAmbient(), elemDiffuse(), elemReflective(), elemReflectivity(), elemTransparent(), elemTransparency(), elemIndex_of_refraction() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLambert() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLambert &operator=( const domLambert &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domPhong;
+
+ typedef daeSmartRef<domPhong> domPhongRef;
+ typedef daeTArray<domPhongRef> domPhong_Array;
+
+ class domPhong : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PHONG; }
+ static daeInt ID() { return 207; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Elements
+ domFx_common_color_or_textureRef elemEmission;
+ domFx_common_color_or_textureRef elemAmbient;
+ domFx_common_color_or_textureRef elemDiffuse;
+ domFx_common_color_or_textureRef elemSpecular;
+ domFx_common_float_or_paramRef elemShininess;
+ domFx_common_color_or_textureRef elemReflective;
+ domFx_common_float_or_paramRef elemReflectivity;
+ domFx_common_transparentRef elemTransparent;
+ domFx_common_float_or_paramRef elemTransparency;
+ domFx_common_float_or_paramRef elemIndex_of_refraction;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the emission element.
+ * @return a daeSmartRef to the emission element.
+ */
+ const domFx_common_color_or_textureRef getEmission() const { return elemEmission; }
+ /**
+ * Gets the ambient element.
+ * @return a daeSmartRef to the ambient element.
+ */
+ const domFx_common_color_or_textureRef getAmbient() const { return elemAmbient; }
+ /**
+ * Gets the diffuse element.
+ * @return a daeSmartRef to the diffuse element.
+ */
+ const domFx_common_color_or_textureRef getDiffuse() const { return elemDiffuse; }
+ /**
+ * Gets the specular element.
+ * @return a daeSmartRef to the specular element.
+ */
+ const domFx_common_color_or_textureRef getSpecular() const { return elemSpecular; }
+ /**
+ * Gets the shininess element.
+ * @return a daeSmartRef to the shininess element.
+ */
+ const domFx_common_float_or_paramRef getShininess() const { return elemShininess; }
+ /**
+ * Gets the reflective element.
+ * @return a daeSmartRef to the reflective element.
+ */
+ const domFx_common_color_or_textureRef getReflective() const { return elemReflective; }
+ /**
+ * Gets the reflectivity element.
+ * @return a daeSmartRef to the reflectivity element.
+ */
+ const domFx_common_float_or_paramRef getReflectivity() const { return elemReflectivity; }
+ /**
+ * Gets the transparent element.
+ * @return a daeSmartRef to the transparent element.
+ */
+ const domFx_common_transparentRef getTransparent() const { return elemTransparent; }
+ /**
+ * Gets the transparency element.
+ * @return a daeSmartRef to the transparency element.
+ */
+ const domFx_common_float_or_paramRef getTransparency() const { return elemTransparency; }
+ /**
+ * Gets the index_of_refraction element.
+ * @return a daeSmartRef to the index_of_refraction element.
+ */
+ const domFx_common_float_or_paramRef getIndex_of_refraction() const { return elemIndex_of_refraction; }
+ protected:
+ /**
+ * Constructor
+ */
+ domPhong(DAE& dae) : daeElement(dae), elemEmission(), elemAmbient(), elemDiffuse(), elemSpecular(), elemShininess(), elemReflective(), elemReflectivity(), elemTransparent(), elemTransparency(), elemIndex_of_refraction() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPhong() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPhong &operator=( const domPhong &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBlinn;
+
+ typedef daeSmartRef<domBlinn> domBlinnRef;
+ typedef daeTArray<domBlinnRef> domBlinn_Array;
+
+ class domBlinn : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BLINN; }
+ static daeInt ID() { return 208; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Elements
+ domFx_common_color_or_textureRef elemEmission;
+ domFx_common_color_or_textureRef elemAmbient;
+ domFx_common_color_or_textureRef elemDiffuse;
+ domFx_common_color_or_textureRef elemSpecular;
+ domFx_common_float_or_paramRef elemShininess;
+ domFx_common_color_or_textureRef elemReflective;
+ domFx_common_float_or_paramRef elemReflectivity;
+ domFx_common_transparentRef elemTransparent;
+ domFx_common_float_or_paramRef elemTransparency;
+ domFx_common_float_or_paramRef elemIndex_of_refraction;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the emission element.
+ * @return a daeSmartRef to the emission element.
+ */
+ const domFx_common_color_or_textureRef getEmission() const { return elemEmission; }
+ /**
+ * Gets the ambient element.
+ * @return a daeSmartRef to the ambient element.
+ */
+ const domFx_common_color_or_textureRef getAmbient() const { return elemAmbient; }
+ /**
+ * Gets the diffuse element.
+ * @return a daeSmartRef to the diffuse element.
+ */
+ const domFx_common_color_or_textureRef getDiffuse() const { return elemDiffuse; }
+ /**
+ * Gets the specular element.
+ * @return a daeSmartRef to the specular element.
+ */
+ const domFx_common_color_or_textureRef getSpecular() const { return elemSpecular; }
+ /**
+ * Gets the shininess element.
+ * @return a daeSmartRef to the shininess element.
+ */
+ const domFx_common_float_or_paramRef getShininess() const { return elemShininess; }
+ /**
+ * Gets the reflective element.
+ * @return a daeSmartRef to the reflective element.
+ */
+ const domFx_common_color_or_textureRef getReflective() const { return elemReflective; }
+ /**
+ * Gets the reflectivity element.
+ * @return a daeSmartRef to the reflectivity element.
+ */
+ const domFx_common_float_or_paramRef getReflectivity() const { return elemReflectivity; }
+ /**
+ * Gets the transparent element.
+ * @return a daeSmartRef to the transparent element.
+ */
+ const domFx_common_transparentRef getTransparent() const { return elemTransparent; }
+ /**
+ * Gets the transparency element.
+ * @return a daeSmartRef to the transparency element.
+ */
+ const domFx_common_float_or_paramRef getTransparency() const { return elemTransparency; }
+ /**
+ * Gets the index_of_refraction element.
+ * @return a daeSmartRef to the index_of_refraction element.
+ */
+ const domFx_common_float_or_paramRef getIndex_of_refraction() const { return elemIndex_of_refraction; }
+ protected:
+ /**
+ * Constructor
+ */
+ domBlinn(DAE& dae) : daeElement(dae), elemEmission(), elemAmbient(), elemDiffuse(), elemSpecular(), elemShininess(), elemReflective(), elemReflectivity(), elemTransparent(), elemTransparency(), elemIndex_of_refraction() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBlinn() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBlinn &operator=( const domBlinn &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+ protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ domSid attrSid;
+
+ protected: // Elements
+/**
+ * The technique element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+ domConstantRef elemConstant;
+ domLambertRef elemLambert;
+ domPhongRef elemPhong;
+ domBlinnRef elemBlinn;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the constant element.
+ * @return a daeSmartRef to the constant element.
+ */
+ const domConstantRef getConstant() const { return elemConstant; }
+ /**
+ * Gets the lambert element.
+ * @return a daeSmartRef to the lambert element.
+ */
+ const domLambertRef getLambert() const { return elemLambert; }
+ /**
+ * Gets the phong element.
+ * @return a daeSmartRef to the phong element.
+ */
+ const domPhongRef getPhong() const { return elemPhong; }
+ /**
+ * Gets the blinn element.
+ * @return a daeSmartRef to the blinn element.
+ */
+ const domBlinnRef getBlinn() const { return elemBlinn; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTechnique(DAE& dae) : daeElement(dae), attrId(), attrSid(), elemAsset(), elemConstant(), elemLambert(), elemPhong(), elemBlinn(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTechnique() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTechnique &operator=( const domTechnique &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attribute
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+
+protected: // Elements
+ domAssetRef elemAsset;
+ domFx_common_newparam_Array elemNewparam_array;
+/**
+ * Holds a description of the textures, samplers, shaders, parameters, and
+ * passes necessary for rendering this effect using one method. @see domTechnique
+ */
+ domTechniqueRef elemTechnique;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the newparam element array.
+ * @return Returns a reference to the array of newparam elements.
+ */
+ domFx_common_newparam_Array &getNewparam_array() { return elemNewparam_array; }
+ /**
+ * Gets the newparam element array.
+ * @return Returns a constant reference to the array of newparam elements.
+ */
+ const domFx_common_newparam_Array &getNewparam_array() const { return elemNewparam_array; }
+ /**
+ * Gets the technique element.
+ * @return a daeSmartRef to the technique element.
+ */
+ const domTechniqueRef getTechnique() const { return elemTechnique; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domProfile_common(DAE& dae) : daeElement(dae), attrId(), elemAsset(), elemNewparam_array(), elemTechnique(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domProfile_common() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domProfile_common &operator=( const domProfile_common &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domProfile_gles.h b/1.4.0/dom/include/1.5/dom/domProfile_gles.h
new file mode 100644
index 0000000..4bf5a46
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domProfile_gles.h
@@ -0,0 +1,601 @@
+#ifndef __dom150Profile_gles_h__
+#define __dom150Profile_gles_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domGles_newparam.h>
+#include <1.5/dom/domFx_annotate.h>
+#include <1.5/dom/domGles_pipeline_settings.h>
+#include <1.5/dom/domFx_colortarget.h>
+#include <1.5/dom/domFx_depthtarget.h>
+#include <1.5/dom/domFx_stenciltarget.h>
+#include <1.5/dom/domFx_clearcolor.h>
+#include <1.5/dom/domFx_cleardepth.h>
+#include <1.5/dom/domFx_clearstencil.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * Opens a block of GLES platform-specific data types and technique declarations.
+ */
+class domProfile_gles : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PROFILE_GLES; }
+ static daeInt ID() { return 273; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domTechnique;
+
+ typedef daeSmartRef<domTechnique> domTechniqueRef;
+ typedef daeTArray<domTechniqueRef> domTechnique_Array;
+
+/**
+ * Holds a description of the textures, samplers, shaders, parameters, and
+ * passes necessary for rendering this effect using one method.
+ */
+ class domTechnique : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TECHNIQUE; }
+ static daeInt ID() { return 274; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domPass;
+
+ typedef daeSmartRef<domPass> domPassRef;
+ typedef daeTArray<domPassRef> domPass_Array;
+
+/**
+ * A static declaration of all the render states, shaders, and settings for
+ * one rendering pipeline.
+ */
+ class domPass : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PASS; }
+ static daeInt ID() { return 275; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domStates;
+
+ typedef daeSmartRef<domStates> domStatesRef;
+ typedef daeTArray<domStatesRef> domStates_Array;
+
+ class domStates : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::STATES; }
+ static daeInt ID() { return 276; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Element
+ domGles_pipeline_settings_Array elemGles_pipeline_settings_array;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the gles_pipeline_settings element array.
+ * @return Returns a reference to the array of gles_pipeline_settings elements.
+ */
+ domGles_pipeline_settings_Array &getGles_pipeline_settings_array() { return elemGles_pipeline_settings_array; }
+ /**
+ * Gets the gles_pipeline_settings element array.
+ * @return Returns a constant reference to the array of gles_pipeline_settings elements.
+ */
+ const domGles_pipeline_settings_Array &getGles_pipeline_settings_array() const { return elemGles_pipeline_settings_array; }
+ protected:
+ /**
+ * Constructor
+ */
+ domStates(DAE& dae) : daeElement(dae), elemGles_pipeline_settings_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domStates() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domStates &operator=( const domStates &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domEvaluate;
+
+ typedef daeSmartRef<domEvaluate> domEvaluateRef;
+ typedef daeTArray<domEvaluateRef> domEvaluate_Array;
+
+ class domEvaluate : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::EVALUATE; }
+ static daeInt ID() { return 277; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domDraw;
+
+ typedef daeSmartRef<domDraw> domDrawRef;
+ typedef daeTArray<domDrawRef> domDraw_Array;
+
+ class domDraw : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DRAW; }
+ static daeInt ID() { return 278; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_draw of the value.
+ */
+ domFx_draw& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFx_draw& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFx_draw value of the text data of this element.
+ */
+ domFx_draw _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domDraw(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDraw() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDraw &operator=( const domDraw &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domFx_colortarget_Array elemColor_target_array;
+ domFx_depthtarget_Array elemDepth_target_array;
+ domFx_stenciltarget_Array elemStencil_target_array;
+ domFx_clearcolor_Array elemColor_clear_array;
+ domFx_cleardepth_Array elemDepth_clear_array;
+ domFx_clearstencil_Array elemStencil_clear_array;
+ domDrawRef elemDraw;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the color_target element array.
+ * @return Returns a reference to the array of color_target elements.
+ */
+ domFx_colortarget_Array &getColor_target_array() { return elemColor_target_array; }
+ /**
+ * Gets the color_target element array.
+ * @return Returns a constant reference to the array of color_target elements.
+ */
+ const domFx_colortarget_Array &getColor_target_array() const { return elemColor_target_array; }
+ /**
+ * Gets the depth_target element array.
+ * @return Returns a reference to the array of depth_target elements.
+ */
+ domFx_depthtarget_Array &getDepth_target_array() { return elemDepth_target_array; }
+ /**
+ * Gets the depth_target element array.
+ * @return Returns a constant reference to the array of depth_target elements.
+ */
+ const domFx_depthtarget_Array &getDepth_target_array() const { return elemDepth_target_array; }
+ /**
+ * Gets the stencil_target element array.
+ * @return Returns a reference to the array of stencil_target elements.
+ */
+ domFx_stenciltarget_Array &getStencil_target_array() { return elemStencil_target_array; }
+ /**
+ * Gets the stencil_target element array.
+ * @return Returns a constant reference to the array of stencil_target elements.
+ */
+ const domFx_stenciltarget_Array &getStencil_target_array() const { return elemStencil_target_array; }
+ /**
+ * Gets the color_clear element array.
+ * @return Returns a reference to the array of color_clear elements.
+ */
+ domFx_clearcolor_Array &getColor_clear_array() { return elemColor_clear_array; }
+ /**
+ * Gets the color_clear element array.
+ * @return Returns a constant reference to the array of color_clear elements.
+ */
+ const domFx_clearcolor_Array &getColor_clear_array() const { return elemColor_clear_array; }
+ /**
+ * Gets the depth_clear element array.
+ * @return Returns a reference to the array of depth_clear elements.
+ */
+ domFx_cleardepth_Array &getDepth_clear_array() { return elemDepth_clear_array; }
+ /**
+ * Gets the depth_clear element array.
+ * @return Returns a constant reference to the array of depth_clear elements.
+ */
+ const domFx_cleardepth_Array &getDepth_clear_array() const { return elemDepth_clear_array; }
+ /**
+ * Gets the stencil_clear element array.
+ * @return Returns a reference to the array of stencil_clear elements.
+ */
+ domFx_clearstencil_Array &getStencil_clear_array() { return elemStencil_clear_array; }
+ /**
+ * Gets the stencil_clear element array.
+ * @return Returns a constant reference to the array of stencil_clear elements.
+ */
+ const domFx_clearstencil_Array &getStencil_clear_array() const { return elemStencil_clear_array; }
+ /**
+ * Gets the draw element.
+ * @return a daeSmartRef to the draw element.
+ */
+ const domDrawRef getDraw() const { return elemDraw; }
+ protected:
+ /**
+ * Constructor
+ */
+ domEvaluate(DAE& dae) : daeElement(dae), elemColor_target_array(), elemDepth_target_array(), elemStencil_target_array(), elemColor_clear_array(), elemDepth_clear_array(), elemStencil_clear_array(), elemDraw() {}
+ /**
+ * Destructor
+ */
+ virtual ~domEvaluate() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domEvaluate &operator=( const domEvaluate &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+ protected: // Attribute
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ domSid attrSid;
+
+ protected: // Elements
+ domFx_annotate_Array elemAnnotate_array;
+ domStatesRef elemStates;
+ domEvaluateRef elemEvaluate;
+ domExtra_Array elemExtra_array;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the annotate element array.
+ * @return Returns a reference to the array of annotate elements.
+ */
+ domFx_annotate_Array &getAnnotate_array() { return elemAnnotate_array; }
+ /**
+ * Gets the annotate element array.
+ * @return Returns a constant reference to the array of annotate elements.
+ */
+ const domFx_annotate_Array &getAnnotate_array() const { return elemAnnotate_array; }
+ /**
+ * Gets the states element.
+ * @return a daeSmartRef to the states element.
+ */
+ const domStatesRef getStates() const { return elemStates; }
+ /**
+ * Gets the evaluate element.
+ * @return a daeSmartRef to the evaluate element.
+ */
+ const domEvaluateRef getEvaluate() const { return elemEvaluate; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ protected:
+ /**
+ * Constructor
+ */
+ domPass(DAE& dae) : daeElement(dae), attrSid(), elemAnnotate_array(), elemStates(), elemEvaluate(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPass() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPass &operator=( const domPass &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+ protected: // Attributes
+ xsID attrId;
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element.
+ */
+ domSid attrSid;
+
+ protected: // Elements
+ domAssetRef elemAsset;
+ domFx_annotate_Array elemAnnotate_array;
+/**
+ * A static declaration of all the render states, shaders, and settings for
+ * one rendering pipeline. @see domPass
+ */
+ domPass_Array elemPass_array;
+ domExtra_Array elemExtra_array;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the annotate element array.
+ * @return Returns a reference to the array of annotate elements.
+ */
+ domFx_annotate_Array &getAnnotate_array() { return elemAnnotate_array; }
+ /**
+ * Gets the annotate element array.
+ * @return Returns a constant reference to the array of annotate elements.
+ */
+ const domFx_annotate_Array &getAnnotate_array() const { return elemAnnotate_array; }
+ /**
+ * Gets the pass element array.
+ * @return Returns a reference to the array of pass elements.
+ */
+ domPass_Array &getPass_array() { return elemPass_array; }
+ /**
+ * Gets the pass element array.
+ * @return Returns a constant reference to the array of pass elements.
+ */
+ const domPass_Array &getPass_array() const { return elemPass_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ protected:
+ /**
+ * Constructor
+ */
+ domTechnique(DAE& dae) : daeElement(dae), attrId(), attrSid(), elemAsset(), elemAnnotate_array(), elemPass_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTechnique() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTechnique &operator=( const domTechnique &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The type of platform. This is a vendor-defined character string that indicates
+ * the platform or capability target for the technique. Optional
+ */
+ xsNCName attrPlatform;
+
+protected: // Elements
+ domAssetRef elemAsset;
+ domGles_newparam_Array elemNewparam_array;
+/**
+ * Holds a description of the textures, samplers, shaders, parameters, and
+ * passes necessary for rendering this effect using one method. @see domTechnique
+ */
+ domTechnique_Array elemTechnique_array;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the platform attribute.
+ * @return Returns a xsNCName of the platform attribute.
+ */
+ xsNCName getPlatform() const { return attrPlatform; }
+ /**
+ * Sets the platform attribute.
+ * @param atPlatform The new value for the platform attribute.
+ */
+ void setPlatform( xsNCName atPlatform ) { *(daeStringRef*)&attrPlatform = atPlatform;}
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the newparam element array.
+ * @return Returns a reference to the array of newparam elements.
+ */
+ domGles_newparam_Array &getNewparam_array() { return elemNewparam_array; }
+ /**
+ * Gets the newparam element array.
+ * @return Returns a constant reference to the array of newparam elements.
+ */
+ const domGles_newparam_Array &getNewparam_array() const { return elemNewparam_array; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a reference to the array of technique elements.
+ */
+ domTechnique_Array &getTechnique_array() { return elemTechnique_array; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a constant reference to the array of technique elements.
+ */
+ const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domProfile_gles(DAE& dae) : daeElement(dae), attrId(), attrPlatform(), elemAsset(), elemNewparam_array(), elemTechnique_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domProfile_gles() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domProfile_gles &operator=( const domProfile_gles &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domProfile_gles2.h b/1.4.0/dom/include/1.5/dom/domProfile_gles2.h
new file mode 100644
index 0000000..ad5ce71
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domProfile_gles2.h
@@ -0,0 +1,377 @@
+#ifndef __dom150Profile_gles2_h__
+#define __dom150Profile_gles2_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domFx_include.h>
+#include <1.5/dom/domFx_code.h>
+#include <1.5/dom/domGles2_newparam.h>
+#include <1.5/dom/domFx_annotate.h>
+#include <1.5/dom/domGles2_pass.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * FX for OpenGL ES 2.0
+ */
+class domProfile_gles2 : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PROFILE_GLES2; }
+ static daeInt ID() { return 224; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domNewparam;
+
+ typedef daeSmartRef<domNewparam> domNewparamRef;
+ typedef daeTArray<domNewparamRef> domNewparam_Array;
+
+ class domNewparam : public domGles2_newparam
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::NEWPARAM; }
+ static daeInt ID() { return 225; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domNewparam(DAE& dae) : domGles2_newparam(dae) {}
+ /**
+ * Destructor
+ */
+ virtual ~domNewparam() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domNewparam &operator=( const domNewparam &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domTechnique;
+
+ typedef daeSmartRef<domTechnique> domTechniqueRef;
+ typedef daeTArray<domTechniqueRef> domTechnique_Array;
+
+/**
+ * Holds a description of the textures, samplers, shaders, parameters, and
+ * passes necessary for rendering this effect using one method.
+ */
+ class domTechnique : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TECHNIQUE; }
+ static daeInt ID() { return 226; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+ xsID attrId;
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ domSid attrSid;
+
+ protected: // Elements
+ domAssetRef elemAsset;
+/**
+ * Add metadata to this pass that may be used by games or tools to make decisions
+ * @see domAnnotate
+ */
+ domFx_annotate_Array elemAnnotate_array;
+/**
+ * A static declaration of all the render states, shaders, and settings for
+ * one rendering pipeline. @see domPass
+ */
+ domGles2_pass_Array elemPass_array;
+ domExtra_Array elemExtra_array;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the annotate element array.
+ * @return Returns a reference to the array of annotate elements.
+ */
+ domFx_annotate_Array &getAnnotate_array() { return elemAnnotate_array; }
+ /**
+ * Gets the annotate element array.
+ * @return Returns a constant reference to the array of annotate elements.
+ */
+ const domFx_annotate_Array &getAnnotate_array() const { return elemAnnotate_array; }
+ /**
+ * Gets the pass element array.
+ * @return Returns a reference to the array of pass elements.
+ */
+ domGles2_pass_Array &getPass_array() { return elemPass_array; }
+ /**
+ * Gets the pass element array.
+ * @return Returns a constant reference to the array of pass elements.
+ */
+ const domGles2_pass_Array &getPass_array() const { return elemPass_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ protected:
+ /**
+ * Constructor
+ */
+ domTechnique(DAE& dae) : daeElement(dae), attrId(), attrSid(), elemAsset(), elemAnnotate_array(), elemPass_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTechnique() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTechnique &operator=( const domTechnique &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+/**
+ * Unique identifier for referencing
+ */
+ xsID attrId;
+/**
+ * Shading language that will be used. This is not an enum to support future
+ * languages. Current known languages at this time are GLSL-ES, CG
+ */
+ xsNCName attrLanguage;
+/**
+ * Support for multiple OpenGL ES 2.0 platforms
+ */
+ domList_of_names attrPlatforms;
+
+protected: // Elements
+ domAssetRef elemAsset;
+/**
+ * Include shader code from a remote URI. If binary, assume raw. @see domInclude
+ */
+ domFx_include_Array elemInclude_array;
+/**
+ * The fx_code_profile type allows you to specify an inline block of source
+ * code. It is HIGHLY recommended to use a CDATA block inside to avoid issues
+ * with @see domCode
+ */
+ domFx_code_Array elemCode_array;
+ domNewparam_Array elemNewparam_array;
+/**
+ * Holds a description of the textures, samplers, shaders, parameters, and
+ * passes necessary for rendering this effect using one method. @see domTechnique
+ */
+ domTechnique_Array elemTechnique_array;
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the language attribute.
+ * @return Returns a xsNCName of the language attribute.
+ */
+ xsNCName getLanguage() const { return attrLanguage; }
+ /**
+ * Sets the language attribute.
+ * @param atLanguage The new value for the language attribute.
+ */
+ void setLanguage( xsNCName atLanguage ) { *(daeStringRef*)&attrLanguage = atLanguage;}
+
+ /**
+ * Gets the platforms attribute.
+ * @return Returns a domList_of_names of the platforms attribute.
+ */
+ domList_of_names getPlatforms() const { return attrPlatforms; }
+ /**
+ * Sets the platforms attribute.
+ * @param atPlatforms The new value for the platforms attribute.
+ */
+ void setPlatforms( domList_of_names atPlatforms ) { attrPlatforms = atPlatforms; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the include element array.
+ * @return Returns a reference to the array of include elements.
+ */
+ domFx_include_Array &getInclude_array() { return elemInclude_array; }
+ /**
+ * Gets the include element array.
+ * @return Returns a constant reference to the array of include elements.
+ */
+ const domFx_include_Array &getInclude_array() const { return elemInclude_array; }
+ /**
+ * Gets the code element array.
+ * @return Returns a reference to the array of code elements.
+ */
+ domFx_code_Array &getCode_array() { return elemCode_array; }
+ /**
+ * Gets the code element array.
+ * @return Returns a constant reference to the array of code elements.
+ */
+ const domFx_code_Array &getCode_array() const { return elemCode_array; }
+ /**
+ * Gets the newparam element array.
+ * @return Returns a reference to the array of newparam elements.
+ */
+ domNewparam_Array &getNewparam_array() { return elemNewparam_array; }
+ /**
+ * Gets the newparam element array.
+ * @return Returns a constant reference to the array of newparam elements.
+ */
+ const domNewparam_Array &getNewparam_array() const { return elemNewparam_array; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a reference to the array of technique elements.
+ */
+ domTechnique_Array &getTechnique_array() { return elemTechnique_array; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a constant reference to the array of technique elements.
+ */
+ const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domProfile_gles2(DAE& dae) : daeElement(dae), attrId(), attrLanguage(), attrPlatforms(), elemAsset(), elemInclude_array(), elemCode_array(), elemNewparam_array(), elemTechnique_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domProfile_gles2() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domProfile_gles2 &operator=( const domProfile_gles2 &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domProfile_glsl.h b/1.4.0/dom/include/1.5/dom/domProfile_glsl.h
new file mode 100644
index 0000000..a40df3d
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domProfile_glsl.h
@@ -0,0 +1,662 @@
+#ifndef __dom150Profile_glsl_h__
+#define __dom150Profile_glsl_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domFx_code.h>
+#include <1.5/dom/domFx_include.h>
+#include <1.5/dom/domGlsl_newparam.h>
+#include <1.5/dom/domFx_annotate.h>
+#include <1.5/dom/domGl_pipeline_settings.h>
+#include <1.5/dom/domGlsl_program.h>
+#include <1.5/dom/domFx_colortarget.h>
+#include <1.5/dom/domFx_depthtarget.h>
+#include <1.5/dom/domFx_stenciltarget.h>
+#include <1.5/dom/domFx_clearcolor.h>
+#include <1.5/dom/domFx_cleardepth.h>
+#include <1.5/dom/domFx_clearstencil.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * Opens a block of GLSL platform-specific data types and technique declarations.
+ */
+class domProfile_glsl : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PROFILE_GLSL; }
+ static daeInt ID() { return 237; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domTechnique;
+
+ typedef daeSmartRef<domTechnique> domTechniqueRef;
+ typedef daeTArray<domTechniqueRef> domTechnique_Array;
+
+/**
+ * Holds a description of the textures, samplers, shaders, parameters, and
+ * passes necessary for rendering this effect using one method.
+ */
+ class domTechnique : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TECHNIQUE; }
+ static daeInt ID() { return 238; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domPass;
+
+ typedef daeSmartRef<domPass> domPassRef;
+ typedef daeTArray<domPassRef> domPass_Array;
+
+/**
+ * A static declaration of all the render states, shaders, and settings for
+ * one rendering pipeline.
+ */
+ class domPass : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PASS; }
+ static daeInt ID() { return 239; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domStates;
+
+ typedef daeSmartRef<domStates> domStatesRef;
+ typedef daeTArray<domStatesRef> domStates_Array;
+
+ class domStates : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::STATES; }
+ static daeInt ID() { return 240; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Element
+ domGl_pipeline_settings_Array elemGl_pipeline_settings_array;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the gl_pipeline_settings element array.
+ * @return Returns a reference to the array of gl_pipeline_settings elements.
+ */
+ domGl_pipeline_settings_Array &getGl_pipeline_settings_array() { return elemGl_pipeline_settings_array; }
+ /**
+ * Gets the gl_pipeline_settings element array.
+ * @return Returns a constant reference to the array of gl_pipeline_settings elements.
+ */
+ const domGl_pipeline_settings_Array &getGl_pipeline_settings_array() const { return elemGl_pipeline_settings_array; }
+ protected:
+ /**
+ * Constructor
+ */
+ domStates(DAE& dae) : daeElement(dae), elemGl_pipeline_settings_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domStates() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domStates &operator=( const domStates &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domEvaluate;
+
+ typedef daeSmartRef<domEvaluate> domEvaluateRef;
+ typedef daeTArray<domEvaluateRef> domEvaluate_Array;
+
+ class domEvaluate : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::EVALUATE; }
+ static daeInt ID() { return 241; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domDraw;
+
+ typedef daeSmartRef<domDraw> domDrawRef;
+ typedef daeTArray<domDrawRef> domDraw_Array;
+
+ class domDraw : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DRAW; }
+ static daeInt ID() { return 242; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFx_draw of the value.
+ */
+ domFx_draw& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFx_draw& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFx_draw value of the text data of this element.
+ */
+ domFx_draw _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domDraw(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDraw() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDraw &operator=( const domDraw &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domFx_colortarget_Array elemColor_target_array;
+ domFx_depthtarget_Array elemDepth_target_array;
+ domFx_stenciltarget_Array elemStencil_target_array;
+ domFx_clearcolor_Array elemColor_clear_array;
+ domFx_cleardepth_Array elemDepth_clear_array;
+ domFx_clearstencil_Array elemStencil_clear_array;
+ domDrawRef elemDraw;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the color_target element array.
+ * @return Returns a reference to the array of color_target elements.
+ */
+ domFx_colortarget_Array &getColor_target_array() { return elemColor_target_array; }
+ /**
+ * Gets the color_target element array.
+ * @return Returns a constant reference to the array of color_target elements.
+ */
+ const domFx_colortarget_Array &getColor_target_array() const { return elemColor_target_array; }
+ /**
+ * Gets the depth_target element array.
+ * @return Returns a reference to the array of depth_target elements.
+ */
+ domFx_depthtarget_Array &getDepth_target_array() { return elemDepth_target_array; }
+ /**
+ * Gets the depth_target element array.
+ * @return Returns a constant reference to the array of depth_target elements.
+ */
+ const domFx_depthtarget_Array &getDepth_target_array() const { return elemDepth_target_array; }
+ /**
+ * Gets the stencil_target element array.
+ * @return Returns a reference to the array of stencil_target elements.
+ */
+ domFx_stenciltarget_Array &getStencil_target_array() { return elemStencil_target_array; }
+ /**
+ * Gets the stencil_target element array.
+ * @return Returns a constant reference to the array of stencil_target elements.
+ */
+ const domFx_stenciltarget_Array &getStencil_target_array() const { return elemStencil_target_array; }
+ /**
+ * Gets the color_clear element array.
+ * @return Returns a reference to the array of color_clear elements.
+ */
+ domFx_clearcolor_Array &getColor_clear_array() { return elemColor_clear_array; }
+ /**
+ * Gets the color_clear element array.
+ * @return Returns a constant reference to the array of color_clear elements.
+ */
+ const domFx_clearcolor_Array &getColor_clear_array() const { return elemColor_clear_array; }
+ /**
+ * Gets the depth_clear element array.
+ * @return Returns a reference to the array of depth_clear elements.
+ */
+ domFx_cleardepth_Array &getDepth_clear_array() { return elemDepth_clear_array; }
+ /**
+ * Gets the depth_clear element array.
+ * @return Returns a constant reference to the array of depth_clear elements.
+ */
+ const domFx_cleardepth_Array &getDepth_clear_array() const { return elemDepth_clear_array; }
+ /**
+ * Gets the stencil_clear element array.
+ * @return Returns a reference to the array of stencil_clear elements.
+ */
+ domFx_clearstencil_Array &getStencil_clear_array() { return elemStencil_clear_array; }
+ /**
+ * Gets the stencil_clear element array.
+ * @return Returns a constant reference to the array of stencil_clear elements.
+ */
+ const domFx_clearstencil_Array &getStencil_clear_array() const { return elemStencil_clear_array; }
+ /**
+ * Gets the draw element.
+ * @return a daeSmartRef to the draw element.
+ */
+ const domDrawRef getDraw() const { return elemDraw; }
+ protected:
+ /**
+ * Constructor
+ */
+ domEvaluate(DAE& dae) : daeElement(dae), elemColor_target_array(), elemDepth_target_array(), elemStencil_target_array(), elemColor_clear_array(), elemDepth_clear_array(), elemStencil_clear_array(), elemDraw() {}
+ /**
+ * Destructor
+ */
+ virtual ~domEvaluate() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domEvaluate &operator=( const domEvaluate &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+ protected: // Attribute
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ domSid attrSid;
+
+ protected: // Elements
+ domFx_annotate_Array elemAnnotate_array;
+ domStatesRef elemStates;
+ domGlsl_programRef elemProgram;
+ domEvaluateRef elemEvaluate;
+ domExtra_Array elemExtra_array;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the annotate element array.
+ * @return Returns a reference to the array of annotate elements.
+ */
+ domFx_annotate_Array &getAnnotate_array() { return elemAnnotate_array; }
+ /**
+ * Gets the annotate element array.
+ * @return Returns a constant reference to the array of annotate elements.
+ */
+ const domFx_annotate_Array &getAnnotate_array() const { return elemAnnotate_array; }
+ /**
+ * Gets the states element.
+ * @return a daeSmartRef to the states element.
+ */
+ const domStatesRef getStates() const { return elemStates; }
+ /**
+ * Gets the program element.
+ * @return a daeSmartRef to the program element.
+ */
+ const domGlsl_programRef getProgram() const { return elemProgram; }
+ /**
+ * Gets the evaluate element.
+ * @return a daeSmartRef to the evaluate element.
+ */
+ const domEvaluateRef getEvaluate() const { return elemEvaluate; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ protected:
+ /**
+ * Constructor
+ */
+ domPass(DAE& dae) : daeElement(dae), attrSid(), elemAnnotate_array(), elemStates(), elemProgram(), elemEvaluate(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domPass() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domPass &operator=( const domPass &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+ protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ domSid attrSid;
+
+ protected: // Elements
+ domAssetRef elemAsset;
+ domFx_annotate_Array elemAnnotate_array;
+/**
+ * A static declaration of all the render states, shaders, and settings for
+ * one rendering pipeline. @see domPass
+ */
+ domPass_Array elemPass_array;
+ domExtra_Array elemExtra_array;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the annotate element array.
+ * @return Returns a reference to the array of annotate elements.
+ */
+ domFx_annotate_Array &getAnnotate_array() { return elemAnnotate_array; }
+ /**
+ * Gets the annotate element array.
+ * @return Returns a constant reference to the array of annotate elements.
+ */
+ const domFx_annotate_Array &getAnnotate_array() const { return elemAnnotate_array; }
+ /**
+ * Gets the pass element array.
+ * @return Returns a reference to the array of pass elements.
+ */
+ domPass_Array &getPass_array() { return elemPass_array; }
+ /**
+ * Gets the pass element array.
+ * @return Returns a constant reference to the array of pass elements.
+ */
+ const domPass_Array &getPass_array() const { return elemPass_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ protected:
+ /**
+ * Constructor
+ */
+ domTechnique(DAE& dae) : daeElement(dae), attrId(), attrSid(), elemAsset(), elemAnnotate_array(), elemPass_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTechnique() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTechnique &operator=( const domTechnique &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The type of platform. This is a vendor-defined character string that indicates
+ * the platform or capability target for the technique. Optional
+ */
+ xsNCName attrPlatform;
+
+protected: // Elements
+ domAssetRef elemAsset;
+ domFx_code_Array elemCode_array;
+ domFx_include_Array elemInclude_array;
+ domGlsl_newparam_Array elemNewparam_array;
+/**
+ * Holds a description of the textures, samplers, shaders, parameters, and
+ * passes necessary for rendering this effect using one method. @see domTechnique
+ */
+ domTechnique_Array elemTechnique_array;
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the platform attribute.
+ * @return Returns a xsNCName of the platform attribute.
+ */
+ xsNCName getPlatform() const { return attrPlatform; }
+ /**
+ * Sets the platform attribute.
+ * @param atPlatform The new value for the platform attribute.
+ */
+ void setPlatform( xsNCName atPlatform ) { *(daeStringRef*)&attrPlatform = atPlatform;}
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the code element array.
+ * @return Returns a reference to the array of code elements.
+ */
+ domFx_code_Array &getCode_array() { return elemCode_array; }
+ /**
+ * Gets the code element array.
+ * @return Returns a constant reference to the array of code elements.
+ */
+ const domFx_code_Array &getCode_array() const { return elemCode_array; }
+ /**
+ * Gets the include element array.
+ * @return Returns a reference to the array of include elements.
+ */
+ domFx_include_Array &getInclude_array() { return elemInclude_array; }
+ /**
+ * Gets the include element array.
+ * @return Returns a constant reference to the array of include elements.
+ */
+ const domFx_include_Array &getInclude_array() const { return elemInclude_array; }
+ /**
+ * Gets the newparam element array.
+ * @return Returns a reference to the array of newparam elements.
+ */
+ domGlsl_newparam_Array &getNewparam_array() { return elemNewparam_array; }
+ /**
+ * Gets the newparam element array.
+ * @return Returns a constant reference to the array of newparam elements.
+ */
+ const domGlsl_newparam_Array &getNewparam_array() const { return elemNewparam_array; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a reference to the array of technique elements.
+ */
+ domTechnique_Array &getTechnique_array() { return elemTechnique_array; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a constant reference to the array of technique elements.
+ */
+ const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domProfile_glsl(DAE& dae) : daeElement(dae), attrId(), attrPlatform(), elemAsset(), elemCode_array(), elemInclude_array(), elemNewparam_array(), elemTechnique_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domProfile_glsl() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domProfile_glsl &operator=( const domProfile_glsl &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domRigid_body.h b/1.4.0/dom/include/1.5/dom/domRigid_body.h
new file mode 100644
index 0000000..4ecd9c4
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domRigid_body.h
@@ -0,0 +1,776 @@
+#ifndef __dom150Rigid_body_h__
+#define __dom150Rigid_body_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domTargetable_float.h>
+#include <1.5/dom/domTranslate.h>
+#include <1.5/dom/domRotate.h>
+#include <1.5/dom/domTargetable_float3.h>
+#include <1.5/dom/domInstance_physics_material.h>
+#include <1.5/dom/domPhysics_material.h>
+#include <1.5/dom/domInstance_geometry.h>
+#include <1.5/dom/domPlane.h>
+#include <1.5/dom/domBox.h>
+#include <1.5/dom/domSphere.h>
+#include <1.5/dom/domCylinder.h>
+#include <1.5/dom/domCapsule.h>
+#include <1.5/dom/domExtra.h>
+#include <1.5/dom/domTechnique.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * This element allows for describing simulated bodies that do not deform.
+ * These bodies may or may not be connected by constraints (hinge, ball-joint
+ * etc.). Rigid-bodies, constraints etc. are encapsulated in physics_model
+ * elements to allow for instantiating complex models.
+ */
+class domRigid_body : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::RIGID_BODY; }
+ static daeInt ID() { return 396; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domTechnique_common;
+
+ typedef daeSmartRef<domTechnique_common> domTechnique_commonRef;
+ typedef daeTArray<domTechnique_commonRef> domTechnique_common_Array;
+
+/**
+ * The technique_common element specifies the rigid_body information for the
+ * common profile which all COLLADA implementations need to support.
+ */
+ class domTechnique_common : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TECHNIQUE_COMMON; }
+ static daeInt ID() { return 397; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domDynamic;
+
+ typedef daeSmartRef<domDynamic> domDynamicRef;
+ typedef daeTArray<domDynamicRef> domDynamic_Array;
+
+/**
+ * If false, the rigid_body is not moveable
+ */
+ class domDynamic : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DYNAMIC; }
+ static daeInt ID() { return 398; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ domSid attrSid;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the value of this element.
+ * @return a xsBoolean of the value.
+ */
+ xsBoolean& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const xsBoolean& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The xsBoolean value of the text data of this element.
+ */
+ xsBoolean _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domDynamic(DAE& dae) : daeElement(dae), attrSid(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDynamic() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDynamic &operator=( const domDynamic &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domMass_frame;
+
+ typedef daeSmartRef<domMass_frame> domMass_frameRef;
+ typedef daeTArray<domMass_frameRef> domMass_frame_Array;
+
+/**
+ * Defines the center and orientation of mass of the rigid-body relative to
+ * the local origin of the "root" shape.This makes the off-diagonal elements
+ * of the inertia tensor (products of inertia) all 0 and allows us to just
+ * store the diagonal elements (moments of inertia).
+ */
+ class domMass_frame : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MASS_FRAME; }
+ static daeInt ID() { return 399; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Elements
+ domTranslate_Array elemTranslate_array;
+ domRotate_Array elemRotate_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the translate element array.
+ * @return Returns a reference to the array of translate elements.
+ */
+ domTranslate_Array &getTranslate_array() { return elemTranslate_array; }
+ /**
+ * Gets the translate element array.
+ * @return Returns a constant reference to the array of translate elements.
+ */
+ const domTranslate_Array &getTranslate_array() const { return elemTranslate_array; }
+ /**
+ * Gets the rotate element array.
+ * @return Returns a reference to the array of rotate elements.
+ */
+ domRotate_Array &getRotate_array() { return elemRotate_array; }
+ /**
+ * Gets the rotate element array.
+ * @return Returns a constant reference to the array of rotate elements.
+ */
+ const domRotate_Array &getRotate_array() const { return elemRotate_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domMass_frame(DAE& dae) : daeElement(dae), elemTranslate_array(), elemRotate_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domMass_frame() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domMass_frame &operator=( const domMass_frame &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domShape;
+
+ typedef daeSmartRef<domShape> domShapeRef;
+ typedef daeTArray<domShapeRef> domShape_Array;
+
+/**
+ * This element allows for describing components of a rigid_body.
+ */
+ class domShape : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SHAPE; }
+ static daeInt ID() { return 400; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domHollow;
+
+ typedef daeSmartRef<domHollow> domHollowRef;
+ typedef daeTArray<domHollowRef> domHollow_Array;
+
+/**
+ * If true, the mass is distributed along the surface of the shape
+ */
+ class domHollow : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HOLLOW; }
+ static daeInt ID() { return 401; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ domSid attrSid;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the value of this element.
+ * @return a xsBoolean of the value.
+ */
+ xsBoolean& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const xsBoolean& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The xsBoolean value of the text data of this element.
+ */
+ xsBoolean _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domHollow(DAE& dae) : daeElement(dae), attrSid(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domHollow() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domHollow &operator=( const domHollow &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+/**
+ * If true, the mass is distributed along the surface of the shape @see domHollow
+ */
+ domHollowRef elemHollow;
+/**
+ * The mass of the shape. @see domMass
+ */
+ domTargetable_floatRef elemMass;
+/**
+ * The density of the shape. @see domDensity
+ */
+ domTargetable_floatRef elemDensity;
+/**
+ * References a physics_material for the shape. @see domInstance_physics_material
+ */
+ domInstance_physics_materialRef elemInstance_physics_material;
+/**
+ * Defines a physics_material for the shape. @see domPhysics_material
+ */
+ domPhysics_materialRef elemPhysics_material;
+/**
+ * Instances a geometry to use to define this shape. @see domInstance_geometry
+ */
+ domInstance_geometryRef elemInstance_geometry;
+/**
+ * Defines a plane to use for this shape. @see domPlane
+ */
+ domPlaneRef elemPlane;
+/**
+ * Defines a box to use for this shape. @see domBox
+ */
+ domBoxRef elemBox;
+/**
+ * Defines a sphere to use for this shape. @see domSphere
+ */
+ domSphereRef elemSphere;
+/**
+ * Defines a cyliner to use for this shape. @see domCylinder
+ */
+ domCylinderRef elemCylinder;
+/**
+ * Defines a capsule to use for this shape. @see domCapsule
+ */
+ domCapsuleRef elemCapsule;
+/**
+ * Allows a tranformation for the shape. @see domTranslate
+ */
+ domTranslate_Array elemTranslate_array;
+/**
+ * Allows a tranformation for the shape. @see domRotate
+ */
+ domRotate_Array elemRotate_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the hollow element.
+ * @return a daeSmartRef to the hollow element.
+ */
+ const domHollowRef getHollow() const { return elemHollow; }
+ /**
+ * Gets the mass element.
+ * @return a daeSmartRef to the mass element.
+ */
+ const domTargetable_floatRef getMass() const { return elemMass; }
+ /**
+ * Gets the density element.
+ * @return a daeSmartRef to the density element.
+ */
+ const domTargetable_floatRef getDensity() const { return elemDensity; }
+ /**
+ * Gets the instance_physics_material element.
+ * @return a daeSmartRef to the instance_physics_material element.
+ */
+ const domInstance_physics_materialRef getInstance_physics_material() const { return elemInstance_physics_material; }
+ /**
+ * Gets the physics_material element.
+ * @return a daeSmartRef to the physics_material element.
+ */
+ const domPhysics_materialRef getPhysics_material() const { return elemPhysics_material; }
+ /**
+ * Gets the instance_geometry element.
+ * @return a daeSmartRef to the instance_geometry element.
+ */
+ const domInstance_geometryRef getInstance_geometry() const { return elemInstance_geometry; }
+ /**
+ * Gets the plane element.
+ * @return a daeSmartRef to the plane element.
+ */
+ const domPlaneRef getPlane() const { return elemPlane; }
+ /**
+ * Gets the box element.
+ * @return a daeSmartRef to the box element.
+ */
+ const domBoxRef getBox() const { return elemBox; }
+ /**
+ * Gets the sphere element.
+ * @return a daeSmartRef to the sphere element.
+ */
+ const domSphereRef getSphere() const { return elemSphere; }
+ /**
+ * Gets the cylinder element.
+ * @return a daeSmartRef to the cylinder element.
+ */
+ const domCylinderRef getCylinder() const { return elemCylinder; }
+ /**
+ * Gets the capsule element.
+ * @return a daeSmartRef to the capsule element.
+ */
+ const domCapsuleRef getCapsule() const { return elemCapsule; }
+ /**
+ * Gets the translate element array.
+ * @return Returns a reference to the array of translate elements.
+ */
+ domTranslate_Array &getTranslate_array() { return elemTranslate_array; }
+ /**
+ * Gets the translate element array.
+ * @return Returns a constant reference to the array of translate elements.
+ */
+ const domTranslate_Array &getTranslate_array() const { return elemTranslate_array; }
+ /**
+ * Gets the rotate element array.
+ * @return Returns a reference to the array of rotate elements.
+ */
+ domRotate_Array &getRotate_array() { return elemRotate_array; }
+ /**
+ * Gets the rotate element array.
+ * @return Returns a constant reference to the array of rotate elements.
+ */
+ const domRotate_Array &getRotate_array() const { return elemRotate_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domShape(DAE& dae) : daeElement(dae), elemHollow(), elemMass(), elemDensity(), elemInstance_physics_material(), elemPhysics_material(), elemInstance_geometry(), elemPlane(), elemBox(), elemSphere(), elemCylinder(), elemCapsule(), elemTranslate_array(), elemRotate_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domShape() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domShape &operator=( const domShape &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+/**
+ * If false, the rigid_body is not moveable @see domDynamic
+ */
+ domDynamicRef elemDynamic;
+/**
+ * The total mass of the rigid-body @see domMass
+ */
+ domTargetable_floatRef elemMass;
+/**
+ * Defines the center and orientation of mass of the rigid-body relative to
+ * the local origin of the "root" shape.This makes the off-diagonal elements
+ * of the inertia tensor (products of inertia) all 0 and allows us to just
+ * store the diagonal elements (moments of inertia). @see domMass_frame
+ */
+ domMass_frameRef elemMass_frame;
+/**
+ * float3 - The diagonal elements of the inertia tensor (moments of inertia),
+ * which is represented in the local frame of the center of mass. See above.
+ * @see domInertia
+ */
+ domTargetable_float3Ref elemInertia;
+/**
+ * References a physics_material for the rigid_body. @see domInstance_physics_material
+ */
+ domInstance_physics_materialRef elemInstance_physics_material;
+/**
+ * Defines a physics_material for the rigid_body. @see domPhysics_material
+ */
+ domPhysics_materialRef elemPhysics_material;
+/**
+ * This element allows for describing components of a rigid_body. @see domShape
+ */
+ domShape_Array elemShape_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the dynamic element.
+ * @return a daeSmartRef to the dynamic element.
+ */
+ const domDynamicRef getDynamic() const { return elemDynamic; }
+ /**
+ * Gets the mass element.
+ * @return a daeSmartRef to the mass element.
+ */
+ const domTargetable_floatRef getMass() const { return elemMass; }
+ /**
+ * Gets the mass_frame element.
+ * @return a daeSmartRef to the mass_frame element.
+ */
+ const domMass_frameRef getMass_frame() const { return elemMass_frame; }
+ /**
+ * Gets the inertia element.
+ * @return a daeSmartRef to the inertia element.
+ */
+ const domTargetable_float3Ref getInertia() const { return elemInertia; }
+ /**
+ * Gets the instance_physics_material element.
+ * @return a daeSmartRef to the instance_physics_material element.
+ */
+ const domInstance_physics_materialRef getInstance_physics_material() const { return elemInstance_physics_material; }
+ /**
+ * Gets the physics_material element.
+ * @return a daeSmartRef to the physics_material element.
+ */
+ const domPhysics_materialRef getPhysics_material() const { return elemPhysics_material; }
+ /**
+ * Gets the shape element array.
+ * @return Returns a reference to the array of shape elements.
+ */
+ domShape_Array &getShape_array() { return elemShape_array; }
+ /**
+ * Gets the shape element array.
+ * @return Returns a constant reference to the array of shape elements.
+ */
+ const domShape_Array &getShape_array() const { return elemShape_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTechnique_common(DAE& dae) : daeElement(dae), elemDynamic(), elemMass(), elemMass_frame(), elemInertia(), elemInstance_physics_material(), elemPhysics_material(), elemShape_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTechnique_common() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTechnique_common &operator=( const domTechnique_common &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+ xsID attrId;
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ domSid attrSid;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+
+protected: // Elements
+/**
+ * The technique_common element specifies the rigid_body information for the
+ * common profile which all COLLADA implementations need to support. @see
+ * domTechnique_common
+ */
+ domTechnique_commonRef elemTechnique_common;
+/**
+ * This element may contain any number of non-common profile techniques. @see
+ * domTechnique
+ */
+ domTechnique_Array elemTechnique_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the technique_common element.
+ * @return a daeSmartRef to the technique_common element.
+ */
+ const domTechnique_commonRef getTechnique_common() const { return elemTechnique_common; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a reference to the array of technique elements.
+ */
+ domTechnique_Array &getTechnique_array() { return elemTechnique_array; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a constant reference to the array of technique elements.
+ */
+ const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domRigid_body(DAE& dae) : daeElement(dae), attrId(), attrSid(), attrName(), elemTechnique_common(), elemTechnique_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domRigid_body() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRigid_body &operator=( const domRigid_body &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domRigid_constraint.h b/1.4.0/dom/include/1.5/dom/domRigid_constraint.h
new file mode 100644
index 0000000..32b2252
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domRigid_constraint.h
@@ -0,0 +1,1096 @@
+#ifndef __dom150Rigid_constraint_h__
+#define __dom150Rigid_constraint_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domTranslate.h>
+#include <1.5/dom/domRotate.h>
+#include <1.5/dom/domExtra.h>
+#include <1.5/dom/domTargetable_float3.h>
+#include <1.5/dom/domTargetable_float.h>
+#include <1.5/dom/domTechnique.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * This element allows for connecting components, such as rigid_body into
+ * complex physics models with moveable parts.
+ */
+class domRigid_constraint : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::RIGID_CONSTRAINT; }
+ static daeInt ID() { return 374; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domRef_attachment;
+
+ typedef daeSmartRef<domRef_attachment> domRef_attachmentRef;
+ typedef daeTArray<domRef_attachmentRef> domRef_attachment_Array;
+
+/**
+ * Defines the attachment (to a rigid_body or a node) to be used as the reference-frame.
+ */
+ class domRef_attachment : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::REF_ATTACHMENT; }
+ static daeInt ID() { return 375; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+/**
+ * The "rigid_body" attribute is a relative reference to a rigid-body within
+ * the same physics_model.
+ */
+ xsAnyURI attrRigid_body;
+
+ protected: // Elements
+/**
+ * Allows you to "position" the attachment point. @see domTranslate
+ */
+ domTranslate_Array elemTranslate_array;
+/**
+ * Allows you to "position" the attachment point. @see domRotate
+ */
+ domRotate_Array elemRotate_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the rigid_body attribute.
+ * @return Returns a xsAnyURI reference of the rigid_body attribute.
+ */
+ xsAnyURI &getRigid_body() { return attrRigid_body; }
+ /**
+ * Gets the rigid_body attribute.
+ * @return Returns a constant xsAnyURI reference of the rigid_body attribute.
+ */
+ const xsAnyURI &getRigid_body() const { return attrRigid_body; }
+ /**
+ * Sets the rigid_body attribute.
+ * @param atRigid_body The new value for the rigid_body attribute.
+ */
+ void setRigid_body( const xsAnyURI &atRigid_body ) { attrRigid_body = atRigid_body; _validAttributeArray[0] = true; }
+ /**
+ * Sets the rigid_body attribute.
+ * @param atRigid_body The new value for the rigid_body attribute.
+ */
+ void setRigid_body( xsString atRigid_body ) { attrRigid_body = atRigid_body; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the translate element array.
+ * @return Returns a reference to the array of translate elements.
+ */
+ domTranslate_Array &getTranslate_array() { return elemTranslate_array; }
+ /**
+ * Gets the translate element array.
+ * @return Returns a constant reference to the array of translate elements.
+ */
+ const domTranslate_Array &getTranslate_array() const { return elemTranslate_array; }
+ /**
+ * Gets the rotate element array.
+ * @return Returns a reference to the array of rotate elements.
+ */
+ domRotate_Array &getRotate_array() { return elemRotate_array; }
+ /**
+ * Gets the rotate element array.
+ * @return Returns a constant reference to the array of rotate elements.
+ */
+ const domRotate_Array &getRotate_array() const { return elemRotate_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domRef_attachment(DAE& dae) : daeElement(dae), attrRigid_body(dae, *this), elemTranslate_array(), elemRotate_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domRef_attachment() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRef_attachment &operator=( const domRef_attachment &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domAttachment;
+
+ typedef daeSmartRef<domAttachment> domAttachmentRef;
+ typedef daeTArray<domAttachmentRef> domAttachment_Array;
+
+/**
+ * Defines an attachment to a rigid-body or a node.
+ */
+ class domAttachment : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ATTACHMENT; }
+ static daeInt ID() { return 376; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+/**
+ * The "rigid_body" attribute is a relative reference to a rigid-body within
+ * the same physics_model.
+ */
+ xsAnyURI attrRigid_body;
+
+ protected: // Elements
+/**
+ * Allows you to "position" the attachment point. @see domTranslate
+ */
+ domTranslate_Array elemTranslate_array;
+/**
+ * Allows you to "position" the attachment point. @see domRotate
+ */
+ domRotate_Array elemRotate_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the rigid_body attribute.
+ * @return Returns a xsAnyURI reference of the rigid_body attribute.
+ */
+ xsAnyURI &getRigid_body() { return attrRigid_body; }
+ /**
+ * Gets the rigid_body attribute.
+ * @return Returns a constant xsAnyURI reference of the rigid_body attribute.
+ */
+ const xsAnyURI &getRigid_body() const { return attrRigid_body; }
+ /**
+ * Sets the rigid_body attribute.
+ * @param atRigid_body The new value for the rigid_body attribute.
+ */
+ void setRigid_body( const xsAnyURI &atRigid_body ) { attrRigid_body = atRigid_body; _validAttributeArray[0] = true; }
+ /**
+ * Sets the rigid_body attribute.
+ * @param atRigid_body The new value for the rigid_body attribute.
+ */
+ void setRigid_body( xsString atRigid_body ) { attrRigid_body = atRigid_body; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the translate element array.
+ * @return Returns a reference to the array of translate elements.
+ */
+ domTranslate_Array &getTranslate_array() { return elemTranslate_array; }
+ /**
+ * Gets the translate element array.
+ * @return Returns a constant reference to the array of translate elements.
+ */
+ const domTranslate_Array &getTranslate_array() const { return elemTranslate_array; }
+ /**
+ * Gets the rotate element array.
+ * @return Returns a reference to the array of rotate elements.
+ */
+ domRotate_Array &getRotate_array() { return elemRotate_array; }
+ /**
+ * Gets the rotate element array.
+ * @return Returns a constant reference to the array of rotate elements.
+ */
+ const domRotate_Array &getRotate_array() const { return elemRotate_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domAttachment(DAE& dae) : daeElement(dae), attrRigid_body(dae, *this), elemTranslate_array(), elemRotate_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domAttachment() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAttachment &operator=( const domAttachment &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domTechnique_common;
+
+ typedef daeSmartRef<domTechnique_common> domTechnique_commonRef;
+ typedef daeTArray<domTechnique_commonRef> domTechnique_common_Array;
+
+/**
+ * The technique_common element specifies the rigid_constraint information
+ * for the common profile which all COLLADA implementations need to support.
+ */
+ class domTechnique_common : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TECHNIQUE_COMMON; }
+ static daeInt ID() { return 377; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domEnabled;
+
+ typedef daeSmartRef<domEnabled> domEnabledRef;
+ typedef daeTArray<domEnabledRef> domEnabled_Array;
+
+/**
+ * If false, the constraint doesn't exert any force or influence on the rigid
+ * bodies.
+ */
+ class domEnabled : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ENABLED; }
+ static daeInt ID() { return 378; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ domSid attrSid;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the value of this element.
+ * @return a xsBoolean of the value.
+ */
+ xsBoolean& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const xsBoolean& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The xsBoolean value of the text data of this element.
+ */
+ xsBoolean _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domEnabled(DAE& dae) : daeElement(dae), attrSid(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domEnabled() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domEnabled &operator=( const domEnabled &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInterpenetrate;
+
+ typedef daeSmartRef<domInterpenetrate> domInterpenetrateRef;
+ typedef daeTArray<domInterpenetrateRef> domInterpenetrate_Array;
+
+/**
+ * Indicates whether the attached rigid bodies may inter-penetrate.
+ */
+ class domInterpenetrate : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INTERPENETRATE; }
+ static daeInt ID() { return 379; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attribute
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ domSid attrSid;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the value of this element.
+ * @return a xsBoolean of the value.
+ */
+ xsBoolean& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const xsBoolean& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The xsBoolean value of the text data of this element.
+ */
+ xsBoolean _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domInterpenetrate(DAE& dae) : daeElement(dae), attrSid(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInterpenetrate() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInterpenetrate &operator=( const domInterpenetrate &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLimits;
+
+ typedef daeSmartRef<domLimits> domLimitsRef;
+ typedef daeTArray<domLimitsRef> domLimits_Array;
+
+/**
+ * The limits element provides a flexible way to specify the constraint limits
+ * (degrees of freedom and ranges).
+ */
+ class domLimits : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIMITS; }
+ static daeInt ID() { return 380; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domSwing_cone_and_twist;
+
+ typedef daeSmartRef<domSwing_cone_and_twist> domSwing_cone_and_twistRef;
+ typedef daeTArray<domSwing_cone_and_twistRef> domSwing_cone_and_twist_Array;
+
+/**
+ * The swing_cone_and_twist element describes the angular limits along each
+ * rotation axis in degrees. The the X and Y limits describe a "swing cone"
+ * and the Z limits describe the "twist angle" range
+ */
+ class domSwing_cone_and_twist : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SWING_CONE_AND_TWIST; }
+ static daeInt ID() { return 381; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Elements
+/**
+ * The minimum values for the limit. @see domMin
+ */
+ domTargetable_float3Ref elemMin;
+/**
+ * The maximum values for the limit. @see domMax
+ */
+ domTargetable_float3Ref elemMax;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the min element.
+ * @return a daeSmartRef to the min element.
+ */
+ const domTargetable_float3Ref getMin() const { return elemMin; }
+ /**
+ * Gets the max element.
+ * @return a daeSmartRef to the max element.
+ */
+ const domTargetable_float3Ref getMax() const { return elemMax; }
+ protected:
+ /**
+ * Constructor
+ */
+ domSwing_cone_and_twist(DAE& dae) : daeElement(dae), elemMin(), elemMax() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSwing_cone_and_twist() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSwing_cone_and_twist &operator=( const domSwing_cone_and_twist &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLinear;
+
+ typedef daeSmartRef<domLinear> domLinearRef;
+ typedef daeTArray<domLinearRef> domLinear_Array;
+
+/**
+ * The linear element describes linear (translational) limits along each axis.
+ */
+ class domLinear : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LINEAR; }
+ static daeInt ID() { return 382; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Elements
+/**
+ * The minimum values for the limit. @see domMin
+ */
+ domTargetable_float3Ref elemMin;
+/**
+ * The maximum values for the limit. @see domMax
+ */
+ domTargetable_float3Ref elemMax;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the min element.
+ * @return a daeSmartRef to the min element.
+ */
+ const domTargetable_float3Ref getMin() const { return elemMin; }
+ /**
+ * Gets the max element.
+ * @return a daeSmartRef to the max element.
+ */
+ const domTargetable_float3Ref getMax() const { return elemMax; }
+ protected:
+ /**
+ * Constructor
+ */
+ domLinear(DAE& dae) : daeElement(dae), elemMin(), elemMax() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLinear() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLinear &operator=( const domLinear &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+/**
+ * The swing_cone_and_twist element describes the angular limits along each
+ * rotation axis in degrees. The the X and Y limits describe a "swing cone"
+ * and the Z limits describe the "twist angle" range @see domSwing_cone_and_twist
+ */
+ domSwing_cone_and_twistRef elemSwing_cone_and_twist;
+/**
+ * The linear element describes linear (translational) limits along each axis.
+ * @see domLinear
+ */
+ domLinearRef elemLinear;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the swing_cone_and_twist element.
+ * @return a daeSmartRef to the swing_cone_and_twist element.
+ */
+ const domSwing_cone_and_twistRef getSwing_cone_and_twist() const { return elemSwing_cone_and_twist; }
+ /**
+ * Gets the linear element.
+ * @return a daeSmartRef to the linear element.
+ */
+ const domLinearRef getLinear() const { return elemLinear; }
+ protected:
+ /**
+ * Constructor
+ */
+ domLimits(DAE& dae) : daeElement(dae), elemSwing_cone_and_twist(), elemLinear() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLimits() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLimits &operator=( const domLimits &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domSpring;
+
+ typedef daeSmartRef<domSpring> domSpringRef;
+ typedef daeTArray<domSpringRef> domSpring_Array;
+
+/**
+ * Spring, based on distance ("LINEAR") or angle ("ANGULAR").
+ */
+ class domSpring : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SPRING; }
+ static daeInt ID() { return 383; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domAngular;
+
+ typedef daeSmartRef<domAngular> domAngularRef;
+ typedef daeTArray<domAngularRef> domAngular_Array;
+
+/**
+ * The angular spring properties.
+ */
+ class domAngular : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ANGULAR; }
+ static daeInt ID() { return 384; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Elements
+/**
+ * The stiffness (also called spring coefficient) has units of force/angle
+ * in degrees. @see domStiffness
+ */
+ domTargetable_floatRef elemStiffness;
+/**
+ * The spring damping coefficient. @see domDamping
+ */
+ domTargetable_floatRef elemDamping;
+/**
+ * The spring's target or resting distance. @see domTarget_value
+ */
+ domTargetable_floatRef elemTarget_value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the stiffness element.
+ * @return a daeSmartRef to the stiffness element.
+ */
+ const domTargetable_floatRef getStiffness() const { return elemStiffness; }
+ /**
+ * Gets the damping element.
+ * @return a daeSmartRef to the damping element.
+ */
+ const domTargetable_floatRef getDamping() const { return elemDamping; }
+ /**
+ * Gets the target_value element.
+ * @return a daeSmartRef to the target_value element.
+ */
+ const domTargetable_floatRef getTarget_value() const { return elemTarget_value; }
+ protected:
+ /**
+ * Constructor
+ */
+ domAngular(DAE& dae) : daeElement(dae), elemStiffness(), elemDamping(), elemTarget_value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domAngular() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAngular &operator=( const domAngular &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domLinear;
+
+ typedef daeSmartRef<domLinear> domLinearRef;
+ typedef daeTArray<domLinearRef> domLinear_Array;
+
+/**
+ * The linear spring properties.
+ */
+ class domLinear : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LINEAR; }
+ static daeInt ID() { return 385; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Elements
+/**
+ * The stiffness (also called spring coefficient) has units of force/distance.
+ * @see domStiffness
+ */
+ domTargetable_floatRef elemStiffness;
+/**
+ * The spring damping coefficient. @see domDamping
+ */
+ domTargetable_floatRef elemDamping;
+/**
+ * The spring's target or resting distance. @see domTarget_value
+ */
+ domTargetable_floatRef elemTarget_value;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the stiffness element.
+ * @return a daeSmartRef to the stiffness element.
+ */
+ const domTargetable_floatRef getStiffness() const { return elemStiffness; }
+ /**
+ * Gets the damping element.
+ * @return a daeSmartRef to the damping element.
+ */
+ const domTargetable_floatRef getDamping() const { return elemDamping; }
+ /**
+ * Gets the target_value element.
+ * @return a daeSmartRef to the target_value element.
+ */
+ const domTargetable_floatRef getTarget_value() const { return elemTarget_value; }
+ protected:
+ /**
+ * Constructor
+ */
+ domLinear(DAE& dae) : daeElement(dae), elemStiffness(), elemDamping(), elemTarget_value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLinear() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLinear &operator=( const domLinear &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+/**
+ * The angular spring properties. @see domAngular
+ */
+ domAngularRef elemAngular;
+/**
+ * The linear spring properties. @see domLinear
+ */
+ domLinearRef elemLinear;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the angular element.
+ * @return a daeSmartRef to the angular element.
+ */
+ const domAngularRef getAngular() const { return elemAngular; }
+ /**
+ * Gets the linear element.
+ * @return a daeSmartRef to the linear element.
+ */
+ const domLinearRef getLinear() const { return elemLinear; }
+ protected:
+ /**
+ * Constructor
+ */
+ domSpring(DAE& dae) : daeElement(dae), elemAngular(), elemLinear() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSpring() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSpring &operator=( const domSpring &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+/**
+ * If false, the constraint doesn't exert any force or influence on the rigid
+ * bodies. @see domEnabled
+ */
+ domEnabledRef elemEnabled;
+/**
+ * Indicates whether the attached rigid bodies may inter-penetrate. @see domInterpenetrate
+ */
+ domInterpenetrateRef elemInterpenetrate;
+/**
+ * The limits element provides a flexible way to specify the constraint limits
+ * (degrees of freedom and ranges). @see domLimits
+ */
+ domLimitsRef elemLimits;
+/**
+ * Spring, based on distance ("LINEAR") or angle ("ANGULAR"). @see domSpring
+ */
+ domSpringRef elemSpring;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the enabled element.
+ * @return a daeSmartRef to the enabled element.
+ */
+ const domEnabledRef getEnabled() const { return elemEnabled; }
+ /**
+ * Gets the interpenetrate element.
+ * @return a daeSmartRef to the interpenetrate element.
+ */
+ const domInterpenetrateRef getInterpenetrate() const { return elemInterpenetrate; }
+ /**
+ * Gets the limits element.
+ * @return a daeSmartRef to the limits element.
+ */
+ const domLimitsRef getLimits() const { return elemLimits; }
+ /**
+ * Gets the spring element.
+ * @return a daeSmartRef to the spring element.
+ */
+ const domSpringRef getSpring() const { return elemSpring; }
+ protected:
+ /**
+ * Constructor
+ */
+ domTechnique_common(DAE& dae) : daeElement(dae), elemEnabled(), elemInterpenetrate(), elemLimits(), elemSpring() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTechnique_common() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTechnique_common &operator=( const domTechnique_common &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ domSid attrSid;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+
+protected: // Elements
+/**
+ * Defines the attachment (to a rigid_body or a node) to be used as the reference-frame.
+ * @see domRef_attachment
+ */
+ domRef_attachmentRef elemRef_attachment;
+/**
+ * Defines an attachment to a rigid-body or a node. @see domAttachment
+ */
+ domAttachmentRef elemAttachment;
+/**
+ * The technique_common element specifies the rigid_constraint information
+ * for the common profile which all COLLADA implementations need to support.
+ * @see domTechnique_common
+ */
+ domTechnique_commonRef elemTechnique_common;
+/**
+ * This element may contain any number of non-common profile techniques. @see
+ * domTechnique
+ */
+ domTechnique_Array elemTechnique_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the ref_attachment element.
+ * @return a daeSmartRef to the ref_attachment element.
+ */
+ const domRef_attachmentRef getRef_attachment() const { return elemRef_attachment; }
+ /**
+ * Gets the attachment element.
+ * @return a daeSmartRef to the attachment element.
+ */
+ const domAttachmentRef getAttachment() const { return elemAttachment; }
+ /**
+ * Gets the technique_common element.
+ * @return a daeSmartRef to the technique_common element.
+ */
+ const domTechnique_commonRef getTechnique_common() const { return elemTechnique_common; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a reference to the array of technique elements.
+ */
+ domTechnique_Array &getTechnique_array() { return elemTechnique_array; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a constant reference to the array of technique elements.
+ */
+ const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domRigid_constraint(DAE& dae) : daeElement(dae), attrSid(), attrName(), elemRef_attachment(), elemAttachment(), elemTechnique_common(), elemTechnique_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domRigid_constraint() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRigid_constraint &operator=( const domRigid_constraint &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domRotate.h b/1.4.0/dom/include/1.5/dom/domRotate.h
new file mode 100644
index 0000000..2fef1bd
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domRotate.h
@@ -0,0 +1,57 @@
+#ifndef __dom150Rotate_h__
+#define __dom150Rotate_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domTargetable_float4.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+#include <1.5/dom/domTargetable_float4.h>
+/**
+ * The rotate element contains an angle and a mathematical vector that represents
+ * the axis of rotation.
+ */
+class domRotate : public domTargetable_float4
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ROTATE; }
+ static daeInt ID() { return 369; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+public: //Accessors and Mutators
+protected:
+ /**
+ * Constructor
+ */
+ domRotate(DAE& dae) : domTargetable_float4(dae) {}
+ /**
+ * Destructor
+ */
+ virtual ~domRotate() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRotate &operator=( const domRotate &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domSampler.h b/1.4.0/dom/include/1.5/dom/domSampler.h
new file mode 100644
index 0000000..4d35d71
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domSampler.h
@@ -0,0 +1,123 @@
+#ifndef __dom150Sampler_h__
+#define __dom150Sampler_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domInput_local.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The sampler element declares an N-dimensional function used for animation.
+ * Animation function curves are represented by 1-D sampler elements in COLLADA.
+ * The sampler defines sampling points and how to interpolate between them.
+ */
+class domSampler : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SAMPLER; }
+ static daeInt ID() { return 24; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * Indicates what the sampled value should be before the first key.
+ */
+ domSampler_behavior attrPre_behavior;
+/**
+ * Indicates what the sampled value should be after the last key.
+ */
+ domSampler_behavior attrPost_behavior;
+
+protected: // Element
+/**
+ * The input element must occur at least one time. These inputs are local
+ * inputs. @see domInput
+ */
+ domInput_local_Array elemInput_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the pre_behavior attribute.
+ * @return Returns a domSampler_behavior of the pre_behavior attribute.
+ */
+ domSampler_behavior getPre_behavior() const { return attrPre_behavior; }
+ /**
+ * Sets the pre_behavior attribute.
+ * @param atPre_behavior The new value for the pre_behavior attribute.
+ */
+ void setPre_behavior( domSampler_behavior atPre_behavior ) { attrPre_behavior = atPre_behavior; }
+
+ /**
+ * Gets the post_behavior attribute.
+ * @return Returns a domSampler_behavior of the post_behavior attribute.
+ */
+ domSampler_behavior getPost_behavior() const { return attrPost_behavior; }
+ /**
+ * Sets the post_behavior attribute.
+ * @param atPost_behavior The new value for the post_behavior attribute.
+ */
+ void setPost_behavior( domSampler_behavior atPost_behavior ) { attrPost_behavior = atPost_behavior; }
+
+ /**
+ * Gets the input element array.
+ * @return Returns a reference to the array of input elements.
+ */
+ domInput_local_Array &getInput_array() { return elemInput_array; }
+ /**
+ * Gets the input element array.
+ * @return Returns a constant reference to the array of input elements.
+ */
+ const domInput_local_Array &getInput_array() const { return elemInput_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domSampler(DAE& dae) : daeElement(dae), attrId(), attrPre_behavior(), attrPost_behavior(), elemInput_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSampler() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSampler &operator=( const domSampler &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domScale.h b/1.4.0/dom/include/1.5/dom/domScale.h
new file mode 100644
index 0000000..d46c963
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domScale.h
@@ -0,0 +1,57 @@
+#ifndef __dom150Scale_h__
+#define __dom150Scale_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domTargetable_float3.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+#include <1.5/dom/domTargetable_float3.h>
+/**
+ * The scale element contains a mathematical vector that represents the relative
+ * proportions of the X, Y and Z axes of a coordinated system.
+ */
+class domScale : public domTargetable_float3
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SCALE; }
+ static daeInt ID() { return 16; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+public: //Accessors and Mutators
+protected:
+ /**
+ * Constructor
+ */
+ domScale(DAE& dae) : domTargetable_float3(dae) {}
+ /**
+ * Destructor
+ */
+ virtual ~domScale() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domScale &operator=( const domScale &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domShells.h b/1.4.0/dom/include/1.5/dom/domShells.h
new file mode 100644
index 0000000..755f69c
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domShells.h
@@ -0,0 +1,198 @@
+#ifndef __dom150Shells_h__
+#define __dom150Shells_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domInput_local_offset.h>
+#include <1.5/dom/domP.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * This element defines all the shells used in the brep structure.
+ */
+class domShells : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SHELLS; }
+ static daeInt ID() { return 305; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domVcount;
+
+ typedef daeSmartRef<domVcount> domVcountRef;
+ typedef daeTArray<domVcountRef> domVcount_Array;
+
+ class domVcount : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::VCOUNT; }
+ static daeInt ID() { return 306; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domList_of_uints of the value.
+ */
+ domList_of_uints& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domList_of_uints& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domList_of_uints value of the text data of this element.
+ */
+ domList_of_uints _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domVcount(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domVcount() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domVcount &operator=( const domVcount &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+ xsID attrId;
+ xsToken attrName;
+ domUint attrCount;
+
+protected: // Elements
+/**
+ * One input elements is needed to define a shell by its faces. The second
+ * is need for the orientation of the faces @see domInput
+ */
+ domInput_local_offset_Array elemInput_array;
+ domVcountRef elemVcount;
+/**
+ * The indices of the faces for each shell. @see domP
+ */
+ domPRef elemP;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the count attribute.
+ * @return Returns a domUint of the count attribute.
+ */
+ domUint getCount() const { return attrCount; }
+ /**
+ * Sets the count attribute.
+ * @param atCount The new value for the count attribute.
+ */
+ void setCount( domUint atCount ) { attrCount = atCount; }
+
+ /**
+ * Gets the input element array.
+ * @return Returns a reference to the array of input elements.
+ */
+ domInput_local_offset_Array &getInput_array() { return elemInput_array; }
+ /**
+ * Gets the input element array.
+ * @return Returns a constant reference to the array of input elements.
+ */
+ const domInput_local_offset_Array &getInput_array() const { return elemInput_array; }
+ /**
+ * Gets the vcount element.
+ * @return a daeSmartRef to the vcount element.
+ */
+ const domVcountRef getVcount() const { return elemVcount; }
+ /**
+ * Gets the p element.
+ * @return a daeSmartRef to the p element.
+ */
+ const domPRef getP() const { return elemP; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domShells(DAE& dae) : daeElement(dae), attrId(), attrName(), attrCount(), elemInput_array(), elemVcount(), elemP(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domShells() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domShells &operator=( const domShells &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domSidref_array.h b/1.4.0/dom/include/1.5/dom/domSidref_array.h
new file mode 100644
index 0000000..b054161
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domSidref_array.h
@@ -0,0 +1,122 @@
+#ifndef __dom150Sidref_array_h__
+#define __dom150Sidref_array_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The SIDREF_array element declares the storage for a homogenous array of
+ * SID reference values.
+ */
+class domSidref_array : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SIDREF_ARRAY; }
+ static daeInt ID() { return 324; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document. Optional
+ * attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+/**
+ * The count attribute indicates the number of values in the array. Required
+ * attribute.
+ */
+ domUint attrCount;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the count attribute.
+ * @return Returns a domUint of the count attribute.
+ */
+ domUint getCount() const { return attrCount; }
+ /**
+ * Sets the count attribute.
+ * @param atCount The new value for the count attribute.
+ */
+ void setCount( domUint atCount ) { attrCount = atCount; }
+
+ /**
+ * Gets the value of this element.
+ * @return a domList_of_sidrefs of the value.
+ */
+ domList_of_sidrefs& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domList_of_sidrefs& val ) { _value = val; }
+
+protected: // Value
+ /**
+ * The domList_of_sidrefs value of the text data of this element.
+ */
+ domList_of_sidrefs _value;
+protected:
+ /**
+ * Constructor
+ */
+ domSidref_array(DAE& dae) : daeElement(dae), attrId(), attrName(), attrCount(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSidref_array() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSidref_array &operator=( const domSidref_array &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domSkew.h b/1.4.0/dom/include/1.5/dom/domSkew.h
new file mode 100644
index 0000000..38dd4a0
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domSkew.h
@@ -0,0 +1,89 @@
+#ifndef __dom150Skew_h__
+#define __dom150Skew_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The skew element contains an angle and two mathematical vectors that represent
+ * the axis of rotation and the axis of translation.
+ */
+class domSkew : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SKEW; }
+ static daeInt ID() { return 17; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attribute
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ domSid attrSid;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the value of this element.
+ * @return a domFloat7 of the value.
+ */
+ domFloat7& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFloat7& val ) { _value = val; }
+
+protected: // Value
+ /**
+ * The domFloat7 value of the text data of this element.
+ */
+ domFloat7 _value;
+protected:
+ /**
+ * Constructor
+ */
+ domSkew(DAE& dae) : daeElement(dae), attrSid(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSkew() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSkew &operator=( const domSkew &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domSkin.h b/1.4.0/dom/include/1.5/dom/domSkin.h
new file mode 100644
index 0000000..d56f29f
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domSkin.h
@@ -0,0 +1,534 @@
+#ifndef __dom150Skin_h__
+#define __dom150Skin_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domSource.h>
+#include <1.5/dom/domInput_local.h>
+#include <1.5/dom/domExtra.h>
+#include <1.5/dom/domInput_local_offset.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The skin element contains vertex and primitive information sufficient to
+ * describe blend-weight skinning.
+ */
+class domSkin : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SKIN; }
+ static daeInt ID() { return 329; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domBind_shape_matrix;
+
+ typedef daeSmartRef<domBind_shape_matrix> domBind_shape_matrixRef;
+ typedef daeTArray<domBind_shape_matrixRef> domBind_shape_matrix_Array;
+
+/**
+ * This provides extra information about the position and orientation of the
+ * base mesh before binding. If bind_shape_matrix is not specified then an
+ * identity matrix may be used as the bind_shape_matrix. The bind_shape_matrix
+ * element may occur zero or one times.
+ */
+ class domBind_shape_matrix : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BIND_SHAPE_MATRIX; }
+ static daeInt ID() { return 330; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFloat4x4 of the value.
+ */
+ domFloat4x4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFloat4x4& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFloat4x4 value of the text data of this element.
+ */
+ domFloat4x4 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domBind_shape_matrix(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBind_shape_matrix() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBind_shape_matrix &operator=( const domBind_shape_matrix &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domJoints;
+
+ typedef daeSmartRef<domJoints> domJointsRef;
+ typedef daeTArray<domJointsRef> domJoints_Array;
+
+/**
+ * The joints element associates joint, or skeleton, nodes with attribute
+ * data. In COLLADA, this is specified by the inverse bind matrix of each
+ * joint (influence) in the skeleton.
+ */
+ class domJoints : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::JOINTS; }
+ static daeInt ID() { return 331; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Elements
+/**
+ * The input element must occur at least twice. These inputs are local inputs.
+ * @see domInput
+ */
+ domInput_local_Array elemInput_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the input element array.
+ * @return Returns a reference to the array of input elements.
+ */
+ domInput_local_Array &getInput_array() { return elemInput_array; }
+ /**
+ * Gets the input element array.
+ * @return Returns a constant reference to the array of input elements.
+ */
+ const domInput_local_Array &getInput_array() const { return elemInput_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ protected:
+ /**
+ * Constructor
+ */
+ domJoints(DAE& dae) : daeElement(dae), elemInput_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domJoints() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domJoints &operator=( const domJoints &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domVertex_weights;
+
+ typedef daeSmartRef<domVertex_weights> domVertex_weightsRef;
+ typedef daeTArray<domVertex_weightsRef> domVertex_weights_Array;
+
+/**
+ * The vertex_weights element associates a set of joint-weight pairs with
+ * each vertex in the base mesh.
+ */
+ class domVertex_weights : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::VERTEX_WEIGHTS; }
+ static daeInt ID() { return 332; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domVcount;
+
+ typedef daeSmartRef<domVcount> domVcountRef;
+ typedef daeTArray<domVcountRef> domVcount_Array;
+
+/**
+ * The vcount element contains a list of integers describing the number of
+ * influences for each vertex. The vcount element may occur once.
+ */
+ class domVcount : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::VCOUNT; }
+ static daeInt ID() { return 333; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domList_of_uints of the value.
+ */
+ domList_of_uints& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domList_of_uints& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domList_of_uints value of the text data of this element.
+ */
+ domList_of_uints _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domVcount(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domVcount() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domVcount &operator=( const domVcount &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domV;
+
+ typedef daeSmartRef<domV> domVRef;
+ typedef daeTArray<domVRef> domV_Array;
+
+/**
+ * The v element describes which bones and attributes are associated with
+ * each vertex. An index of -1 into the array of joints refers to the bind
+ * shape. Weights should be normalized before use. The v element must occur
+ * zero or one times.
+ */
+ class domV : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::V; }
+ static daeInt ID() { return 334; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domList_of_ints of the value.
+ */
+ domList_of_ints& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domList_of_ints& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domList_of_ints value of the text data of this element.
+ */
+ domList_of_ints _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domV(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domV() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domV &operator=( const domV &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+ protected: // Attribute
+/**
+ * The count attribute describes the number of vertices in the base mesh.
+ * Required element.
+ */
+ domUint attrCount;
+
+ protected: // Elements
+/**
+ * The input element must occur at least twice. @see domInput
+ */
+ domInput_local_offset_Array elemInput_array;
+/**
+ * The vcount element contains a list of integers describing the number of
+ * influences for each vertex. The vcount element may occur once. @see domVcount
+ */
+ domVcountRef elemVcount;
+/**
+ * The v element describes which bones and attributes are associated with
+ * each vertex. An index of -1 into the array of joints refers to the bind
+ * shape. Weights should be normalized before use. The v element must occur
+ * zero or one times. @see domV
+ */
+ domVRef elemV;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the count attribute.
+ * @return Returns a domUint of the count attribute.
+ */
+ domUint getCount() const { return attrCount; }
+ /**
+ * Sets the count attribute.
+ * @param atCount The new value for the count attribute.
+ */
+ void setCount( domUint atCount ) { attrCount = atCount; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the input element array.
+ * @return Returns a reference to the array of input elements.
+ */
+ domInput_local_offset_Array &getInput_array() { return elemInput_array; }
+ /**
+ * Gets the input element array.
+ * @return Returns a constant reference to the array of input elements.
+ */
+ const domInput_local_offset_Array &getInput_array() const { return elemInput_array; }
+ /**
+ * Gets the vcount element.
+ * @return a daeSmartRef to the vcount element.
+ */
+ const domVcountRef getVcount() const { return elemVcount; }
+ /**
+ * Gets the v element.
+ * @return a daeSmartRef to the v element.
+ */
+ const domVRef getV() const { return elemV; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ protected:
+ /**
+ * Constructor
+ */
+ domVertex_weights(DAE& dae) : daeElement(dae), attrCount(), elemInput_array(), elemVcount(), elemV(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domVertex_weights() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domVertex_weights &operator=( const domVertex_weights &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attribute
+/**
+ * The source attribute contains a URI reference to the base mesh, (a static
+ * mesh or a morphed mesh). This also provides the bind-shape of the skinned
+ * mesh. Required attribute.
+ */
+ xsAnyURI attrSource;
+
+protected: // Elements
+/**
+ * This provides extra information about the position and orientation of the
+ * base mesh before binding. If bind_shape_matrix is not specified then an
+ * identity matrix may be used as the bind_shape_matrix. The bind_shape_matrix
+ * element may occur zero or one times. @see domBind_shape_matrix
+ */
+ domBind_shape_matrixRef elemBind_shape_matrix;
+/**
+ * The skin element must contain at least three source elements. @see domSource
+ */
+ domSource_Array elemSource_array;
+/**
+ * The joints element associates joint, or skeleton, nodes with attribute
+ * data. In COLLADA, this is specified by the inverse bind matrix of each
+ * joint (influence) in the skeleton. @see domJoints
+ */
+ domJointsRef elemJoints;
+/**
+ * The vertex_weights element associates a set of joint-weight pairs with
+ * each vertex in the base mesh. @see domVertex_weights
+ */
+ domVertex_weightsRef elemVertex_weights;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the source attribute.
+ * @return Returns a xsAnyURI reference of the source attribute.
+ */
+ xsAnyURI &getSource() { return attrSource; }
+ /**
+ * Gets the source attribute.
+ * @return Returns a constant xsAnyURI reference of the source attribute.
+ */
+ const xsAnyURI &getSource() const { return attrSource; }
+ /**
+ * Sets the source attribute.
+ * @param atSource The new value for the source attribute.
+ */
+ void setSource( const xsAnyURI &atSource ) { attrSource = atSource; }
+ /**
+ * Sets the source attribute.
+ * @param atSource The new value for the source attribute.
+ */
+ void setSource( xsString atSource ) { attrSource = atSource; }
+
+ /**
+ * Gets the bind_shape_matrix element.
+ * @return a daeSmartRef to the bind_shape_matrix element.
+ */
+ const domBind_shape_matrixRef getBind_shape_matrix() const { return elemBind_shape_matrix; }
+ /**
+ * Gets the source element array.
+ * @return Returns a reference to the array of source elements.
+ */
+ domSource_Array &getSource_array() { return elemSource_array; }
+ /**
+ * Gets the source element array.
+ * @return Returns a constant reference to the array of source elements.
+ */
+ const domSource_Array &getSource_array() const { return elemSource_array; }
+ /**
+ * Gets the joints element.
+ * @return a daeSmartRef to the joints element.
+ */
+ const domJointsRef getJoints() const { return elemJoints; }
+ /**
+ * Gets the vertex_weights element.
+ * @return a daeSmartRef to the vertex_weights element.
+ */
+ const domVertex_weightsRef getVertex_weights() const { return elemVertex_weights; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domSkin(DAE& dae) : daeElement(dae), attrSource(dae, *this), elemBind_shape_matrix(), elemSource_array(), elemJoints(), elemVertex_weights(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSkin() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSkin &operator=( const domSkin &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domSolids.h b/1.4.0/dom/include/1.5/dom/domSolids.h
new file mode 100644
index 0000000..9a7cbfd
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domSolids.h
@@ -0,0 +1,198 @@
+#ifndef __dom150Solids_h__
+#define __dom150Solids_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domInput_local_offset.h>
+#include <1.5/dom/domP.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * This element defines all the solids used in the brep structure.
+ */
+class domSolids : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SOLIDS; }
+ static daeInt ID() { return 307; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domVcount;
+
+ typedef daeSmartRef<domVcount> domVcountRef;
+ typedef daeTArray<domVcountRef> domVcount_Array;
+
+ class domVcount : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::VCOUNT; }
+ static daeInt ID() { return 308; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domList_of_uints of the value.
+ */
+ domList_of_uints& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domList_of_uints& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domList_of_uints value of the text data of this element.
+ */
+ domList_of_uints _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domVcount(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domVcount() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domVcount &operator=( const domVcount &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+ xsID attrId;
+ xsToken attrName;
+ domUint attrCount;
+
+protected: // Elements
+/**
+ * One input elements is needed to define a solid by its shells. The second
+ * is need fo the orientation of the shells. @see domInput
+ */
+ domInput_local_offset_Array elemInput_array;
+ domVcountRef elemVcount;
+/**
+ * The indices of the shells for each solid. @see domP
+ */
+ domPRef elemP;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the count attribute.
+ * @return Returns a domUint of the count attribute.
+ */
+ domUint getCount() const { return attrCount; }
+ /**
+ * Sets the count attribute.
+ * @param atCount The new value for the count attribute.
+ */
+ void setCount( domUint atCount ) { attrCount = atCount; }
+
+ /**
+ * Gets the input element array.
+ * @return Returns a reference to the array of input elements.
+ */
+ domInput_local_offset_Array &getInput_array() { return elemInput_array; }
+ /**
+ * Gets the input element array.
+ * @return Returns a constant reference to the array of input elements.
+ */
+ const domInput_local_offset_Array &getInput_array() const { return elemInput_array; }
+ /**
+ * Gets the vcount element.
+ * @return a daeSmartRef to the vcount element.
+ */
+ const domVcountRef getVcount() const { return elemVcount; }
+ /**
+ * Gets the p element.
+ * @return a daeSmartRef to the p element.
+ */
+ const domPRef getP() const { return elemP; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domSolids(DAE& dae) : daeElement(dae), attrId(), attrName(), attrCount(), elemInput_array(), elemVcount(), elemP(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSolids() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSolids &operator=( const domSolids &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domSource.h b/1.4.0/dom/include/1.5/dom/domSource.h
new file mode 100644
index 0000000..3760bb4
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domSource.h
@@ -0,0 +1,279 @@
+#ifndef __dom150Source_h__
+#define __dom150Source_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domToken_array.h>
+#include <1.5/dom/domIdref_array.h>
+#include <1.5/dom/domName_array.h>
+#include <1.5/dom/domBool_array.h>
+#include <1.5/dom/domFloat_array.h>
+#include <1.5/dom/domInt_array.h>
+#include <1.5/dom/domSidref_array.h>
+#include <1.5/dom/domAccessor.h>
+#include <1.5/dom/domTechnique.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The source element declares a data repository that provides values according
+ * to the semantics of an input element that refers to it.
+ */
+class domSource : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SOURCE; }
+ static daeInt ID() { return 325; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domTechnique_common;
+
+ typedef daeSmartRef<domTechnique_common> domTechnique_commonRef;
+ typedef daeTArray<domTechnique_commonRef> domTechnique_common_Array;
+
+/**
+ * The technique common specifies the common method for accessing this source
+ * element's data.
+ */
+ class domTechnique_common : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TECHNIQUE_COMMON; }
+ static daeInt ID() { return 326; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Element
+/**
+ * The source's technique_common must have one and only one accessor. @see
+ * domAccessor
+ */
+ domAccessorRef elemAccessor;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the accessor element.
+ * @return a daeSmartRef to the accessor element.
+ */
+ const domAccessorRef getAccessor() const { return elemAccessor; }
+ protected:
+ /**
+ * Constructor
+ */
+ domTechnique_common(DAE& dae) : daeElement(dae), elemAccessor() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTechnique_common() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTechnique_common &operator=( const domTechnique_common &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Required attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+
+protected: // Elements
+/**
+ * The source element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * The source element may contain a token_array. @see domToken_array
+ */
+ domToken_arrayRef elemToken_array;
+/**
+ * The source element may contain an IDREF_array. @see domIDREF_array
+ */
+ domIdref_arrayRef elemIDREF_array;
+/**
+ * The source element may contain a Name_array. @see domName_array
+ */
+ domName_arrayRef elemName_array;
+/**
+ * The source element may contain a bool_array. @see domBool_array
+ */
+ domBool_arrayRef elemBool_array;
+/**
+ * The source element may contain a float_array. @see domFloat_array
+ */
+ domFloat_arrayRef elemFloat_array;
+/**
+ * The source element may contain an int_array. @see domInt_array
+ */
+ domInt_arrayRef elemInt_array;
+ domSidref_arrayRef elemSIDREF_array;
+/**
+ * The technique common specifies the common method for accessing this source
+ * element's data. @see domTechnique_common
+ */
+ domTechnique_commonRef elemTechnique_common;
+/**
+ * This element may contain any number of non-common profile techniques. @see
+ * domTechnique
+ */
+ domTechnique_Array elemTechnique_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the token_array element.
+ * @return a daeSmartRef to the token_array element.
+ */
+ const domToken_arrayRef getToken_array() const { return elemToken_array; }
+ /**
+ * Gets the IDREF_array element.
+ * @return a daeSmartRef to the IDREF_array element.
+ */
+ const domIdref_arrayRef getIDREF_array() const { return elemIDREF_array; }
+ /**
+ * Gets the Name_array element.
+ * @return a daeSmartRef to the Name_array element.
+ */
+ const domName_arrayRef getName_array() const { return elemName_array; }
+ /**
+ * Gets the bool_array element.
+ * @return a daeSmartRef to the bool_array element.
+ */
+ const domBool_arrayRef getBool_array() const { return elemBool_array; }
+ /**
+ * Gets the float_array element.
+ * @return a daeSmartRef to the float_array element.
+ */
+ const domFloat_arrayRef getFloat_array() const { return elemFloat_array; }
+ /**
+ * Gets the int_array element.
+ * @return a daeSmartRef to the int_array element.
+ */
+ const domInt_arrayRef getInt_array() const { return elemInt_array; }
+ /**
+ * Gets the SIDREF_array element.
+ * @return a daeSmartRef to the SIDREF_array element.
+ */
+ const domSidref_arrayRef getSIDREF_array() const { return elemSIDREF_array; }
+ /**
+ * Gets the technique_common element.
+ * @return a daeSmartRef to the technique_common element.
+ */
+ const domTechnique_commonRef getTechnique_common() const { return elemTechnique_common; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a reference to the array of technique elements.
+ */
+ domTechnique_Array &getTechnique_array() { return elemTechnique_array; }
+ /**
+ * Gets the technique element array.
+ * @return Returns a constant reference to the array of technique elements.
+ */
+ const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domSource(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemToken_array(), elemIDREF_array(), elemName_array(), elemBool_array(), elemFloat_array(), elemInt_array(), elemSIDREF_array(), elemTechnique_common(), elemTechnique_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSource() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSource &operator=( const domSource &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domSphere.h b/1.4.0/dom/include/1.5/dom/domSphere.h
new file mode 100644
index 0000000..27eb408
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domSphere.h
@@ -0,0 +1,142 @@
+#ifndef __dom150Sphere_h__
+#define __dom150Sphere_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * A centered sphere primitive.
+ */
+class domSphere : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SPHERE; }
+ static daeInt ID() { return 285; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domRadius;
+
+ typedef daeSmartRef<domRadius> domRadiusRef;
+ typedef daeTArray<domRadiusRef> domRadius_Array;
+
+/**
+ * A float value that represents the radius of the sphere
+ */
+ class domRadius : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::RADIUS; }
+ static daeInt ID() { return 286; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFloat of the value.
+ */
+ domFloat& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFloat& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFloat value of the text data of this element.
+ */
+ domFloat _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domRadius(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domRadius() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRadius &operator=( const domRadius &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+/**
+ * A float value that represents the radius of the sphere @see domRadius
+ */
+ domRadiusRef elemRadius;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the radius element.
+ * @return a daeSmartRef to the radius element.
+ */
+ const domRadiusRef getRadius() const { return elemRadius; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domSphere(DAE& dae) : daeElement(dae), elemRadius(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSphere() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSphere &operator=( const domSphere &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domSpline.h b/1.4.0/dom/include/1.5/dom/domSpline.h
new file mode 100644
index 0000000..6232050
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domSpline.h
@@ -0,0 +1,188 @@
+#ifndef __dom150Spline_h__
+#define __dom150Spline_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domSource.h>
+#include <1.5/dom/domInput_local.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The spline element contains control vertex information sufficient to describe
+ * basic splines.
+ */
+class domSpline : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SPLINE; }
+ static daeInt ID() { return 337; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domControl_vertices;
+
+ typedef daeSmartRef<domControl_vertices> domControl_verticesRef;
+ typedef daeTArray<domControl_verticesRef> domControl_vertices_Array;
+
+/**
+ * The control vertices element must occur exactly one time. It is used
+ * to describe the CVs of the spline.
+ */
+ class domControl_vertices : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CONTROL_VERTICES; }
+ static daeInt ID() { return 338; }
+ virtual daeInt typeID() const { return ID(); }
+
+ protected: // Elements
+/**
+ * The input element must occur at least one time. These inputs are local
+ * inputs. @see domInput
+ */
+ domInput_local_Array elemInput_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the input element array.
+ * @return Returns a reference to the array of input elements.
+ */
+ domInput_local_Array &getInput_array() { return elemInput_array; }
+ /**
+ * Gets the input element array.
+ * @return Returns a constant reference to the array of input elements.
+ */
+ const domInput_local_Array &getInput_array() const { return elemInput_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ protected:
+ /**
+ * Constructor
+ */
+ domControl_vertices(DAE& dae) : daeElement(dae), elemInput_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domControl_vertices() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domControl_vertices &operator=( const domControl_vertices &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attribute
+ xsBoolean attrClosed;
+
+protected: // Elements
+/**
+ * The mesh element must contain one or more source elements. @see domSource
+ */
+ domSource_Array elemSource_array;
+/**
+ * The control vertices element must occur exactly one time. It is used
+ * to describe the CVs of the spline. @see domControl_vertices
+ */
+ domControl_verticesRef elemControl_vertices;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the closed attribute.
+ * @return Returns a xsBoolean of the closed attribute.
+ */
+ xsBoolean getClosed() const { return attrClosed; }
+ /**
+ * Sets the closed attribute.
+ * @param atClosed The new value for the closed attribute.
+ */
+ void setClosed( xsBoolean atClosed ) { attrClosed = atClosed; }
+
+ /**
+ * Gets the source element array.
+ * @return Returns a reference to the array of source elements.
+ */
+ domSource_Array &getSource_array() { return elemSource_array; }
+ /**
+ * Gets the source element array.
+ * @return Returns a constant reference to the array of source elements.
+ */
+ const domSource_Array &getSource_array() const { return elemSource_array; }
+ /**
+ * Gets the control_vertices element.
+ * @return a daeSmartRef to the control_vertices element.
+ */
+ const domControl_verticesRef getControl_vertices() const { return elemControl_vertices; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domSpline(DAE& dae) : daeElement(dae), attrClosed(), elemSource_array(), elemControl_vertices(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSpline() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSpline &operator=( const domSpline &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domSurface.h b/1.4.0/dom/include/1.5/dom/domSurface.h
new file mode 100644
index 0000000..5b7d6ef
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domSurface.h
@@ -0,0 +1,302 @@
+#ifndef __dom150Surface_h__
+#define __dom150Surface_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domPlane.h>
+#include <1.5/dom/domSphere.h>
+#include <1.5/dom/domTorus.h>
+#include <1.5/dom/domSwept_surface.h>
+#include <1.5/dom/domNurbs_surface.h>
+#include <1.5/dom/domCone.h>
+#include <1.5/dom/domExtra.h>
+#include <1.5/dom/domOrient.h>
+#include <1.5/dom/domOrigin.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * A surfaceType defines the attributes of a surface element. With rotate
+ * and translate the surface can be positioned to its right location.
+ */
+class domSurface : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SURFACE; }
+ static daeInt ID() { return 359; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domCylinder;
+
+ typedef daeSmartRef<domCylinder> domCylinderRef;
+ typedef daeTArray<domCylinderRef> domCylinder_Array;
+
+ class domCylinder : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CYLINDER; }
+ static daeInt ID() { return 360; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domRadius;
+
+ typedef daeSmartRef<domRadius> domRadiusRef;
+ typedef daeTArray<domRadiusRef> domRadius_Array;
+
+ class domRadius : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::RADIUS; }
+ static daeInt ID() { return 361; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFloat of the value.
+ */
+ domFloat& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFloat& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFloat value of the text data of this element.
+ */
+ domFloat _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domRadius(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domRadius() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRadius &operator=( const domRadius &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+ protected: // Elements
+ domRadiusRef elemRadius;
+ domExtra_Array elemExtra_array;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the radius element.
+ * @return a daeSmartRef to the radius element.
+ */
+ const domRadiusRef getRadius() const { return elemRadius; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ protected:
+ /**
+ * Constructor
+ */
+ domCylinder(DAE& dae) : daeElement(dae), elemRadius(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domCylinder() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domCylinder &operator=( const domCylinder &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+/**
+ * The id of the surface.
+ */
+ domSid attrSid;
+/**
+ * The name of the surface.
+ */
+ xsToken attrName;
+
+protected: // Elements
+ domPlaneRef elemPlane;
+ domSphereRef elemSphere;
+ domTorusRef elemTorus;
+ domSwept_surfaceRef elemSwept_surface;
+ domNurbs_surfaceRef elemNurbs_surface;
+ domConeRef elemCone;
+ domCylinderRef elemCylinder;
+ domOrient_Array elemOrient_array;
+ domOriginRef elemOrigin;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the plane element.
+ * @return a daeSmartRef to the plane element.
+ */
+ const domPlaneRef getPlane() const { return elemPlane; }
+ /**
+ * Gets the sphere element.
+ * @return a daeSmartRef to the sphere element.
+ */
+ const domSphereRef getSphere() const { return elemSphere; }
+ /**
+ * Gets the torus element.
+ * @return a daeSmartRef to the torus element.
+ */
+ const domTorusRef getTorus() const { return elemTorus; }
+ /**
+ * Gets the swept_surface element.
+ * @return a daeSmartRef to the swept_surface element.
+ */
+ const domSwept_surfaceRef getSwept_surface() const { return elemSwept_surface; }
+ /**
+ * Gets the nurbs_surface element.
+ * @return a daeSmartRef to the nurbs_surface element.
+ */
+ const domNurbs_surfaceRef getNurbs_surface() const { return elemNurbs_surface; }
+ /**
+ * Gets the cone element.
+ * @return a daeSmartRef to the cone element.
+ */
+ const domConeRef getCone() const { return elemCone; }
+ /**
+ * Gets the cylinder element.
+ * @return a daeSmartRef to the cylinder element.
+ */
+ const domCylinderRef getCylinder() const { return elemCylinder; }
+ /**
+ * Gets the orient element array.
+ * @return Returns a reference to the array of orient elements.
+ */
+ domOrient_Array &getOrient_array() { return elemOrient_array; }
+ /**
+ * Gets the orient element array.
+ * @return Returns a constant reference to the array of orient elements.
+ */
+ const domOrient_Array &getOrient_array() const { return elemOrient_array; }
+ /**
+ * Gets the origin element.
+ * @return a daeSmartRef to the origin element.
+ */
+ const domOriginRef getOrigin() const { return elemOrigin; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domSurface(DAE& dae) : daeElement(dae), attrSid(), attrName(), elemPlane(), elemSphere(), elemTorus(), elemSwept_surface(), elemNurbs_surface(), elemCone(), elemCylinder(), elemOrient_array(), elemOrigin() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSurface() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSurface &operator=( const domSurface &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domSurface_curves.h b/1.4.0/dom/include/1.5/dom/domSurface_curves.h
new file mode 100644
index 0000000..151a6d5
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domSurface_curves.h
@@ -0,0 +1,81 @@
+#ifndef __dom150Surface_curves_h__
+#define __dom150Surface_curves_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domCurve.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * This element holds all the pcurves that are needed for the geometrical
+ * description of the topological entities edges on the surfaces they lie
+ * on.
+ */
+class domSurface_curves : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SURFACE_CURVES; }
+ static daeInt ID() { return 350; }
+ virtual daeInt typeID() const { return ID(); }
+
+protected: // Elements
+ domCurve_Array elemCurve_array;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the curve element array.
+ * @return Returns a reference to the array of curve elements.
+ */
+ domCurve_Array &getCurve_array() { return elemCurve_array; }
+ /**
+ * Gets the curve element array.
+ * @return Returns a constant reference to the array of curve elements.
+ */
+ const domCurve_Array &getCurve_array() const { return elemCurve_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domSurface_curves(DAE& dae) : daeElement(dae), elemCurve_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSurface_curves() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSurface_curves &operator=( const domSurface_curves &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domSurfaces.h b/1.4.0/dom/include/1.5/dom/domSurfaces.h
new file mode 100644
index 0000000..4516a90
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domSurfaces.h
@@ -0,0 +1,76 @@
+#ifndef __dom150Surfaces_h__
+#define __dom150Surfaces_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domSurface.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domSurfaces : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SURFACES; }
+ static daeInt ID() { return 362; }
+ virtual daeInt typeID() const { return ID(); }
+
+protected: // Elements
+ domSurface_Array elemSurface_array;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the surface element array.
+ * @return Returns a reference to the array of surface elements.
+ */
+ domSurface_Array &getSurface_array() { return elemSurface_array; }
+ /**
+ * Gets the surface element array.
+ * @return Returns a constant reference to the array of surface elements.
+ */
+ const domSurface_Array &getSurface_array() const { return elemSurface_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domSurfaces(DAE& dae) : daeElement(dae), elemSurface_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSurfaces() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSurfaces &operator=( const domSurfaces &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domSwept_surface.h b/1.4.0/dom/include/1.5/dom/domSwept_surface.h
new file mode 100644
index 0000000..f70e8f6
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domSwept_surface.h
@@ -0,0 +1,305 @@
+#ifndef __dom150Swept_surface_h__
+#define __dom150Swept_surface_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domCurve.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * Describes a surface of linear extrusion ("extruded surface"), e.g.
+ * a generalized cylinder. Such a surface is obtained by sweeping a curve
+ * (called the "extruded curve" or "basis") in a given direction (referred
+ * to as the "direction of extrusion" and defined by a unit vector).
+ * The u parameter is along the extruded curve. The v parameter is along
+ * the direction of extrusion. The parameter range for the u parameter
+ * is defined by the reference curve. The parameter range for the v parameter
+ * is ] - infinity, + infinity [. The position of the curve gives the
+ * origin of the v parameter. The form of a surface of linear extrusion
+ * is generally a ruled surface. It can be: - a cylindrical surface, if
+ * the extruded curve is a circle, or a trimmed circle, with an axis
+ * parallel to the direction of extrusion, or - a planar surface, if the
+ * extruded curve is a line.
+ */
+class domSwept_surface : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SWEPT_SURFACE; }
+ static daeInt ID() { return 352; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domDirection;
+
+ typedef daeSmartRef<domDirection> domDirectionRef;
+ typedef daeTArray<domDirectionRef> domDirection_Array;
+
+ class domDirection : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DIRECTION; }
+ static daeInt ID() { return 353; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFloat3 of the value.
+ */
+ domFloat3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFloat3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFloat3 value of the text data of this element.
+ */
+ domFloat3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domDirection(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domDirection() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domDirection &operator=( const domDirection &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domOrigin;
+
+ typedef daeSmartRef<domOrigin> domOriginRef;
+ typedef daeTArray<domOriginRef> domOrigin_Array;
+
+ class domOrigin : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ORIGIN; }
+ static daeInt ID() { return 354; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFloat3 of the value.
+ */
+ domFloat3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFloat3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFloat3 value of the text data of this element.
+ */
+ domFloat3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domOrigin(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domOrigin() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domOrigin &operator=( const domOrigin &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domAxis;
+
+ typedef daeSmartRef<domAxis> domAxisRef;
+ typedef daeTArray<domAxisRef> domAxis_Array;
+
+ class domAxis : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::AXIS; }
+ static daeInt ID() { return 355; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFloat3 of the value.
+ */
+ domFloat3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFloat3& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFloat3 value of the text data of this element.
+ */
+ domFloat3 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domAxis(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domAxis() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domAxis &operator=( const domAxis &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+ domCurveRef elemCurve;
+ domDirectionRef elemDirection;
+ domOriginRef elemOrigin;
+ domAxisRef elemAxis;
+ domExtra_Array elemExtra_array;
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+ /**
+ * Used to store information needed for some content model objects.
+ */
+ daeTArray< daeCharArray * > _CMData;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the curve element.
+ * @return a daeSmartRef to the curve element.
+ */
+ const domCurveRef getCurve() const { return elemCurve; }
+ /**
+ * Gets the direction element.
+ * @return a daeSmartRef to the direction element.
+ */
+ const domDirectionRef getDirection() const { return elemDirection; }
+ /**
+ * Gets the origin element.
+ * @return a daeSmartRef to the origin element.
+ */
+ const domOriginRef getOrigin() const { return elemOrigin; }
+ /**
+ * Gets the axis element.
+ * @return a daeSmartRef to the axis element.
+ */
+ const domAxisRef getAxis() const { return elemAxis; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domSwept_surface(DAE& dae) : daeElement(dae), elemCurve(), elemDirection(), elemOrigin(), elemAxis(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domSwept_surface() { daeElement::deleteCMDataArray(_CMData); }
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domSwept_surface &operator=( const domSwept_surface &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domTargetable_float.h b/1.4.0/dom/include/1.5/dom/domTargetable_float.h
new file mode 100644
index 0000000..7641a0b
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domTargetable_float.h
@@ -0,0 +1,89 @@
+#ifndef __dom150Targetable_float_h__
+#define __dom150Targetable_float_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The targetable_float_type element is used to represent elements which contain
+ * a single float value which can be targeted for animation.
+ */
+class domTargetable_float : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TARGETABLE_FLOAT; }
+ static daeInt ID() { return 3; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attribute
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ domSid attrSid;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the value of this element.
+ * @return a domFloat of the value.
+ */
+ domFloat& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFloat& val ) { _value = val; }
+
+protected: // Value
+ /**
+ * The domFloat value of the text data of this element.
+ */
+ domFloat _value;
+protected:
+ /**
+ * Constructor
+ */
+ domTargetable_float(DAE& dae) : daeElement(dae), attrSid(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTargetable_float() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTargetable_float &operator=( const domTargetable_float &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domTargetable_float3.h b/1.4.0/dom/include/1.5/dom/domTargetable_float3.h
new file mode 100644
index 0000000..6bbf559
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domTargetable_float3.h
@@ -0,0 +1,89 @@
+#ifndef __dom150Targetable_float3_h__
+#define __dom150Targetable_float3_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The targetable_float3_type element is used to represent elements which
+ * contain a float3 value which can be targeted for animation.
+ */
+class domTargetable_float3 : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TARGETABLE_FLOAT3; }
+ static daeInt ID() { return 4; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attribute
+/**
+ * The sid attribute is a text string value containing the sub-identifier
+ * of this element. This value must be unique within the scope of the parent
+ * element. Optional attribute.
+ */
+ domSid attrSid;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the value of this element.
+ * @return a domFloat3 of the value.
+ */
+ domFloat3& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFloat3& val ) { _value = val; }
+
+protected: // Value
+ /**
+ * The domFloat3 value of the text data of this element.
+ */
+ domFloat3 _value;
+protected:
+ /**
+ * Constructor
+ */
+ domTargetable_float3(DAE& dae) : daeElement(dae), attrSid(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTargetable_float3() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTargetable_float3 &operator=( const domTargetable_float3 &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domTargetable_float4.h b/1.4.0/dom/include/1.5/dom/domTargetable_float4.h
new file mode 100644
index 0000000..1260cd3
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domTargetable_float4.h
@@ -0,0 +1,80 @@
+#ifndef __dom150Targetable_float4_h__
+#define __dom150Targetable_float4_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domTargetable_float4 : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TARGETABLE_FLOAT4; }
+ static daeInt ID() { return 368; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attribute
+ domSid attrSid;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
+
+ /**
+ * Gets the value of this element.
+ * @return a domFloat4 of the value.
+ */
+ domFloat4& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFloat4& val ) { _value = val; }
+
+protected: // Value
+ /**
+ * The domFloat4 value of the text data of this element.
+ */
+ domFloat4 _value;
+protected:
+ /**
+ * Constructor
+ */
+ domTargetable_float4(DAE& dae) : daeElement(dae), attrSid(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTargetable_float4() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTargetable_float4 &operator=( const domTargetable_float4 &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domTechnique.h b/1.4.0/dom/include/1.5/dom/domTechnique.h
new file mode 100644
index 0000000..5ce398e
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domTechnique.h
@@ -0,0 +1,99 @@
+#ifndef __dom150Technique_h__
+#define __dom150Technique_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The technique element declares the information used to process some portion
+ * of the content. Each technique conforms to an associated profile. Techniques
+ * generally act as a "switch". If more than one is present for a particular
+ * portion of content, on import, one or the other is picked, but usually
+ * not both. Selection should be based on which profile the importing application
+ * can support. Techniques contain application data and programs, making them
+ * assets that can be managed as a unit.
+ */
+class domTechnique : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TECHNIQUE; }
+ static daeInt ID() { return 25; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attribute
+/**
+ * The profile attribute indicates the type of profile. This is a vendor
+ * defined character string that indicates the platform or capability target
+ * for the technique. Required attribute.
+ */
+ xsNMTOKEN attrProfile;
+
+protected: // Element
+ /**
+ * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
+ */
+ daeElementRefArray _contents;
+ /**
+ * Used to preserve order in elements that have a complex content model.
+ */
+ daeUIntArray _contentsOrder;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the profile attribute.
+ * @return Returns a xsNMTOKEN of the profile attribute.
+ */
+ xsNMTOKEN getProfile() const { return attrProfile; }
+ /**
+ * Sets the profile attribute.
+ * @param atProfile The new value for the profile attribute.
+ */
+ void setProfile( xsNMTOKEN atProfile ) { *(daeStringRef*)&attrProfile = atProfile;}
+
+ /**
+ * Gets the _contents array.
+ * @return Returns a reference to the _contents element array.
+ */
+ daeElementRefArray &getContents() { return _contents; }
+ /**
+ * Gets the _contents array.
+ * @return Returns a constant reference to the _contents element array.
+ */
+ const daeElementRefArray &getContents() const { return _contents; }
+
+protected:
+ /**
+ * Constructor
+ */
+ domTechnique(DAE& dae) : daeElement(dae), attrProfile() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTechnique() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTechnique &operator=( const domTechnique &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domToken_array.h b/1.4.0/dom/include/1.5/dom/domToken_array.h
new file mode 100644
index 0000000..037e77f
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domToken_array.h
@@ -0,0 +1,122 @@
+#ifndef __dom150Token_array_h__
+#define __dom150Token_array_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The token_array_type element declares the storage for a homogenous array
+ * of xs:token string values.
+ */
+class domToken_array : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TOKEN_ARRAY; }
+ static daeInt ID() { return 5; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+/**
+ * The count attribute indicates the number of values in the array. Required
+ * attribute.
+ */
+ domUint attrCount;
+
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the count attribute.
+ * @return Returns a domUint of the count attribute.
+ */
+ domUint getCount() const { return attrCount; }
+ /**
+ * Sets the count attribute.
+ * @param atCount The new value for the count attribute.
+ */
+ void setCount( domUint atCount ) { attrCount = atCount; }
+
+ /**
+ * Gets the value of this element.
+ * @return a domList_of_tokens of the value.
+ */
+ domList_of_tokens& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domList_of_tokens& val ) { _value = val; }
+
+protected: // Value
+ /**
+ * The domList_of_tokens value of the text data of this element.
+ */
+ domList_of_tokens _value;
+protected:
+ /**
+ * Constructor
+ */
+ domToken_array(DAE& dae) : daeElement(dae), attrId(), attrName(), attrCount(), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domToken_array() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domToken_array &operator=( const domToken_array &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domTorus.h b/1.4.0/dom/include/1.5/dom/domTorus.h
new file mode 100644
index 0000000..23adea0
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domTorus.h
@@ -0,0 +1,130 @@
+#ifndef __dom150Torus_h__
+#define __dom150Torus_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+class domTorus : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TORUS; }
+ static daeInt ID() { return 320; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domRadius;
+
+ typedef daeSmartRef<domRadius> domRadiusRef;
+ typedef daeTArray<domRadiusRef> domRadius_Array;
+
+ class domRadius : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::RADIUS; }
+ static daeInt ID() { return 321; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domFloat2 of the value.
+ */
+ domFloat2& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domFloat2& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domFloat2 value of the text data of this element.
+ */
+ domFloat2 _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domRadius(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domRadius() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRadius &operator=( const domRadius &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+
+protected: // Elements
+ domRadiusRef elemRadius;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the radius element.
+ * @return a daeSmartRef to the radius element.
+ */
+ const domRadiusRef getRadius() const { return elemRadius; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domTorus(DAE& dae) : daeElement(dae), elemRadius(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTorus() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTorus &operator=( const domTorus &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domTranslate.h b/1.4.0/dom/include/1.5/dom/domTranslate.h
new file mode 100644
index 0000000..3797247
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domTranslate.h
@@ -0,0 +1,57 @@
+#ifndef __dom150Translate_h__
+#define __dom150Translate_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domTargetable_float3.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+#include <1.5/dom/domTargetable_float3.h>
+/**
+ * The translate element contains a mathematical vector that represents the
+ * distance along the X, Y and Z-axes.
+ */
+class domTranslate : public domTargetable_float3
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TRANSLATE; }
+ static daeInt ID() { return 18; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+public: //Accessors and Mutators
+protected:
+ /**
+ * Constructor
+ */
+ domTranslate(DAE& dae) : domTargetable_float3(dae) {}
+ /**
+ * Destructor
+ */
+ virtual ~domTranslate() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTranslate &operator=( const domTranslate &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domTriangles.h b/1.4.0/dom/include/1.5/dom/domTriangles.h
new file mode 100644
index 0000000..649233a
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domTriangles.h
@@ -0,0 +1,150 @@
+#ifndef __dom150Triangles_h__
+#define __dom150Triangles_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domInput_local_offset.h>
+#include <1.5/dom/domP.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The triangles element provides the information needed to bind vertex attributes
+ * together and then organize those vertices into individual triangles.Each
+ * triangle described by the mesh has three vertices. The first triangle
+ * is formed from the first, second, and third vertices. The second triangle
+ * is formed from the fourth, fifth, and sixth vertices, and so on.
+ */
+class domTriangles : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TRIANGLES; }
+ static daeInt ID() { return 35; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+/**
+ * The count attribute indicates the number of triangle primitives. Required
+ * attribute.
+ */
+ domUint attrCount;
+/**
+ * The material attribute declares a symbol for a material. This symbol is
+ * bound to a material at the time of instantiation. Optional attribute.
+ * If the material attribute is not specified then the lighting and shading
+ * results are application defined.
+ */
+ xsNCName attrMaterial;
+
+protected: // Elements
+/**
+ * The input element may occur any number of times. This input is a local
+ * input with the offset and set attributes. @see domInput
+ */
+ domInput_local_offset_Array elemInput_array;
+/**
+ * The triangles element may have zero or one p element. @see domP
+ */
+ domPRef elemP;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the count attribute.
+ * @return Returns a domUint of the count attribute.
+ */
+ domUint getCount() const { return attrCount; }
+ /**
+ * Sets the count attribute.
+ * @param atCount The new value for the count attribute.
+ */
+ void setCount( domUint atCount ) { attrCount = atCount; }
+
+ /**
+ * Gets the material attribute.
+ * @return Returns a xsNCName of the material attribute.
+ */
+ xsNCName getMaterial() const { return attrMaterial; }
+ /**
+ * Sets the material attribute.
+ * @param atMaterial The new value for the material attribute.
+ */
+ void setMaterial( xsNCName atMaterial ) { *(daeStringRef*)&attrMaterial = atMaterial;}
+
+ /**
+ * Gets the input element array.
+ * @return Returns a reference to the array of input elements.
+ */
+ domInput_local_offset_Array &getInput_array() { return elemInput_array; }
+ /**
+ * Gets the input element array.
+ * @return Returns a constant reference to the array of input elements.
+ */
+ const domInput_local_offset_Array &getInput_array() const { return elemInput_array; }
+ /**
+ * Gets the p element.
+ * @return a daeSmartRef to the p element.
+ */
+ const domPRef getP() const { return elemP; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domTriangles(DAE& dae) : daeElement(dae), attrName(), attrCount(), attrMaterial(), elemInput_array(), elemP(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTriangles() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTriangles &operator=( const domTriangles &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domTrifans.h b/1.4.0/dom/include/1.5/dom/domTrifans.h
new file mode 100644
index 0000000..f315b6e
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domTrifans.h
@@ -0,0 +1,155 @@
+#ifndef __dom150Trifans_h__
+#define __dom150Trifans_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domInput_local_offset.h>
+#include <1.5/dom/domP.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The trifans element provides the information needed to bind vertex attributes
+ * together and then organize those vertices into connected triangles. Each
+ * triangle described by the mesh has three vertices. The first triangle
+ * is formed from first, second, and third vertices. Each subsequent triangle
+ * is formed from the current vertex, reusing the first and the previous vertices.
+ */
+class domTrifans : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TRIFANS; }
+ static daeInt ID() { return 36; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+/**
+ * The count attribute indicates the number of triangle fan primitives. Required
+ * attribute.
+ */
+ domUint attrCount;
+/**
+ * The material attribute declares a symbol for a material. This symbol is
+ * bound to a material at the time of instantiation. If the material attribute
+ * is not specified then the lighting and shading results are application
+ * defined. Optional attribute.
+ */
+ xsNCName attrMaterial;
+
+protected: // Elements
+/**
+ * The input element may occur any number of times. This input is a local
+ * input with the offset and set attributes. @see domInput
+ */
+ domInput_local_offset_Array elemInput_array;
+/**
+ * The trifans element may have any number of p elements. @see domP
+ */
+ domP_Array elemP_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the count attribute.
+ * @return Returns a domUint of the count attribute.
+ */
+ domUint getCount() const { return attrCount; }
+ /**
+ * Sets the count attribute.
+ * @param atCount The new value for the count attribute.
+ */
+ void setCount( domUint atCount ) { attrCount = atCount; }
+
+ /**
+ * Gets the material attribute.
+ * @return Returns a xsNCName of the material attribute.
+ */
+ xsNCName getMaterial() const { return attrMaterial; }
+ /**
+ * Sets the material attribute.
+ * @param atMaterial The new value for the material attribute.
+ */
+ void setMaterial( xsNCName atMaterial ) { *(daeStringRef*)&attrMaterial = atMaterial;}
+
+ /**
+ * Gets the input element array.
+ * @return Returns a reference to the array of input elements.
+ */
+ domInput_local_offset_Array &getInput_array() { return elemInput_array; }
+ /**
+ * Gets the input element array.
+ * @return Returns a constant reference to the array of input elements.
+ */
+ const domInput_local_offset_Array &getInput_array() const { return elemInput_array; }
+ /**
+ * Gets the p element array.
+ * @return Returns a reference to the array of p elements.
+ */
+ domP_Array &getP_array() { return elemP_array; }
+ /**
+ * Gets the p element array.
+ * @return Returns a constant reference to the array of p elements.
+ */
+ const domP_Array &getP_array() const { return elemP_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domTrifans(DAE& dae) : daeElement(dae), attrName(), attrCount(), attrMaterial(), elemInput_array(), elemP_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTrifans() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTrifans &operator=( const domTrifans &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domTristrips.h b/1.4.0/dom/include/1.5/dom/domTristrips.h
new file mode 100644
index 0000000..4fa57ba
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domTristrips.h
@@ -0,0 +1,155 @@
+#ifndef __dom150Tristrips_h__
+#define __dom150Tristrips_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domInput_local_offset.h>
+#include <1.5/dom/domP.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The tristrips element provides the information needed to bind vertex attributes
+ * together and then organize those vertices into connected triangles. Each
+ * triangle described by the mesh has three vertices. The first triangle
+ * is formed from first, second, and third vertices. Each subsequent triangle
+ * is formed from the current vertex, reusing the previous two vertices.
+ */
+class domTristrips : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TRISTRIPS; }
+ static daeInt ID() { return 33; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+/**
+ * The count attribute indicates the number of triangle strip primitives.
+ * Required attribute.
+ */
+ domUint attrCount;
+/**
+ * The material attribute declares a symbol for a material. This symbol is
+ * bound to a material at the time of instantiation. If the material attribute
+ * is not specified then the lighting and shading results are application
+ * defined. Optional attribute.
+ */
+ xsNCName attrMaterial;
+
+protected: // Elements
+/**
+ * The input element may occur any number of times. This input is a local
+ * input with the offset and set attributes. @see domInput
+ */
+ domInput_local_offset_Array elemInput_array;
+/**
+ * The tristrips element may have any number of p elements. @see domP
+ */
+ domP_Array elemP_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the count attribute.
+ * @return Returns a domUint of the count attribute.
+ */
+ domUint getCount() const { return attrCount; }
+ /**
+ * Sets the count attribute.
+ * @param atCount The new value for the count attribute.
+ */
+ void setCount( domUint atCount ) { attrCount = atCount; }
+
+ /**
+ * Gets the material attribute.
+ * @return Returns a xsNCName of the material attribute.
+ */
+ xsNCName getMaterial() const { return attrMaterial; }
+ /**
+ * Sets the material attribute.
+ * @param atMaterial The new value for the material attribute.
+ */
+ void setMaterial( xsNCName atMaterial ) { *(daeStringRef*)&attrMaterial = atMaterial;}
+
+ /**
+ * Gets the input element array.
+ * @return Returns a reference to the array of input elements.
+ */
+ domInput_local_offset_Array &getInput_array() { return elemInput_array; }
+ /**
+ * Gets the input element array.
+ * @return Returns a constant reference to the array of input elements.
+ */
+ const domInput_local_offset_Array &getInput_array() const { return elemInput_array; }
+ /**
+ * Gets the p element array.
+ * @return Returns a reference to the array of p elements.
+ */
+ domP_Array &getP_array() { return elemP_array; }
+ /**
+ * Gets the p element array.
+ * @return Returns a constant reference to the array of p elements.
+ */
+ const domP_Array &getP_array() const { return elemP_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domTristrips(DAE& dae) : daeElement(dae), attrName(), attrCount(), attrMaterial(), elemInput_array(), elemP_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTristrips() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTristrips &operator=( const domTristrips &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domTypes.h b/1.4.0/dom/include/1.5/dom/domTypes.h
new file mode 100644
index 0000000..e27ecbf
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domTypes.h
@@ -0,0 +1,1205 @@
+#ifndef __DOM150_TYPES_H__
+#define __DOM150_TYPES_H__
+
+#include <dae/daeDomTypes.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+typedef xsDouble domFloat;
+typedef xsLong domInt;
+typedef xsUnsignedLong domUint;
+typedef xsString domSidref;
+typedef xsNCName domSid;
+typedef xsBooleanArray domList_of_bools;
+typedef daeTArray<domFloat> domList_of_floats;
+typedef xsHexBinaryArray domList_of_hex_binary;
+typedef daeTArray<domInt> domList_of_ints;
+typedef xsNameArray domList_of_names;
+typedef xsNameArray domList_of_idrefs;
+typedef daeTArray<domSidref> domList_of_sidrefs;
+typedef xsTokenArray domList_of_tokens;
+typedef daeTArray<domUint> domList_of_uints;
+typedef domList_of_bools domBool2;
+typedef domList_of_bools domBool3;
+typedef domList_of_bools domBool4;
+typedef domList_of_bools domBool2x2;
+typedef domList_of_bools domBool2x3;
+typedef domList_of_bools domBool2x4;
+typedef domList_of_bools domBool3x2;
+typedef domList_of_bools domBool3x3;
+typedef domList_of_bools domBool3x4;
+typedef domList_of_bools domBool4x2;
+typedef domList_of_bools domBool4x3;
+typedef domList_of_bools domBool4x4;
+typedef domList_of_floats domFloat2;
+typedef domList_of_floats domFloat3;
+typedef domList_of_floats domFloat4;
+typedef domList_of_floats domFloat7;
+typedef domList_of_floats domFloat2x2;
+typedef domList_of_floats domFloat2x3;
+typedef domList_of_floats domFloat2x4;
+typedef domList_of_floats domFloat3x2;
+typedef domList_of_floats domFloat3x3;
+typedef domList_of_floats domFloat3x4;
+typedef domList_of_floats domFloat4x2;
+typedef domList_of_floats domFloat4x3;
+typedef domList_of_floats domFloat4x4;
+typedef domList_of_ints domInt2;
+typedef domList_of_ints domInt3;
+typedef domList_of_ints domInt4;
+typedef domList_of_ints domInt2x2;
+typedef domList_of_ints domInt2x3;
+typedef domList_of_ints domInt2x4;
+typedef domList_of_ints domInt3x2;
+typedef domList_of_ints domInt3x3;
+typedef domList_of_ints domInt3x4;
+typedef domList_of_ints domInt4x2;
+typedef domList_of_ints domInt4x3;
+typedef domList_of_ints domInt4x4;
+typedef xsUnsignedByte domDigits;
+typedef xsShort domMagnitude;
+/**
+ * This urifragment_type element is used for URI reference which can only
+ * reference a resource declared within it's same document.
+ */
+typedef xsAnyURI domUrifragment;
+typedef domFloat4 domFx_color;
+/**
+ * ? GEOMETRY: [default] The geometry associated with this instance_geometry
+ * or nstance_material. ? SCENE_GEOMETRY: Draw the entire scene's geometry
+ * but with this effect, not the effects or materials already associated with
+ * the geometry. This is for techniques such as shadow-buffer generation,
+ * where you might be interested only in extracting the Z value from the light.
+ * This is without regard to ordering on the assumption that ZBuffer handles
+ * order. ? SCENE_IMAGE: Draw the entire scene naturally into the render targets.
+ * Hense producing an image of the scene. When used more then once, the later
+ * uses must include what has been rendered so far to the backbuffer since
+ * the first render. This is for effects that need an accurate image of the
+ * scene to work on for effects such as postprocessing blurs. ? FULL_SCREEN_QUAD:
+ * Positions are 0,0 to 1,1 and the UVs match.
+ */
+typedef xsString domFx_draw;
+typedef xsNonNegativeInteger domGl_max_lights_index;
+typedef xsNonNegativeInteger domGl_max_clip_planes_index;
+typedef xsNonNegativeInteger domGl_max_texture_image_units_index;
+typedef xsFloat domGl_alpha_value;
+typedef xsNonNegativeInteger domGles_max_lights_index;
+typedef xsNonNegativeInteger domGles_max_clip_planes_index;
+typedef xsNonNegativeInteger domGles_max_texture_coords_index;
+typedef xsNonNegativeInteger domGles_max_texture_image_units_index;
+typedef xsNonNegativeInteger domGles_texcombiner_argument_index;
+typedef domFloat2 domDynamic_limit;
+
+/**
+ * An enumuerated type specifying the acceptable morph methods.
+ */
+enum domMorph_method {
+ MORPH_METHOD_NORMALIZED,
+ MORPH_METHOD_RELATIVE,
+ MORPH_METHOD_COUNT = 2
+};
+
+/**
+ * An enumerated type specifying the acceptable node types.
+ */
+enum domNode_enum {
+ NODE_ENUM_JOINT,
+ NODE_ENUM_NODE,
+ NODE_ENUM_COUNT = 2
+};
+
+/**
+ * An enumerated type specifying the acceptable sampler pre and post behavior
+ * attribute types.
+ */
+enum domSampler_behavior {
+ SAMPLER_BEHAVIOR_CONSTANT,
+ SAMPLER_BEHAVIOR_CYCLE,
+ SAMPLER_BEHAVIOR_CYCLE_RELATIVE,
+ SAMPLER_BEHAVIOR_GRADIENT,
+ SAMPLER_BEHAVIOR_OSCILLATE,
+ SAMPLER_BEHAVIOR_UNDEFINED,
+ SAMPLER_BEHAVIOR_COUNT = 6
+};
+
+/**
+ * An enumerated type specifying the acceptable up-axis values.
+ */
+enum domUp_axis {
+ UP_AXIS_X_UP,
+ UP_AXIS_Y_UP,
+ UP_AXIS_Z_UP,
+ UP_AXIS_COUNT = 3
+};
+
+/**
+ * An enumerated type specifying the acceptable document versions.
+ */
+enum domVersion {
+ VERSION_1_5_0,
+ VERSION_COUNT = 1
+};
+
+enum domImage_face {
+ IMAGE_FACE_POSITIVE_X,
+ IMAGE_FACE_NEGATIVE_X,
+ IMAGE_FACE_POSITIVE_Y,
+ IMAGE_FACE_NEGATIVE_Y,
+ IMAGE_FACE_POSITIVE_Z,
+ IMAGE_FACE_NEGATIVE_Z,
+ IMAGE_FACE_COUNT = 6
+};
+
+/**
+ * The per-texel layout of the format. The length of the string indicate
+ * how many channels there are and the letter respresents the name of the
+ * channel. There are typically 0 to 4 channels.
+ */
+enum domImage_format_hint_channels {
+ IMAGE_FORMAT_HINT_CHANNELS_RGB, /**< RGB color map */
+ IMAGE_FORMAT_HINT_CHANNELS_RGBA, /**< RGB color + Alpha map often used for color + transparency or other things packed into channel A like specular power */
+ IMAGE_FORMAT_HINT_CHANNELS_RGBE, /**< RGB color + shared exponent for HDR */
+ IMAGE_FORMAT_HINT_CHANNELS_L, /**< Luminance map often used for light mapping */
+ IMAGE_FORMAT_HINT_CHANNELS_LA, /**< Luminance+Alpha map often used for light mapping */
+ IMAGE_FORMAT_HINT_CHANNELS_D, /**< Depth map often used for displacement, parellax, relief, or shadow mapping. Depth is depth seperate from Luminace to make special hardware considerations */
+ IMAGE_FORMAT_HINT_CHANNELS_COUNT = 6
+};
+
+/**
+ * Each channel of the texel has a precision. Typically these are all linked
+ * together. An exact format lay lower the precision of an individual channel
+ * but applying a higher precision by linking the channels together may still
+ * convey the same information.
+ */
+enum domImage_format_hint_precision {
+ IMAGE_FORMAT_HINT_PRECISION_DEFAULT, /**< Designer does not care as long as it provides "reasonable" percision and performance */
+ IMAGE_FORMAT_HINT_PRECISION_LOW, /**< For integers this typically represents 8 bits. For floats typically 16 bits. */
+ IMAGE_FORMAT_HINT_PRECISION_MID, /**< For integers this typically represents 8 to 24 bits. For floats typically 16 to 32 bits. */
+ IMAGE_FORMAT_HINT_PRECISION_HIGH, /**< For integers this typically represents 16 to 32 bits. For floats typically 24 to 32 bits. */
+ IMAGE_FORMAT_HINT_PRECISION_MAX, /**< Typically 32 bits or 64 bits if available. 64 bit has been seperated into it's own catagory beyond HIGH because it typically has significant performance impact and is beyond what non CAD software considers high percision. */
+ IMAGE_FORMAT_HINT_PRECISION_COUNT = 5
+};
+
+/**
+ * Each channel represents a range of values. Some example ranges are signed
+ * or unsigned integers, or between between a clamped range such as 0.0f to
+ * 1.0f, or high dynamic range via floating point
+ */
+enum domImage_format_hint_range {
+ IMAGE_FORMAT_HINT_RANGE_SNORM, /**< Format is representing a decimal value that remains within the -1 to 1 range. Implimentation could be integer-fixedpoint or floats. */
+ IMAGE_FORMAT_HINT_RANGE_UNORM, /**< Format is representing a decimal value that remains within the 0 to 1 range. Implimentation could be integer-fixedpoint or floats. */
+ IMAGE_FORMAT_HINT_RANGE_SINT, /**< Format is representing signed integer numbers. (ex. 8bits = -128 to 127) */
+ IMAGE_FORMAT_HINT_RANGE_UINT, /**< Format is representing unsigned integer numbers. (ex. 8bits = 0 to 255) */
+ IMAGE_FORMAT_HINT_RANGE_FLOAT, /**< Format should support full floating point ranges. High precision is expected to be 32bit. Mid precision may be 16 to 32 bit. Low precision is expected to be 16 bit. */
+ IMAGE_FORMAT_HINT_RANGE_COUNT = 5
+};
+
+/**
+ * The legal values for the mode attribute on the altitute element in a geographic_location
+ * element.
+ */
+enum domAltitude_mode {
+ ALTITUDE_MODE_absolute,
+ ALTITUDE_MODE_relativeToGround,
+ ALTITUDE_MODE_COUNT = 2
+};
+
+enum domFx_opaque {
+ FX_OPAQUE_A_ONE, /**< When a transparent opaque attribute is set to A_ONE, it means the transparency information will be taken from the alpha channel of the color, texture, or parameter supplying the value. The value of 1.0 is opaque in this mode. */
+ FX_OPAQUE_A_ZERO, /**< When a transparent opaque attribute is set to A_ZERO, it means the transparency information will be taken from the alpha channel of the color, texture, or parameter supplying the value. The value of 0.0 is opaque in this mode. */
+ FX_OPAQUE_RGB_ONE, /**< When a transparent opaque attribute is set to RGB_ONE, it means the transparency information will be taken from the red, green, and blue channels of the color, texture, or parameter supplying the value. Each channel is modulated independently. The value of 1.0 is opaque in this mode. */
+ FX_OPAQUE_RGB_ZERO, /**< When a transparent opaque attribute is set to RGB_ZERO, it means the transparency information will be taken from the red, green, and blue channels of the color, texture, or parameter supplying the value. Each channel is modulated independently. The value of 0.0 is opaque in this mode. */
+ FX_OPAQUE_COUNT = 4
+};
+
+enum domFx_sampler_wrap {
+ FX_SAMPLER_WRAP_WRAP, /**< Tile the texture at every integer junction. For example, for u values between 0 and 3, the texture is repeated three times; no mirroring is performed */
+ FX_SAMPLER_WRAP_CLAMP, /**< Same as CLAMP_TO_EDGE. Texture coordinates reaching or exceeding the range [0.0, 1.0] are set just within 0.0 or 1.0 so that the boarder is not sampled */
+ FX_SAMPLER_WRAP_BORDER, /**< Much like clamp except texture coordinates outside the range [0.0, 1.0] are set to the border color */
+ FX_SAMPLER_WRAP_MIRROR, /**< texture is flipped at every integer junction. For u values between 0 and 1, for example, the texture is addressed normally; between 1 and 2, the texture is flipped (mirrored); between 2 and 3, the texture is normal again; and so on. */
+ FX_SAMPLER_WRAP_MIRROR_ONCE, /**< Takes the absolute value of the texture coordinate (thus, mirroring around 0), and then clamps to the maximum value */
+ FX_SAMPLER_WRAP_COUNT = 5
+};
+
+enum domFx_sampler_min_filter {
+ FX_SAMPLER_MIN_FILTER_NEAREST,
+ FX_SAMPLER_MIN_FILTER_LINEAR,
+ FX_SAMPLER_MIN_FILTER_ANISOTROPIC,
+ FX_SAMPLER_MIN_FILTER_COUNT = 3
+};
+
+enum domFx_sampler_mag_filter {
+ FX_SAMPLER_MAG_FILTER_NEAREST,
+ FX_SAMPLER_MAG_FILTER_LINEAR,
+ FX_SAMPLER_MAG_FILTER_COUNT = 2
+};
+
+enum domFx_sampler_mip_filter {
+ FX_SAMPLER_MIP_FILTER_NONE,
+ FX_SAMPLER_MIP_FILTER_NEAREST,
+ FX_SAMPLER_MIP_FILTER_LINEAR,
+ FX_SAMPLER_MIP_FILTER_COUNT = 3
+};
+
+enum domFx_modifier {
+ FX_MODIFIER_CONST,
+ FX_MODIFIER_UNIFORM,
+ FX_MODIFIER_VARYING,
+ FX_MODIFIER_STATIC,
+ FX_MODIFIER_VOLATILE,
+ FX_MODIFIER_EXTERN,
+ FX_MODIFIER_SHARED,
+ FX_MODIFIER_COUNT = 7
+};
+
+enum domFx_pipeline_stage {
+ FX_PIPELINE_STAGE_TESSELLATION,
+ FX_PIPELINE_STAGE_VERTEX,
+ FX_PIPELINE_STAGE_GEOMETRY,
+ FX_PIPELINE_STAGE_FRAGMENT,
+ FX_PIPELINE_STAGE_COUNT = 4
+};
+
+enum domGl_blend {
+ GL_BLEND_ZERO = 0x0,
+ GL_BLEND_ONE = 0x1,
+ GL_BLEND_SRC_COLOR = 0x0300,
+ GL_BLEND_ONE_MINUS_SRC_COLOR = 0x0301,
+ GL_BLEND_DEST_COLOR = 0x0306,
+ GL_BLEND_ONE_MINUS_DEST_COLOR = 0x0307,
+ GL_BLEND_SRC_ALPHA = 0x0302,
+ GL_BLEND_ONE_MINUS_SRC_ALPHA = 0x0303,
+ GL_BLEND_DST_ALPHA = 0x0304,
+ GL_BLEND_ONE_MINUS_DST_ALPHA = 0x0305,
+ GL_BLEND_CONSTANT_COLOR = 0x8001,
+ GL_BLEND_ONE_MINUS_CONSTANT_COLOR = 0x8002,
+ GL_BLEND_CONSTANT_ALPHA = 0x8003,
+ GL_BLEND_ONE_MINUS_CONSTANT_ALPHA = 0x8004,
+ GL_BLEND_SRC_ALPHA_SATURATE = 0x0308,
+ GL_BLEND_COUNT = 15
+};
+
+enum domGl_face {
+ GL_FACE_FRONT = 0x0404,
+ GL_FACE_BACK = 0x0405,
+ GL_FACE_FRONT_AND_BACK = 0x0408,
+ GL_FACE_COUNT = 3
+};
+
+enum domGl_blend_equation {
+ GL_BLEND_EQUATION_FUNC_ADD = 0x8006,
+ GL_BLEND_EQUATION_FUNC_SUBTRACT = 0x800A,
+ GL_BLEND_EQUATION_FUNC_REVERSE_SUBTRACT = 0x800B,
+ GL_BLEND_EQUATION_MIN = 0x8007,
+ GL_BLEND_EQUATION_MAX = 0x8008,
+ GL_BLEND_EQUATION_COUNT = 5
+};
+
+enum domGl_func {
+ GL_FUNC_NEVER = 0x0200,
+ GL_FUNC_LESS = 0x0201,
+ GL_FUNC_LEQUAL = 0x0203,
+ GL_FUNC_EQUAL = 0x0202,
+ GL_FUNC_GREATER = 0x0204,
+ GL_FUNC_NOTEQUAL = 0x0205,
+ GL_FUNC_GEQUAL = 0x0206,
+ GL_FUNC_ALWAYS = 0x0207,
+ GL_FUNC_COUNT = 8
+};
+
+enum domGl_stencil_op {
+ GL_STENCIL_OP_KEEP = 0x1E00,
+ GL_STENCIL_OP_ZERO = 0x0,
+ GL_STENCIL_OP_REPLACE = 0x1E01,
+ GL_STENCIL_OP_INCR = 0x1E02,
+ GL_STENCIL_OP_DECR = 0x1E03,
+ GL_STENCIL_OP_INVERT = 0x150A,
+ GL_STENCIL_OP_INCR_WRAP = 0x8507,
+ GL_STENCIL_OP_DECR_WRAP = 0x8508,
+ GL_STENCIL_OP_COUNT = 8
+};
+
+enum domGl_material {
+ GL_MATERIAL_EMISSION = 0x1600,
+ GL_MATERIAL_AMBIENT = 0x1200,
+ GL_MATERIAL_DIFFUSE = 0x1201,
+ GL_MATERIAL_SPECULAR = 0x1202,
+ GL_MATERIAL_AMBIENT_AND_DIFFUSE = 0x1602,
+ GL_MATERIAL_COUNT = 5
+};
+
+enum domGl_fog {
+ GL_FOG_LINEAR = 0x2601,
+ GL_FOG_EXP = 0x0800,
+ GL_FOG_EXP2 = 0x0801,
+ GL_FOG_COUNT = 3
+};
+
+enum domGl_fog_coord_src {
+ GL_FOG_COORD_SRC_FOG_COORDINATE = 0x8451,
+ GL_FOG_COORD_SRC_FRAGMENT_DEPTH = 0x8452,
+ GL_FOG_COORD_SRC_COUNT = 2
+};
+
+enum domGl_front_face {
+ GL_FRONT_FACE_CW = 0x0900,
+ GL_FRONT_FACE_CCW = 0x0901,
+ GL_FRONT_FACE_COUNT = 2
+};
+
+enum domGl_light_model_color_control {
+ GL_LIGHT_MODEL_COLOR_CONTROL_SINGLE_COLOR = 0x81F9,
+ GL_LIGHT_MODEL_COLOR_CONTROL_SEPARATE_SPECULAR_COLOR = 0x81FA,
+ GL_LIGHT_MODEL_COLOR_CONTROL_COUNT = 2
+};
+
+enum domGl_logic_op {
+ GL_LOGIC_OP_CLEAR = 0x1500,
+ GL_LOGIC_OP_AND = 0x1501,
+ GL_LOGIC_OP_AND_REVERSE = 0x1502,
+ GL_LOGIC_OP_COPY = 0x1503,
+ GL_LOGIC_OP_AND_INVERTED = 0x1504,
+ GL_LOGIC_OP_NOOP = 0x1505,
+ GL_LOGIC_OP_XOR = 0x1506,
+ GL_LOGIC_OP_OR = 0x1507,
+ GL_LOGIC_OP_NOR = 0x1508,
+ GL_LOGIC_OP_EQUIV = 0x1509,
+ GL_LOGIC_OP_INVERT = 0x150A,
+ GL_LOGIC_OP_OR_REVERSE = 0x150B,
+ GL_LOGIC_OP_COPY_INVERTED = 0x150C,
+ GL_LOGIC_OP_NAND = 0x150E,
+ GL_LOGIC_OP_SET = 0x150F,
+ GL_LOGIC_OP_COUNT = 15
+};
+
+enum domGl_polygon_mode {
+ GL_POLYGON_MODE_POINT = 0x1B00,
+ GL_POLYGON_MODE_LINE = 0x1B01,
+ GL_POLYGON_MODE_FILL = 0x1B02,
+ GL_POLYGON_MODE_COUNT = 3
+};
+
+enum domGl_shade_model {
+ GL_SHADE_MODEL_FLAT = 0x1D00,
+ GL_SHADE_MODEL_SMOOTH = 0x1D01,
+ GL_SHADE_MODEL_COUNT = 2
+};
+
+enum domGles_texenv_mode {
+ GLES_TEXENV_MODE_REPLACE = 0x1E01,
+ GLES_TEXENV_MODE_MODULATE = 0x2100,
+ GLES_TEXENV_MODE_DECAL = 0x2101,
+ GLES_TEXENV_MODE_BLEND = 0x0BE2,
+ GLES_TEXENV_MODE_ADD = 0x0104,
+ GLES_TEXENV_MODE_COUNT = 5
+};
+
+enum domGles_texcombiner_operator_rgb {
+ GLES_TEXCOMBINER_OPERATOR_RGB_REPLACE = 0x1E01,
+ GLES_TEXCOMBINER_OPERATOR_RGB_MODULATE = 0x2100,
+ GLES_TEXCOMBINER_OPERATOR_RGB_ADD = 0x0104,
+ GLES_TEXCOMBINER_OPERATOR_RGB_ADD_SIGNED = 0x8574,
+ GLES_TEXCOMBINER_OPERATOR_RGB_INTERPOLATE = 0x8575,
+ GLES_TEXCOMBINER_OPERATOR_RGB_SUBTRACT = 0x84E7,
+ GLES_TEXCOMBINER_OPERATOR_RGB_DOT3_RGB = 0x86AE,
+ GLES_TEXCOMBINER_OPERATOR_RGB_DOT3_RGBA = 0x86AF,
+ GLES_TEXCOMBINER_OPERATOR_RGB_COUNT = 8
+};
+
+enum domGles_texcombiner_operator_alpha {
+ GLES_TEXCOMBINER_OPERATOR_ALPHA_REPLACE = 0x1E01,
+ GLES_TEXCOMBINER_OPERATOR_ALPHA_MODULATE = 0x2100,
+ GLES_TEXCOMBINER_OPERATOR_ALPHA_ADD = 0x0104,
+ GLES_TEXCOMBINER_OPERATOR_ALPHA_ADD_SIGNED = 0x8574,
+ GLES_TEXCOMBINER_OPERATOR_ALPHA_INTERPOLATE = 0x8575,
+ GLES_TEXCOMBINER_OPERATOR_ALPHA_SUBTRACT = 0x84E7,
+ GLES_TEXCOMBINER_OPERATOR_ALPHA_COUNT = 6
+};
+
+enum domGles_texcombiner_source {
+ GLES_TEXCOMBINER_SOURCE_TEXTURE = 0x1702,
+ GLES_TEXCOMBINER_SOURCE_CONSTANT = 0x8576,
+ GLES_TEXCOMBINER_SOURCE_PRIMARY = 0x8577,
+ GLES_TEXCOMBINER_SOURCE_PREVIOUS = 0x8578,
+ GLES_TEXCOMBINER_SOURCE_COUNT = 4
+};
+
+enum domGles_texcombiner_operand_rgb {
+ GLES_TEXCOMBINER_OPERAND_RGB_SRC_COLOR = 0x0300,
+ GLES_TEXCOMBINER_OPERAND_RGB_ONE_MINUS_SRC_COLOR = 0x0301,
+ GLES_TEXCOMBINER_OPERAND_RGB_SRC_ALPHA = 0x0302,
+ GLES_TEXCOMBINER_OPERAND_RGB_ONE_MINUS_SRC_ALPHA = 0x0303,
+ GLES_TEXCOMBINER_OPERAND_RGB_COUNT = 4
+};
+
+enum domGles_texcombiner_operand_alpha {
+ GLES_TEXCOMBINER_OPERAND_ALPHA_SRC_ALPHA = 0x0302,
+ GLES_TEXCOMBINER_OPERAND_ALPHA_ONE_MINUS_SRC_ALPHA = 0x0303,
+ GLES_TEXCOMBINER_OPERAND_ALPHA_COUNT = 2
+};
+
+enum domGles_sampler_wrap {
+ GLES_SAMPLER_WRAP_REPEAT,
+ GLES_SAMPLER_WRAP_CLAMP,
+ GLES_SAMPLER_WRAP_CLAMP_TO_EDGE,
+ GLES_SAMPLER_WRAP_MIRRORED_REPEAT, /**< supported by GLES 1.1 only */
+ GLES_SAMPLER_WRAP_COUNT = 4
+};
+
+enum domGles_stencil_op {
+ GLES_STENCIL_OP_KEEP = 0x1E00,
+ GLES_STENCIL_OP_ZERO = 0x0,
+ GLES_STENCIL_OP_REPLACE = 0x1E01,
+ GLES_STENCIL_OP_INCR = 0x1E02,
+ GLES_STENCIL_OP_DECR = 0x1E03,
+ GLES_STENCIL_OP_INVERT = 0x150A,
+ GLES_STENCIL_OP_COUNT = 6
+};
+
+enum domSpring {
+ SPRING_LINEAR,
+ SPRING_ANGULAR,
+ SPRING_COUNT = 2
+};
+
+enum domGl_enumeration {
+ GL_ENUMERATION_ZERO = 0x0,
+ GL_ENUMERATION_ONE = 0x1,
+ GL_ENUMERATION_SRC_COLOR = 0x0300,
+ GL_ENUMERATION_ONE_MINUS_SRC_COLOR = 0x0301,
+ GL_ENUMERATION_DEST_COLOR = 0x0306,
+ GL_ENUMERATION_ONE_MINUS_DEST_COLOR = 0x0307,
+ GL_ENUMERATION_SRC_ALPHA = 0x0302,
+ GL_ENUMERATION_ONE_MINUS_SRC_ALPHA = 0x0303,
+ GL_ENUMERATION_DST_ALPHA = 0x0304,
+ GL_ENUMERATION_ONE_MINUS_DST_ALPHA = 0x0305,
+ GL_ENUMERATION_CONSTANT_COLOR = 0x8001,
+ GL_ENUMERATION_ONE_MINUS_CONSTANT_COLOR = 0x8002,
+ GL_ENUMERATION_CONSTANT_ALPHA = 0x8003,
+ GL_ENUMERATION_ONE_MINUS_CONSTANT_ALPHA = 0x8004,
+ GL_ENUMERATION_SRC_ALPHA_SATURATE = 0x0308,
+ GL_ENUMERATION_FRONT = 0x0404,
+ GL_ENUMERATION_BACK = 0x0405,
+ GL_ENUMERATION_FRONT_AND_BACK = 0x0408,
+ GL_ENUMERATION_FUNC_ADD = 0x8006,
+ GL_ENUMERATION_FUNC_SUBTRACT = 0x800A,
+ GL_ENUMERATION_FUNC_REVERSE_SUBTRACT = 0x800B,
+ GL_ENUMERATION_MIN = 0x8007,
+ GL_ENUMERATION_MAX = 0x8008,
+ GL_ENUMERATION_NEVER = 0x0200,
+ GL_ENUMERATION_LESS = 0x0201,
+ GL_ENUMERATION_LEQUAL = 0x0203,
+ GL_ENUMERATION_EQUAL = 0x0202,
+ GL_ENUMERATION_GREATER = 0x0204,
+ GL_ENUMERATION_NOTEQUAL = 0x0205,
+ GL_ENUMERATION_GEQUAL = 0x0206,
+ GL_ENUMERATION_ALWAYS = 0x0207,
+ GL_ENUMERATION_KEEP = 0x1E00,
+ GL_ENUMERATION_REPLACE = 0x1E01,
+ GL_ENUMERATION_INCR = 0x1E02,
+ GL_ENUMERATION_DECR = 0x1E03,
+ GL_ENUMERATION_INVERT = 0x150A,
+ GL_ENUMERATION_INCR_WRAP = 0x8507,
+ GL_ENUMERATION_DECR_WRAP = 0x8508,
+ GL_ENUMERATION_EMISSION = 0x1600,
+ GL_ENUMERATION_AMBIENT = 0x1200,
+ GL_ENUMERATION_DIFFUSE = 0x1201,
+ GL_ENUMERATION_SPECULAR = 0x1202,
+ GL_ENUMERATION_AMBIENT_AND_DIFFUSE = 0x1602,
+ GL_ENUMERATION_LINEAR = 0x2601,
+ GL_ENUMERATION_EXP = 0x0800,
+ GL_ENUMERATION_EXP2 = 0x0801,
+ GL_ENUMERATION_FOG_COORDINATE = 0x8451,
+ GL_ENUMERATION_FRAGMENT_DEPTH = 0x8452,
+ GL_ENUMERATION_CW = 0x0900,
+ GL_ENUMERATION_CCW = 0x0901,
+ GL_ENUMERATION_SINGLE_COLOR = 0x81F9,
+ GL_ENUMERATION_SEPARATE_SPECULAR_COLOR = 0x81FA,
+ GL_ENUMERATION_CLEAR = 0x1500,
+ GL_ENUMERATION_AND = 0x1501,
+ GL_ENUMERATION_AND_REVERSE = 0x1502,
+ GL_ENUMERATION_COPY = 0x1503,
+ GL_ENUMERATION_AND_INVERTED = 0x1504,
+ GL_ENUMERATION_NOOP = 0x1505,
+ GL_ENUMERATION_XOR = 0x1506,
+ GL_ENUMERATION_OR = 0x1507,
+ GL_ENUMERATION_NOR = 0x1508,
+ GL_ENUMERATION_EQUIV = 0x1509,
+ GL_ENUMERATION_OR_REVERSE = 0x150B,
+ GL_ENUMERATION_COPY_INVERTED = 0x150C,
+ GL_ENUMERATION_NAND = 0x150E,
+ GL_ENUMERATION_SET = 0x150F,
+ GL_ENUMERATION_POINT = 0x1B00,
+ GL_ENUMERATION_LINE = 0x1B01,
+ GL_ENUMERATION_FILL = 0x1B02,
+ GL_ENUMERATION_FLAT = 0x1D00,
+ GL_ENUMERATION_SMOOTH = 0x1D01,
+ GL_ENUMERATION_COUNT = 72
+};
+
+enum domGles_enumeration {
+ GLES_ENUMERATION_ZERO = 0x0,
+ GLES_ENUMERATION_ONE = 0x1,
+ GLES_ENUMERATION_SRC_COLOR = 0x0300,
+ GLES_ENUMERATION_ONE_MINUS_SRC_COLOR = 0x0301,
+ GLES_ENUMERATION_DEST_COLOR = 0x0306,
+ GLES_ENUMERATION_ONE_MINUS_DEST_COLOR = 0x0307,
+ GLES_ENUMERATION_SRC_ALPHA = 0x0302,
+ GLES_ENUMERATION_ONE_MINUS_SRC_ALPHA = 0x0303,
+ GLES_ENUMERATION_DST_ALPHA = 0x0304,
+ GLES_ENUMERATION_ONE_MINUS_DST_ALPHA = 0x0305,
+ GLES_ENUMERATION_CONSTANT_COLOR = 0x8001,
+ GLES_ENUMERATION_ONE_MINUS_CONSTANT_COLOR = 0x8002,
+ GLES_ENUMERATION_CONSTANT_ALPHA = 0x8003,
+ GLES_ENUMERATION_ONE_MINUS_CONSTANT_ALPHA = 0x8004,
+ GLES_ENUMERATION_SRC_ALPHA_SATURATE = 0x0308,
+ GLES_ENUMERATION_FRONT = 0x0404,
+ GLES_ENUMERATION_BACK = 0x0405,
+ GLES_ENUMERATION_FRONT_AND_BACK = 0x0408,
+ GLES_ENUMERATION_NEVER = 0x0200,
+ GLES_ENUMERATION_LESS = 0x0201,
+ GLES_ENUMERATION_LEQUAL = 0x0203,
+ GLES_ENUMERATION_EQUAL = 0x0202,
+ GLES_ENUMERATION_GREATER = 0x0204,
+ GLES_ENUMERATION_NOTEQUAL = 0x0205,
+ GLES_ENUMERATION_GEQUAL = 0x0206,
+ GLES_ENUMERATION_ALWAYS = 0x0207,
+ GLES_ENUMERATION_KEEP = 0x1E00,
+ GLES_ENUMERATION_REPLACE = 0x1E01,
+ GLES_ENUMERATION_INCR = 0x1E02,
+ GLES_ENUMERATION_DECR = 0x1E03,
+ GLES_ENUMERATION_INVERT = 0x150A,
+ GLES_ENUMERATION_INCR_WRAP = 0x8507,
+ GLES_ENUMERATION_DECR_WRAP = 0x8508,
+ GLES_ENUMERATION_EMISSION = 0x1600,
+ GLES_ENUMERATION_AMBIENT = 0x1200,
+ GLES_ENUMERATION_DIFFUSE = 0x1201,
+ GLES_ENUMERATION_SPECULAR = 0x1202,
+ GLES_ENUMERATION_AMBIENT_AND_DIFFUSE = 0x1602,
+ GLES_ENUMERATION_LINEAR = 0x2601,
+ GLES_ENUMERATION_EXP = 0x0800,
+ GLES_ENUMERATION_EXP2 = 0x0801,
+ GLES_ENUMERATION_CW = 0x0900,
+ GLES_ENUMERATION_CCW = 0x0901,
+ GLES_ENUMERATION_SINGLE_COLOR = 0x81F9,
+ GLES_ENUMERATION_SEPARATE_SPECULAR_COLOR = 0x81FA,
+ GLES_ENUMERATION_CLEAR = 0x1500,
+ GLES_ENUMERATION_AND = 0x1501,
+ GLES_ENUMERATION_AND_REVERSE = 0x1502,
+ GLES_ENUMERATION_COPY = 0x1503,
+ GLES_ENUMERATION_AND_INVERTED = 0x1504,
+ GLES_ENUMERATION_NOOP = 0x1505,
+ GLES_ENUMERATION_XOR = 0x1506,
+ GLES_ENUMERATION_OR = 0x1507,
+ GLES_ENUMERATION_NOR = 0x1508,
+ GLES_ENUMERATION_EQUIV = 0x1509,
+ GLES_ENUMERATION_OR_REVERSE = 0x150B,
+ GLES_ENUMERATION_COPY_INVERTED = 0x150C,
+ GLES_ENUMERATION_NAND = 0x150E,
+ GLES_ENUMERATION_SET = 0x150F,
+ GLES_ENUMERATION_POINT = 0x1B00,
+ GLES_ENUMERATION_LINE = 0x1B01,
+ GLES_ENUMERATION_FILL = 0x1B02,
+ GLES_ENUMERATION_FLAT = 0x1D00,
+ GLES_ENUMERATION_SMOOTH = 0x1D01,
+ GLES_ENUMERATION_COUNT = 65
+};
+
+//Element Type Enum
+namespace COLLADA_TYPE
+{
+typedef int TypeEnum;
+const int
+ NO_TYPE = 0,
+ ANY = 1,
+ INPUT_GLOBAL = 2,
+ INPUT_LOCAL = 3,
+ INPUT_LOCAL_OFFSET = 4,
+ TARGETABLE_FLOAT = 5,
+ TARGETABLE_FLOAT3 = 6,
+ TOKEN_ARRAY = 7,
+ IDREF_ARRAY = 8,
+ NAME_ARRAY = 9,
+ BOOL_ARRAY = 10,
+ FLOAT_ARRAY = 11,
+ INT_ARRAY = 12,
+ PARAM = 13,
+ ACCESSOR = 14,
+ P = 15,
+ LOOKAT = 16,
+ MATRIX = 17,
+ SCALE = 18,
+ SKEW = 19,
+ TRANSLATE = 20,
+ IMAGE_SOURCE = 21,
+ REF = 22,
+ HEX = 23,
+ IMAGE_MIPS = 24,
+ CHANNEL = 25,
+ SAMPLER = 26,
+ TECHNIQUE = 27,
+ EXTRA = 28,
+ POLYLIST = 29,
+ VCOUNT = 30,
+ POLYGONS = 31,
+ PH = 32,
+ H = 33,
+ LINESTRIPS = 34,
+ TRISTRIPS = 35,
+ LINES = 36,
+ TRIANGLES = 37,
+ TRIFANS = 38,
+ VERTICES = 39,
+ ASSET = 40,
+ CONTRIBUTOR = 41,
+ AUTHOR = 42,
+ AUTHOR_EMAIL = 43,
+ AUTHOR_WEBSITE = 44,
+ AUTHORING_TOOL = 45,
+ COMMENTS = 46,
+ COPYRIGHT = 47,
+ SOURCE_DATA = 48,
+ COVERAGE = 49,
+ GEOGRAPHIC_LOCATION = 50,
+ LONGITUDE = 51,
+ LATITUDE = 52,
+ ALTITUDE = 53,
+ CREATED = 54,
+ KEYWORDS = 55,
+ MODIFIED = 56,
+ REVISION = 57,
+ SUBJECT = 58,
+ TITLE = 59,
+ UNIT = 60,
+ UP_AXIS = 61,
+ IMAGE = 62,
+ RENDERABLE = 63,
+ INIT_FROM = 64,
+ CREATE_2D = 65,
+ SIZE_EXACT = 66,
+ SIZE_RATIO = 67,
+ UNNORMALIZED = 68,
+ ARRAY = 69,
+ FORMAT = 70,
+ HINT = 71,
+ EXACT = 72,
+ CREATE_3D = 73,
+ SIZE = 74,
+ CREATE_CUBE = 75,
+ CAMERA = 76,
+ OPTICS = 77,
+ TECHNIQUE_COMMON = 78,
+ ORTHOGRAPHIC = 79,
+ PERSPECTIVE = 80,
+ IMAGER = 81,
+ LIGHT = 82,
+ AMBIENT = 83,
+ DIRECTIONAL = 84,
+ POINT = 85,
+ SPOT = 86,
+ INSTANCE_WITH_EXTRA = 87,
+ INSTANCE_IMAGE = 88,
+ INSTANCE_CAMERA = 89,
+ INSTANCE_FORCE_FIELD = 90,
+ INSTANCE_LIGHT = 91,
+ INSTANCE_MATERIAL = 92,
+ BIND = 93,
+ BIND_VERTEX_INPUT = 94,
+ BIND_MATERIAL = 95,
+ INSTANCE_CONTROLLER = 96,
+ SKELETON = 97,
+ INSTANCE_GEOMETRY = 98,
+ INSTANCE_NODE = 99,
+ INSTANCE_PHYSICS_MATERIAL = 100,
+ INSTANCE_RIGID_CONSTRAINT = 101,
+ LIBRARY_CAMERAS = 102,
+ LIBRARY_IMAGES = 103,
+ LIBRARY_LIGHTS = 104,
+ INSTANCE_EFFECT = 105,
+ TECHNIQUE_HINT = 106,
+ SETPARAM = 107,
+ MATERIAL = 108,
+ LIBRARY_MATERIALS = 109,
+ FX_SAMPLER = 110,
+ FX_SAMPLER1D = 111,
+ FX_SAMPLER2D = 112,
+ FX_SAMPLER3D = 113,
+ FX_SAMPLERCUBE = 114,
+ FX_SAMPLERRECT = 115,
+ FX_SAMPLERDEPTH = 116,
+ FX_RENDERTARGET = 117,
+ FX_COLORTARGET = 118,
+ FX_DEPTHTARGET = 119,
+ FX_STENCILTARGET = 120,
+ FX_CLEARCOLOR = 121,
+ FX_CLEARDEPTH = 122,
+ FX_CLEARSTENCIL = 123,
+ FX_ANNOTATE = 124,
+ BOOL = 125,
+ BOOL2 = 126,
+ BOOL3 = 127,
+ BOOL4 = 128,
+ INT = 129,
+ INT2 = 130,
+ INT3 = 131,
+ INT4 = 132,
+ FLOAT = 133,
+ FLOAT2 = 134,
+ FLOAT3 = 135,
+ FLOAT4 = 136,
+ FLOAT2X2 = 137,
+ FLOAT3X3 = 138,
+ FLOAT4X4 = 139,
+ STRING = 140,
+ FX_NEWPARAM = 141,
+ FLOAT2X1 = 142,
+ FLOAT2X3 = 143,
+ FLOAT2X4 = 144,
+ FLOAT3X1 = 145,
+ FLOAT3X2 = 146,
+ FLOAT3X4 = 147,
+ FLOAT4X1 = 148,
+ FLOAT4X2 = 149,
+ FLOAT4X3 = 150,
+ ENUM = 151,
+ FX_INCLUDE = 152,
+ FX_CODE = 153,
+ FX_SOURCES = 154,
+ INLINE = 155,
+ IMPORT = 156,
+ FX_TARGET = 157,
+ BINARY = 158,
+ FX_COMMON_FLOAT_OR_PARAM = 159,
+ FX_COMMON_COLOR_OR_TEXTURE = 160,
+ COLOR = 161,
+ TEXTURE = 162,
+ FX_COMMON_TRANSPARENT = 163,
+ FX_COMMON_NEWPARAM = 164,
+ SEMANTIC = 165,
+ PROFILE_COMMON = 166,
+ CONSTANT = 167,
+ LAMBERT = 168,
+ PHONG = 169,
+ BLINN = 170,
+ PROFILE_BRIDGE = 171,
+ GLES2_NEWPARAM = 172,
+ MODIFIER = 173,
+ GLES2_SHADER = 174,
+ SOURCES = 175,
+ GLES2_PROGRAM = 176,
+ BIND_ATTRIBUTE = 177,
+ BIND_UNIFORM = 178,
+ GLES2_PASS = 179,
+ STATES = 180,
+ EVALUATE = 181,
+ DRAW = 182,
+ PROFILE_GLES2 = 183,
+ NEWPARAM = 184,
+ GLSL_ARRAY = 185,
+ GLSL_NEWPARAM = 186,
+ GLSL_SHADER = 187,
+ GLSL_PROGRAM = 188,
+ PROFILE_GLSL = 189,
+ PASS = 190,
+ CG_ARRAY = 191,
+ CG_SETPARAM = 192,
+ CG_USER = 193,
+ CG_NEWPARAM = 194,
+ CG_PASS = 195,
+ PROGRAM = 196,
+ SHADER = 197,
+ PROFILE_CG = 198,
+ GLES_TEXTURE_CONSTANT = 199,
+ GLES_TEXENV_COMMAND = 200,
+ GLES_TEXCOMBINER_ARGUMENT_RGB = 201,
+ GLES_TEXCOMBINER_ARGUMENT_ALPHA = 202,
+ GLES_TEXCOMBINER_COMMAND_RGB = 203,
+ GLES_TEXCOMBINER_COMMAND_ALPHA = 204,
+ GLES_TEXCOMBINER_COMMAND = 205,
+ GLES_TEXTURE_PIPELINE = 206,
+ GLES_SAMPLER = 207,
+ TEXCOORD = 208,
+ GLES_NEWPARAM = 209,
+ PROFILE_GLES = 210,
+ EFFECT = 211,
+ LIBRARY_EFFECTS = 212,
+ BOX = 213,
+ HALF_EXTENTS = 214,
+ PLANE = 215,
+ EQUATION = 216,
+ SPHERE = 217,
+ RADIUS = 218,
+ ELLIPSOID = 219,
+ CYLINDER = 220,
+ HEIGHT = 221,
+ CAPSULE = 222,
+ FORCE_FIELD = 223,
+ LIBRARY_FORCE_FIELDS = 224,
+ PHYSICS_MATERIAL = 225,
+ LIBRARY_PHYSICS_MATERIALS = 226,
+ EDGES = 227,
+ WIRES = 228,
+ FACES = 229,
+ SHELLS = 230,
+ SOLIDS = 231,
+ LINE = 232,
+ ORIGIN = 233,
+ DIRECTION = 234,
+ CIRCLE = 235,
+ ELLIPSE = 236,
+ PARABOLA = 237,
+ FOCAL = 238,
+ HYPERBOLA = 239,
+ TORUS = 240,
+ PCURVES = 241,
+ SIDREF_ARRAY = 242,
+ SOURCE = 243,
+ ANIMATION = 244,
+ LIBRARY_ANIMATIONS = 245,
+ SKIN = 246,
+ BIND_SHAPE_MATRIX = 247,
+ JOINTS = 248,
+ VERTEX_WEIGHTS = 249,
+ V = 250,
+ CONVEX_MESH = 251,
+ MESH = 252,
+ SPLINE = 253,
+ CONTROL_VERTICES = 254,
+ NURBS_SURFACE = 255,
+ NURBS = 256,
+ MORPH = 257,
+ TARGETS = 258,
+ CONTROLLER = 259,
+ LIBRARY_CONTROLLERS = 260,
+ ORIENT = 261,
+ CURVE = 262,
+ SURFACE_CURVES = 263,
+ CURVES = 264,
+ SWEPT_SURFACE = 265,
+ AXIS = 266,
+ CONE = 267,
+ ANGLE = 268,
+ SURFACE = 269,
+ SURFACES = 270,
+ BREP = 271,
+ GEOMETRY = 272,
+ LIBRARY_GEOMETRIES = 273,
+ LIMITS_SUB = 274,
+ INSTANCE_JOINT = 275,
+ TARGETABLE_FLOAT4 = 276,
+ ROTATE = 277,
+ LINK = 278,
+ ATTACHMENT_FULL = 279,
+ ATTACHMENT_START = 280,
+ ATTACHMENT_END = 281,
+ RIGID_CONSTRAINT = 282,
+ REF_ATTACHMENT = 283,
+ ATTACHMENT = 284,
+ ENABLED = 285,
+ INTERPENETRATE = 286,
+ LIMITS = 287,
+ SWING_CONE_AND_TWIST = 288,
+ LINEAR = 289,
+ SPRING = 290,
+ ANGULAR = 291,
+ NODE = 292,
+ LIBRARY_NODES = 293,
+ VISUAL_SCENE = 294,
+ EVALUATE_SCENE = 295,
+ RENDER = 296,
+ LAYER = 297,
+ TECHNIQUE_OVERRIDE = 298,
+ LIBRARY_VISUAL_SCENES = 299,
+ RIGID_BODY = 300,
+ DYNAMIC = 301,
+ MASS_FRAME = 302,
+ SHAPE = 303,
+ HOLLOW = 304,
+ INSTANCE_RIGID_BODY = 305,
+ ANGULAR_VELOCITY = 306,
+ VELOCITY = 307,
+ INSTANCE_PHYSICS_MODEL = 308,
+ PHYSICS_MODEL = 309,
+ LIBRARY_PHYSICS_MODELS = 310,
+ PHYSICS_SCENE = 311,
+ LIBRARY_PHYSICS_SCENES = 312,
+ KINEMATICS_NEWPARAM = 313,
+ SIDREF = 314,
+ KINEMATICS_FRAME = 315,
+ COMMON_PARAM = 316,
+ COMMON_INT_OR_PARAM = 317,
+ COMMON_BOOL_OR_PARAM = 318,
+ COMMON_FLOAT_OR_PARAM = 319,
+ KINEMATICS_LIMITS = 320,
+ COMMON_SIDREF_OR_PARAM = 321,
+ BIND_JOINT_AXIS = 322,
+ BIND_KINEMATICS_MODEL = 323,
+ KINEMATICS_CONNECT_PARAM = 324,
+ KINEMATICS_SETPARAM = 325,
+ INSTANCE_KINEMATICS_SCENE = 326,
+ KINEMATICS_INDEX = 327,
+ KINEMATICS_PARAM = 328,
+ KINEMATICS_BIND = 329,
+ MOTION_AXIS_INFO = 330,
+ INSTANCE_KINEMATICS_MODEL = 331,
+ INSTANCE_ARTICULATED_SYSTEM = 332,
+ KINEMATICS_SCENE = 333,
+ LIBRARY_KINEMATICS_SCENES = 334,
+ COMMON_FLOAT2_OR_PARAM = 335,
+ MOTION_EFFECTOR_INFO = 336,
+ MOTION_TECHNIQUE = 337,
+ MOTION = 338,
+ MINMAX = 339,
+ JOINT_LIMITS = 340,
+ AXIS_CONSTRAINT = 341,
+ JOINT = 342,
+ LIBRARY_JOINTS = 343,
+ FORMULA_TECHNIQUE = 344,
+ FORMULA_NEWPARAM = 345,
+ FORMULA_SETPARAM = 346,
+ INSTANCE_FORMULA = 347,
+ ANIMATION_CLIP = 348,
+ LIBRARY_ANIMATION_CLIPS = 349,
+ FORMULA = 350,
+ KINEMATICS_MODEL_TECHNIQUE = 351,
+ KINEMATICS_MODEL = 352,
+ LIBRARY_KINEMATICS_MODELS = 353,
+ KINEMATICS_AXIS_INFO = 354,
+ KINEMATICS_TECHNIQUE = 355,
+ KINEMATICS = 356,
+ ARTICULATED_SYSTEM = 357,
+ LIBRARY_ARTICULATED_SYSTEMS = 358,
+ LIBRARY_FORMULAS = 359,
+ FX_SAMPLER_STATES = 360,
+ WRAP_S = 361,
+ WRAP_T = 362,
+ WRAP_P = 363,
+ MINFILTER = 364,
+ MAGFILTER = 365,
+ MIPFILTER = 366,
+ BORDER_COLOR = 367,
+ MIP_MAX_LEVEL = 368,
+ MIP_MIN_LEVEL = 369,
+ MIP_BIAS = 370,
+ MAX_ANISOTROPY = 371,
+ FX_SETPARAM = 372,
+ SAMPLER_STATES = 373,
+ GL_PIPELINE_SETTINGS = 374,
+ ALPHA_FUNC = 375,
+ FUNC = 376,
+ VALUE = 377,
+ BLEND_FUNC = 378,
+ SRC = 379,
+ DEST = 380,
+ BLEND_FUNC_SEPARATE = 381,
+ SRC_RGB = 382,
+ DEST_RGB = 383,
+ SRC_ALPHA = 384,
+ DEST_ALPHA = 385,
+ BLEND_EQUATION = 386,
+ BLEND_EQUATION_SEPARATE = 387,
+ RGB = 388,
+ ALPHA = 389,
+ COLOR_MATERIAL = 390,
+ FACE = 391,
+ MODE = 392,
+ CULL_FACE = 393,
+ DEPTH_FUNC = 394,
+ FOG_MODE = 395,
+ FOG_COORD_SRC = 396,
+ FRONT_FACE = 397,
+ LIGHT_MODEL_COLOR_CONTROL = 398,
+ LOGIC_OP = 399,
+ POLYGON_MODE = 400,
+ SHADE_MODEL = 401,
+ STENCIL_FUNC = 402,
+ MASK = 403,
+ STENCIL_OP = 404,
+ FAIL = 405,
+ ZFAIL = 406,
+ ZPASS = 407,
+ STENCIL_FUNC_SEPARATE = 408,
+ FRONT = 409,
+ BACK = 410,
+ STENCIL_OP_SEPARATE = 411,
+ STENCIL_MASK_SEPARATE = 412,
+ LIGHT_ENABLE = 413,
+ LIGHT_AMBIENT = 414,
+ LIGHT_DIFFUSE = 415,
+ LIGHT_SPECULAR = 416,
+ LIGHT_POSITION = 417,
+ LIGHT_CONSTANT_ATTENUATION = 418,
+ LIGHT_LINEAR_ATTENUATION = 419,
+ LIGHT_QUADRATIC_ATTENUATION = 420,
+ LIGHT_SPOT_CUTOFF = 421,
+ LIGHT_SPOT_DIRECTION = 422,
+ LIGHT_SPOT_EXPONENT = 423,
+ TEXTURE1D = 424,
+ TEXTURE2D = 425,
+ TEXTURE3D = 426,
+ TEXTURECUBE = 427,
+ TEXTURERECT = 428,
+ TEXTUREDEPTH = 429,
+ TEXTURE1D_ENABLE = 430,
+ TEXTURE2D_ENABLE = 431,
+ TEXTURE3D_ENABLE = 432,
+ TEXTURECUBE_ENABLE = 433,
+ TEXTURERECT_ENABLE = 434,
+ TEXTUREDEPTH_ENABLE = 435,
+ TEXTURE_ENV_COLOR = 436,
+ TEXTURE_ENV_MODE = 437,
+ CLIP_PLANE = 438,
+ CLIP_PLANE_ENABLE = 439,
+ BLEND_COLOR = 440,
+ COLOR_MASK = 441,
+ DEPTH_BOUNDS = 442,
+ DEPTH_MASK = 443,
+ DEPTH_RANGE = 444,
+ FOG_DENSITY = 445,
+ FOG_START = 446,
+ FOG_END = 447,
+ FOG_COLOR = 448,
+ LIGHT_MODEL_AMBIENT = 449,
+ LIGHTING_ENABLE = 450,
+ LINE_STIPPLE = 451,
+ LINE_WIDTH = 452,
+ MATERIAL_AMBIENT = 453,
+ MATERIAL_DIFFUSE = 454,
+ MATERIAL_EMISSION = 455,
+ MATERIAL_SHININESS = 456,
+ MATERIAL_SPECULAR = 457,
+ MODEL_VIEW_MATRIX = 458,
+ POINT_DISTANCE_ATTENUATION = 459,
+ POINT_FADE_THRESHOLD_SIZE = 460,
+ POINT_SIZE = 461,
+ POINT_SIZE_MIN = 462,
+ POINT_SIZE_MAX = 463,
+ POLYGON_OFFSET = 464,
+ PROJECTION_MATRIX = 465,
+ SCISSOR = 466,
+ STENCIL_MASK = 467,
+ ALPHA_TEST_ENABLE = 468,
+ BLEND_ENABLE = 469,
+ COLOR_LOGIC_OP_ENABLE = 470,
+ COLOR_MATERIAL_ENABLE = 471,
+ CULL_FACE_ENABLE = 472,
+ DEPTH_BOUNDS_ENABLE = 473,
+ DEPTH_CLAMP_ENABLE = 474,
+ DEPTH_TEST_ENABLE = 475,
+ DITHER_ENABLE = 476,
+ FOG_ENABLE = 477,
+ LIGHT_MODEL_LOCAL_VIEWER_ENABLE = 478,
+ LIGHT_MODEL_TWO_SIDE_ENABLE = 479,
+ LINE_SMOOTH_ENABLE = 480,
+ LINE_STIPPLE_ENABLE = 481,
+ LOGIC_OP_ENABLE = 482,
+ MULTISAMPLE_ENABLE = 483,
+ NORMALIZE_ENABLE = 484,
+ POINT_SMOOTH_ENABLE = 485,
+ POLYGON_OFFSET_FILL_ENABLE = 486,
+ POLYGON_OFFSET_LINE_ENABLE = 487,
+ POLYGON_OFFSET_POINT_ENABLE = 488,
+ POLYGON_SMOOTH_ENABLE = 489,
+ POLYGON_STIPPLE_ENABLE = 490,
+ RESCALE_NORMAL_ENABLE = 491,
+ SAMPLE_ALPHA_TO_COVERAGE_ENABLE = 492,
+ SAMPLE_ALPHA_TO_ONE_ENABLE = 493,
+ SAMPLE_COVERAGE_ENABLE = 494,
+ SCISSOR_TEST_ENABLE = 495,
+ STENCIL_TEST_ENABLE = 496,
+ GLES2_PIPELINE_SETTINGS = 497,
+ SAMPLE_COVERAGE = 498,
+ INVERT = 499,
+ POINT_SIZE_ENABLE = 500,
+ GLES2_VALUE = 501,
+ BVEC2 = 502,
+ BVEC3 = 503,
+ BVEC4 = 504,
+ VEC2 = 505,
+ VEC3 = 506,
+ VEC4 = 507,
+ MAT2 = 508,
+ MAT3 = 509,
+ MAT4 = 510,
+ IVEC2 = 511,
+ IVEC3 = 512,
+ IVEC4 = 513,
+ USERTYPE = 514,
+ GLSL_VALUE = 515,
+ CG_PARAM = 516,
+ BOOL2X1 = 517,
+ BOOL2X2 = 518,
+ BOOL2X3 = 519,
+ BOOL2X4 = 520,
+ BOOL3X1 = 521,
+ BOOL3X2 = 522,
+ BOOL3X3 = 523,
+ BOOL3X4 = 524,
+ BOOL4X1 = 525,
+ BOOL4X2 = 526,
+ BOOL4X3 = 527,
+ BOOL4X4 = 528,
+ INT2X1 = 529,
+ INT2X2 = 530,
+ INT2X3 = 531,
+ INT2X4 = 532,
+ INT3X1 = 533,
+ INT3X2 = 534,
+ INT3X3 = 535,
+ INT3X4 = 536,
+ INT4X1 = 537,
+ INT4X2 = 538,
+ INT4X3 = 539,
+ INT4X4 = 540,
+ HALF = 541,
+ HALF2 = 542,
+ HALF3 = 543,
+ HALF4 = 544,
+ HALF2X1 = 545,
+ HALF2X2 = 546,
+ HALF2X3 = 547,
+ HALF2X4 = 548,
+ HALF3X1 = 549,
+ HALF3X2 = 550,
+ HALF3X3 = 551,
+ HALF3X4 = 552,
+ HALF4X1 = 553,
+ HALF4X2 = 554,
+ HALF4X3 = 555,
+ HALF4X4 = 556,
+ FIXED = 557,
+ FIXED2 = 558,
+ FIXED3 = 559,
+ FIXED4 = 560,
+ FIXED2X1 = 561,
+ FIXED2X2 = 562,
+ FIXED2X3 = 563,
+ FIXED2X4 = 564,
+ FIXED3X1 = 565,
+ FIXED3X2 = 566,
+ FIXED3X3 = 567,
+ FIXED3X4 = 568,
+ FIXED4X1 = 569,
+ FIXED4X2 = 570,
+ FIXED4X3 = 571,
+ FIXED4X4 = 572,
+ GLES_SAMPLER_STATES = 573,
+ GLES_PIPELINE_SETTINGS = 574,
+ TEXTURE_PIPELINE = 575,
+ GLES_PARAM = 576,
+ FLOAT1X1 = 577,
+ FLOAT1X2 = 578,
+ FLOAT1X3 = 579,
+ FLOAT1X4 = 580,
+ FX_PROFILE = 581,
+ COLLADA = 582,
+ SCENE = 583;
+}
+
+// Returns the total number of schema types/dom* classes
+daeInt DLLSPEC colladaTypeCount();
+
+} // ColladaDOM150
+
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domVertices.h b/1.4.0/dom/include/1.5/dom/domVertices.h
new file mode 100644
index 0000000..3f51770
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domVertices.h
@@ -0,0 +1,124 @@
+#ifndef __dom150Vertices_h__
+#define __dom150Vertices_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domInput_local.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The vertices element declares the attributes and identity of mesh-vertices.
+ * The vertices element describes mesh-vertices in a mesh geometry. The mesh-vertices
+ * represent the position (identity) of the vertices comprising the mesh
+ * and other vertex attributes that are invariant to tessellation.
+ */
+class domVertices : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::VERTICES; }
+ static daeInt ID() { return 37; }
+ virtual daeInt typeID() const { return ID(); }
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Required attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+
+protected: // Elements
+/**
+ * The input element must occur at least one time. These inputs are local
+ * inputs. @see domInput
+ */
+ domInput_local_Array elemInput_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the input element array.
+ * @return Returns a reference to the array of input elements.
+ */
+ domInput_local_Array &getInput_array() { return elemInput_array; }
+ /**
+ * Gets the input element array.
+ * @return Returns a constant reference to the array of input elements.
+ */
+ const domInput_local_Array &getInput_array() const { return elemInput_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domVertices(DAE& dae) : daeElement(dae), attrId(), attrName(), elemInput_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domVertices() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domVertices &operator=( const domVertices &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domVisual_scene.h b/1.4.0/dom/include/1.5/dom/domVisual_scene.h
new file mode 100644
index 0000000..55a8e6c
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domVisual_scene.h
@@ -0,0 +1,760 @@
+#ifndef __dom150Visual_scene_h__
+#define __dom150Visual_scene_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domAsset.h>
+#include <1.5/dom/domNode.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * The visual_scene element declares the base of the visual_scene hierarchy
+ * or scene graph. The scene contains elements that comprise much of the
+ * visual and transformational information content as created by the authoring
+ * tools.
+ */
+class domVisual_scene : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::VISUAL_SCENE; }
+ static daeInt ID() { return 388; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domEvaluate_scene;
+
+ typedef daeSmartRef<domEvaluate_scene> domEvaluate_sceneRef;
+ typedef daeTArray<domEvaluate_sceneRef> domEvaluate_scene_Array;
+
+/**
+ * The evaluate_scene element declares information specifying how to evaluate
+ * this visual_scene. There may be any number of evaluate_scene elements.
+ * They are evaluated in order and particular one may be disabled via setting
+ * enabled=false.
+ */
+ class domEvaluate_scene : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::EVALUATE_SCENE; }
+ static daeInt ID() { return 389; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domRender;
+
+ typedef daeSmartRef<domRender> domRenderRef;
+ typedef daeTArray<domRenderRef> domRender_Array;
+
+/**
+ * The render element describes one effect pass to evaluate the scene. There
+ * must be at least one render element.
+ */
+ class domRender : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::RENDER; }
+ static daeInt ID() { return 390; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domLayer;
+
+ typedef daeSmartRef<domLayer> domLayerRef;
+ typedef daeTArray<domLayerRef> domLayer_Array;
+
+/**
+ * The layer element specifies which layer to render in this compositing step
+ * while evaluating the scene. You may specify any number of layers. No layers
+ * mans that the entire scene will be used.
+ */
+ class domLayer : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LAYER; }
+ static daeInt ID() { return 391; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return Returns a xsNCName of the value.
+ */
+ xsNCName getValue() const { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; }
+
+ protected: // Value
+ /**
+ * The xsNCName value of the text data of this element.
+ */
+ xsNCName _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domLayer(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domLayer() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domLayer &operator=( const domLayer &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domInstance_material;
+
+ typedef daeSmartRef<domInstance_material> domInstance_materialRef;
+ typedef daeTArray<domInstance_materialRef> domInstance_material_Array;
+
+/**
+ * The instance_material element specifies which effect to render in this
+ * compositing step while evaluating the scene.
+ */
+ class domInstance_material : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INSTANCE_MATERIAL; }
+ static daeInt ID() { return 392; }
+ virtual daeInt typeID() const { return ID(); }
+ public:
+ class domTechnique_override;
+
+ typedef daeSmartRef<domTechnique_override> domTechnique_overrideRef;
+ typedef daeTArray<domTechnique_overrideRef> domTechnique_override_Array;
+
+ class domTechnique_override : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TECHNIQUE_OVERRIDE; }
+ static daeInt ID() { return 393; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+/**
+ * technique
+ */
+ xsNCName attrRef;
+/**
+ * Explicitly select one pass. If empty then use all passes of the technique.
+ */
+ xsNCName attrPass;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the ref attribute.
+ * @return Returns a xsNCName of the ref attribute.
+ */
+ xsNCName getRef() const { return attrRef; }
+ /**
+ * Sets the ref attribute.
+ * @param atRef The new value for the ref attribute.
+ */
+ void setRef( xsNCName atRef ) { *(daeStringRef*)&attrRef = atRef; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the pass attribute.
+ * @return Returns a xsNCName of the pass attribute.
+ */
+ xsNCName getPass() const { return attrPass; }
+ /**
+ * Sets the pass attribute.
+ * @param atPass The new value for the pass attribute.
+ */
+ void setPass( xsNCName atPass ) { *(daeStringRef*)&attrPass = atPass; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domTechnique_override(DAE& dae) : daeElement(dae), attrRef(), attrPass() {}
+ /**
+ * Destructor
+ */
+ virtual ~domTechnique_override() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domTechnique_override &operator=( const domTechnique_override &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+ class domBind;
+
+ typedef daeSmartRef<domBind> domBindRef;
+ typedef daeTArray<domBindRef> domBind_Array;
+
+/**
+ * The bind element binds values to effect parameters upon instantiation.
+ */
+ class domBind : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BIND; }
+ static daeInt ID() { return 394; }
+ virtual daeInt typeID() const { return ID(); }
+ protected: // Attributes
+/**
+ * The semantic attribute specifies which effect parameter to bind.
+ */
+ xsNCName attrSemantic;
+/**
+ * The target attribute specifies the location of the value to bind to the
+ * specified semantic. This text string is a path-name following a simple
+ * syntax described in the ?Addressing Syntax? section.
+ */
+ xsToken attrTarget;
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the semantic attribute.
+ * @return Returns a xsNCName of the semantic attribute.
+ */
+ xsNCName getSemantic() const { return attrSemantic; }
+ /**
+ * Sets the semantic attribute.
+ * @param atSemantic The new value for the semantic attribute.
+ */
+ void setSemantic( xsNCName atSemantic ) { *(daeStringRef*)&attrSemantic = atSemantic; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the target attribute.
+ * @return Returns a xsToken of the target attribute.
+ */
+ xsToken getTarget() const { return attrTarget; }
+ /**
+ * Sets the target attribute.
+ * @param atTarget The new value for the target attribute.
+ */
+ void setTarget( xsToken atTarget ) { *(daeStringRef*)&attrTarget = atTarget; _validAttributeArray[1] = true; }
+
+ protected:
+ /**
+ * Constructor
+ */
+ domBind(DAE& dae) : daeElement(dae), attrSemantic(), attrTarget() {}
+ /**
+ * Destructor
+ */
+ virtual ~domBind() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domBind &operator=( const domBind &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+ protected: // Attribute
+/**
+ * URL to a material
+ */
+ xsAnyURI attrUrl;
+
+ protected: // Elements
+ domTechnique_overrideRef elemTechnique_override;
+/**
+ * The bind element binds values to effect parameters upon instantiation.
+ * @see domBind
+ */
+ domBind_Array elemBind_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the url attribute.
+ * @return Returns a xsAnyURI reference of the url attribute.
+ */
+ xsAnyURI &getUrl() { return attrUrl; }
+ /**
+ * Gets the url attribute.
+ * @return Returns a constant xsAnyURI reference of the url attribute.
+ */
+ const xsAnyURI &getUrl() const { return attrUrl; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( const xsAnyURI &atUrl ) { attrUrl = atUrl; _validAttributeArray[0] = true; }
+ /**
+ * Sets the url attribute.
+ * @param atUrl The new value for the url attribute.
+ */
+ void setUrl( xsString atUrl ) { attrUrl = atUrl; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the technique_override element.
+ * @return a daeSmartRef to the technique_override element.
+ */
+ const domTechnique_overrideRef getTechnique_override() const { return elemTechnique_override; }
+ /**
+ * Gets the bind element array.
+ * @return Returns a reference to the array of bind elements.
+ */
+ domBind_Array &getBind_array() { return elemBind_array; }
+ /**
+ * Gets the bind element array.
+ * @return Returns a constant reference to the array of bind elements.
+ */
+ const domBind_Array &getBind_array() const { return elemBind_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ protected:
+ /**
+ * Constructor
+ */
+ domInstance_material(DAE& dae) : daeElement(dae), attrUrl(dae, *this), elemTechnique_override(), elemBind_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domInstance_material() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domInstance_material &operator=( const domInstance_material &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+ protected: // Attributes
+ domSid attrSid;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+/**
+ * The camera_node attribute refers to a node that contains a camera describing
+ * the viewpoint to render this compositing step from.
+ */
+ xsAnyURI attrCamera_node;
+
+ protected: // Elements
+/**
+ * The layer element specifies which layer to render in this compositing step
+ * while evaluating the scene. You may specify any number of layers. No layers
+ * mans that the entire scene will be used. @see domLayer
+ */
+ domLayer_Array elemLayer_array;
+/**
+ * The instance_material element specifies which effect to render in this
+ * compositing step while evaluating the scene. @see domInstance_material
+ */
+ domInstance_materialRef elemInstance_material;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the camera_node attribute.
+ * @return Returns a xsAnyURI reference of the camera_node attribute.
+ */
+ xsAnyURI &getCamera_node() { return attrCamera_node; }
+ /**
+ * Gets the camera_node attribute.
+ * @return Returns a constant xsAnyURI reference of the camera_node attribute.
+ */
+ const xsAnyURI &getCamera_node() const { return attrCamera_node; }
+ /**
+ * Sets the camera_node attribute.
+ * @param atCamera_node The new value for the camera_node attribute.
+ */
+ void setCamera_node( const xsAnyURI &atCamera_node ) { attrCamera_node = atCamera_node; _validAttributeArray[2] = true; }
+ /**
+ * Sets the camera_node attribute.
+ * @param atCamera_node The new value for the camera_node attribute.
+ */
+ void setCamera_node( xsString atCamera_node ) { attrCamera_node = atCamera_node; _validAttributeArray[2] = true; }
+
+ /**
+ * Gets the layer element array.
+ * @return Returns a reference to the array of layer elements.
+ */
+ domLayer_Array &getLayer_array() { return elemLayer_array; }
+ /**
+ * Gets the layer element array.
+ * @return Returns a constant reference to the array of layer elements.
+ */
+ const domLayer_Array &getLayer_array() const { return elemLayer_array; }
+ /**
+ * Gets the instance_material element.
+ * @return a daeSmartRef to the instance_material element.
+ */
+ const domInstance_materialRef getInstance_material() const { return elemInstance_material; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ protected:
+ /**
+ * Constructor
+ */
+ domRender(DAE& dae) : daeElement(dae), attrSid(), attrName(), attrCamera_node(dae, *this), elemLayer_array(), elemInstance_material(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domRender() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domRender &operator=( const domRender &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+ protected: // Attributes
+ xsID attrId;
+ domSid attrSid;
+ xsToken attrName;
+/**
+ * allow this to be disabled and hense skipped durring evaluation. This is
+ * useful for debug.
+ */
+ xsBoolean attrEnable;
+
+ protected: // Elements
+ domAssetRef elemAsset;
+/**
+ * The render element describes one effect pass to evaluate the scene. There
+ * must be at least one render element. @see domRender
+ */
+ domRender_Array elemRender_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId; _validAttributeArray[0] = true;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the sid attribute.
+ * @return Returns a domSid of the sid attribute.
+ */
+ domSid getSid() const { return attrSid; }
+ /**
+ * Sets the sid attribute.
+ * @param atSid The new value for the sid attribute.
+ */
+ void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[1] = true; }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[2] = true; }
+
+ /**
+ * Gets the enable attribute.
+ * @return Returns a xsBoolean of the enable attribute.
+ */
+ xsBoolean getEnable() const { return attrEnable; }
+ /**
+ * Sets the enable attribute.
+ * @param atEnable The new value for the enable attribute.
+ */
+ void setEnable( xsBoolean atEnable ) { attrEnable = atEnable; _validAttributeArray[3] = true; }
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the render element array.
+ * @return Returns a reference to the array of render elements.
+ */
+ domRender_Array &getRender_array() { return elemRender_array; }
+ /**
+ * Gets the render element array.
+ * @return Returns a constant reference to the array of render elements.
+ */
+ const domRender_Array &getRender_array() const { return elemRender_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+ protected:
+ /**
+ * Constructor
+ */
+ domEvaluate_scene(DAE& dae) : daeElement(dae), attrId(), attrSid(), attrName(), attrEnable(), elemAsset(), elemRender_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domEvaluate_scene() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domEvaluate_scene &operator=( const domEvaluate_scene &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+/**
+ * The id attribute is a text string containing the unique identifier of
+ * this element. This value must be unique within the instance document.
+ * Optional attribute.
+ */
+ xsID attrId;
+/**
+ * The name attribute is the text string name of this element. Optional attribute.
+ */
+ xsToken attrName;
+
+protected: // Elements
+/**
+ * The visual_scene element may contain an asset element. @see domAsset
+ */
+ domAssetRef elemAsset;
+/**
+ * The visual_scene element must have at least one node element. @see domNode
+ */
+ domNode_Array elemNode_array;
+/**
+ * The evaluate_scene element declares information specifying how to evaluate
+ * this visual_scene. There may be any number of evaluate_scene elements.
+ * They are evaluated in order and particular one may be disabled via setting
+ * enabled=false. @see domEvaluate_scene
+ */
+ domEvaluate_scene_Array elemEvaluate_scene_array;
+/**
+ * The extra element may appear any number of times. @see domExtra
+ */
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the asset element.
+ * @return a daeSmartRef to the asset element.
+ */
+ const domAssetRef getAsset() const { return elemAsset; }
+ /**
+ * Gets the node element array.
+ * @return Returns a reference to the array of node elements.
+ */
+ domNode_Array &getNode_array() { return elemNode_array; }
+ /**
+ * Gets the node element array.
+ * @return Returns a constant reference to the array of node elements.
+ */
+ const domNode_Array &getNode_array() const { return elemNode_array; }
+ /**
+ * Gets the evaluate_scene element array.
+ * @return Returns a reference to the array of evaluate_scene elements.
+ */
+ domEvaluate_scene_Array &getEvaluate_scene_array() { return elemEvaluate_scene_array; }
+ /**
+ * Gets the evaluate_scene element array.
+ * @return Returns a constant reference to the array of evaluate_scene elements.
+ */
+ const domEvaluate_scene_Array &getEvaluate_scene_array() const { return elemEvaluate_scene_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domVisual_scene(DAE& dae) : daeElement(dae), attrId(), attrName(), elemAsset(), elemNode_array(), elemEvaluate_scene_array(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domVisual_scene() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domVisual_scene &operator=( const domVisual_scene &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/1.5/dom/domWires.h b/1.4.0/dom/include/1.5/dom/domWires.h
new file mode 100644
index 0000000..02e8fec
--- /dev/null
+++ b/1.4.0/dom/include/1.5/dom/domWires.h
@@ -0,0 +1,198 @@
+#ifndef __dom150Wires_h__
+#define __dom150Wires_h__
+
+#include <dae/daeDocument.h>
+#include <1.5/dom/domTypes.h>
+#include <1.5/dom/domElements.h>
+
+#include <1.5/dom/domInput_local_offset.h>
+#include <1.5/dom/domP.h>
+#include <1.5/dom/domExtra.h>
+
+class DAE;
+namespace ColladaDOM150 {
+
+/**
+ * This element defines all the wires used in the brep structure.
+ */
+class domWires : public daeElement
+{
+public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::WIRES; }
+ static daeInt ID() { return 301; }
+ virtual daeInt typeID() const { return ID(); }
+public:
+ class domVcount;
+
+ typedef daeSmartRef<domVcount> domVcountRef;
+ typedef daeTArray<domVcountRef> domVcount_Array;
+
+ class domVcount : public daeElement
+ {
+ public:
+ virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::VCOUNT; }
+ static daeInt ID() { return 302; }
+ virtual daeInt typeID() const { return ID(); }
+
+
+ public: //Accessors and Mutators
+ /**
+ * Gets the value of this element.
+ * @return a domList_of_uints of the value.
+ */
+ domList_of_uints& getValue() { return _value; }
+ /**
+ * Sets the _value of this element.
+ * @param val The new value for this element.
+ */
+ void setValue( const domList_of_uints& val ) { _value = val; }
+
+ protected: // Value
+ /**
+ * The domList_of_uints value of the text data of this element.
+ */
+ domList_of_uints _value;
+ protected:
+ /**
+ * Constructor
+ */
+ domVcount(DAE& dae) : daeElement(dae), _value() {}
+ /**
+ * Destructor
+ */
+ virtual ~domVcount() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domVcount &operator=( const domVcount &cpy ) { (void)cpy; return *this; }
+
+ public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+ };
+
+
+protected: // Attributes
+ xsID attrId;
+ xsToken attrName;
+ domUint attrCount;
+
+protected: // Elements
+/**
+ * One input elements is needed to define a wire by its edges. The second
+ * is needed for orientation of the edges @see domInput
+ */
+ domInput_local_offset_Array elemInput_array;
+ domVcountRef elemVcount;
+/**
+ * The indices of the edges for each wire. @see domP
+ */
+ domPRef elemP;
+ domExtra_Array elemExtra_array;
+
+public: //Accessors and Mutators
+ /**
+ * Gets the id attribute.
+ * @return Returns a xsID of the id attribute.
+ */
+ xsID getId() const { return attrId; }
+ /**
+ * Sets the id attribute.
+ * @param atId The new value for the id attribute.
+ */
+ void setId( xsID atId ) { *(daeStringRef*)&attrId = atId;
+ if( _document != NULL ) _document->changeElementID( this, attrId );
+ }
+
+ /**
+ * Gets the name attribute.
+ * @return Returns a xsToken of the name attribute.
+ */
+ xsToken getName() const { return attrName; }
+ /**
+ * Sets the name attribute.
+ * @param atName The new value for the name attribute.
+ */
+ void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
+
+ /**
+ * Gets the count attribute.
+ * @return Returns a domUint of the count attribute.
+ */
+ domUint getCount() const { return attrCount; }
+ /**
+ * Sets the count attribute.
+ * @param atCount The new value for the count attribute.
+ */
+ void setCount( domUint atCount ) { attrCount = atCount; }
+
+ /**
+ * Gets the input element array.
+ * @return Returns a reference to the array of input elements.
+ */
+ domInput_local_offset_Array &getInput_array() { return elemInput_array; }
+ /**
+ * Gets the input element array.
+ * @return Returns a constant reference to the array of input elements.
+ */
+ const domInput_local_offset_Array &getInput_array() const { return elemInput_array; }
+ /**
+ * Gets the vcount element.
+ * @return a daeSmartRef to the vcount element.
+ */
+ const domVcountRef getVcount() const { return elemVcount; }
+ /**
+ * Gets the p element.
+ * @return a daeSmartRef to the p element.
+ */
+ const domPRef getP() const { return elemP; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a reference to the array of extra elements.
+ */
+ domExtra_Array &getExtra_array() { return elemExtra_array; }
+ /**
+ * Gets the extra element array.
+ * @return Returns a constant reference to the array of extra elements.
+ */
+ const domExtra_Array &getExtra_array() const { return elemExtra_array; }
+protected:
+ /**
+ * Constructor
+ */
+ domWires(DAE& dae) : daeElement(dae), attrId(), attrName(), attrCount(), elemInput_array(), elemVcount(), elemP(), elemExtra_array() {}
+ /**
+ * Destructor
+ */
+ virtual ~domWires() {}
+ /**
+ * Overloaded assignment operator
+ */
+ virtual domWires &operator=( const domWires &cpy ) { (void)cpy; return *this; }
+
+public: // STATIC METHODS
+ /**
+ * Creates an instance of this class and returns a daeElementRef referencing it.
+ * @return a daeElementRef referencing an instance of this object.
+ */
+ static DLLSPEC daeElementRef create(DAE& dae);
+ /**
+ * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
+ * If a daeMetaElement already exists it will return that instead of creating a new one.
+ * @return A daeMetaElement describing this COLLADA element.
+ */
+ static DLLSPEC daeMetaElement* registerElement(DAE& dae);
+};
+
+
+} // ColladaDOM150
+#endif
diff --git a/1.4.0/dom/include/dae.h b/1.4.0/dom/include/dae.h
new file mode 100644
index 0000000..5419aca
--- /dev/null
+++ b/1.4.0/dom/include/dae.h
@@ -0,0 +1,304 @@
+/*
+ * Copyright 2006 Sony Computer Entertainment Inc.
+ *
+ * Licensed under the MIT Open Source License, for details please see license.txt or the website
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ */
+
+#ifndef __DAE__
+#define __DAE__
+
+// We use the boost filesystem library for cross-platform file system support. You'll need
+// to have boost on your machine for this to work. For the Windows build boost is provided
+// in the external-libs folder, but for Linux it's expected that you'll install a boost
+// obtained via your distro's package manager. For example on Debian/Ubuntu, you can run
+// apt-get install libboost-filesystem-dev
+// to install the boost filesystem library on your machine.
+//
+// Disable the warnings we get from Boost
+// warning C4180: qualifier applied to function type has no meaning; ignored
+// warning C4245: 'argument' : conversion from 'int' to 'boost::filesystem::system_error_type',
+// signed/unsigned mismatch
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable: 4180 4245)
+#endif
+#ifndef NO_BOOST
+#include <boost/filesystem/convenience.hpp>
+#endif
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+
+#include <dae/daeTypes.h>
+#include <dae/daeError.h>
+#include <dae/daeDatabase.h>
+#include <dae/daeIOPlugin.h>
+#include <dae/daeAtomicType.h>
+#include <dae/daeMetaElement.h>
+#include <dae/daeIDRef.h>
+#include <dae/daeURI.h>
+#include <dae/daeUtils.h>
+#include <dae/daeRawResolver.h>
+#include <dae/daeSIDResolver.h>
+
+// needed for backward compatibility
+#ifdef COLLADA_DOM_SUPPORT150
+namespace ColladaDOM150 {
+class domCOLLADA;
+typedef daeSmartRef<domCOLLADA> domCOLLADARef;
+}
+#endif
+#ifdef COLLADA_DOM_SUPPORT141
+namespace ColladaDOM141 {
+class domCOLLADA;
+typedef daeSmartRef<domCOLLADA> domCOLLADARef;
+}
+#endif
+
+typedef daeElement domCOLLADAProxy;
+typedef daeSmartRef<daeElement> domCOLLADAProxyRef;
+
+class daeDatabase;
+
+// The DAE class is the core interface via which you interact with the DOM. It
+// has methods to load/save documents, get the root element of each document,
+// etc. Although internally the DOM works exclusively with URIs, the methods of
+// the DAE class that take document paths can take URIs or OS-specific file
+// paths.
+class DLLSPEC DAE
+{
+public:
+ // Constructor. If no database or IO plugin are provided, a default database and
+ // IO plugin will be used.
+ // \param specversion the collada specification to load into memory. For example: "1.4.1" or "1.5.0". If NULL, then the highest version found will be loaded.
+ DAE(daeDatabase* database = NULL, daeIOPlugin* ioPlugin = NULL, const char* specversion = NULL)
+ : atomicTypes(*this),
+ baseUri(*this, cdom::getCurrentDirAsUri().c_str())
+ {
+ // See the end of the thread linked below for an explanation of why we have the DAE
+ // constructor set up this way. Basically, I'm going to be changing the build output
+ // location, and when this happens people sometimes continue to link against the old
+ // libraries by accident (e.g. if they just do an svn update). By introducing a new
+ // function that gets called from a function in a header file, I'm ensuring that someone
+ // who tries linking against old libraries will get a link error. This may not sound
+ // very nice, but it's certainly better than getting bizarre runtime crashes.
+ // https://collada.org/public_forum/viewtopic.php?t=771&sid=f13c34f2d17ca720c5021bccbe5128b7
+ init(database, ioPlugin,specversion);
+ dummyFunction1();
+ }
+
+ virtual ~DAE();
+
+ // Release all memory used by the DOM. You never need to call this explicitly. It's
+ // called automatically when all DAE objects go out of scope.
+ // Deletes directory returned by cdom::getSafeTmpDir().
+ static void cleanup();
+
+public:
+ // Database setup
+ virtual daeDatabase* getDatabase();
+ virtual daeInt setDatabase(daeDatabase* database);
+
+ // IO Plugin setup
+ virtual daeIOPlugin* getIOPlugin();
+ virtual daeInt setIOPlugin(daeIOPlugin* plugin);
+
+ // Creates a new document, returning null on failure. Cast to ColladaDOMXXX::domCOLLADA
+ virtual domCOLLADAProxy* add(const std::string& path);
+ // Opens an existing document, returning null on failure. Cast to ColladaDOMXXX::domCOLLADA
+ virtual domCOLLADAProxy* open(const std::string& path);
+ // Opens a document from memory, returning null on failure. Cast to ColladaDOMXXX::domCOLLADA
+ virtual domCOLLADAProxy* openFromMemory(const std::string& path, daeString buffer);
+#ifdef COLLADA_DOM_SUPPORT141
+ virtual ColladaDOM141::domCOLLADA* add141(const std::string& path) {
+ return (ColladaDOM141::domCOLLADA*)add(path);
+ }
+ virtual ColladaDOM141::domCOLLADA* open141(const std::string& path) {
+ return (ColladaDOM141::domCOLLADA*)open(path);
+ }
+ // Opens a document from memory, returning null on failure.
+ virtual ColladaDOM141::domCOLLADA* openFromMemory141(const std::string& path, daeString buffer) {
+ return (ColladaDOM141::domCOLLADA*)openFromMemory(path,buffer);
+ }
+#endif
+#ifdef COLLADA_DOM_SUPPORT150
+ virtual ColladaDOM150::domCOLLADA* add150(const std::string& path) {
+ return (ColladaDOM150::domCOLLADA*)add(path);
+ }
+ virtual ColladaDOM150::domCOLLADA* open150(const std::string& path) {
+ return (ColladaDOM150::domCOLLADA*)open(path);
+ }
+ // Opens a document from memory, returning null on failure.
+ virtual ColladaDOM150::domCOLLADA* openFromMemory150(const std::string& path, daeString buffer) {
+ return (ColladaDOM150::domCOLLADA*)openFromMemory(path,buffer);
+ }
+#endif
+
+ // Write a document to the path specified by the document's URI, returning false on failure.
+ virtual bool write(const std::string& path);
+ // Write a document to the path specified in the second parameter, returning false on failure.
+ virtual bool writeTo(const std::string& docPath, const std::string& pathToWriteTo);
+ // Writes all documents, returning false if any document failed to write.
+ virtual bool writeAll();
+ // Close a specific document, unloading all memory used by the document. Returns false on failure.
+ virtual void close(const std::string& path);
+ // Remove all loaded documents. Always returns DAE_OK.
+ virtual daeInt clear();
+
+ // Returns the total number of documents.
+ virtual int getDocCount();
+ // Returns the i'th document .
+ virtual daeDocument* getDoc(int i);
+ // Returns a document matching the path.
+ virtual daeDocument* getDoc(const std::string& path);
+
+ // Get the root daeElement object corresponding to a particular document. Cast to ColladaDOMXXX::domCOLLADA
+ virtual domCOLLADAProxy* getRoot(const std::string& path);
+ // Set the root daeElement object corresponding to a particular document, returning false on failure.
+ virtual bool setRoot(const std::string& path, domCOLLADAProxy* root);
+#ifdef COLLADA_DOM_SUPPORT141
+ virtual ColladaDOM141::domCOLLADA* getRoot141(const std::string& path) {
+ return (ColladaDOM141::domCOLLADA*)getRoot(path);
+ }
+ virtual bool setRoot141(const std::string& path, ColladaDOM141::domCOLLADA* root) {
+ return setRoot(path,(domCOLLADAProxy*)root);
+ }
+#endif
+#ifdef COLLADA_DOM_SUPPORT150
+ virtual ColladaDOM150::domCOLLADA* getRoot150(const std::string& path) {
+ return (ColladaDOM150::domCOLLADA*)getRoot(path);
+ }
+ virtual bool setRoot150(const std::string& path, ColladaDOM150::domCOLLADA* root) {
+ return setRoot(path,(domCOLLADAProxy*)root);
+ }
+#endif
+
+ // Returns the Collada version, i.e. 1.4, 1.5, etc. Note that this _isn't_ the
+ // same as the DOM version (1.3, 2.0, ...).
+ virtual daeString getDomVersion();
+
+ // Returns the (modifiable) list of atomic type objects.
+ daeAtomicTypeList& getAtomicTypes();
+
+ // Get/set a daeMetaElement object given the meta object's type ID.
+ daeMetaElement* getMeta(daeInt typeID);
+ void setMeta(daeInt typeID, daeMetaElement& meta);
+
+ // Get all daeMetaElement objects.
+ daeMetaElementRefArray& getAllMetas();
+
+ // Returns the list of URI resolvers. You can modify the list to add new resolvers.
+ daeURIResolverList& getURIResolvers();
+
+ // The base URI used for resolving relative URI references.
+ daeURI& getBaseURI();
+ void setBaseURI(const daeURI& uri);
+ void setBaseURI(const std::string& uri);
+
+ // Returns the list of ID reference resolvers. You can modify the list to add new
+ // resolvers.
+ daeIDRefResolverList& getIDRefResolvers();
+
+ // Meant for internal DOM use only.
+ daeRawRefCache& getRawRefCache();
+ daeSidRefCache& getSidRefCache();
+
+ // These functions specify the client's character encoding for the DOM. The
+ // default is Utf8, but if you specify Latin1 then the DOM will use libxml's
+ // character conversion functions to convert to Utf8 when writing data and
+ // convert to Latin1 when reading data. This can help with the handling of
+ // non-ASCII characters on Windows. Only when using libxml for xml I/O does
+ // any character conversion occur.
+ //
+ // Most people can probably just ignore this completely. If you have trouble
+ // with non-ASCII characters on Windows, try setting the char encoding to
+ // Latin1 to see if that helps.
+ //
+ // Frankly this certainly isn't the best way of handling non-ASCII character
+ // support on Windows, so this interface is a likely target for significant
+ // changes in the future.
+ //
+ // See this Sourceforge thread for more info:
+ // http://sourceforge.net/tracker/index.php?func=detail&aid=1818473&group_id=157838&atid=805426
+ //
+ enum charEncoding {
+ Utf8,
+ Latin1
+ };
+
+ // Global encoding setting. Defaults to Utf8. Set this if you want to make a
+ // char encoding change and apply it to all DAE objects.
+ static charEncoding getGlobalCharEncoding();
+ static void setGlobalCharEncoding(charEncoding encoding);
+
+ // Local encoding setting. If set, overrides the global setting. Useful for setting
+ // a specific char encoding for a single DAE object but not for all DAE objects.
+ charEncoding getCharEncoding();
+ void setCharEncoding(charEncoding encoding);
+
+ // Deprecated. Alternative methods are given.
+ virtual daeInt load(daeString uri, daeString docBuffer = NULL); // Use open
+ virtual daeInt save(daeString uri, daeBool replace=true); // Use write
+ virtual daeInt save(daeUInt documentIndex, daeBool replace=true); // Use write
+ virtual daeInt saveAs(daeString uriToSaveTo, daeString docUri, daeBool replace=true); // Use writeTo
+ virtual daeInt saveAs(daeString uriToSaveTo, daeUInt documentIndex=0, daeBool replace=true); // Use writeTo
+ virtual daeInt unload(daeString uri); // Use close
+
+ virtual domCOLLADAProxy* getDom(daeString uri); // use getRoot, Cast to ColladaDOMXXX::domCOLLADA
+ virtual daeInt setDom(daeString uri, domCOLLADAProxy* dom); // use setRoot,
+#ifdef COLLADA_DOM_SUPPORT141
+ virtual ColladaDOM141::domCOLLADA* getDom141(daeString uri) {
+ return (ColladaDOM141::domCOLLADA*)getDom(uri);
+ }
+ virtual daeInt setDom141(daeString uri, ColladaDOM141::domCOLLADA* dom) {
+ return setDom(uri,(domCOLLADAProxy*)dom);
+ }
+#endif
+#ifdef COLLADA_DOM_SUPPORT150
+ virtual ColladaDOM150::domCOLLADA* getDom150(daeString uri) {
+ return (ColladaDOM150::domCOLLADA*)getDom(uri);
+ }
+ virtual daeInt setDom150(daeString uri, ColladaDOM150::domCOLLADA* dom) {
+ return setDom(uri,(domCOLLADAProxy*)dom);
+ }
+#endif
+
+ virtual daeString getColladaNamespace();
+
+private:
+ void init(daeDatabase* database, daeIOPlugin* ioPlugin, const char* specversion);
+ void dummyFunction1();
+ std::string makeFullUri(const std::string& path);
+ domCOLLADAProxy* openCommon(const std::string& path, daeString buffer);
+ bool writeCommon(const std::string& docPath, const std::string& pathToWriteTo, bool replace);
+
+ daeDatabase *database;
+ daeIOPlugin *plugin;
+ bool defaultDatabase;
+ bool defaultPlugin;
+ daeAtomicTypeList atomicTypes;
+ daeMetaElementRefArray metas;
+ daeURI baseUri;
+ daeURIResolverList uriResolvers;
+ daeIDRefResolverList idRefResolvers;
+ daeRawRefCache rawRefCache;
+ daeSidRefCache sidRefCache;
+ daeString COLLADA_VERSION, COLLADA_NAMESPACE; // dynamic
+
+ std::auto_ptr<charEncoding> localCharEncoding;
+ static charEncoding globalCharEncoding;
+};
+
+
+template <typename T>
+inline T *daeSafeCast(daeElement *element)
+{
+ if (element && element->typeID() == T::ID())
+ return (T*)element;
+ return NULL;
+}
+
+
+#endif // __DAE_INTERFACE__
diff --git a/1.4.0/dom/include/dae/daeArray.h b/1.4.0/dom/include/dae/daeArray.h
new file mode 100644
index 0000000..8d7bea9
--- /dev/null
+++ b/1.4.0/dom/include/dae/daeArray.h
@@ -0,0 +1,705 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __DAE_ARRAY_H__
+#define __DAE_ARRAY_H__
+#include <new>
+#include <dae/daeMemorySystem.h>
+
+class daeAtomicType;
+
+/**
+ * COLLADA C++ class that implements storage for resizable array containers.
+ */
+#if defined( __GNUC__ ) || (defined(__clang__) && defined(__APPLE__))
+class DLLSPEC daeArray
+#else
+class daeArray
+#endif
+{
+protected:
+ size_t _count;
+ size_t _capacity;
+ daeMemoryRef _data;
+ size_t _elementSize;
+ daeAtomicType* _type;
+public:
+ /**
+ * Constructor
+ */
+ DLLSPEC daeArray();
+ /**
+ * Destructor
+ */
+ virtual DLLSPEC ~daeArray();
+ /**
+ * Clears the contents of the array. Do not use this function if the array contains @c daeSmartRef objects and the
+ * @c dom* class the array belongs to has a @c _contents member.
+ *
+ * Many @c dom* objects have a @c _contents member that stores the original creation order of the @c daeElements
+ * that are their children. If you use @c clear() on a @c daeArray of @c daeSmartRef derived objects, these
+ * objects will not be removed from @c _contents, which can cause problems when you
+ * save the data. We recommended that @c clear() not be used on arrays that are part of a @c dom* object.
+ */
+ virtual DLLSPEC void clear() = 0;
+ /**
+ * Sets the size of an element in the array. This clears and reinitializes the array.
+ * @param elementSize Size of an element in the array.
+ */
+ DLLSPEC void setElementSize(size_t elementSize);
+ /**
+ * Gets the size of an element in this array.
+ * @return Returns the size of an element in this array.
+ */
+ size_t getElementSize() const {return _elementSize;}
+ /**
+ * Grows the array to the specified size and sets the @c daeArray to that size.
+ * @param cnt Size to grow the array to.
+ */
+ virtual void setCount(size_t cnt) = 0;
+ /**
+ * Gets the number of items stored in this @c daeArray.
+ * @return Returns the number of items stored in this @c daeArray.
+ */
+ size_t getCount() const {return _count;}
+ /**
+ * Increases the capacity of the @c daeArray.
+ * @param minCapacity The minimum array capacity (the actual resulting capacity may be higher).
+ */
+ virtual void grow(size_t minCapacity) = 0;
+ /**
+ * Gets the current capacity of the array, the biggest it can get without incurring a realloc.
+ * @return Returns the capacity of the array.
+ */
+ size_t getCapacity() const {return _capacity;}
+ /**
+ * Gets a pointer to the raw memory of a particular element.
+ * @return Returns a pointer to the memory for the raw data.
+ */
+ daeMemoryRef getRaw(size_t index) const {return _data + index*_elementSize;}
+ /**
+ * Removes an item at a specific index in the @c daeArray.
+ * @param index Index number of the item to delete.
+ * @return Returns DAE_OK if success, a negative value defined in daeError.h otherwise.
+ * @note The @c daeElement objects sometimes list
+ * objects in two places, the class member and the <i> @c _contents </i> array, when you remove something from the
+ * dom, you must remove it from both places.
+ */
+ virtual daeInt removeIndex(size_t index) = 0;
+
+ // Provided for backward compatibility only. Don't use these.
+ void setRawCount(size_t cnt) { setCount(cnt); } // Use setCount instead
+ daeMemoryRef getRawData() const {return _data;} // Use getRaw instead
+};
+
+/**
+ * COLLADA C++ templated version of @c daeArray for storing items of various types.
+ */
+template <class T>
+class daeTArray : public daeArray
+{
+protected:
+ T* prototype;
+public:
+ /**
+ * Constructor.
+ */
+ daeTArray() {
+ _elementSize = sizeof( T );
+ prototype = NULL;
+ }
+ /**
+ * Constructor.
+ */
+ explicit daeTArray(T* prototype) : prototype(prototype) {
+ _elementSize = sizeof( T );
+ }
+ /**
+ * Copy Constructor
+ */
+ daeTArray( const daeTArray<T> &cpy ) : daeArray() {
+ prototype = NULL;
+ *this = cpy;
+ }
+ /**
+ * Constructor that takes one element and turns into an array
+ */
+ explicit daeTArray( const T &el ) {
+ _elementSize = sizeof(T);
+ prototype = NULL;
+ append( el );
+ }
+ /**
+ * Destructor.
+ */
+ virtual ~daeTArray() {
+ clear();
+ delete prototype;
+ }
+ /**
+ * Frees the memory in this array and resets it to it's initial state.
+ */
+ virtual void clear()
+ {
+ for(size_t i=0;i<_count;i++)
+ ((T*)_data + i)->~T();
+ free(_data);
+ _count = 0;
+ _capacity = 0;
+ _data = NULL;
+ }
+
+ /**
+ * Increases the capacity of the @c daeArray.
+ * @param minCapacity The minimum array capacity (the actual resulting capacity may be higher).
+ */
+ void grow(size_t minCapacity) {
+ if (minCapacity <= _capacity)
+ return;
+
+ size_t newCapacity = _capacity == 0 ? 1 : _capacity;
+ while(newCapacity < minCapacity)
+ newCapacity *= 2;
+
+ T* newData = (T*)malloc(newCapacity*_elementSize);
+ for (size_t i = 0; i < _count; i++) {
+ new (&newData[i]) T(get(i));
+ ((T*)_data + i)->~T();
+ }
+
+ if (_data != NULL)
+ free(_data);
+
+ _data = (daeMemoryRef)newData;
+ _capacity = newCapacity;
+ }
+
+ /**
+ * Removes an item at a specific index in the @c daeArray.
+ * @param index Index number of the item to delete.
+ * @return Returns DAE_OK if success, a negative value defined in daeError.h otherwise.
+ * @note The @c daeElement objects sometimes list
+ * objects in two places, the class member and the <i> @c _contents </i> array, when you remove something from the
+ * dom, you must remove it from both places.
+ */
+ virtual daeInt removeIndex(size_t index)
+ {
+ if (index >= _count)
+ return(DAE_ERR_INVALID_CALL);
+
+ for (size_t i = index; i < _count-1; i++)
+ *((T*)_data+i) = *((T*)_data+i+1);
+ ((T*)_data+(_count-1))->~T();
+ _count--;
+ return DAE_OK;
+ }
+
+ /**
+ * Resets the number of elements in the array. If the array increases in size, the new
+ * elements will be initialized to the specified value.
+ * @param nElements The new size of the array.
+ * @param value The value new elements will be initialized to.
+ * @note Shrinking the array does NOT free up memory.
+ */
+ void setCount(size_t nElements, const T& value)
+ {
+ grow(nElements);
+ // Destruct the elements that are being chopped off
+ for (size_t i = nElements; i < _count; i++)
+ ((T*)_data+i)->~T();
+ // Use value to initialize the new elements
+ for (size_t i = _count; i < nElements; i++)
+ new ((void*)((T*)_data+i)) T(value);
+ _count = nElements;
+ }
+
+ /**
+ * Resets the number of elements in the array. If the array increases in size, the new
+ * elements will be initialized with a default constructor.
+ * @param nElements The new size of the array.
+ * @note Shrinking the array does NOT free up memory.
+ */
+ virtual void setCount(size_t nElements) {
+ if (prototype)
+ setCount(nElements, *prototype);
+ else
+ setCount(nElements, T());
+ }
+
+ /**
+ * Sets a specific index in the @c daeArray, growing the array if necessary.
+ * @param index Index of the object to set, asserts if the index is out of bounds.
+ * @param value Value to store at index in the array.
+ */
+ void set(size_t index, const T& value) {
+ if (index >= _count)
+ setCount(index+1);
+ ((T*)_data)[index] = value;
+ }
+
+ /**
+ * Gets the object at a specific index in the @c daeArray.
+ * @param index Index of the object to get, asserts if the index is out of bounds.
+ * @return Returns the object at index.
+ */
+ T& get(size_t index) {
+ assert(index < _count);
+ return ((T*)_data)[index]; }
+ /**
+ * Gets the object at a specific index in the @c daeArray.
+ * @param index Index of the object to get, asserts if the index is out of bounds.
+ * @return Returns the object at index.
+ */
+ const T& get(size_t index) const {
+ assert(index < _count);
+ return ((T*)_data)[index]; }
+
+ /**
+ * Appends a new object to the end of the @c daeArray.
+ * @param value Value of the object to append.
+ * @return Returns the index of the new object.
+ */
+ size_t append(const T& value) {
+ set(_count, value);
+ return _count-1;
+ }
+
+ /**
+ * Appends a unique object to the end of the @c daeArray.
+ * Functions the same as @c append(), but does nothing if the value is already in the @c daeArray.
+ * @param value Value of the object to append.
+ * @return Returns the index where this value was appended. If the value already exists in the array,
+ * returns the index in this array where the value was found.
+ */
+ size_t appendUnique(const T& value) {
+ size_t ret;
+ if (find(value,ret) != DAE_OK)
+ return append(value);
+ else
+ return ret;
+ }
+
+ /**
+ * Adds a new item to the front of the @c daeArray.
+ * @param value Item to be added.
+ */
+ void prepend(const T& value) {
+ insertAt(0, value);
+ }
+
+ /**
+ * Removes an item from the @c daeArray.
+ * @param value A reference to the item to delete.
+ * @return Returns DAE_OK if success, a negative value defined in daeError.h otherwise.
+ * @note The @c daeElement objects sometimes list
+ * objects in two places, the class member and the <i> @c _contents </i> array, when you remove something from the
+ * do, you must remove it from both places.
+ */
+ daeInt remove(const T& value, size_t *idx = NULL )
+ {
+ size_t index;
+ if(find(value,index) == DAE_OK)
+ {
+ if ( idx != NULL ) {
+ *idx = index;
+ }
+ return(removeIndex( index ));
+ }
+ else
+ {
+ return(DAE_ERR_INVALID_CALL);
+ }
+ }
+ /**
+ * Finds an item from the @c daeArray.
+ * @param value A reference to the item to find.
+ * @param index If the function returns DAE_OK, this is set to the index where the value appears in the array.
+ * @return Returns DAE_OK if no error or DAE_ERR_QUERY_NO_MATCH if the value was not found.
+ */
+ daeInt find(const T& value, size_t &index) const
+ {
+ size_t i;
+ for(i=0;i<_count;i++)
+ {
+ if (((T*)_data)[i] == value)
+ {
+ index = i;
+ return DAE_OK;
+ }
+ }
+
+ return DAE_ERR_QUERY_NO_MATCH;
+ }
+ /**
+ * Just like the previous function, but has a more reasonable interface.
+ * @param value The value to find.
+ * @return Returns a pointer to the value if found, null otherwise.
+ */
+ T* find(const T& value) const {
+ size_t i;
+ if (find(value, i) == DAE_OK)
+ return get(i);
+ return NULL;
+ }
+ /**
+ * Gets the object at a specific index in the @c daeArray.
+ * @param index Index of the object to get, asserts if the index is out of bounds.
+ * @return Returns the object at @c index.
+ */
+ T& operator[](size_t index) {
+ assert(index < _count);
+ return ((T*)_data)[index]; }
+ /**
+ * Gets the object at a specific index in the @c daeArray.
+ * @param index Index of the object to get, asserts if the index is out of bounds.
+ * @return Returns the object at @c index.
+ */
+ const T& operator[](size_t index) const {
+ assert(index < _count);
+ return ((T*)_data)[index]; }
+
+ /**
+ * Inserts the specified number of elements at a specific location in the array.
+ * @param index Index into the array where the elements will be inserted
+ * @param n The number of elements to insert
+ * @param val The value to insert
+ */
+ void insert(size_t index, size_t n, const T& val = T()) {
+ if (index >= _count) {
+ // Append to the end of the array
+ size_t oldCount = _count;
+ setCount(index + n);
+ for (size_t i = oldCount; i < _count; i++)
+ get(i) = val;
+ }
+ else {
+ setCount(_count + n);
+ for (size_t i = _count-1; i >= index+n; i--)
+ get(i) = get(i-n);
+ for (size_t i = index; i < index+n; i++)
+ get(i) = val;
+ }
+ }
+
+ /**
+ * Inserts an object at a specific index in the daeArray, growing the array if neccessary
+ * @param index Index into the array for where to place the object
+ * @param value The object to append
+ */
+ void insertAt(size_t index, const T& value) {
+ insert(index, 1);
+ get(index) = value;
+ }
+
+ /**
+ * Overloaded assignment operator.
+ * @param other A reference to the array to copy
+ * @return A reference to this object.
+ */
+ daeTArray<T> &operator=( const daeTArray<T> &other ) {
+ if (this != &other) {
+ clear();
+ _elementSize = other._elementSize;
+ _type = other._type;
+ grow(other._count);
+ for(size_t i=0;i<other._count;i++)
+ append(other[i]);
+ }
+
+ return *this;
+ }
+
+ /**
+ * Overloaded equality operator
+ * @param other A reference to the other array.
+ * @return true if the arrays are equal, false otherwise.
+ */
+ bool operator==(const daeTArray<T>& other) {
+ if (getCount() != other.getCount())
+ return false;
+ for (size_t i = 0; i < getCount(); i++)
+ if (get(i) != other.get(i))
+ return false;
+ return true;
+ }
+
+ //some helpers
+ /**
+ * Sets the array to the contain the two values specified.
+ * @param one The first value.
+ * @param two The second value.
+ */
+ void set2( const T &one, const T &two )
+ {
+ setCount( 2 );
+ set( 0, one );
+ set( 1, two );
+ }
+ /**
+ * Sets the array to the contain the three values specified.
+ * @param one The first value.
+ * @param two The second value.
+ * @param three The third value.
+ */
+ void set3( const T &one, const T &two, const T &three )
+ {
+ setCount( 3 );
+ set( 0, one );
+ set( 1, two );
+ set( 2, three );
+ }
+ /**
+ * Sets the array to the contain the four values specified.
+ * @param one The first value.
+ * @param two The second value.
+ * @param three The third value.
+ * @param four The fourth value.
+ */
+ void set4( const T &one, const T &two, const T &three, const T &four )
+ {
+ setCount( 4 );
+ set( 0, one );
+ set( 1, two );
+ set( 2, three );
+ set( 3, four );
+ }
+
+ /**
+ * Sets the values in the array at the specified location to the contain the two
+ * values specified. This function will grow the array if needed.
+ * @param index The position in the array to start setting.
+ * @param one The first value.
+ * @param two The second value.
+ */
+ void set2at( size_t index, const T &one, const T &two )
+ {
+ set( index, one );
+ set( index+1, two );
+ }
+ /**
+ * Sets the values in the array at the specified location to the contain the three
+ * values specified. This function will grow the array if needed.
+ * @param index The position in the array to start setting.
+ * @param one The first value.
+ * @param two The second value.
+ * @param three The third value.
+ */
+ void set3at( size_t index, const T &one, const T &two, const T &three )
+ {
+ set( index, one );
+ set( index+1, two );
+ set( index+2, three );
+ }
+ /**
+ * Sets the values in the array at the specified location to the contain the four
+ * values specified. This function will grow the array if needed.
+ * @param index The position in the array to start setting.
+ * @param one The first value.
+ * @param two The second value.
+ * @param three The third value.
+ * @param four The fourth value.
+ */
+ void set4at( size_t index, const T &one, const T &two, const T &three, const T &four )
+ {
+ set( index, one );
+ set( index+1, two );
+ set( index+2, three );
+ set( index+3, four );
+ }
+
+ /**
+ * Appends two values to the array.
+ * @param one The first value.
+ * @param two The second value.
+ */
+ void append2( const T &one, const T &two )
+ {
+ append( one );
+ append( two );
+ }
+ /**
+ * Appends three values to the array.
+ * @param one The first value.
+ * @param two The second value.
+ * @param three The third value.
+ */
+ void append3( const T &one, const T &two, const T &three )
+ {
+ append( one );
+ append( two );
+ append( three );
+ }
+ /**
+ * Appends four values to the array.
+ * @param one The first value.
+ * @param two The second value.
+ * @param three The third value.
+ * @param four The fourth value.
+ */
+ void append4( const T &one, const T &two, const T &three, const T &four )
+ {
+ append( one );
+ append( two );
+ append( three );
+ append( four );
+ }
+
+ /**
+ * Inserts two values into the array at the specified location.
+ * @param index The position in the array to start inserting.
+ * @param one The first value.
+ * @param two The second value.
+ */
+ void insert2at( size_t index, const T &one, const T &two )
+ {
+ insert(index, 2);
+ set(index, one);
+ set(index+1, two);
+ }
+ /**
+ * Inserts three values into the array at the specified location.
+ * @param index The position in the array to start inserting.
+ * @param one The first value.
+ * @param two The second value.
+ * @param three The third value.
+ */
+ void insert3at( size_t index, const T &one, const T &two, const T &three )
+ {
+ insert(index, 3);
+ set( index, one );
+ set( index+1, two );
+ set( index+2, three );
+ }
+ /**
+ * Inserts four values into the array at the specified location.
+ * @param index The position in the array to start inserting.
+ * @param one The first value.
+ * @param two The second value.
+ * @param three The third value.
+ * @param four The fourth value.
+ */
+ void insert4at( size_t index, const T &one, const T &two, const T &three, const T &four )
+ {
+ insert(index, 4);
+ set( index, one );
+ set( index+1, two );
+ set( index+2, three );
+ set( index+4, four );
+ }
+
+ /**
+ * Gets two values from the array at the specified location.
+ * @param index The position in the array to start getting.
+ * @param one Variable to store the first value.
+ * @param two Variable to store the second value.
+ * @return Returns The number of elements retrieved.
+ */
+ daeInt get2at( size_t index, T &one, T &two )
+ {
+ daeInt retVal = 0;
+ if ( index < _count )
+ {
+ one = get(index);
+ retVal++;
+ }
+ if ( index+1 < _count )
+ {
+ two = get(index+1);
+ retVal++;
+ }
+ return retVal;
+ }
+ /**
+ * Gets three values from the array at the specified location.
+ * @param index The position in the array to start getting.
+ * @param one Variable to store the first value.
+ * @param two Variable to store the second value.
+ * @param three Variable to store the third value.
+ * @return Returns The number of elements retrieved.
+ */
+ daeInt get3at( size_t index, T &one, T &two, T &three )
+ {
+ daeInt retVal = 0;
+ if ( index < _count )
+ {
+ one = get(index);
+ retVal++;
+ }
+ if ( index+1 < _count )
+ {
+ two = get(index+1);
+ retVal++;
+ }
+ if ( index+2 < _count )
+ {
+ three = get(index+2);
+ retVal++;
+ }
+ return retVal;
+ }
+ /**
+ * Gets four values from the array at the specified location.
+ * @param index The position in the array to start getting.
+ * @param one Variable to store the first value.
+ * @param two Variable to store the second value.
+ * @param three Variable to store the third value.
+ * @param four Variable to store the fourth value.
+ * @return Returns The number of elements retrieved.
+ */
+ daeInt get4at( size_t index, T &one, T &two, T &three, T &four )
+ {
+ daeInt retVal = 0;
+ if ( index < _count )
+ {
+ one = get(index);
+ retVal++;
+ }
+ if ( index+1 < _count )
+ {
+ two = get(index+1);
+ retVal++;
+ }
+ if ( index+2 < _count )
+ {
+ three = get(index+2);
+ retVal++;
+ }
+ if ( index+3 < _count )
+ {
+ four = get(index+3);
+ retVal++;
+ }
+ return retVal;
+ }
+
+ /**
+ * Appends a number of elements to this array from a C native array.
+ * @param num The number of elements to append.
+ * @param array The C native array that contains the values to append.
+ */
+ void appendArray( size_t num, T *array )
+ {
+ if ( array == NULL )
+ return;
+
+ for ( size_t i = 0; i < num; i++ )
+ append( array[i] );
+ }
+ /**
+ * Appends a number of elements to this array from another daeTArray.
+ * @param array The daeTArray that contains the values to append.
+ */
+ void appendArray( const daeTArray<T> &array ){
+ size_t num = array.getCount();
+ for ( size_t i = 0; i < num; i++ )
+ append( array[i] );
+ }
+};
+
+
+#endif //__DAE_ARRAY_H__
diff --git a/1.4.0/dom/include/dae/daeArrayTypes.h b/1.4.0/dom/include/dae/daeArrayTypes.h
new file mode 100644
index 0000000..e3e1369
--- /dev/null
+++ b/1.4.0/dom/include/dae/daeArrayTypes.h
@@ -0,0 +1,25 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __DAE_ARRAY_TYPES_H__
+#define __DAE_ARRAY_TYPES_H__
+
+#include <dae/daeTypes.h>
+#include <dae/daeArray.h>
+typedef daeTArray<daeInt> daeIntArray;
+typedef daeTArray<daeUInt> daeUIntArray;
+typedef daeTArray<daeFloat> daeFloatArray;
+typedef daeTArray<daeEnum> daeEnumArray;
+typedef daeTArray<daeString> daeStringArray;
+typedef daeTArray<daeChar> daeCharArray;
+typedef daeTArray<daeBool> daeBoolArray;
+typedef daeTArray<daeDouble> daeDoubleArray;
+typedef daeTArray<daeLong> daeLongArray;
+typedef daeTArray<daeShort> daeShortArray;
+
+#endif //__DAE_ARRAY_TYPES_H__
diff --git a/1.4.0/dom/include/dae/daeAtomicType.h b/1.4.0/dom/include/dae/daeAtomicType.h
new file mode 100644
index 0000000..8db27fb
--- /dev/null
+++ b/1.4.0/dom/include/dae/daeAtomicType.h
@@ -0,0 +1,726 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __DAE_ATOMIC_TYPE_H__
+#define __DAE_ATOMIC_TYPE_H__
+
+#include <sstream>
+#include <dae/daeTypes.h>
+#include <dae/daeStringRef.h>
+#include <dae/daeArray.h>
+#include <dae/daeElement.h>
+
+#ifndef _WIN32
+#include <stdint.h>
+#endif
+
+class DAE;
+class daeAtomicType;
+class daeMetaElement;
+
+typedef daeTArray<daeAtomicType*> daeAtomicTypeArray;
+class daeMetaAttribute;
+typedef daeSmartRef<daeMetaAttribute> daeMetaAttributeRef;
+
+/**
+ * The @c daeAtomicType class implements a standard interface for
+ * data elements in the reflective object system.
+ *
+ * @c daeAtomicType provides a central virtual interface that can be
+ * used by the rest of the reflective object system.
+ *
+ * The atomic type system if very useful for file IO and building
+ * automatic tools for data inspection and manipulation,
+ * such as hierarchy examiners and object editors.
+ *
+ * Types provide the following symantic operations:
+ * - @c print()
+ * - @c memoryToString()
+ * - @c stringToMemory()
+ *
+ * Types are also able to align data pointers appropriately.
+ */
+class DLLSPEC daeAtomicType
+{
+public:
+ /**
+ * destructor
+ */
+ virtual ~daeAtomicType() {}
+
+ /**
+ * constructor
+ */
+ daeAtomicType(DAE& dae);
+
+public:
+ /**
+ * Prints an atomic typed element into a destination string.
+ * @param src Source of the raw data from which to get the typed items.
+ * @param dst Destination to output the string version of the elements to.
+ * @return Returns true if the operation was successful, false if not successful.
+ */
+ virtual daeBool memoryToString(daeChar* src, std::ostringstream& dst) = 0;
+
+ /**
+ * Reads an atomic typed item into the destination runtime memory.
+ * @param src Source string.
+ * @param dst Raw binary location to store the resulting value.
+ * @return Returns true if the operation was successful, false if not successful.
+ */
+ virtual daeBool stringToMemory(daeChar* src, daeChar* dst);
+
+ /**
+ * Converts an array of atomic items into a whitespace separated string.
+ * @param array The array of data.
+ * @param buffer The buffer to write into.
+ */
+ virtual void arrayToString(daeArray& array, std::ostringstream& buffer);
+
+ /**
+ * Reads a whitespace separated list of atomic items into an array. The array is
+ * cleared before writing into it.
+ * @param src Whitespace separated list of items.
+ * @param array The output array of data.
+ * @return Returns true if the operation was successful, false otherwise.
+ */
+ virtual daeBool stringToArray(daeChar* src, daeArray& array);
+
+ /**
+ * Creates a new object of the appropriate type for this daeAtomicType and returns it
+ * as a pointer. The return value must be freed by calling destroy.
+ * @return Returns a pointer to a new value. The memory must be freed by calling destroy.
+ */
+ virtual daeMemoryRef create() = 0;
+
+ /**
+ * Deletes an object previously allocated with create.
+ * @param obj The object previously allocated with create.
+ */
+ virtual void destroy(daeMemoryRef obj) = 0;
+
+ /**
+ * Creates a daeTArray of the appropriate type (e.g. daeTArray<int>, daeTArray<daeIDRef>)
+ * and returns it as a daeArray*.
+ * @return Returns a daeArray*. This array should be freed by the caller with
+ * operator delete.
+ */
+ virtual daeArray* createArray() = 0;
+
+ /**
+ * Performs a virtual comparison operation between two values of the same atomic type.
+ * @param value1 Memory location of the first value.
+ * @param value2 Memory location of the second value.
+ * @return Returns a positive integer if value1 > value2, a negative integer if
+ * value1 < value2, and 0 if value1 == value2.
+ */
+ virtual daeInt compare(daeChar* value1, daeChar* value2);
+
+ /**
+ * Array version of the compare function.
+ * @param value1 First array to compare.
+ * @param value2 Second array to compare.
+ * @return Returns a positive integer if value1 > value2, a negative integer if
+ * value1 < value2, and 0 if value1 == value2.
+ */
+ virtual daeInt compareArray(daeArray& value1, daeArray& value2);
+
+ /**
+ * Performs a virtual copy operation.
+ * @param src Memory location of the value to copy from.
+ * @param dst Memory location of the value to copy to.
+ */
+ virtual void copy(daeChar* src, daeChar* dst) = 0;
+
+ /**
+ * Array version of the copy function.
+ * @param src Array to copy from.
+ * @param dst Array to copy to.
+ */
+ virtual void copyArray(daeArray& src, daeArray& dst);
+
+ /**
+ * Gets the array of strings as name bindings for this type.
+ * @return Returns the array of strings.
+ */
+ daeStringRefArray& getNameBindings() { return _nameBindings; }
+
+ /**
+ * Gets the enum associated with this atomic type. This is not scalable and only
+ * works for base types, otherwise 'extension' is used.
+ * @return Returns the enum associated with this atomic type.
+ */
+ daeEnum getTypeEnum() { return _typeEnum; }
+
+ /**
+ * Gets the size in bytes for this atomic type.
+ * @return Returns the size of the atomic type in bytes.
+ */
+ daeInt getSize() { return _size; }
+
+ /**
+ * Gets the scanf format used for this type.
+ * @return Returns the scanf format.
+ * @note
+ * Warning - this field is only for convenience and may not always work.
+ * It is used only when the read functions are left to the base
+ * implementation.
+ */
+ daeStringRef getScanFormat() { return _scanFormat; }
+
+ /**
+ * Gets the printf format used for this type.
+ * @return Returns the printf format.
+ * @note
+ * Warning - this field is only for convenience and may not always work.
+ * It is used only when the print functions are left to the base
+ * implementation.
+ */
+ daeStringRef getPrintFormat() { return _printFormat; }
+
+ /**
+ * Gets the alignment in bytes necessary for this type on this
+ * platform.
+ * @return Returns the alignment in bytes.
+ */
+ daeInt getAlignment() { return _alignment; }
+
+ /**
+ * Gets the string associated with this type.
+ * @return Returns the string associated with this type.
+ */
+ daeStringRef getTypeString() { return _typeString; }
+
+ /**
+ * Performs an alignment based on the alignment for this type.
+ * @param ptr Pointer to be aligned.
+ * @return Returns the aligned pointer computed via
+ * <tt> (ptr+alignment-1)&(~(alignment-1). </tt>
+ *
+ */
+ daeChar* align(daeChar* ptr) {
+ return (daeChar*)(((intptr_t)(ptr+_alignment-1))&(~(_alignment - 1))); }
+
+ /**
+ * Notifies an object when the containing document changes.
+ * @param value Memory location of the atomic type value.
+ * @param doc The new document.
+ */
+ virtual void setDocument(daeChar* value, daeDocument* doc) { }
+
+ /**
+ * Same as the previous method, but works on an array of objects.
+ * @param values Array of the atomic type values.
+ * @param doc The new document.
+ */
+ virtual void setDocument(daeArray& array, daeDocument* doc) { }
+
+protected:
+ DAE* _dae;
+ daeInt _size;
+ daeInt _alignment;
+ daeEnum _typeEnum;
+ daeStringRef _typeString;
+ daeStringRef _printFormat;
+ daeStringRef _scanFormat;
+ daeInt _maxStringLength;
+
+public:
+ /**
+ * An array of strings as name bindings for this type.
+ */
+ daeStringRefArray _nameBindings;
+
+public: // Static Interface
+ /** An enum for identifying the different atomic types */
+ enum daeAtomicTypes {
+ /** bool atomic type */
+ BoolType,
+ /** enum atomic type */
+ EnumType,
+ /** character atomic type */
+ CharType,
+ /** short integer atomic type */
+ ShortType,
+ /** integer atomic type */
+ IntType,
+ /** unsigned integer atomic type */
+ UIntType,
+ /** long integer atomic type */
+ LongType,
+ /** unsigned long integer atomic type */
+ ULongType,
+ /** floating point atomic type */
+ FloatType,
+ /** double precision floating point atomic type */
+ DoubleType,
+ /** string reference atomic type */
+ StringRefType,
+ /** element reference atomic type */
+ ElementRefType,
+ /** memory reference atomic type */
+ MemoryRefType,
+ /** void reference atomic type */
+ RawRefType,
+ /** resolver atomic type */
+ ResolverType,
+ /** ID resolver atomic type */
+ IDResolverType,
+ /** string token atomic type */
+ TokenType,
+ /** extension atomic type */
+ ExtensionType
+ };
+};
+
+
+// This is a container class for storing a modifiable list of daeAtomicType objects.
+class DLLSPEC daeAtomicTypeList {
+public:
+ daeAtomicTypeList(DAE& dae);
+ ~daeAtomicTypeList();
+
+ /**
+ * Appends a new type to the list.
+ * @param t Type to append.
+ * @return Returns the index of the type in the list.
+ */
+ daeInt append(daeAtomicType* t);
+
+ /**
+ * Gets a type from the list of types, based on its index.
+ * @param index Index of the type to retrieve.
+ * @return Returns the @c daeAtomicType indicated by index.
+ */
+ const daeAtomicType* getByIndex(daeInt index);
+
+ /**
+ * Gets the number of atomic types in the list.
+ * @return Returns the number of atomic types in the list.
+ */
+ daeInt getCount();
+
+ /**
+ * Finds a type by its string name.
+ * @param type String name of the type.
+ * @return Returns the type with the corresponding name.
+ */
+ daeAtomicType* get(daeStringRef type);
+
+ /**
+ * Finds a type by its enum.
+ * @param type Enum representing the desired type.
+ * @return Returns the type with the corresponding enum.
+ */
+ daeAtomicType* get(daeEnum type);
+
+private:
+ daeAtomicTypeArray types;
+};
+
+
+/**
+ * The @c daeBoolType class is derived from @c daeAtomicType, and implements
+ * the reflective system for objects of type @c daeBool.
+ */
+class DLLSPEC daeBoolType : public daeAtomicType
+{
+public:
+ /**
+ * Constructor
+ */
+ daeBoolType(DAE& dae);
+public:
+ virtual daeBool memoryToString(daeChar* src, std::ostringstream& dst);
+
+ virtual daeBool stringToMemory(daeChar* src, daeChar* dst);
+
+ virtual daeMemoryRef create();
+
+ virtual void destroy(daeMemoryRef obj);
+
+ virtual void copy(daeChar* src, daeChar* dst);
+
+ virtual daeArray* createArray();
+};
+
+/**
+ * The @c daeIntType class is derived from @c daeAtomicType, and implements
+ * the reflective system for objects of type @c daeInt.
+ */
+class DLLSPEC daeIntType : public daeAtomicType
+{
+public:
+ /**
+ * Constructor
+ */
+ daeIntType(DAE& dae);
+public:
+ virtual daeBool memoryToString(daeChar* src, std::ostringstream& dst);
+
+ virtual daeMemoryRef create();
+
+ virtual void destroy(daeMemoryRef obj);
+
+ virtual void copy(daeChar* src, daeChar* dst);
+
+ virtual daeArray* createArray();
+};
+
+/**
+ * The @c daeLongType class is derived from @c daeAtomicType, and implements
+ * the reflective system for objects of type @c daeLong.
+ */
+class DLLSPEC daeLongType : public daeAtomicType
+{
+public:
+ /**
+ * Constructor
+ */
+ daeLongType(DAE& dae);
+public:
+ virtual daeBool memoryToString(daeChar* src, std::ostringstream& dst);
+
+ virtual daeMemoryRef create();
+
+ virtual void destroy(daeMemoryRef obj);
+
+ virtual void copy(daeChar* src, daeChar* dst);
+
+ virtual daeArray* createArray();
+};
+
+/**
+ * The @c daeUIntType class is derived from @c daeAtomicType, and implements
+ * the reflective system for objects of type @c daeUInt.
+ */
+class DLLSPEC daeUIntType : public daeAtomicType
+{
+public:
+ /**
+ * Constructor
+ */
+ daeUIntType(DAE& dae);
+public:
+ virtual daeBool memoryToString(daeChar* src, std::ostringstream& dst);
+
+ virtual daeMemoryRef create();
+
+ virtual void destroy(daeMemoryRef obj);
+
+ virtual void copy(daeChar* src, daeChar* dst);
+
+ virtual daeArray* createArray();
+};
+
+/**
+ * The @c daeUIntType class is derived from @c daeAtomicType, and implements
+ * the reflective system for objects of type @c daeUInt.
+ */
+class DLLSPEC daeULongType : public daeAtomicType
+{
+public:
+ /**
+ * Constructor
+ */
+ daeULongType(DAE& dae);
+public:
+ virtual daeBool memoryToString(daeChar* src, std::ostringstream& dst);
+
+ virtual daeMemoryRef create();
+
+ virtual void destroy(daeMemoryRef obj);
+
+ virtual void copy(daeChar* src, daeChar* dst);
+
+ virtual daeArray* createArray();
+};
+
+/**
+ * The @c daeShortType is derived from @c daeAtomicType, and implements
+ * the reflective system for objects of type @c daeShort.
+ */
+class DLLSPEC daeShortType : public daeAtomicType
+{
+public:
+ /**
+ * Constructor
+ */
+ daeShortType(DAE& dae);
+public:
+ virtual daeBool memoryToString(daeChar* src, std::ostringstream& dst);
+
+ virtual daeMemoryRef create();
+
+ virtual void destroy(daeMemoryRef obj);
+
+ virtual void copy(daeChar* src, daeChar* dst);
+
+ virtual daeArray* createArray();
+};
+
+/**
+ * The @c daeFloatType is derived from @c daeAtomicType, and implements
+ * the reflective system for objects of type @c daeFloat.
+ */
+class DLLSPEC daeFloatType : public daeAtomicType
+{
+public:
+ /**
+ * Constructor
+ */
+ daeFloatType(DAE& dae);
+public:
+ virtual daeBool memoryToString(daeChar* src, std::ostringstream& dst);
+
+ virtual daeBool stringToMemory(daeChar* src, daeChar* dst);
+
+ virtual daeMemoryRef create();
+
+ virtual void destroy(daeMemoryRef obj);
+
+ virtual void copy(daeChar* src, daeChar* dst);
+
+ virtual daeArray* createArray();
+};
+
+/**
+ * The @c daeDoubleType is derived from @c daeAtomicType, and implements
+ * the reflective system for objects of type @c daeDouble.
+ */
+class DLLSPEC daeDoubleType : public daeAtomicType
+{
+public:
+ /**
+ * Constructor
+ */
+ daeDoubleType(DAE& dae);
+public:
+ virtual daeBool memoryToString(daeChar* src, std::ostringstream& dst);
+
+ virtual daeBool stringToMemory(daeChar* src, daeChar* dst);
+
+ virtual daeMemoryRef create();
+
+ virtual void destroy(daeMemoryRef obj);
+
+ virtual void copy(daeChar* src, daeChar* dst);
+
+ virtual daeArray* createArray();
+};
+
+/**
+ * The @c daeStringRefType class is derived from @c daeAtomicType, and implements
+ * the reflective system for objects of type @c daeStringRef.
+ */
+class DLLSPEC daeStringRefType : public daeAtomicType
+{
+public:
+ /**
+ * Constructor
+ */
+ daeStringRefType(DAE& dae);
+public:
+ virtual daeBool memoryToString(daeChar* src, std::ostringstream& dst);
+
+ virtual daeBool stringToMemory(daeChar* src, daeChar* dst);
+
+ virtual daeInt compare(daeChar* value1, daeChar* value2);
+
+ virtual daeMemoryRef create();
+
+ virtual void destroy(daeMemoryRef obj);
+
+ virtual void copy(daeChar* src, daeChar* dst);
+
+ virtual daeArray* createArray();
+};
+
+/**
+ * The @c daeTokenType class is derived from @c daeStringRefType, and implements
+ * the reflective system for objects of type daeStringRef, with specialized
+ * treatment from the parser.
+ */
+class DLLSPEC daeTokenType : public daeStringRefType
+{
+public:
+ /**
+ * Constructor
+ */
+ daeTokenType(DAE& dae);
+
+public:
+ virtual daeBool stringToMemory(daeChar* src, daeChar* dst);
+
+ virtual daeMemoryRef create();
+
+ virtual void destroy(daeMemoryRef obj);
+
+ virtual void copy(daeChar* src, daeChar* dst);
+
+ virtual daeArray* createArray();
+};
+
+/**
+ * The @c daeElementRefType class is derived from @c daeAtomicType, and implements
+ * the reflective system for objects of type @c daeElementRef.
+ */
+class DLLSPEC daeElementRefType : public daeAtomicType
+{
+public:
+ /**
+ * The @c daeMetaElement for the type this @c daeElementRefType represents.
+ */
+ daeMetaElement* _elementType;
+
+public:
+ /**
+ * Constructor
+ */
+ daeElementRefType(DAE& dae);
+public:
+ virtual daeBool memoryToString(daeChar* src, std::ostringstream& dst);
+
+ virtual daeMemoryRef create();
+
+ virtual void destroy(daeMemoryRef obj);
+
+ virtual void copy(daeChar* src, daeChar* dst);
+
+ virtual daeArray* createArray();
+};
+
+/**
+ * The @c daeEnumType class is derived from @c daeAtomicType, and implements
+ * the reflective system for objects of type daeEnum.
+ */
+class DLLSPEC daeEnumType: public daeAtomicType
+{
+public:
+ /**
+ * The array which contains the values used in this enum.
+ */
+ daeEnumArray* _values;
+ /**
+ * The array which contains the strings to associate with the values used in this enum.
+ */
+ daeStringRefArray* _strings;
+
+public:
+ /**
+ * Constructor
+ */
+ daeEnumType(DAE& dae);
+
+ /**
+ * Destructor
+ */
+ ~daeEnumType();
+
+public:
+ virtual daeBool memoryToString(daeChar* src, std::ostringstream& dst);
+
+ virtual daeBool stringToMemory(daeChar* src, daeChar* dst);
+
+ virtual daeMemoryRef create();
+
+ virtual void destroy(daeMemoryRef obj);
+
+ virtual void copy(daeChar* src, daeChar* dst);
+
+ virtual daeArray* createArray();
+};
+
+/**
+ * The @c daeRawRefType class is derived from @c daeAtomicType, and implements
+ * the reflective system for objects of type @c daeRawRef.
+ */
+class DLLSPEC daeRawRefType: public daeAtomicType
+{
+public:
+ /**
+ * Constructor.
+ */
+ daeRawRefType(DAE& dae);
+
+public:
+ virtual daeBool memoryToString(daeChar* src, std::ostringstream& dst);
+
+ virtual daeMemoryRef create();
+
+ virtual void destroy(daeMemoryRef obj);
+
+ virtual void copy(daeChar* src, daeChar* dst);
+
+ virtual daeArray* createArray();
+};
+
+/**
+ * The @c daeResolverType class is derived from @c daeAtomicType, and implements
+ * the reflective system for objects of type @c daeResolver.
+ */
+class DLLSPEC daeResolverType : public daeAtomicType
+{
+public:
+ /**
+ * Constructor.
+ */
+ daeResolverType(DAE& dae);
+public:
+ virtual daeBool memoryToString(daeChar* src, std::ostringstream& dst);
+
+ virtual daeBool stringToMemory(daeChar* src, daeChar* dst);
+
+ virtual daeInt compare(daeChar* value1, daeChar* value2);
+
+ virtual daeMemoryRef create();
+
+ virtual void destroy(daeMemoryRef obj);
+
+ virtual void copy(daeChar* src, daeChar* dst);
+
+ virtual daeArray* createArray();
+
+ virtual void setDocument(daeChar* value, daeDocument* doc);
+
+ virtual void setDocument(daeArray& array, daeDocument* doc);
+};
+
+/**
+ * The @c daeIDResolverType class is derived from @c daeAtomicType, and implements
+ * the reflective system for objects of type @c daeIDResolver.
+ */
+class DLLSPEC daeIDResolverType : public daeAtomicType
+{
+public:
+ /**
+ * Constructor.
+ */
+ daeIDResolverType(DAE& dae);
+public:
+ virtual daeBool memoryToString(daeChar* src, std::ostringstream& dst);
+
+ virtual daeBool stringToMemory(daeChar* src, daeChar* dst);
+
+ virtual daeInt compare(daeChar* value1, daeChar* value2);
+
+ virtual daeMemoryRef create();
+
+ virtual void destroy(daeMemoryRef obj);
+
+ virtual void copy(daeChar* src, daeChar* dst);
+
+ virtual daeArray* createArray();
+};
+
+
+
+#endif // __DAE_ATOMIC_TYPE_H__
+
+
+
diff --git a/1.4.0/dom/include/dae/daeDatabase.h b/1.4.0/dom/include/dae/daeDatabase.h
new file mode 100644
index 0000000..c6cc5c9
--- /dev/null
+++ b/1.4.0/dom/include/dae/daeDatabase.h
@@ -0,0 +1,334 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __DAE_DATABASE__
+#define __DAE_DATABASE__
+
+#include <memory>
+#include <vector>
+#include <dae.h>
+#include <dae/daeTypes.h>
+#include <dae/daeElement.h>
+#include <dae/daeURI.h>
+#include <dae/daeDocument.h>
+
+
+/**
+ * The @c daeDatabase class defines the COLLADA runtime database interface.
+ */
+class DLLSPEC daeDatabase
+{
+public:
+ /**
+ * Constructor
+ */
+ daeDatabase(DAE& dae);
+
+ /**
+ * Destructor
+ */
+ virtual ~daeDatabase() {}
+
+ /**
+ * Get the associated DAE object.
+ * @return The associated DAE object.
+ */
+ virtual DAE* getDAE();
+
+ /**
+ * Creates a new document, defining its root as the <tt><i>dom</i></tt> object; returns an error if the document name already exists.
+ * @param name Name of the new document, must be a valid URI.
+ * @param dom Existing @c domCOLLADA root element of the document
+ * @param document Pointer to a @c daeDocument pointer that receives the document created
+ * @param zaeRootDocument Indicates if the new document is the root document of a ZAE archive.
+ * @param extractedFileURI URI to extracted dae file.
+ * @return Returns @c DAE_OK if the document was created successfully, otherwise returns a negative value as defined in daeError.h.
+ * @note The @c daeElement passed in as <tt><i>dom</i></tt> should always be a @c domCOLLADA object, the API may enforce this in the future.
+ * @deprecated This function will be removed in future versions. Please use createDocument.
+ */
+ virtual daeInt insertDocument(daeString name, daeElement* dom, daeDocument** document = NULL, bool zaeRootDocument = false, const std::string& extractedFileURI = "") = 0;
+ /**
+ * Creates a new @c domCOLLADA root element and a new document; returns an error if the document name already exists.
+ * @param name Name of the new document, must be a valid URI.
+ * @param document Pointer to a @c daeDocument pointer that receives the document created
+ * @return Returns DAE_OK if the document was created successfully, otherwise returns a negative value as defined in daeError.h.
+ * @deprecated This function will be removed in future versions. Please use createDocument.
+ */
+ virtual daeInt insertDocument(daeString name, daeDocument** document = NULL) = 0;
+ /**
+ * Creates a new document, defining its root as the <tt><i>dom</i></tt> object; returns an error if the document name already exists.
+ * @param name Name of the new document, must be a valid URI.
+ * @param dom Existing @c domCOLLADA root element of the document
+ * @param document Pointer to a @c daeDocument pointer that receives the document created
+ * @param zaeRootDocument Indicates if the new document is the root document of a ZAE archive.
+ * @param extractedFileURI URI to extracted dae file.
+ * @return Returns @c DAE_OK if the document was created successfully, otherwise returns a negative value as defined in daeError.h.
+ * @note The @c daeElement passed in as <tt><i>dom</i></tt> should always be a @c domCOLLADA object, the API may enforce this in the future.
+ */
+ virtual daeInt createDocument(daeString name, daeElement* dom, daeDocument** document = NULL, bool zaeRootDocument = false, const std::string& extractedFileURI = "") = 0;
+ /**
+ * Creates a new @c domCOLLADA root element and a new document; returns an error if the document name already exists.
+ * @param name Name of the new document, must be a valid URI.
+ * @param document Pointer to a @c daeDocument pointer that receives the document created
+ * @return Returns DAE_OK if the document was created successfully, otherwise returns a negative value as defined in daeError.h.
+ */
+ virtual daeInt createDocument(daeString name, daeDocument** document = NULL) = 0;
+
+ /**
+ * Inserts an already existing document into the database.
+ * @param c The document to insert.
+ * @return Returns DAE_OK if the document was inserted successfully, otherwise returns a negative value as defined in daeError.h.
+ */
+ virtual daeInt insertDocument( daeDocument *c ) = 0;
+
+ /**
+ * Removes a document from the database.
+ * @param document Document to remove from the database
+ * @return Returns DAE_OK if the document was successfully removed, otherwise returns a negative value as defined in daeError.h.
+ */
+ virtual daeInt removeDocument(daeDocument* document) = 0;
+ /**
+ * Gets the number of documents.
+ * @return Returns the number of documents.
+ */
+ virtual daeUInt getDocumentCount() = 0;
+ /**
+ * Gets a document based on the document index.
+ * @param index Index of the document to get.
+ * @return Returns a pointer on the document, or NULL if not found.
+ */
+ virtual daeDocument* getDocument(daeUInt index) = 0;
+ /**
+ * Gets a document based on the document index.
+ * @param index Index of the document to get.
+ * @return Returns a pointer on the document, or NULL if not found.
+ */
+ daeDocument* getDoc(daeUInt index);
+ /**
+ * Gets a document based on the document name.
+ * @param name The name of the document as a URI.
+ * @param skipUriNormalization Use the document name as is; don't normalize it first.
+ * This is mostly for improved performance.
+ * @return Returns a pointer to the document, or NULL if not found.
+ * @note If the URI contains a fragment, the fragment is stripped off.
+ */
+ virtual daeDocument* getDocument(daeString name, bool skipUriNormalization = false) = 0;
+ /**
+ * Gets a document name.
+ * @param index Index of the document to get.
+ * @return Returns the name of the document at the given index.
+ */
+ virtual daeString getDocumentName(daeUInt index) = 0;
+ /**
+ * Indicates if a document is loaded or not.
+ * @param name Name of the document as a URI.
+ * @return Returns true if the document is loaded, false otherwise.
+ * @note If the URI contains a fragment, the fragment is stripped off.
+ */
+ virtual daeBool isDocumentLoaded(daeString name) = 0;
+
+ /**
+ * Inserts a @c daeElement into the runtime database.
+ * @param document Document in which the @c daeElement lives.
+ * @param element @c daeElement to insert in the database
+ * @return Returns @c DAE_OK if element successfully inserted, otherwise returns a negative value as defined in daeError.h.
+ */
+ virtual daeInt insertElement(daeDocument* document,
+ daeElement* element) = 0;
+ /**
+ * Removes a @c daeElement from the runtime database; not implemented in the reference STL implementation.
+ * @param document Document in which the @c daeElement lives.
+ * @param element Element to remove.
+ * @return Returns @c DAE_OK if element successfully removed, otherwise returns a negative value as defined in daeError.h.
+ */
+ virtual daeInt removeElement(daeDocument* document,
+ daeElement* element) = 0;
+ /**
+ * Updates the database to reflect a change to the ID of a @c daeElement.
+ * @param element @c daeElement whose ID is going to change.
+ * @param newID The ID that will be assigned to the element.
+ * @return Returns @c DAE_OK if the database was successfully updated, otherwise returns a negative value as defined in daeError.h.
+ * @note The database doesn't actually change the ID of the element, it
+ * merely updates its internal structures to reflect the change. It's
+ * expected that the ID will be assigned to the element by someone else.
+ */
+ virtual daeInt changeElementID(daeElement* element,
+ daeString newID) = 0;
+
+ /**
+ * Updates the database to reflect a change to the sid of a @c daeElement.
+ * @param element @c daeElement whose sid is going to change.
+ * @param newSID The sid that will be assigned to the element.
+ * @return Returns @c DAE_OK if the database was successfully updated, otherwise returns a negative value as defined in daeError.h.
+ * @note The database doesn't actually change the sid of the element, it
+ * merely updates its internal structures to reflect the change. It's
+ * expected that the sid will be assigned to the element by someone else.
+ * Note - This function currently isn't implemented in the default database.
+ */
+ virtual daeInt changeElementSID(daeElement* element,
+ daeString newSID) = 0;
+
+ /**
+ * Unloads all of the documents of the runtime database.
+ * This function frees all the @c dom* objects created so far,
+ * except any objects on which you still have a smart pointer reference (@c daeSmartRef).
+ * @return Returns @c DAE_OK if all documents successfully unloaded, otherwise returns a negative value as defined in daeError.h.
+ */
+ virtual daeInt clear() = 0;
+
+ /**
+ * Lookup elements by ID, searching through all documents.
+ * @param id The ID to match on.
+ * @return The array of matching elements.
+ */
+ virtual std::vector<daeElement*> idLookup(const std::string& id) = 0;
+
+ /**
+ * Find an element with the given ID in a specific document.
+ * @param id The ID to match on.
+ * @param doc The document to search in.
+ * @return The matching element if one is found, NULL otherwise.
+ */
+ daeElement* idLookup(const std::string& id, daeDocument* doc);
+
+ /**
+ * Lookup elements by type ID.
+ * @param typeID The type to match on, e.g. domNode::ID().
+ * @param doc The document to search in, or NULL to search in all documents.
+ * @return The array of matching elements.
+ */
+ std::vector<daeElement*> typeLookup(daeInt typeID, daeDocument* doc = NULL);
+
+ /**
+ * Same as the previous method, but returns the array of matching elements via a
+ * reference parameter for additional efficiency.
+ * @param typeID The type to match on, e.g. domNode::ID().
+ * @param matchingElements The array of matching elements.
+ * @param doc The document to search in, or NULL to search in all documents.
+ */
+ virtual void typeLookup(daeInt typeID,
+ std::vector<daeElement*>& matchingElements,
+ daeDocument* doc = NULL) = 0;
+
+ /**
+ * Lookup elements by type ID.
+ * @param doc The document to search in, or NULL to search in all documents.
+ * @return The array of matching elements.
+ */
+ template<typename T>
+ std::vector<T*> typeLookup(daeDocument* doc = NULL) {
+ std::vector<T*> result;
+ typeLookup(result, doc);
+ return result;
+ }
+
+ /**
+ * Same as the previous method, but returns the array of matching elements via a
+ * reference parameter for additional efficiency.
+ * @param matchingElements The array of matching elements.
+ * @param doc The document to search in, or NULL to search in all documents.
+ */
+ template<typename T> void
+ typeLookup(std::vector<T*>& matchingElements, daeDocument* doc = NULL) {
+ std::vector<daeElement*> elts;
+ typeLookup(T::ID(), elts, doc);
+ matchingElements.clear();
+ matchingElements.reserve(elts.size());
+ for (size_t i = 0; i < elts.size(); i++)
+ matchingElements.push_back((T*)elts[i]);
+ }
+
+ /**
+ * Lookup elements by sid.
+ * @param sid The sid to match on.
+ * @param doc The document to search in, or NULL to search in all documents.
+ * @return The array of matching elements.
+ * Note - This function currently isn't implemented in the default database.
+ */
+ std::vector<daeElement*> sidLookup(const std::string& sid, daeDocument* doc = NULL);
+
+ /**
+ * Same as the previous method, but the results are returned via a parameter instead
+ * of a return value, for extra efficiency.
+ * @param sid The sid to match on.
+ * @param matchingElements The array of matching elements.
+ * @param doc The document to search in, or NULL to search in all documents.
+ * Note - This function currently isn't implemented in the default database.
+ */
+ virtual void sidLookup(const std::string& sid,
+ std::vector<daeElement*>& matchingElements,
+ daeDocument* doc = NULL) = 0;
+
+ /**
+ * Sets the top meta object.
+ * Called by @c dae::setDatabase() when the database changes. It passes to this function the
+ * top meta object, which is the root of a
+ * hierarchy of @c daeMetaElement objects. This top meta object is capable of creating
+ * any of the root objects in the DOM tree.
+ * @param _topMeta Top meta object to use to create objects to fill the database.
+ * @return Returns DAE_OK if successful, otherwise returns a negative value defined in daeError.h.
+ */
+ virtual daeInt setMeta(daeMetaElement *_topMeta) = 0;
+
+public:
+ // The following methods are deprecated, and it's recommended that you don't use them.
+ // Where appropriate, alternative methods are specified.
+
+ virtual daeUInt getTypeCount() = 0;
+ virtual daeString getTypeName(daeUInt index) = 0;
+
+ // Instead of the following two methods, use idLookup or typeLookup.
+ virtual daeUInt getElementCount(daeString name = NULL,
+ daeString type = NULL,
+ daeString file = NULL) = 0;
+ virtual daeInt getElement(daeElement** pElement,
+ daeInt index,
+ daeString name = NULL,
+ daeString type = NULL,
+ daeString file = NULL ) = 0;
+
+ inline daeInt insertCollection(daeString name, daeElement* dom, daeDocument** document = NULL) {
+ return insertDocument( name, dom, document );
+ }
+ inline daeInt insertCollection(daeString name, daeDocument** document = NULL) {
+ return insertDocument( name, document );
+ }
+ inline daeInt createCollection(daeString name, daeElement* dom, daeDocument** document = NULL) {
+ return createDocument( name, dom, document );
+ }
+ inline daeInt createCollection(daeString name, daeDocument** document = NULL) {
+ return createDocument( name, document );
+ }
+ inline daeInt insertCollection( daeDocument *c ) {
+ return insertDocument( c );
+ }
+ inline daeInt removeCollection(daeDocument* document) {
+ return removeDocument( document );
+ }
+ inline daeUInt getCollectionCount() {
+ return getDocumentCount();
+ }
+ inline daeDocument* getCollection(daeUInt index) {
+ return getDocument( index );
+ }
+ inline daeDocument* getCollection(daeString name) {
+ return getDocument( name );
+ }
+ inline daeString getCollectionName(daeUInt index) {
+ return getDocumentName( index );
+ }
+ inline daeBool isCollectionLoaded(daeString name) {
+ return isDocumentLoaded( name );
+ }
+
+protected:
+ DAE& dae;
+};
+
+#endif //__DAE_DATABASE__
+
diff --git a/1.4.0/dom/include/dae/daeDocument.h b/1.4.0/dom/include/dae/daeDocument.h
new file mode 100644
index 0000000..2cfe23a
--- /dev/null
+++ b/1.4.0/dom/include/dae/daeDocument.h
@@ -0,0 +1,163 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __DAE_DOCUMENT__
+#define __DAE_DOCUMENT__
+
+#include <dae/daeTypes.h>
+#include <dae/daeElement.h>
+#include <dae/daeURI.h>
+#include <dae/daeStringRef.h>
+
+class DAE;
+class daeDatabase;
+
+/**
+ * The @c daeDocument class implements a COLLADA runtime database entry.
+ */
+class DLLSPEC daeDocument
+{
+public:
+ /**
+ * Constructor
+ * @param dae The dae that owns this document.
+ * @param zaeRootDocument Indicates if the new document is the root document of a ZAE archive.
+ * @param extractedFileURI URI to extracted dae file.
+ */
+ daeDocument(DAE& dae, bool zaeRootDocument = false, const std::string& extractedFileURI = "");
+
+ /**
+ * Destructor
+ */
+ ~daeDocument();
+
+ /**
+ * Accessor to get the @c domCollada associated with this document.
+ * @return A @c daeElementRef for the @c domCollada that is the root of this document.
+ * @note This function should really return a domColladaRef,
+ * but we're trying to avoid having @c dae classes depend on generated dom classes.
+ */
+ daeElement* getDomRoot() const {return(dom);}
+ /**
+ * Accessor to set the domCollada associated with this document
+ * @param domRoot the domCollada that is the root of this document
+ * @remarks Should really require a domColladaRef but we're trying to avoid having dae classes depend on generated dom classes.
+ */
+ void setDomRoot(daeElement* domRoot) {dom = domRoot; domRoot->setDocument(this); }
+ /**
+ * Accessor to get the URI associated with the document in this document;
+ * this is currently set to the URI from which the document was loaded, but
+ * is blank if the document was created with @c insertDocument().
+ * @return Returns a pointer to the URI for this document.
+ * @note This is the full URI of the document and not the document base URI.
+ */
+ daeURI* getDocumentURI() {return (&uri);}
+
+ /**
+ * Const accessor to get the URI associated with the document in this collection;
+ * this is currently set to the URI from which the collection was loaded, but
+ * is blank if the collection was created with @c insertCollection().
+ * @return Returns a pointer to the URI for this collection.
+ * @note This is the full URI of the document and not the document base URI.
+ */
+ const daeURI* getDocumentURI() const {return (&uri);}
+
+ /**
+ * Accessor to get the DAE that owns this document.
+ * @return Returns the DAE that owns this document.
+ */
+ DAE* getDAE();
+
+ /**
+ * Accessor to get the database associated with this document.
+ * @return Returns the database associated with this document.
+ */
+ daeDatabase* getDatabase();
+
+ /**
+ * This function is used to track how a document gets modified. It gets called internally.
+ * @param element The element that was added to this document.
+ * @note This function is called internally and not meant to be called by the client application.
+ * Calling this function from the client application may result in unexpected behavior.
+ */
+ void insertElement( daeElementRef element );
+ /**
+ * This function is used to track how a document gets modified. It gets called internally.
+ * @param element The element that was removed from this document.
+ * @note This function is called internally and not meant to be called by the client application.
+ * Calling this function from the client application may result in unexpected behavior.
+ */
+ void removeElement( daeElementRef element );
+ /**
+ * This function is used to track how a document gets modified. It gets called internally.
+ * @param element The element whose ID is about to be changed.
+ * @param newID The ID that is going to be assigned to the element.
+ * @note This function is called internally and not meant to be called by the client application.
+ * Calling this function from the client application may result in unexpected behavior.
+ */
+ void changeElementID( daeElementRef element, daeString newID );
+ /**
+ * This function is just like changeElementID, except it keeps track of sids instead of IDs.
+ * @param element The element whose sid is about to be changed.
+ * @param newSID The sid that is going to be assigned to the element.
+ * @note This function is called internally and not meant to be called by the client application.
+ * Calling this function from the client application may result in unexpected behavior.
+ */
+ void changeElementSID( daeElementRef element, daeString newSID );
+
+ /**
+ * Returns true if this document is the root of a ZAE archive.
+ * In that case getExtractedFileURI() can be used to parse
+ * this document and for URI resolving.
+ * @note This function is called internally and not meant to be called by the client application.
+ */
+ bool isZAERootDocument() {return mZAERootDocument;}
+
+ /**
+ * If this document is the root of a ZAE archive, this method can be used
+ * to get the extracted file. Return value is only valid if isZAERootDocument()
+ * returns true.
+ * @note This function is called internally and not meant to be called by the client application.
+ */
+ const daeURI& getExtractedFileURI() {return mExtractedFileURI;}
+
+private:
+ /**
+ * The DAE that owns this document. The DAE's database is notified by the document when
+ * elements are inserted, removed, or have their ID changed.
+ */
+ DAE* dae;
+
+ /**
+ * Top Level element for of the document, always a domCollada
+ * @remarks This member will eventually be taken private, use getDomRoot() to access it.
+ */
+ daeElementRef dom;
+
+ /**
+ * The URI of the document, may be blank if the document wasn't loaded from a URI
+ * @remarks This member will eventually be taken private, use getDocumentURI() to access it.
+ */
+ daeURI uri;
+
+ /**
+ * Indicates if this document is the root of a ZAE archive.
+ */
+ bool mZAERootDocument;
+
+ /**
+ * URI pointing to the extracted root DAE if mZAERootDocument is true.
+ * Otherwise it is not valid.
+ */
+ daeURI mExtractedFileURI;
+};
+
+typedef daeDocument daeCollection;
+
+#endif
+
diff --git a/1.4.0/dom/include/dae/daeDom.h b/1.4.0/dom/include/dae/daeDom.h
new file mode 100644
index 0000000..b80ec1f
--- /dev/null
+++ b/1.4.0/dom/include/dae/daeDom.h
@@ -0,0 +1,38 @@
+/*
+ * Copyright 2006 Sony Computer Entertainment Inc.
+ *
+ * Licensed under the MIT Open Source License, for details please see license.txt or the website
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ */
+
+// \file daeDom.h holds all the bindings between dae and different versions of the doms. allows dae functions to use the current loaded dom seamlessly.
+// specversion the collada specification to load into memory. For example: "1.4.1" or "1.5.0". If NULL, then the highest version found will be loaded.
+#ifndef __DAE_DOM__
+#define __DAE_DOM__
+
+class daeMetaElement;
+class DAE;
+
+daeMetaElement* initializeDomMeta(DAE& dae, const char* specversion=NULL);
+
+daeInt GetColladaTypeCount(const char* specversion=NULL);
+
+daeString GetCOLLADA_VERSION(const char* specversion=NULL);
+
+daeString GetCOLLADA_NAMESPACE(const char* specversion=NULL);
+
+daeMetaElement * registerElementAny(DAE& dae);
+
+void copyElementAny(daeElementRef dstAny, daeElement* srcAny);
+
+daeInt getDomAnyID(DAE& dae);
+daeInt getDomSourceID(DAE& dae);
+daeInt getDomCOLLADAID(const char* specversion = NULL);
+
+daeString COLLADA_ELEMENT_TECHNIQUE_COMMON(DAE& dae);
+daeString COLLADA_ELEMENT_TECHNIQUE(DAE& dae);
+
+daeDoubleArray* getDomSourceFloatArray(daeElement* elt);
+
+#endif //__DAE_DOM__
diff --git a/1.4.0/dom/include/dae/daeDomTypes.h b/1.4.0/dom/include/dae/daeDomTypes.h
new file mode 100644
index 0000000..8bc4d6b
--- /dev/null
+++ b/1.4.0/dom/include/dae/daeDomTypes.h
@@ -0,0 +1,63 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __DAE_DOM_TYPES__
+#define __DAE_DOM_TYPES__
+
+#include <dae/daeElement.h>
+#include <dae/daeMetaElement.h>
+#include <dae/daeArray.h>
+#include <dae/daeURI.h>
+#include <dae/daeIDRef.h>
+
+//This line is used as a workaround because the array types enum is invalid when autogenerated
+//typedef daeString domArrayTypes; // ENUM
+typedef daeElement domElement;
+
+typedef daeURI xsAnyURI;
+typedef daeString xsDateTime;
+
+typedef daeString xsID;
+typedef daeIDRef xsIDREF;
+typedef daeTArray<daeIDRef> xsIDREFS;
+typedef daeString xsNCName;
+typedef daeString xsNMTOKEN;
+typedef daeString xsName;
+typedef daeString xsToken;
+typedef daeString xsString;
+typedef daeBool xsBoolean;
+typedef daeShort xsShort;
+typedef daeInt xsInt;
+typedef daeLong xsInteger;
+typedef daeUInt xsNonNegativeInteger;
+typedef daeLong xsLong;
+typedef daeFloat xsFloat;
+typedef daeDouble xsDouble;
+typedef daeDouble xsDecimal;
+typedef daeCharArray xsHexBinaryArray;
+typedef daeBoolArray xsBooleanArray;
+typedef daeFloatArray xsFloatArray;
+typedef daeDoubleArray xsDoubleArray;
+typedef daeShortArray xsShortArray;
+typedef daeIntArray xsIntegerArray;
+typedef daeLongArray xsLongArray;
+typedef daeStringRefArray xsNameArray;
+typedef daeStringRefArray xsNCNameArray;
+typedef daeStringRefArray xsTokenArray;
+
+typedef daeChar xsByte;
+typedef daeUChar xsUnsignedByte;
+typedef daeUInt xsUnsignedInt;
+typedef daeUInt xsPositiveInteger;
+typedef daeULong xsUnsignedLong;
+
+
+#define daeTSmartRef daeSmartRef
+
+#endif //__DAE_DOM_TYPES__
+
diff --git a/1.4.0/dom/include/dae/daeElement.h b/1.4.0/dom/include/dae/daeElement.h
new file mode 100644
index 0000000..301f11e
--- /dev/null
+++ b/1.4.0/dom/include/dae/daeElement.h
@@ -0,0 +1,570 @@
+/*
+ * Copyright 2006 Sony Computer Entertainment Inc.
+ *
+ * Licensed under the MIT Open Source License, for details please see license.txt or the website
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ */
+
+#ifndef __DAE_ELEMENT_H__
+#define __DAE_ELEMENT_H__
+#include <string>
+#include <dae/daeTypes.h>
+#include <dae/daeMemorySystem.h>
+#include <wchar.h>
+#include <dae/daeArray.h>
+#include <dae/daeRefCountedObj.h>
+#include <dae/daeSmartRef.h>
+
+//#ifndef NO_MALLOC_HEADER
+//#include <malloc.h>
+//#endif
+
+//namespace COLLADA_TYPE
+//{
+// typedef int TypeEnum;
+//}
+
+class DAE;
+class daeMetaElement;
+class daeMetaAttribute;
+class daeDocument;
+class daeURI;
+
+/**
+ * The @c daeElement class represents an instance of a COLLADA "Element";
+ * it is the main base class for the COLLADA Dom.
+ * Features of this class include:
+ * - Uses factory concepts defined via daeMetaElement
+ * - Composed of attributes, content elements and content values
+ * - Reference counted via daeSmartRef
+ * - Contains information for XML base URI, and XML containing element
+ */
+class DLLSPEC daeElement : public daeRefCountedObj
+{
+public:
+ /**
+ * Macro that defines new and delete overrides for this class
+ */
+ DAE_ALLOC
+protected:
+ daeElement* _parent;
+ daeDocument* _document;
+ daeMetaElement* _meta;
+ daeString _elementName;
+ daeBoolArray _validAttributeArray; // This is now obsolete and can be removed
+ void* _userData;
+
+protected:
+ daeElement( const daeElement &cpy ) : daeRefCountedObj() {
+ (void)cpy;
+ };
+ virtual daeElement &operator=( const daeElement &cpy ) {
+ (void)cpy; return *this;
+ }
+
+ void init();
+
+ // These functions are called internally.
+ void setDocument( daeDocument* c, bool notifyDocument );
+ daeElement* simpleAdd(daeString name, int index = -1);
+
+public:
+ /**
+ * Element Constructor.
+ * @note This should not be used externally.
+ * Use factories to create elements
+ */
+ daeElement();
+ /**
+ * Element Constructor.
+ * @note This should not be used externally.
+ * Use factories to create elements
+ */
+ daeElement(DAE& dae);
+
+ /**
+ * Element Destructor.
+ * @note This should not be used externally,
+ * if daeSmartRefs are being used.
+ */
+ virtual ~daeElement();
+
+ /**
+ * Sets up a @c daeElement. Called on all @c daeElements as part of their initialization.
+ * @param meta Meta element to use to configure this element.
+ * @note Should not be called externally.
+ */
+ void setup(daeMetaElement* meta);
+
+ // These functions are for adding child elements. They return null if adding
+ // the element failed.
+ daeElement* add(daeString name, int index = -1);
+ daeElement* add(daeElement* elt, int index = -1);
+ daeElement* addBefore(daeElement* elt, daeElement* index);
+ daeElement* addAfter(daeElement* elt, daeElement* index);
+
+ // These functions are deprecated. Use 'add' instead.
+ daeElement* createAndPlace(daeString elementName);
+ daeElement* createAndPlaceAt(daeInt index, daeString elementName);
+ daeBool placeElement(daeElement* element);
+ daeBool placeElementAt(daeInt index, daeElement* element);
+ daeBool placeElementBefore( daeElement* marker, daeElement *element );
+ daeBool placeElementAfter( daeElement* marker, daeElement *element );
+
+ /**
+ * Finds the last index into the array of children of the name specified.
+ * @param elementName The name to look for.
+ * @return Returns the index into the children array of the last element with name elementName. -1 if
+ * there are no children of name elementName.
+ */
+ daeInt findLastIndexOf( daeString elementName );
+
+ /**
+ * Removes the specified element from it parent, the @c this element.
+ * This function is the opposite of @c placeElement(). It removes the specified
+ * element from the <tt><i> _contents </i></tt> array, and from wherever else it appears
+ * inside of the @c this element. Use this function instead of @c clear(), @c remove() or @c delete()
+ * if you want to keep the <tt><i> _contents </i></tt> field up-to-date.
+ *
+ * @param element Element to be removed in the @c this container.
+ * @return Returns true if the element was successfully removed, false otherwise.
+ */
+ daeBool removeChildElement(daeElement* element);
+
+ /**
+ * Removes the specified element from its parent element.
+ * This function is the opposite of @c placeElement(). It removes the specified
+ * element from both the <tt><i> _contents </i></tt> array and from wherever else it appears
+ * inside of its parent. The function itself finds the parent, and is defined as a static method,
+ * since removing the element from its parent may result in the deletion of the element.
+ * If the element has no parent, nothing is done.
+ *
+ * Use this function instead of @c clear(), @c remove() or @c delete()
+ * if you want to keep <tt><i> _contents </i></tt> up-to-date.
+ *
+ * @param element Element to remove from its parent container, the function finds the parent element.
+ * @return Returns true if the element was successfully removed, false otherwise.
+ */
+ static daeBool removeFromParent(daeElement* element)
+ {
+ if(element != NULL && element->_parent != NULL)
+ return(element->_parent->removeChildElement(element));
+ return false;
+ };
+
+ /**
+ * Returns the number of attributes in this element.
+ * @return The number of attributes this element has.
+ */
+ size_t getAttributeCount();
+
+ /**
+ * Returns the daeMetaAttribute object corresponding to the attribute specified.
+ * @param name The name of the attribute to find.
+ * @return Returns the corresponding daeMetaAttribute object or NULL if this element
+ * doesn't have the specified attribute.
+ */
+ daeMetaAttribute* getAttributeObject(daeString name);
+
+ /**
+ * Returns the daeMetaAttribute object corresponding to attribute i.
+ * @param i The index of the attribute to find.
+ * @return Returns the corresponding daeMetaAttribute object
+ */
+ daeMetaAttribute* getAttributeObject(size_t i);
+
+ /**
+ * Returns the name of the attribute at the specified index.
+ * @param i The index of the attribute whose name should be retrieved.
+ * @return Returns the name of the attribute, or "" if the index is out of range.
+ */
+ std::string getAttributeName(size_t i);
+
+ /**
+ * Checks if this element can have the attribute specified.
+ * @param name The name of the attribute to look for.
+ * @return Returns true is this element can have an attribute with the name specified. False otherwise.
+ */
+ daeBool hasAttribute(daeString name);
+
+ /**
+ * Checks if an attribute has been set either by being loaded from the COLLADA document or set
+ * programmatically.
+ * @param name The name of the attribute to check.
+ * @return Returns true if the attribute has been set. False if the attribute hasn't been set
+ * or doesn't exist for this element.
+ */
+ daeBool isAttributeSet(daeString name);
+
+ /**
+ * Gets an attribute's value as a string.
+ * @param name The name of the attribute.
+ * @return The value of the attribute. Returns an empty string if this element doesn't
+ * have the specified attribute.
+ */
+ std::string getAttribute(daeString name);
+
+ /**
+ * Just like the previous method, this method gets an attribute's value as a string. It
+ * takes the string as a reference parameter instead of returning it, for extra efficiency.
+ * @param name The name of the attribute.
+ * @param A string in which to store the value of the attribute. This will be set to an empty
+ * string if this element doesn't have the specified attribute.
+ */
+ void getAttribute(daeString name, std::string& value);
+
+ /**
+ * Gets an attribute's value as a string.
+ * @param i The index of the attribute to retrieve.
+ * @return The value of the attribute.
+ */
+ std::string getAttribute(size_t i);
+
+ /**
+ * Just like the previous method, this method gets an attribute's value as a string. It
+ * takes the string as a reference parameter instead of returning it, for extra efficiency.
+ * @param i The index of the attribute to retrieve.
+ * @param A string in which to store the value of the attribute.
+ */
+ void getAttribute(size_t i, std::string& value);
+
+ struct DLLSPEC attr {
+ attr();
+ attr(const std::string& name, const std::string& value);
+
+ std::string name;
+ std::string value;
+ };
+
+ /**
+ * Returns an array containing all the attributes of this element.
+ * @return A daeArray of attr objects.
+ */
+ daeTArray<attr> getAttributes();
+
+ /**
+ * Just like the previous method, this method returns an array containing all the attributes
+ * of this element. It returns the result via a reference parameter for extra efficiency.
+ * @param attrs The array of attr objects to return.
+ */
+ void getAttributes(daeTArray<attr>& attrs);
+
+ /**
+ * Sets the attribute to the specified value.
+ * @param name Attribute to set.
+ * @param value Value to apply to the attribute.
+ * @return Returns true if the attribute was found and the value was set, false otherwise.
+ */
+ virtual daeBool setAttribute(daeString name, daeString value);
+
+ /**
+ * Sets the attribute at the specified index to the given value.
+ * @param i Index of the attribute to set.
+ * @param value Value to apply to the attribute.
+ * @return Returns true if the attribute was found and the value was set, false otherwise.
+ */
+ virtual daeBool setAttribute(size_t i, daeString value);
+
+ /**
+ * Returns the daeMetaAttribute object corresponding to the character data for this element.
+ * @return Returns a daeMetaAttribute object or NULL if this element doesn't have
+ * character data.
+ */
+ daeMetaAttribute* getCharDataObject();
+
+ /**
+ * Checks if this element can have character data.
+ * @return Returns true if this element can have character data, false otherwise.
+ */
+ daeBool hasCharData();
+
+ /**
+ * Returns this element's character data as a string.
+ * @return A string containing this element's character data, or an empty string
+ * if this element can't have character data.
+ */
+ std::string getCharData();
+
+ /**
+ * Similar to the previous method, but fills a string passed in by the user for efficiency.
+ * @param data The string to be filled with this element's character content. The
+ * string is set to an empty string if this element can't have character data.
+ */
+ void getCharData(std::string& data);
+
+ /**
+ * Sets this element's character data.
+ * @param data The new character data of this element.
+ * @return Returns true if this element can have character data and the character data
+ * was successfully changed, false otherwise.
+ */
+ daeBool setCharData(const std::string& data);
+
+ // These functions are deprecated.
+ daeMemoryRef getAttributeValue(daeString name); // Use getAttribute or getAttributeObject instead.
+ daeBool hasValue(); // Use hasCharData instead.
+ daeMemoryRef getValuePointer(); // Use getCharData or getCharDataObject instead.
+
+ /**
+ * Finds the database document associated with @c this element.
+ * @return Returns the @c daeDocument representing the containing file or database
+ * group.
+ */
+ daeDocument* getDocument() const {
+ return _document;
+ }
+
+ /**
+ * Deprecated.
+ */
+ daeDocument* getCollection() const {
+ return _document;
+ }
+
+ /**
+ * Get the associated DAE object.
+ * @return The associated DAE object.
+ */
+ DAE* getDAE();
+
+ /**
+ * Sets the database document associated with this element.
+ * @param c The daeDocument to associate with this element.
+ */
+ void setDocument(daeDocument* c) {
+ setDocument( c, true );
+ }
+ /**
+ * Deprecated.
+ */
+ void setCollection(daeDocument* c );
+
+ /**
+ * Gets the URI of the document containing this element, note that this is NOT the URI of the element.
+ * @return Returns a pointer to the daeURI of the document containing this element.
+ */
+ daeURI* getDocumentURI() const;
+
+ /**
+ * Creates an element via the element factory system. This creation
+ * is based @em only on potential child elements of this element.
+ * @param elementName Class name of the subelement to create.
+ * @return Returns the created @c daeElement, if it was successfully created.
+ */
+ daeSmartRef<daeElement> createElement(daeString elementName);
+
+ /**
+ * Gets the container element for @c this element.
+ * If @c createAndPlace() was used to create the element, its parent is the the caller of @c createAndPlace().
+ * @return Returns the parent element, if @c this is not the top level element.
+ */
+ daeElement* getParentElement() {
+ return _parent;
+ }
+ /**
+ * Deprecated. Use getParentElement()
+ * @deprecated
+ */
+ daeElement* getXMLParentElement() {
+ return _parent;
+ }
+ /**
+ * Sets the parent element for this element.
+ * @param newParent The element which is the new parent element for this element.
+ * @note This function is called internally and not meant to be called form the client application.
+ */
+ void setParentElement( daeElement *parent ) {
+ _parent = parent;
+ }
+
+ // These are helper structures to let the xml hierarchy search functions know when we've
+ // found a match. You can implement a custom matcher by inheriting from this structure,
+ // just like matchName and matchType.
+ struct DLLSPEC matchElement {
+ virtual bool operator()(daeElement* elt) const = 0;
+ virtual ~matchElement() {
+ };
+ };
+
+ // Matches an element by name
+ struct DLLSPEC matchName : public matchElement {
+ matchName(daeString name);
+ virtual bool operator()(daeElement* elt) const;
+ std::string name;
+ };
+
+ // Matches an element by schema type
+ struct DLLSPEC matchType : public matchElement {
+ matchType(daeInt typeID);
+ virtual bool operator()(daeElement* elt) const;
+ daeInt typeID;
+ };
+
+ // Returns a matching child element. By "child", I mean one hierarchy level beneath the
+ // current element. This function is basically the same as getDescendant, except that it
+ // only goes one level deep.
+ daeElement* getChild(const matchElement& matcher);
+
+ // Performs a breadth-first search and returns a matching descendant element. A "descendant
+ // element" is an element beneath the current element in the xml hierarchy.
+ daeElement* getDescendant(const matchElement& matcher);
+
+ // Returns the parent element.
+ daeElement* getParent();
+
+ // Searches up through the xml hiearchy and returns a matching element.
+ daeElement* getAncestor(const matchElement& matcher);
+
+ // These functions perform the same as the functions above, except that they take the element
+ // name to match as a string. This makes these functions a little simpler to use if you're
+ // matching based on element name, which is assumed to be the most common case. Instead of
+ // "getChild(matchName(eltName))", you can just write "getChild(eltName)".
+ daeElement* getChild(daeString eltName);
+ daeElement* getDescendant(daeString eltName);
+ daeElement* getAncestor(daeString eltName);
+
+ /**
+ * Gets the associated Meta information for this element. This
+ * Meta also acts as a factory. See @c daeMetaElement documentation for more
+ * information.
+ * @return Returns the associated meta information.
+ */
+ inline daeMetaElement* getMeta() {
+ return _meta;
+ }
+
+ // These functions are deprecated. Use typeID instead.
+ //virtual COLLADA_TYPE::TypeEnum getElementType() const { return (COLLADA_TYPE::TypeEnum)0; }
+ daeString getTypeName() const;
+
+ /**
+ * Returns this element's type ID. Every element is an instance of a type specified in
+ * the Collada schema, and every schema type has a unique ID.
+ * @return The element's type ID.
+ */
+ virtual daeInt typeID() const = 0;
+
+ /**
+ * Gets this element's name.
+ * @return Returns the string for the name.
+ * @remarks This function returns NULL if the element's name is identical to it's type's name.
+ */
+ daeString getElementName() const;
+ /**
+ * Sets this element's name.
+ * @param nm Specifies the string to use as the element's name.
+ * @remarks Use caution when using this function since you can easily create invalid COLLADA documents.
+ */
+ void setElementName( daeString nm );
+
+ /**
+ * Gets the element ID if it exists.
+ * @return Returns the value of the ID attribute, if there is such
+ * an attribute on this element type.
+ * @return the string for the element ID if it exists.
+ */
+ daeString getID() const;
+
+ /**
+ * Gets the children/sub-elements of this element.
+ * This is a helper function used to easily access an element's children without the use of the
+ * _meta objects. This function adds the convenience of the _contents array to elements that do
+ * not contain a _contents array.
+ * @return The return value. An elementref array to append this element's children to.
+ */
+ daeTArray< daeSmartRef<daeElement> > getChildren();
+
+ /**
+ * Same as the previous function, but returns the result via a parameter instead
+ * of a return value, for extra efficiency.
+ * @param array The return value. An elementref array to append this element's children to.
+ */
+ //void getChildren( daeElementRefArray &array );
+ void getChildren( daeTArray<daeSmartRef<daeElement> > &array );
+
+ /**
+ * Gets all the children of a particular type.
+ * @return An array containing the matching child elements.
+ */
+ template<typename T>
+ daeTArray< daeSmartRef<T> > getChildrenByType() {
+ daeTArray< daeSmartRef<T> > result;
+ getChildrenByType(result);
+ return result;
+ }
+
+ /**
+ * Same as the previous function, but returns the result via a parameter instead
+ * of a return value, for extra efficiency.
+ * @return An array containing the matching child elements.
+ */
+ template<typename T>
+ void getChildrenByType(daeTArray< daeSmartRef<T> >& matchingChildren) {
+ matchingChildren.setCount(0);
+ daeTArray< daeSmartRef<daeElement> > children;
+ getChildren(children);
+ for (size_t i = 0; i < children.getCount(); i++)
+ if (children[i]->typeID() == T::ID())
+ matchingChildren.append((T*)children[i].cast());
+ }
+
+ /**
+ * Clones/deep copies this @c daeElement and all of it's subtree.
+ * @param idSuffix A string to append to the copied element's ID, if one exists.
+ * Default is no ID mangling.
+ * @param nameSuffix A string to append to the copied element's name, if one exists.
+ * Default is no name mangling.
+ * @return Returns a @c daeElement smartref of the copy of this element.
+ */
+ daeSmartRef<daeElement> clone( daeString idSuffix = NULL, daeString nameSuffix = NULL );
+
+ // Class for reporting info about element comparisons
+ struct DLLSPEC compareResult {
+ int compareValue; // > 0 if elt1 > elt2,
+ // < 0 if elt1 < elt2,
+ // = 0 if elt1 = elt2
+ daeElement* elt1;
+ daeElement* elt2;
+ bool nameMismatch; // true if the names didn't match
+ std::string attrMismatch; // The name of the mismatched attribute, or "" if there was no attr mismatch
+ bool charDataMismatch; // true if the char data didn't match
+ bool childCountMismatch; // true if the number of children didn't match
+
+ compareResult();
+ std::string format(); // Write to a string
+ };
+
+ // Function for doing a generic, recursive comparison of two xml elements. It
+ // also provides a full element ordering, so that you could store elements in
+ // a map or a set. Return val is > 0 if elt1 > elt2, < 0 if elt1 < elt2, and 0
+ // if elt1 == elt2.
+ static int compare(daeElement& elt1, daeElement& elt2);
+
+ // Same as the previous function, but returns a full compareResult object.
+ static compareResult compareWithFullResult(daeElement& elt1, daeElement& elt2);
+
+ /**
+ * Sets the user data pointer attached to this element.
+ * @param data User's custom data to store.
+ */
+ void setUserData(void* data);
+
+ /**
+ * Gets the user data pointer attached to this element.
+ * @return User data pointer previously set with setUserData.
+ */
+ void* getUserData();
+
+public:
+ // This function is called internally
+ static void deleteCMDataArray(daeTArray<daeCharArray*>& cmData);
+};
+
+#include <dae/daeSmartRef.h>
+typedef daeSmartRef<daeElement> daeElementRef;
+typedef daeSmartRef<const daeElement> daeElementConstRef;
+//#include <dae/daeArray.h>
+typedef daeTArray<daeElementRef> daeElementRefArray;
+
+#endif //__DAE_ELEMENT_H__
diff --git a/1.4.0/dom/include/dae/daeError.h b/1.4.0/dom/include/dae/daeError.h
new file mode 100644
index 0000000..b74e0f3
--- /dev/null
+++ b/1.4.0/dom/include/dae/daeError.h
@@ -0,0 +1,46 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __DAE__ERROR__
+#define __DAE__ERROR__
+
+#include <dae/daePlatform.h>
+
+/** Success */
+#define DAE_OK 0
+/** Fatal Error, should never be returned unless there is a bug in the library. */
+#define DAE_ERR_FATAL -1
+/** Call invalid, the combination of parameters given is invalid. */
+#define DAE_ERR_INVALID_CALL -2
+/** Generic error */
+#define DAE_ERROR -3
+/** IO error, the file hasn't been found or there is a problem with the IO plugin. */
+#define DAE_ERR_BACKEND_IO -100
+/** The IOPlugin backend wasn't able to successfully validate the data. */
+#define DAE_ERR_BACKEND_VALIDATION -101
+/** The IOPlugin tried to write to a file that already exists and the "replace" parameter was set to false */
+#define DAE_ERR_BACKEND_FILE_EXISTS -102
+/** Error in the syntax of the query. */
+#define DAE_ERR_QUERY_SYNTAX -200
+/** No match to the search criteria. */
+#define DAE_ERR_QUERY_NO_MATCH -201
+/** A document with that name already exists. */
+#define DAE_ERR_COLLECTION_ALREADY_EXISTS -202
+/** A document with that name does not exist. */
+#define DAE_ERR_COLLECTION_DOES_NOT_EXIST -203
+/** Function is not implemented. */
+#define DAE_ERR_NOT_IMPLEMENTED -1000
+
+
+/** Gets the ASCII error string.
+* @param errorCode Error code returned by a function of the API.
+* @return Returns an English string describing the error.
+*/
+DLLSPEC const char *daeErrorString(int errorCode);
+
+#endif //__DAE__ERROR__
diff --git a/1.4.0/dom/include/dae/daeErrorHandler.h b/1.4.0/dom/include/dae/daeErrorHandler.h
new file mode 100644
index 0000000..6ffab01
--- /dev/null
+++ b/1.4.0/dom/include/dae/daeErrorHandler.h
@@ -0,0 +1,61 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef _DAE_ERROR_HANDLER_
+#define _DAE_ERROR_HANDLER_
+
+#include <memory>
+#include <dae/daeTypes.h>
+
+/**
+ * The @c daeErrorHandler class is a plugin that allows the use to overwrite how error and warning
+ * messages get handled in the client application. An example of this would be a class that reports
+ * the message to a gui front end instead of just printing on stdout.
+ */
+class DLLSPEC daeErrorHandler {
+public:
+ /**
+ * Constructor.
+ */
+ daeErrorHandler();
+ /**
+ * Destructor.
+ */
+ virtual ~daeErrorHandler();
+
+ /**
+ * This function is called when there is an error and a string needs to be sent to the user.
+ * You must overwrite this function in your plugin.
+ * @param msg Error message.
+ */
+ virtual void handleError( daeString msg ) = 0;
+ /**
+ * This function is called when there is a warning and a string needs to be sent to the user.
+ * You must overwrite this function in your plugin.
+ * @param msg Warning message.
+ */
+ virtual void handleWarning( daeString msg ) = 0;
+
+ /**
+ * Sets the daeErrorHandler to the one specified.
+ * @param eh The new daeErrorHandler to use. Passing in NULL results in the default plugin being used.
+ */
+ static void setErrorHandler( daeErrorHandler *eh );
+ /**
+ * Returns the current daeErrorHandlerPlugin. A program has one globally-accessible
+ * daeErrorHandler active at a time.
+ * @return The current daeErrorHandler.
+ */
+ static daeErrorHandler *get();
+
+private:
+ static daeErrorHandler *_instance;
+ static std::auto_ptr<daeErrorHandler> _defaultInstance;
+};
+
+#endif
diff --git a/1.4.0/dom/include/dae/daeGCCPlatform.h b/1.4.0/dom/include/dae/daeGCCPlatform.h
new file mode 100644
index 0000000..e8abc1e
--- /dev/null
+++ b/1.4.0/dom/include/dae/daeGCCPlatform.h
@@ -0,0 +1,27 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __DAE_GCC_PLATFORM_H__
+#define __DAE_GCC_PLATFORM_H__
+
+#include <limits.h>
+
+#define PLATFORM_INT8 char
+#define PLATFORM_INT16 short
+#define PLATFORM_INT32 int
+#define PLATFORM_INT64 long long
+#define PLATFORM_UINT8 unsigned char
+#define PLATFORM_UINT16 unsigned short
+#define PLATFORM_UINT32 unsigned int
+#define PLATFORM_UINT64 unsigned long long
+#define PLATFORM_FLOAT32 float
+#define PLATFORM_FLOAT64 double
+
+#define DLLSPEC __attribute__ ((visibility ("default")))
+
+#endif
diff --git a/1.4.0/dom/include/dae/daeIDRef.h b/1.4.0/dom/include/dae/daeIDRef.h
new file mode 100644
index 0000000..57e3c2a
--- /dev/null
+++ b/1.4.0/dom/include/dae/daeIDRef.h
@@ -0,0 +1,230 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __DAE_IDREF_H__
+#define __DAE_IDREF_H__
+
+#include <string>
+#include <dae/daeTypes.h>
+#include <dae/daeElement.h>
+class DAE;
+
+/**
+ * The @c daeIDRef is a simple class designed to aid in the parsing and resolution of
+ * ID references inside of COLLADA elements.
+ * A @c daeIDRef is created for every IDREF data type in the COLLADA schema.
+ * It also has the capability to attempt to resolve this reference
+ * into a @c daeElement. If a @c daeIDRef is stored within a @c daeElement it fills
+ * in its container field to point to the containing element.
+ *
+ * The main API is the @c daeIDRef::resolveElement() will use a @c daeIDRefResolver
+ * to search for the @c daeElement inside of a @c daeDatabase.
+ *
+ */
+class DLLSPEC daeIDRef
+{
+public:
+ /**
+ * An enum describing the status of the ID resolution process.
+ */
+ enum ResolveState{
+ /** No ID specified */
+ id_empty,
+ /** ID specified but not resolved */
+ id_loaded,
+ /** ID resolution pending */
+ id_pending,
+ /** ID resolved correctly */
+ id_success,
+ /** Resolution failed because ID was not found */
+ id_failed_id_not_found,
+ /** Resolution failed because ID was invalid */
+ id_failed_invalid_id,
+ /** Resoltion failed due to invalid reference */
+ id_failed_invalid_reference,
+ /** Resolution failed due to an external error */
+ id_failed_externalization,
+ /** Resolution failed because we don't have a document in which to search for the element.
+ This means you probably forgot to set a container element. */
+ id_failed_no_document
+ };
+
+private:
+ /** ID used to refer to another element */
+ std::string id;
+
+ /** Element that owns this ID (if any) */
+ daeElement* container;
+
+public:
+ /**
+ * Simple Constructor
+ */
+ daeIDRef();
+
+ /**
+ * Constructs an id reference via a string, using @c setID(); loads the status.
+ * @param id ID to construct a reference for, passed to @c setID() automatically.
+ */
+ daeIDRef(daeString id);
+
+ /**
+ * Constructs a new id reference by copying an existing one.
+ * @param constructFromIDRef @c daeIDRef to copy into this one.
+ */
+ daeIDRef(const daeIDRef& constructFromIDRef);
+
+ /**
+ * Constructs an id reference with a container element
+ * @param container The container element.
+ */
+ daeIDRef(daeElement& container);
+
+ /**
+ * Gets the ID string
+ * @return Returns the full ID string from <tt><i>id.</i></tt>
+ */
+ daeString getID() const;
+
+ /**
+ * Copies <tt><i>ID</i></tt> into the <tt><i>id </i></tt> data member.
+ * After the call to @c setID(), the <tt><i>state</i></tt> is set to @c id_loaded
+ * @param ID String to use to configure this @c daeIDRef.
+ */
+ void setID(daeString ID);
+
+ /**
+ * Gets the element that this URI resolves to in memory.
+ * @return Returns a ref to the element.
+ */
+ daeElement* getElement() const;
+
+ /**
+ * Gets a pointer to the @c daeElement that contains this URI.
+ * @return Returns the pointer to the containing daeElmement.
+ */
+ daeElement* getContainer() const;
+
+ /**
+ * Sets the pointer to the @c daeElement that contains this URI.
+ * @param cont Pointer to the containing @c daeElmement.
+ */
+ void setContainer(daeElement* cont);
+
+ /**
+ * Outputs all components of this @c daeIDRef to stderr.
+ */
+ void print();
+
+ /**
+ * Resets this @c daeIDRef; frees all string references
+ * and returns <tt><i>state</i></tt> to @c empty.
+ */
+ void reset();
+
+ /**
+ * Initializes the @c daeIDREf, setting <tt><i>id, element,</i></tt> and <tt><i>container</i></tt> to NULL.
+ */
+ void initialize();
+
+ /**
+ * Comparison operator.
+ * @return Returns true if URI's are equal.
+ */
+ bool operator==(const daeIDRef& other) const;
+
+ /**
+ * Assignment operator.
+ * @return Returns a reference to this object.
+ */
+ daeIDRef &operator=( const daeIDRef& other);
+
+ // These methods are only provided for backwards compatibility. Use the listed alternatives.
+ daeIDRef &get( daeUInt idx ); // Never should have existed. No alternative.
+ size_t getCount() const; // Never should have existed. No alternative.
+ daeIDRef& operator[](size_t index); // Never should have existed. No alternative.
+ void resolveElement( daeString typeNameHint = NULL ); // Call getElement. No separate "resolve" step needed.
+ void resolveID(); // Never should have existed. No alternative.
+ void validate(); // Never should have existed. No alternative.
+ void copyFrom(const daeIDRef& from); // Use the assignment operator instead.
+ ResolveState getState() const; // Never should have existed. No alternative.
+};
+
+/**
+ * The @c daeIDRefResolver class is the plugin point for @c daeIDRef resolution.
+ * This class is an abstract base class that defines an interface for
+ * resolving @c daeIDRefs.
+ */
+class DLLSPEC daeIDRefResolver
+{
+public:
+ /**
+ * Constructor
+ */
+ daeIDRefResolver(DAE& dae);
+
+ /**
+ * Destructor
+ */
+ virtual ~daeIDRefResolver();
+
+ /**
+ * Provides an abstract interface to convert a @c daeIDRef into a @c daeElement.
+ * @param id The ID of the element to find.
+ * @param doc The document containing the element.
+ * @return Returns a daeElement with matching ID, if one is found.
+ */
+ virtual daeElement* resolveElement(const std::string& id, daeDocument* doc) = 0;
+
+
+ /**
+ * Gets the name of this resolver.
+ * @return Returns the string name.
+ */
+ virtual daeString getName() = 0;
+
+protected:
+ DAE* dae;
+};
+
+
+/**
+ * The @c daeDefaultIDRefResolver resolves a @c daeIDRef by checking with a database.
+ * It is a concrete implementation for @c daeIDRefResolver.
+ */
+class DLLSPEC daeDefaultIDRefResolver : public daeIDRefResolver
+{
+public:
+ daeDefaultIDRefResolver(DAE& dae);
+ ~daeDefaultIDRefResolver();
+ virtual daeElement* resolveElement(const std::string& id, daeDocument* doc);
+ virtual daeString getName();
+};
+
+
+// This is a container class for storing a modifiable list of daeIDRefResolver objects.
+class DLLSPEC daeIDRefResolverList {
+public:
+ daeIDRefResolverList();
+ ~daeIDRefResolverList();
+
+ void addResolver(daeIDRefResolver* resolver);
+ void removeResolver(daeIDRefResolver* resolver);
+
+ daeElement* resolveElement(const std::string& id, daeDocument* doc);
+
+private:
+ // Disabled copy constructor/assignment operator
+ daeIDRefResolverList(const daeIDRefResolverList& resolverList) { };
+ daeIDRefResolverList& operator=(const daeIDRefResolverList& resolverList) { return *this; };
+
+ daeTArray<daeIDRefResolver*> resolvers;
+};
+
+
+#endif //__DAE_IDREF_H__
diff --git a/1.4.0/dom/include/dae/daeIOPlugin.h b/1.4.0/dom/include/dae/daeIOPlugin.h
new file mode 100644
index 0000000..c1a5c28
--- /dev/null
+++ b/1.4.0/dom/include/dae/daeIOPlugin.h
@@ -0,0 +1,128 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __DAE_IOPLUGIN__
+#define __DAE_IOPLUGIN__
+
+#include <string>
+#include <vector>
+#include <dae/daeTypes.h>
+class daeDatabase;
+class daeMetaElement;
+class daeURI;
+class daeDocument;
+
+/**
+* The @c daeIOPlugin class provides the input/output plugin interface, which is
+* the interface between the COLLADA runtime and the backend storage. A native
+* COLLADA XML plugin implementation is provided along with this interface.
+*/
+class DLLSPEC daeIOPlugin
+{
+public:
+ /**
+ * Destructor
+ */
+ virtual ~daeIOPlugin() {}
+ /**
+ * Sets the top meta object.
+ * Called by @c dae::setIOPlugin() when the IO plugin changes. It passes to this function the
+ * top meta object, which is the root of a
+ * hierarchy of @c daeMetaElement objects. This top meta object is capable of creating
+ * any of the root objects in the DOM tree.
+ * @param topMeta Top meta object to use to create objects to fill the database.
+ * @return Returns DAE_OK if successful, otherwise returns a negative value defined in daeError.h.
+ */
+ virtual daeInt setMeta(daeMetaElement *topMeta) = 0;
+
+ /** @name Database setup */
+ //@{
+ /**
+ * Sets the database to use.
+ * All @c daeIOPlugins use the same interface to the @c daeDatabase,
+ * @c setDatabase() tells the @c daeIOPlugin which @c daeDatabase object it should use
+ * for storage and queries.
+ * @param database Database to set.
+ */
+ virtual void setDatabase(daeDatabase* database) = 0;
+ //@}
+
+
+ /** @name Operations */
+ //@{
+ /**
+ * Imports content into the database from an input.
+ * The input can be a file, a database or another runtime.
+ * @param uri the URI of the COLLADA document to load, not all plugins accept all types of URIs,
+ * check the documentation for the IO plugin you are using.
+ * @param docBuffer A string containing the text of the document to load. This is an optional attribute
+ * and should only be used if the document has already been loaded into memory.
+ * @return Returns DAE_OK if successfully loaded, otherwise returns a negative value defined in daeError.h.
+ * @see @c DAE::load().
+ */
+ virtual daeInt read(const daeURI& uri, daeString docBuffer) = 0;
+
+ /** @name Operations */
+ //@{
+ /**
+ * Writes a specific document to an output.
+ * @param name URI to write the document to, not all IO plugins support all types of URIs
+ * check the documentation for the IO plugin you are using.
+ * @param document Pointer to the document that we're going to write out.
+ * @param replace True if write should overwrite an existing file. False otherwise.
+ * @return Returns DAE_OK if success, a negative value defined in daeError.h otherwise.
+ * @see @c DAE::saveAs()
+ */
+ virtual daeInt write(const daeURI& name, daeDocument *document, daeBool replace) = 0;
+ //@}
+
+ /**
+ * Returns a list of the URI protocols that this plugin supports.
+ * @return Returns a daeArray containing the supported protocols.
+ */
+ virtual const std::vector<std::string>& getSupportedProtocols() {
+ return supportedProtocols;
+ }
+
+ /**
+ * setOption allows you to set options for this IOPlugin. Which options a plugin supports is
+ * dependent on the plugin itself. There is currently no list of options that plugins are
+ * suggested to implement.
+ * @param option The option to set.
+ * @param value The value to set the option.
+ * @return Returns DAE_OK upon success.
+ */
+ virtual daeInt setOption( daeString option, daeString value ) = 0;
+
+ /**
+ * getOption retrieves the value of an option from this IOPlugin. Which options a plugin supports is
+ * dependent on the plugin itself.
+ * @param option The option to get.
+ * @return Returns the string value of the option or NULL if option is not valid.
+ */
+ virtual daeString getOption( daeString option ) = 0;
+
+protected:
+ // This is an array of the URI protocols supported by this plugin, e.g. "http", "file",
+ // etc. Each plugin should initialize this variable in the constructor.
+ std::vector<std::string> supportedProtocols;
+};
+
+
+class DLLSPEC daeIOEmpty : public daeIOPlugin {
+public:
+ virtual daeInt setMeta(daeMetaElement *topMeta) { return DAE_ERROR; }
+ virtual void setDatabase(daeDatabase* database) { }
+ virtual daeInt read(const daeURI& uri, daeString docBuffer) { return DAE_ERROR; }
+ virtual daeInt write(const daeURI& name, daeDocument *document, daeBool replace) { return DAE_ERROR; }
+ virtual daeInt setOption( daeString option, daeString value ) { return DAE_ERROR; }
+ virtual daeString getOption( daeString option ) { return ""; }
+};
+
+
+#endif // __DAE_IOPLUGIN__
diff --git a/1.4.0/dom/include/dae/daeIOPluginCommon.h b/1.4.0/dom/include/dae/daeIOPluginCommon.h
new file mode 100644
index 0000000..b5f8044
--- /dev/null
+++ b/1.4.0/dom/include/dae/daeIOPluginCommon.h
@@ -0,0 +1,63 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __DAE_IO_PLUGIN_COMMON__
+#define __DAE_IO_PLUGIN_COMMON__
+
+#include <vector>
+#include <dae/daeElement.h>
+#include <dae/daeURI.h>
+#include <dae/daeMetaAttribute.h>
+#include <dae/daeIOPlugin.h>
+
+class daeMetaElement;
+class daeDocument;
+
+/**
+ * The @c daeIOPluginCommon class was created to serve as a base class for the common functionality
+ * between the daeLIBXMLPlugin and daeTinyXMLPlugin classes.
+ */
+class DLLSPEC daeIOPluginCommon : public daeIOPlugin {
+public:
+ /**
+ * Constructor.
+ */
+ daeIOPluginCommon();
+ /**
+ * Destructor.
+ */
+ virtual ~daeIOPluginCommon();
+
+ virtual daeInt setMeta(daeMetaElement *topMeta);
+
+ // Database setup
+ virtual void setDatabase(daeDatabase* database);
+
+ // Operations
+ virtual daeInt read(const daeURI& uri, daeString docBuffer);
+
+protected:
+ daeDatabase* database;
+
+ // On failure, these functions return NULL
+ virtual daeElementRef readFromFile(const daeURI& uri) = 0;
+ virtual daeElementRef readFromMemory(daeString buffer, const daeURI& baseUri) = 0;
+
+ // Reading support for subclasses
+ typedef std::pair<daeString, daeString> attrPair;
+ daeElementRef beginReadElement(daeElement* parentElement,
+ daeString elementName,
+ const std::vector<attrPair>& attributes,
+ daeInt lineNumber);
+ bool readElementText(daeElement* element, daeString text, daeInt elementLineNumber);
+
+private:
+ daeMetaElement* topMeta;
+};
+
+#endif //__DAE_IO_PLUGIN_COMMON__
diff --git a/1.4.0/dom/include/dae/daeMemorySystem.h b/1.4.0/dom/include/dae/daeMemorySystem.h
new file mode 100644
index 0000000..1052602
--- /dev/null
+++ b/1.4.0/dom/include/dae/daeMemorySystem.h
@@ -0,0 +1,57 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __DAE_MEMORY_SYSTEM_H__
+#define __DAE_MEMORY_SYSTEM_H__
+
+#include <dae/daeTypes.h>
+
+/**
+ * The @c daeMemorySystem class is a simple wrapper for memory operations.
+ * Every allocation passes a string pool name such that
+ * in the future different pools can be used based on allocation type.
+ * Currently the system is just a pass-through to system @c malloc.
+ */
+class daeMemorySystem
+{
+public:
+ /**
+ * Provides a wrapper malloc with pool field.
+ * @param pool String name of the pool to use for this allocation.
+ * @param n Number of bytes to allocate.
+ * @return Returns the memory allocated if successful, or NULL if not.
+ */
+ static DLLSPEC daeRawRef alloc(daeString pool, size_t n);
+
+ /**
+ * Provides a wrapper free with pool argument.
+ * @param pool Pool the memory should be freed from.
+ * @param mem Memory to be freed.
+ */
+ static DLLSPEC void dealloc(daeString pool, daeRawRef mem);
+};
+
+// (steveT) These new/delete overrides aren't complete. What about new[] and delete[]?
+// Standard new should throw a bad_alloc exception, and a nothrow new should be provided
+// that returns null instead of throwing bad_alloc. Because of these problems, plus the
+// fact that we currently don't benefit in any way from overriding new and delete, this
+// code is currently disabled.
+
+#if 0
+#define DAE_ALLOC \
+ /* Standard new/delete */ \
+ inline void* operator new(size_t size) { return daeMemorySystem::alloc("meta", size); } \
+ inline void operator delete(void* p) { daeMemorySystem::dealloc("meta", p); } \
+ /* Placement new/delete */ \
+ inline void* operator new(size_t, void* p) { return p; } \
+ inline void operator delete(void*, void*) { }
+#endif
+
+#define DAE_ALLOC
+
+#endif // __DAE_MEMORY_H__
diff --git a/1.4.0/dom/include/dae/daeMetaAny.h b/1.4.0/dom/include/dae/daeMetaAny.h
new file mode 100644
index 0000000..17272a3
--- /dev/null
+++ b/1.4.0/dom/include/dae/daeMetaAny.h
@@ -0,0 +1,39 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __DAE_META_ANY_H__
+#define __DAE_META_ANY_H__
+
+#include <dae/daeMetaCMPolicy.h>
+
+/**
+ * The daeMetaAny class defines the behavior of an xs:any content model in the COLLADA Schema.
+ */
+class daeMetaAny : public daeMetaCMPolicy
+{
+public:
+ /**
+ * Constructor.
+ * @param container The daeMetaElement that this policy object belongs to.
+ * @param parent The daeMetaCMPolicy parent of this policy object.
+ * @param odinal The ordinal value offset of this specific policy object. Used for maintaining the
+ * correct order of child elements.
+ * @param minO The minimum number of times this CMPolicy object must appear. This value comes from the COLLADA schema.
+ * @param maxO The maximum number of times this CMPolicy object may appear. This value comes from the COLLADA schema.
+ */
+ daeMetaAny( daeMetaElement *container, daeMetaCMPolicy *parent = NULL, daeUInt ordinal = 0, daeInt minO = 1, daeInt maxO = 1 );
+ ~daeMetaAny();
+
+ daeElement *placeElement( daeElement *parent, daeElement *child, daeUInt &ordinal, daeInt offset = 0, daeElement* before = NULL, daeElement *after = NULL );
+ daeBool removeElement(daeElement* parent, daeElement* child);
+ daeMetaElement *findChild( daeString elementName );
+ void getChildren( daeElement* parent, daeElementRefArray &array );
+};
+
+#endif
+
diff --git a/1.4.0/dom/include/dae/daeMetaAttribute.h b/1.4.0/dom/include/dae/daeMetaAttribute.h
new file mode 100644
index 0000000..086c4f1
--- /dev/null
+++ b/1.4.0/dom/include/dae/daeMetaAttribute.h
@@ -0,0 +1,320 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __DAE_META_ATTRIBUTE_H__
+#define __DAE_META_ATTRIBUTE_H__
+
+#include <string>
+#include <sstream>
+#include <dae/daeTypes.h>
+#include <dae/daeStringRef.h>
+#include <dae/daeAtomicType.h>
+#include <dae/daeElement.h>
+#include <dae/daeArray.h>
+
+class daeElement;
+class daeMetaElement;
+class daeMetaAttribute;
+class daeMetaElementAttribute;
+
+/**
+ * The @c daeMetaAttribute class describes one attribute in a C++ COLLADA dom element.
+ *
+ * In the case of the C++ object model a conceptual attribute can be
+ * either a dom attribute, a dom element, or a dom value.
+ * Essentially, the meta attribute describes fields on the C++ class.
+ * However these attributes are stored separately in the containing meta
+ * @c daeMetaElement.
+ * @c daeMetaAttributes always exist inside of @c daeMetaElements.
+ * Each @c daeMetaAttribute has certain semantic operations it is capable of
+ * including @c set(), @c get(), and @c print().
+ * @c daeMetaAttributes use the @c daeAtomicType system as their underlying semantic
+ * implementation, but contain additional information about the packaging
+ * of the atomic types into the C++ dom classes such as offset, and
+ * array information.
+ */
+class DLLSPEC daeMetaAttribute : public daeRefCountedObj
+{
+protected:
+ daeStringRef _name;
+ daeInt _offset;
+ daeAtomicType* _type;
+ daeMetaElement* _container;
+ std::string _defaultString;
+ daeMemoryRef _defaultValue;
+ daeBool _isRequired;
+
+public:
+ /**
+ * Constructor
+ */
+ daeMetaAttribute();
+
+ /**
+ * Destructor
+ */
+ virtual ~daeMetaAttribute();
+public:
+ /**
+ * Determines if the schema indicates that this is a required attribute.
+ * @return Returns true if this is a required attribute, false if not.
+ */
+ daeBool getIsRequired() {return _isRequired; }
+ /**
+ * Sets the value that indicates that this attribute is required by the schema. If set, the attribute
+ * will always be exported by the API regardless of its value.
+ * @param isRequired Indicates if the schema says this attribute is required, true if it is, false if not.
+ */
+ void setIsRequired(daeBool isRequired) {_isRequired = isRequired;}
+ /**
+ * Sets the byte offset (from @c this) where this attribute's storage is
+ * found in its container element class.
+ * @param offset Integer byte offset from @c this pointer.
+ */
+ void setOffset(daeInt offset) { _offset = offset; }
+
+ /**
+ * Gets the byte offset (from @ this) where this attribute's storage is
+ * found in its container element class.
+ * @return Returns the integer byte offset from @c this pointer for this attribute.
+ */
+ daeInt getOffset() { return _offset; }
+
+ /**
+ * Sets the name of the attribute.
+ * @param name @c daeString that is directly stored as a pointer
+ * without being copied.
+ */
+ void setName(daeString name) { _name = name; }
+
+ /**
+ * Gets the name of this attribute.
+ * @return Returnsthe name of this attribute.
+ */
+ daeStringRef getName() { return _name; }
+
+ /**
+ * Sets the type of the attribute.
+ * @param type @c daeAtomicType to use for interacting with this
+ * attribute in a containing @c daeElement.
+ */
+ void setType(daeAtomicType* type) { _type = type; }
+
+ /**
+ * Gets the @c daeAtomicType used by this attribute.
+ * @return Returns the @c daeAtomicType that this attribute uses for its
+ * implementation.
+ */
+ daeAtomicType* getType() { return _type; }
+
+ /**
+ * Sets the default for this attribute via a string.
+ * @param defaultVal @c daeString representing the default value.
+ */
+ virtual void setDefaultString(daeString defaultVal);
+
+ /**
+ * Sets the default for this attribute via a memory pointer.
+ * @param defaultVal @c daeMemoryRef representing the default value.
+ */
+ virtual void setDefaultValue(daeMemoryRef defaultVal);
+
+ /**
+ * Gets the default for this attribute as a string.
+ * @return Returns a @c daeString representing the default value.
+ */
+ daeString getDefaultString();
+
+ /**
+ * Gets the default for this attribute as a memory value.
+ * @return Returns a @c daeMemoryRef representing the default value.
+ */
+ daeMemoryRef getDefaultValue();
+
+ /**
+ * Sets the containing @c daeMetaElement for this attribute.
+ * @param container Element on which this @c daeMetaAttribute belongs.
+ */
+ void setContainer(daeMetaElement* container) { _container = container; }
+
+ /**
+ * Gets the containing @c daeMetaElement for this attribute.
+ * @return Returns the @c daeMetaElement to which this @c daeAttribute belongs.
+ */
+ daeMetaElement* getContainer() { return _container; }
+
+ /**
+ * Notifies an attribute when the containing document changes.
+ */
+ virtual void setDocument(daeElement* e, daeDocument* doc);
+
+ /**
+ * Converts an element's attribute value to a string.
+ */
+ virtual void memoryToString(daeElement* e, std::ostringstream& buffer);
+
+ /**
+ * Converts a string to a memory value in the specified element.
+ */
+ virtual void stringToMemory(daeElement* e, daeString s);
+
+ /**
+ * Gets the attribute's memory pointer from containing element <tt><i>e</i></tt>.
+ * @param e Containing element from which to get the value.
+ * @return Returns the memory pointer corresponding to this attribute out of parent element e.
+ */
+ virtual daeMemoryRef get(daeElement* e);
+
+ /**
+ * Gets if this attribute is an array attribute.
+ * @return Returns true if this attribute is an array type.
+ */
+ virtual daeBool isArrayAttribute() { return false; }
+
+public:
+ /**
+ * Gets the number of bytes for this attribute.
+ * @return Returns the number of bytes in the C++ COLLADA dom element for this
+ * attribute.
+ */
+ virtual daeInt getSize();
+
+ /**
+ * Gets the alignment in bytes on the class of this meta attribute type.
+ * @return Returns the alignment in bytes.
+ */
+ virtual daeInt getAlignment();
+
+ /**
+ * Copies the value of this attribute from fromElement into toElement.
+ * @param toElement Pointer to a @c daeElement to copy this attribute to.
+ * @param fromElement Pointer to a @c daeElement to copy this attribute from.
+ */
+ virtual void copy(daeElement* toElement, daeElement* fromElement);
+
+ /**
+ * Copies the default value of this attribute to the element
+ * @param element Pointer to a @c daeElement to copy the default value to.
+ */
+ virtual void copyDefault(daeElement* element);
+
+ /**
+ * Compares the value of this attribute in the given elements.
+ * @param elt1 The first element whose attribute value should be compared.
+ * @param elt2 The second element whose attribute value should be compared.
+ * @return Returns a positive integer if value1 > value2, a negative integer if
+ * value1 < value2, and 0 if value1 == value2.
+ */
+ virtual daeInt compare(daeElement* elt1, daeElement* elt2);
+
+ /**
+ * Compares the value of this attribute from the given element to the default value
+ * of this attribute (if one exists).
+ * @param e The element whose value should be compared to the default value.
+ * @return Returns a positive integer if value > default, a negative integer if
+ * value < default, and 0 if value == default.
+ */
+ virtual daeInt compareToDefault(daeElement* e);
+
+public:
+ // These methods are deprecated.
+ virtual daeChar* getWritableMemory(daeElement* e); // Use get instead.
+ virtual void set(daeElement* element, daeString s); // Use stringToMemory instead.
+};
+
+
+/**
+ * The @c daeMetaArrayAttribute class is simple a wrapper that implements
+ * an array of atomic types rather than a singleton.
+ * The corresponding storage is an array
+ * and the corresponding operations are implemented on the array
+ * data structure rather than on inlined storage in elements.
+ */
+class DLLSPEC daeMetaArrayAttribute : public daeMetaAttribute
+{
+public:
+ virtual ~daeMetaArrayAttribute();
+
+ /**
+ * Defines the override version of this method from @c daeMetaAttribute.
+ * @param toElement Pointer to a @c daeElement to copy this attribute to.
+ * @param fromElement Pointer to a @c daeElement to copy this attribute from.
+ */
+ virtual void copy(daeElement* toElement, daeElement* fromElement);
+
+ /**
+ * Copies the default value of this attribute to the element
+ * @param element Pointer to a @c daeElement to copy the default value to.
+ */
+ virtual void copyDefault(daeElement* element);
+
+ /**
+ * Compares the value of this attribute in the given elements.
+ * @param elt1 The first element whose attribute value should be compared.
+ * @param elt2 The second element whose attribute value should be compared.
+ * @return Returns a positive integer if value1 > value2, a negative integer if
+ * value1 < value2, and 0 if value1 == value2.
+ */
+ virtual daeInt compare(daeElement* elt1, daeElement* elt2);
+
+ /**
+ * Compares the value of this attribute from the given element to the default value
+ * of this attribute (if one exists).
+ * @param e The element whose value should be compared to the default value.
+ * @return Returns a positive integer if value > default, a negative integer if
+ * value < default, and 0 if value == default.
+ */
+ virtual daeInt compareToDefault(daeElement* e);
+
+ /**
+ * Converts an element's attribute value to a string.
+ */
+ virtual void memoryToString(daeElement* e, std::ostringstream& buffer);
+
+ /**
+ * Converts a string to a memory value in the specified element.
+ */
+ virtual void stringToMemory(daeElement* e, daeString s);
+
+ /**
+ * Sets the default for this attribute via a string.
+ * @param defaultVal @c daeString representing the default value.
+ */
+ virtual void setDefaultString(daeString defaultVal);
+
+ /**
+ * Sets the default for this attribute via a memory pointer.
+ * @param defaultVal @c daeMemoryRef representing the default value.
+ */
+ virtual void setDefaultValue(daeMemoryRef defaultVal);
+
+ /**
+ * Gets if this attribute is an array attribute.
+ * @return Returns true if this attribute is an array type.
+ */
+ virtual daeBool isArrayAttribute() { return true; }
+
+ /**
+ * Notifies an attribute when the containing document changes.
+ */
+ virtual void setDocument(daeElement* e, daeDocument* doc);
+};
+
+
+typedef daeSmartRef<daeMetaAttribute> daeMetaAttributeRef;
+
+typedef daeTArray<daeMetaAttributeRef> daeMetaAttributeRefArray;
+typedef daeTArray<daeMetaAttribute*> daeMetaAttributePtrArray;
+
+#endif //__DAE_META_ATTRIBUTE_H__
+
+
+
+
+
+
diff --git a/1.4.0/dom/include/dae/daeMetaCMPolicy.h b/1.4.0/dom/include/dae/daeMetaCMPolicy.h
new file mode 100644
index 0000000..c54bcde
--- /dev/null
+++ b/1.4.0/dom/include/dae/daeMetaCMPolicy.h
@@ -0,0 +1,115 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __DAE_META_CM_POLICY_H__
+#define __DAE_META_CM_POLICY_H__
+
+#include <dae/daeTypes.h>
+#include <dae/daeElement.h>
+//class daeElement;
+class daeMetaElement;
+
+/**
+ * The daeMetaCMPolicy class is the base class for the content model policy classes which are used to
+ * describe the availability and ordering of an element's children.
+ */
+class daeMetaCMPolicy
+{
+public:
+ /**
+ * Places an element into the parent element based on this content model policy object.
+ * @param parent The parent element for which the child element will be placed.
+ * @param child The new child element.
+ * @param ordinal A reference to a daeUInt which holds the ordinal return value for a placed child. Used
+ * to maintain proper ording of child elements.
+ * @param offset The offset to used when attempting to place this element. Affects comparison against
+ * minOccurs and maxOccurs.
+ * @param before The element that the child should appear before. Optional.
+ * @param after The element that the child should appear after. Optional.
+ * @return Returns The child element that was placed within this content model object or any of its
+ * children. NULL if placement failed.
+ */
+ virtual daeElement *placeElement( daeElement *parent, daeElement *child, daeUInt &ordinal, daeInt offset = 0, daeElement* before = NULL, daeElement *after = NULL ) = 0;
+ /**
+ * Removes an element from the parent based on this content model object.
+ * @param parent The parent element for which child you want to remove.
+ * @param child The child that will be removed from the parent.
+ * @return Returns true if the child was successfully removed from this content model object or any of
+ * its children. False otherwise.
+ */
+ virtual daeBool removeElement(daeElement* parent, daeElement* child ) = 0;
+ /**
+ * Gets the daeMetaElement of an acceptable child of this content model object.
+ * @param elementName The name of the element whos metaElement information you are interested in.
+ * @return Returns a pointer to a daeMetaElement class that describes the element interested in.
+ * Returns NULL if the element is not valid in this content model.
+ */
+ virtual daeMetaElement *findChild( daeString elementName ) = 0;
+ /**
+ * Populates an array with the children of parent based on this content model object.
+ * @param parent The parent element whos children you want.
+ * @param array The array where you the children will be appended to.
+ */
+ virtual void getChildren( daeElement* parent, daeElementRefArray &array ) = 0;
+
+ /**
+ * Adds a child to this content model object.
+ * @param p The child content model policy object.
+ */
+ void appendChild( daeMetaCMPolicy *p ) { _children.append( p ); }
+
+ /**
+ * Gets the parent of this content model policy object.
+ * @return Returns a pointer to the parent node.
+ */
+ daeMetaCMPolicy *getParent() { return _parent; }
+
+ /**
+ * Sets the maximum ordinal value of this policy objects children. Used to keep proper ordering for
+ * cm objects that may appear multiple times.
+ * @param ord The maximum ordinal value for this content model object.
+ */
+ void setMaxOrdinal( daeUInt ord ) { _maxOrdinal = ord; }
+
+protected:
+ /**
+ * Constructor.
+ * @param container The daeMetaElement that this policy object belongs to.
+ * @param parent The daeMetaCMPolicy parent of this policy object.
+ * @param odinal The ordinal value offset of this specific policy object. Used for maintaining the
+ * correct order of child elements.
+ * @param minO The minimum number of times this CMPolicy object must appear. This value comes from the COLLADA schema.
+ * @param maxO The maximum number of times this CMPolicy object may appear. This value comes from the COLLADA schema.
+ */
+ daeMetaCMPolicy( daeMetaElement *container ,daeMetaCMPolicy *parent, daeUInt ordinal,
+ daeInt minO, daeInt maxO ) : _container( container ), _parent( parent ), _minOccurs( minO ),
+ _maxOccurs( maxO ), _maxOrdinal( 0 ), _ordinalOffset( ordinal ) {}
+
+public:
+ /**
+ * Destructor.
+ */
+ virtual ~daeMetaCMPolicy();
+
+protected:
+ daeMetaElement * _container;
+ daeMetaCMPolicy * _parent;
+ daeTArray<daeMetaCMPolicy*> _children;
+
+ /** Minimum number of times this meta element can occur. */
+ daeInt _minOccurs;
+ /** Maximum number of times this meta element can occur. -1 for unbounded */
+ daeInt _maxOccurs;
+
+ daeUInt _maxOrdinal;
+ daeUInt _ordinalOffset;
+
+};
+
+#endif
+
diff --git a/1.4.0/dom/include/dae/daeMetaChoice.h b/1.4.0/dom/include/dae/daeMetaChoice.h
new file mode 100644
index 0000000..4285bfa
--- /dev/null
+++ b/1.4.0/dom/include/dae/daeMetaChoice.h
@@ -0,0 +1,43 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __DAE_META_CHOICE_H__
+#define __DAE_META_CHOICE_H__
+
+#include <dae/daeMetaCMPolicy.h>
+
+/**
+ * The daeMetaChoice class defines the behavior of an xs:choice content model in the COLLADA Schema.
+ */
+class daeMetaChoice : public daeMetaCMPolicy
+{
+public:
+ /**
+ * Constructor.
+ * @param container The daeMetaElement that this policy object belongs to.
+ * @param parent The daeMetaCMPolicy parent of this policy object.
+ * @param choiceNum An unsigned integer that represents which index in an element's CMData array coresponds to this choice's data.
+ * @param odinal The ordinal value offset of this specific policy object. Used for maintaining the
+ * correct order of child elements.
+ * @param minO The minimum number of times this CMPolicy object must appear. This value comes from the COLLADA schema.
+ * @param maxO The maximum number of times this CMPolicy object may appear. This value comes from the COLLADA schema.
+ */
+ daeMetaChoice( daeMetaElement *container, daeMetaCMPolicy *parent = NULL, daeUInt choiceNum = 0, daeUInt ordinal = 0, daeInt minO = 1, daeInt maxO = 1 );
+ ~daeMetaChoice();
+
+ daeElement *placeElement( daeElement *parent, daeElement *child, daeUInt &ordinal, daeInt offset = 0, daeElement* before = NULL, daeElement *after = NULL );
+ daeBool removeElement(daeElement* parent, daeElement* child);
+ daeMetaElement *findChild( daeString elementName );
+ void getChildren( daeElement* parent, daeElementRefArray &array );
+
+private:
+ daeUInt _choiceNum;
+};
+
+#endif
+
diff --git a/1.4.0/dom/include/dae/daeMetaElement.h b/1.4.0/dom/include/dae/daeMetaElement.h
new file mode 100644
index 0000000..e22cfb2
--- /dev/null
+++ b/1.4.0/dom/include/dae/daeMetaElement.h
@@ -0,0 +1,363 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __DAE_META_ELEMENT_H__
+#define __DAE_META_ELEMENT_H__
+
+#include <dae/daeTypes.h>
+#include <dae/daeArrayTypes.h>
+#include <dae/daeElement.h>
+#include <dae/daeMetaAttribute.h>
+#include <dae/daeRefCountedObj.h>
+
+class DAE;
+class daeMetaCMPolicy;
+class daeMetaElementArrayAttribute;
+
+typedef daeElementRef (*daeElementConstructFunctionPtr)(DAE& dae);
+
+/**
+ * Each instance of the @c daeMetaElement class describes a C++ COLLADA dom
+ * element type.
+ * @par
+ * The meta information in @c daeMetaElement is a combination of the information
+ * required to create and maintain C++ object instances and
+ * the information necessary to parse and construct a hierarchy of COLLADA
+ * elements.
+ * @par
+ * @c daeMetaElement objects also act as factories for C++ COLLADA dom classes where
+ * each @c daeElement is capable of creating an instance of the class it describes.
+ * Further, each @c daeMetaElement contains references to other @c daeMetaElements
+ * for potential XML children elements. This enables this system to easily
+ * create @c daeElements of the appropriate type while navigating through XML
+ * recursive parse.
+ * @par
+ * See @c daeElement for information about the functionality that every @c daeElement implements.
+ */
+class daeMetaElement : public daeRefCountedObj
+{
+protected:
+ daeStringRef _name;
+
+ daeElementConstructFunctionPtr _createFunc;
+ daeInt _elementSize;
+
+ daeMetaAttributeRefArray _metaAttributes;
+ daeMetaAttributeRef _metaValue;
+ daeMetaElementArrayAttribute* _metaContents;
+ daeMetaArrayAttribute* _metaContentsOrder;
+
+ daeMetaAttributeRef _metaID;
+
+ daeBool _isTrackableForQueries;
+ daeBool _usesStringContents;
+
+ daeBool _isTransparent;
+ daeBool _isAbstract;
+ daeBool _allowsAny;
+ daeBool _innerClass;
+
+ daeMetaCMPolicy* _contentModel;
+ daeMetaArrayAttribute* _metaCMData;
+ daeUInt _numMetaChoices;
+
+ DAE& dae;
+
+public:
+ /**
+ * Constructor
+ */
+ DLLSPEC daeMetaElement(DAE& dae);
+
+ /**
+ * Destructor
+ */
+ DLLSPEC ~daeMetaElement();
+
+public: // public accessors
+
+ /**
+ * Gets the DAE object that owns this daeMetaElement.
+ * @return Returns the owning DAE.
+ */
+ DAE* getDAE();
+
+ /**
+ * Determines if elements of this type is an inner class.
+ * @return Returns true if this element type is an inner class.
+ */
+ daeBool getIsInnerClass() { return _innerClass; }
+ /**
+ * Sets if elements of this type are inner classes.
+ * @param abstract True if this type is an inner class.
+ */
+ void setIsInnerClass( daeBool ic ) { _innerClass = ic; }
+ /**
+ * Determines if elements of this type can be placed in the object model.
+ * @return Returns true if this element type is abstract, false otherwise.
+ */
+ daeBool getIsAbstract() { return _isAbstract; }
+ /**
+ * Determines if elements of this type should have an element tag printed when saving.
+ * @return Returns true if this element type should not have a tag, false otherwise.
+ */
+ daeBool getIsTransparent() { return _isTransparent; }
+ /**
+ * Sets if elements of this type are abstract.
+ * @param abstract True if this type is abstract.
+ */
+ void setIsAbstract( daeBool abstract ) { _isAbstract = abstract; }
+ /**
+ * Sets whether or not elements of this type should have an element tag printed when saving.
+ * @param transparent True if this type is transparent.
+ */
+ void setIsTransparent( daeBool transparent ) { _isTransparent = transparent; }
+
+ /**
+ * Determines if elements of this type should be tracked
+ * for daeDatabase queries.
+ * @return Returns true if this element type should be tracked
+ */
+ daeBool getIsTrackableForQueries() { return _isTrackableForQueries; }
+
+ /**
+ * Sets whether elements of this type should be tracked
+ * for @c daeDatabase queries.
+ * @param trackable Indicates whether this element should be tracked.
+ * A value of true indicates this element type should be tracked and be available for
+ * database queries.
+ */
+ void setIsTrackableForQueries(daeBool trackable) {
+ _isTrackableForQueries = trackable; }
+
+ /**
+ * Determines if elements of this type allow for any element as a child.
+ * @return Returns true if this element can have any child element, false otherwise.
+ */
+ daeBool getAllowsAny() { return _allowsAny; }
+ /**
+ * Sets if elements of this type allow for any element as a child.
+ * @param allows True if this element allows for any child element, false otherwise.
+ */
+ void setAllowsAny( daeBool allows ) { _allowsAny = allows; }
+
+ /**
+ * Gets the @c daeMetaAttribute for the non-element contents of a @c daeElement.
+ * This corresponds to a @c daeMetaFloatAttribute, @c daeMetaFloatArrayAttribute,
+ * et cetera.
+ * @return Returns the @c daeMetaAttribute pointer for the non-element contents of
+ * this element type.
+ */
+ daeMetaAttribute* getValueAttribute() { return _metaValue; }
+
+ /**
+ * Gets the @c daeMetaAttribute for the ID attribute of a @c daeElement.
+ * @return Returns the ID @c daeMetaAttribute, or NULL if the element type
+ * does not have an ID attribute.
+ */
+ daeMetaAttribute* getIDAttribute() { return _metaID; }
+
+ /**
+ * Gets the name of this element type.
+ * @return Returns the name of this element type.
+ */
+ daeStringRef getName() { return _name; }
+
+ /**
+ * Sets the name of this element type.
+ * @param s String name to set.
+ */
+ void setName(daeString s) { _name = s; }
+
+ /**
+ * Gets the array of all known attributes on this element type.
+ * This includes all meta attributes except those describing child
+ * elements. It does include the value element.
+ * @return Returns the array of @c daeMetaAttributeRefs.
+ */
+ daeMetaAttributeRefArray& getMetaAttributes() {
+ return _metaAttributes; }
+
+ /**
+ * Gets the attribute which has a name as provided by the <tt><i>s</i></tt> parameter.
+ * @param s String containing the desired attribute's name.
+ * @return Returns the corresponding @c daeMetaAttribute, or NULL if none found.
+ */
+ DLLSPEC daeMetaAttribute* getMetaAttribute(daeString s);
+
+ /**
+ * Sets the size in bytes of each instance of this element type.
+ * Used for factory element creation.
+ * @param size Number of bytes for each C++ element instance.
+ */
+ void setElementSize(daeInt size) {_elementSize = size;}
+
+ /**
+ * Gets the size in bytes of each instance of this element type.
+ * Used for factory element creation.
+ * @return Returns the number of bytes for each C++ element instance.
+ */
+ daeInt getElementSize() { return _elementSize;}
+
+public:
+ /**
+ * Registers with the reflective object system that the dom class described by this @c daeMetaElement
+ * contains a <tt><i>_contents</i></tt> array. This method is @em only for @c daeMetaElement contstuction, and
+ * should only be called by the system as it sets up the Reflective Object System.
+ * @param offset Byte offset for the contents field in the C++ element class.
+ */
+ DLLSPEC void addContents(daeInt offset);
+ /**
+ * Registers with the reflective object system the array that stores the _contents ordering. This method is @em
+ * only for @c daeMetaElement contstuction, and should only be called by the system as it sets up the Reflective
+ * Object System.
+ * @param offset Byte offset for the contents order array in the C++ element class.
+ */
+ DLLSPEC void addContentsOrder( daeInt offset );
+ /**
+ * Registers with the reflective object system that the dom class described by this @c daeMetaElement
+ * contains at least one choice group in the content model for this element. This method is @em only
+ * for @c daeMetaElement contstuction, and should only be called by the system as it sets up the
+ * Reflective Object System.
+ * @param offset Byte offset for the contents field in the C++ element class.
+ * @param numChoices The number of choice content model blocks there are for this element type.
+ */
+ DLLSPEC void addCMDataArray( daeInt offset, daeUInt numChoices );
+
+ /**
+ * Gets the attribute associated with the contents meta information.
+ * @see @c addContents()
+ * @return Returns the @c daeMetaElementArrayAttribute.
+ */
+ daeMetaElementArrayAttribute* getContents() { return _metaContents; }
+ /**
+ * Gets the attribute associated with the CMData array meta information.
+ * @see @c addCMDataArray()
+ * @return Returns the @c daeMetaArrayAttribute for the CMData of an element.
+ */
+ daeMetaArrayAttribute* getMetaCMData() { return _metaCMData; }
+ /**
+ * Gets the number of choice content model blocks there are for this element type.
+ * @return Returns the number of daeMetaChoice's there are in the content model.
+ */
+ daeUInt getNumChoices() const { return _numMetaChoices; }
+
+ /**
+ * Appends a @c daeMetaAttribute that represents a field corresponding to an
+ * XML attribute to the C++ version of this element type.
+ * @param attr Attribute to append to this element types list
+ * of potential attributes.
+ */
+ DLLSPEC void appendAttribute(daeMetaAttribute* attr);
+
+ /**
+ * Registers the function that can construct a C++ instance of this class.
+ * Necessary for the factory system such that C++ can still call @c new and the
+ * @c vptr will still be initialized even when constructed via the factory system.
+ * @param func Pointer to a function that does object construction.
+ */
+ void registerClass(daeElementConstructFunctionPtr func) {
+ _createFunc = func; }
+
+ /**
+ * Validates this class to be used by the runtime c++ object model
+ * including factory creation.
+ */
+ DLLSPEC void validate();
+
+ /**
+ * Places a child element into the <tt><i>parent</i></tt> element where the
+ * calling object is the @c daeMetaElement for the parent element.
+ * @param parent Element to act as the container.
+ * @param child Child element to place in the parent.
+ * @return Returns true if the operation was successful, false otherwise.
+ */
+ DLLSPEC daeBool place(daeElement *parent, daeElement *child, daeUInt *ordinal = NULL);
+ /**
+ * Places a child element into the <tt><i>parent</i></tt> element at a specific location
+ * where the calling object is the @c daeMetaElement for the parent element.
+ * @param index The location in the contents array to insert.
+ * @param parent Element to act as the container.
+ * @param child Child element to place in the parent.
+ * @return Returns true if the operation was successful, false otherwise.
+ * @note This should only be called on elements that have a _contents array. Elements without
+ * a _contents array will be placed normally.
+ */
+ DLLSPEC daeBool placeAt( daeInt index, daeElement *parent, daeElement *child );
+ /**
+ * Places a child element into the <tt><i>parent</i></tt> element at a specific location which is right
+ * before the marker element.
+ * @param marker The element location in the contents array to insert before.
+ * @param parent Element to act as the container.
+ * @param child Child element to place in the parent.
+ * @return Returns true if the operation was successful, false otherwise.
+ */
+ DLLSPEC daeBool placeBefore( daeElement* marker, daeElement *parent, daeElement *child, daeUInt *ordinal = NULL );
+ /**
+ * Places a child element into the <tt><i>parent</i></tt> element at a specific location which is right
+ * after the marker element.
+ * @param marker The element location in the contents array to insert after.
+ * @param parent Element to act as the container.
+ * @param child Child element to place in the parent.
+ * @return Returns true if the operation was successful, false otherwise.
+ */
+ DLLSPEC daeBool placeAfter( daeElement* marker, daeElement *parent, daeElement *child, daeUInt *ordinal = NULL );
+
+ /**
+ * Removes a child element from its parent element.
+ * @param parent Element That is the parent.
+ * @param child Child element to remove.
+ * @return Returns true if the operation was successful, false otherwise.
+ */
+ DLLSPEC daeBool remove( daeElement *parent, daeElement *child );
+ /**
+ * Gets all of the children from an element of this type.
+ * @param parent The element that you want to get the children from.
+ * @param array The return value. An elementref array to append this element's children to.
+ */
+ DLLSPEC void getChildren( daeElement* parent, daeElementRefArray &array );
+
+ /**
+ * Invokes the factory element creation routine set by @c registerConstructor()
+ * to return a C++ COLLADA Object Model instance of this element type.
+ * @return Returns a created @c daeElement of appropriate type via the
+ * object creation function and the <tt> daeElement::setup() </tt> function.
+ */
+ DLLSPEC daeElementRef create();
+
+ /**
+ * Looks through the list of potential child elements
+ * for this element type finding the corresponding element type; if a corresponding element type
+ * is found, use that type as a factory and return an instance of that
+ * child type. Typically @c place() is called after @c create(childelementname)
+ * @param childElementTypeName Type name to create.
+ * @return Returns the created element if the type was found as a potential child element.
+ */
+ DLLSPEC daeElementRef create(daeString childElementTypeName);
+
+ /**
+ * Gets the root of the content model policy tree.
+ * @return Returns the root element of the tree of content model policy elements.
+ */
+ daeMetaCMPolicy *getCMRoot() { return _contentModel; }
+ /**
+ * Sets the root of the content model policy tree.
+ * @param cm The root element of the tree of content model policy elements.
+ */
+ DLLSPEC void setCMRoot( daeMetaCMPolicy *cm );
+};
+
+typedef daeSmartRef<daeMetaElement> daeMetaElementRef;
+typedef daeTArray<daeMetaElementRef> daeMetaElementRefArray;
+
+#endif //__DAE_META_ELEMENT_H__
+
+
+
+
+
diff --git a/1.4.0/dom/include/dae/daeMetaElementAttribute.h b/1.4.0/dom/include/dae/daeMetaElementAttribute.h
new file mode 100644
index 0000000..d05aa92
--- /dev/null
+++ b/1.4.0/dom/include/dae/daeMetaElementAttribute.h
@@ -0,0 +1,184 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __DAE_META_ELEMENT_ATTRIBUTE_H__
+#define __DAE_META_ELEMENT_ATTRIBUTE_H__
+
+#include <dae/daeTypes.h>
+#include <dae/daeMetaAttribute.h>
+#include <dae/daeMetaCMPolicy.h>
+
+class daeMetaElement;
+class daeElement;
+class daeDocument;
+
+/**
+* The @c daeMetaElementAttribute class represents a content model object that is an element.
+*/
+class daeMetaElementAttribute : public daeMetaAttribute, public daeMetaCMPolicy
+{
+public:
+ /** The metaElement that describes the element type of this attribute */
+ daeMetaElement* _elementType;
+
+public:
+ /**
+ * Constructor.
+ * @param container The daeMetaElement that this policy object belongs to.
+ * @param parent The daeMetaCMPolicy parent of this policy object.
+ * @param odinal The ordinal value offset of this specific policy object. Used for maintaining the
+ * correct order of child elements.
+ * @param minO The minimum number of times this CMPolicy object must appear. This value comes from the COLLADA schema.
+ * @param maxO The maximum number of times this CMPolicy object may appear. This value comes from the COLLADA schema.
+ */
+ daeMetaElementAttribute( daeMetaElement *container, daeMetaCMPolicy *parent = NULL, daeUInt ordinal = 0, daeInt minO = 1, daeInt maxO = 1);
+ /**
+ * Destructor
+ */
+ virtual ~daeMetaElementAttribute();
+
+public:
+
+ virtual daeElement *placeElement(daeElement* parent, daeElement* child, daeUInt &ordinal, daeInt offset = 0, daeElement* before = NULL, daeElement *after = NULL);
+ virtual daeBool removeElement(daeElement* parent, daeElement* child);
+
+ daeMetaElement *findChild( daeString elementName );
+
+ virtual void getChildren( daeElement* parent, daeElementRefArray &array );
+
+public:
+ /**
+ * Sets the element type for the element that this attribute points to.
+ * @param elementType @c daeMetaElement representing the type.
+ */
+ void setElementType(daeMetaElement *elementType) {
+ _elementType = elementType; }
+
+ /**
+ * Gets the element type for the element that this attribute points to.
+ * @return Returns the @c daeMetaElement representing the type.
+ */
+ daeMetaElement* getElementType() { return _elementType; }
+
+ /**
+ * Sets the database document associated with this element.
+ * @param parent The daeElement to set the document.
+ * @param c The @c daeDocument to associate with this element.
+ */
+ virtual void setDocument(daeElement *parent, daeDocument* c );
+ inline void setCollection(daeElement *parent, daeDocument* c ) {
+ setDocument( parent, c );
+ }
+
+ /**
+ * Gets the number of elements associated with this attribute in instance <tt><i>e.</i></tt>
+ * @param e Containing element to run the operation on.
+ * @return Returns the number of elements associated with this attribute
+ * in instance <tt><i>e.</i></tt>
+ */
+ virtual daeInt getCount(daeElement* e);
+
+ /**
+ * Gets an element from containing element <tt><i>e</i></tt> based on <tt><i>index.</i></tt>
+ * @param e Containing element from which to get the element.
+ * @param index Index of the element to retrieve if indeed
+ * there is an array of elements rather than a singleton.
+ * @return Returns the associated element out of parent element e, based on index, if necessary.
+ */
+ virtual daeMemoryRef get(daeElement* e, daeInt index);
+
+ /**
+ * Defines the override version of base method.
+ * @param element Element on which to set this attribute.
+ * @param s String containing the value to be converted via the
+ * atomic type system.
+ */
+ virtual void set(daeElement* element, daeString s);
+ /**
+ * Defines the override version of base method.
+ * @param toElement Pointer to a @c daeElement to copy this attribute to.
+ * @param fromElement Pointer to a @c daeElement to copy this attribute from.
+ */
+ virtual void copy(daeElement* toElement, daeElement* fromElement);
+
+ /**
+ * Gets if this attribute is an array attribute.
+ * @return Returns true if this attribute is an array type.
+ */
+ virtual daeBool isArrayAttribute() { return false; }
+};
+typedef daeSmartRef<daeMetaElementAttribute> daeMetaElementAttributeRef;
+typedef daeTArray<daeMetaElementAttributeRef> daeMetaElementAttributeArray;
+
+
+/**
+ * The @c daeMetaElementArrayAttribute class is similar to daeMetaElementAttribute
+ * except that this meta attribute describes an array of elements rather than a singleton.
+ */
+class daeMetaElementArrayAttribute : public daeMetaElementAttribute
+{
+public:
+ /**
+ * Constructor.
+ * @param container The daeMetaElement that this policy object belongs to.
+ * @param parent The daeMetaCMPolicy parent of this policy object.
+ * @param odinal The ordinal value offset of this specific policy object. Used for maintaining the
+ * correct order of child elements.
+ * @param minO The minimum number of times this CMPolicy object must appear. This value comes from the COLLADA schema.
+ * @param maxO The maximum number of times this CMPolicy object may appear. This value comes from the COLLADA schema.
+ */
+ daeMetaElementArrayAttribute(daeMetaElement *container, daeMetaCMPolicy *parent = NULL, daeUInt ordinal = 0, daeInt minO = 1, daeInt maxO = 1);
+ ~daeMetaElementArrayAttribute();
+public:
+ virtual daeElement *placeElement(daeElement* parent, daeElement* child, daeUInt &ordinal, daeInt offset = 0, daeElement* before = NULL, daeElement *after = NULL);
+ virtual daeBool removeElement(daeElement* parent, daeElement* child);
+
+ void getChildren( daeElement* parent, daeElementRefArray &array );
+
+ /**
+ * Sets the database document associated with this element.
+ * @param c The @c daeDocument to associate with this element.
+ */
+ virtual void setDocument(daeElement *parent, daeDocument* c );
+ inline void setCollection(daeElement *parent, daeDocument* c ) {
+ setDocument( parent, c );
+ }
+
+ /**
+ * Defines the override version of this method from @c daeMetaElement.
+ * @param e Containing element to run the operation on.
+ * @return Returns the number of particles associated with this attribute
+ * in instance <tt><i>e.</i></tt>
+ */
+ virtual daeInt getCount(daeElement* e);
+ /**
+ * Defines the override version of this method from @c daeMetaElement.
+ * @param e Containing element from which to get the element.
+ * @param index Index of the particle to retrieve if indeed
+ * there is an array of elements rather than a singleton.
+ * @return Returns the associated particle out of parent element e, based on index, if necessary.
+ */
+ virtual daeMemoryRef get(daeElement* e, daeInt index);
+ /**
+ * Defines the override version of this method from @c daeMetaElement.
+ * @param toElement Pointer to a @c daeElement to copy this attribute to.
+ * @param fromElement Pointer to a @c daeElement to copy this attribute from.
+ */
+ virtual void copy(daeElement* toElement, daeElement* fromElement);
+
+ /**
+ * Gets if this attribute is an array attribute.
+ * @return Returns true if this attribute is an array type.
+ */
+ virtual daeBool isArrayAttribute() { return true; }
+};
+typedef daeSmartRef<daeMetaElementArrayAttribute> daeMetaElementArrayAttributeRef;
+typedef daeTArray<daeMetaElementArrayAttributeRef> daeMetaElementArrayAttributeArray;
+
+#endif
+
diff --git a/1.4.0/dom/include/dae/daeMetaGroup.h b/1.4.0/dom/include/dae/daeMetaGroup.h
new file mode 100644
index 0000000..f3c56f7
--- /dev/null
+++ b/1.4.0/dom/include/dae/daeMetaGroup.h
@@ -0,0 +1,50 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __DAE_META_GROUP_H__
+#define __DAE_META_GROUP_H__
+
+#include <dae/daeMetaCMPolicy.h>
+
+class daeMetaElementAttribute;
+
+/**
+ * The daeMetaGroup class defines the behavior of an xs:group ref content model from the COLLADA Schema.
+ */
+class daeMetaGroup : public daeMetaCMPolicy
+{
+public:
+ /**
+ * Constructor.
+ * @param econ The daeMetaElementAttribute that represents the group element in the parent.
+ * @param container The daeMetaElement that this policy object belongs to.
+ * @param parent The daeMetaCMPolicy parent of this policy object.
+ * @param odinal The ordinal value offset of this specific policy object. Used for maintaining the
+ * correct order of child elements.
+ * @param minO The minimum number of times this CMPolicy object must appear. This value comes from the COLLADA schema.
+ * @param maxO The maximum number of times this CMPolicy object may appear. This value comes from the COLLADA schema.
+ */
+ daeMetaGroup( daeMetaElementAttribute *econ, daeMetaElement *container, daeMetaCMPolicy *parent = NULL,
+ daeUInt ordinal = 0, daeInt minO = 1, daeInt maxO = 1 );
+
+ /**
+ * Destructor.
+ */
+ ~daeMetaGroup();
+
+ daeElement *placeElement( daeElement *parent, daeElement *child, daeUInt &ordinal, daeInt offset = 0, daeElement* before = NULL, daeElement *after = NULL );
+ daeBool removeElement(daeElement* parent, daeElement* child);
+ daeMetaElement *findChild( daeString elementName );
+ void getChildren( daeElement* parent, daeElementRefArray &array );
+
+protected:
+ daeMetaElementAttribute *_elementContainer;
+};
+
+#endif
+
diff --git a/1.4.0/dom/include/dae/daeMetaSequence.h b/1.4.0/dom/include/dae/daeMetaSequence.h
new file mode 100644
index 0000000..a2594c7
--- /dev/null
+++ b/1.4.0/dom/include/dae/daeMetaSequence.h
@@ -0,0 +1,46 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __DAE_META_SEQUENCE_H__
+#define __DAE_META_SEQUENCE_H__
+
+#include <dae/daeMetaCMPolicy.h>
+
+/**
+ * The daeMetaSequence class defines the behavior of an xs:sequence content model in the COLLADA Schema.
+ */
+class daeMetaSequence : public daeMetaCMPolicy
+{
+public:
+ /**
+ * Constructor.
+ * @param container The daeMetaElement that this policy object belongs to.
+ * @param parent The daeMetaCMPolicy parent of this policy object.
+ * @param odinal The ordinal value offset of this specific policy object. Used for maintaining the
+ * correct order of child elements.
+ * @param minO The minimum number of times this CMPolicy object must appear. This value comes from the COLLADA schema.
+ * @param maxO The maximum number of times this CMPolicy object may appear. This value comes from the COLLADA schema.
+ */
+ daeMetaSequence( daeMetaElement *container, daeMetaCMPolicy *parent = NULL, daeUInt ordinal = 0, daeInt minO = 1, daeInt maxO = 1 );
+
+ /**
+ * Destructor.
+ */
+ ~daeMetaSequence();
+
+ daeElement *placeElement( daeElement *parent, daeElement *child, daeUInt &ordinal, daeInt offset = 0, daeElement* before = NULL, daeElement *after = NULL );
+ daeBool removeElement(daeElement* parent, daeElement* child);
+ daeMetaElement *findChild( daeString elementName );
+ void getChildren( daeElement* parent, daeElementRefArray &array );
+
+};
+
+
+#endif
+
+
diff --git a/1.4.0/dom/include/dae/daePlatform.h b/1.4.0/dom/include/dae/daePlatform.h
new file mode 100644
index 0000000..2bc207c
--- /dev/null
+++ b/1.4.0/dom/include/dae/daePlatform.h
@@ -0,0 +1,34 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __DAE_PLATFORM_H__
+#define __DAE_PLATFORM_H__
+
+#ifdef WIN32
+#include <dae/daeWin32Platform.h>
+#elif defined( __GNUC__ ) || defined(__clang__)
+#include <dae/daeGCCPlatform.h>
+#else
+// Use some generic settings
+#include <limits.h>
+
+#define PLATFORM_INT8 char
+#define PLATFORM_INT16 short
+#define PLATFORM_INT32 int
+#define PLATFORM_INT64 long long
+#define PLATFORM_UINT8 unsigned char
+#define PLATFORM_UINT16 unsigned short
+#define PLATFORM_UINT32 unsigned int
+#define PLATFORM_UINT64 unsigned long long
+#define PLATFORM_FLOAT32 float
+#define PLATFORM_FLOAT64 double
+
+#define DLLSPEC
+#endif
+
+#endif
diff --git a/1.4.0/dom/include/dae/daeRawResolver.h b/1.4.0/dom/include/dae/daeRawResolver.h
new file mode 100644
index 0000000..0529303
--- /dev/null
+++ b/1.4.0/dom/include/dae/daeRawResolver.h
@@ -0,0 +1,55 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __DAE_RAWRESOLVER_H__
+#define __DAE_RAWRESOLVER_H__
+
+#include <string>
+#include <map>
+#include <dae/daeURI.h>
+class DAE;
+
+/**
+ * The @c daeRawResolver class derives from @c daeURIResolver and implements
+ * the .raw backend resolver for raw binary data.
+ */
+class DLLSPEC daeRawResolver : public daeURIResolver
+{
+public:
+ /**
+ * Constructor.
+ */
+ daeRawResolver(DAE& dae);
+ /**
+ * Destructor.
+ */
+ ~daeRawResolver();
+
+public: // Abstract Interface
+ virtual daeElement* resolveElement(const daeURI& uri);
+ virtual daeString getName();
+};
+
+// A simple class to make speed up the process of resolving a .raw URI.
+// The result of the resolve is cached for future use.
+// This is meant for DOM internal use only.
+class DLLSPEC daeRawRefCache {
+public:
+ daeRawRefCache() { lookupTable = new std::map<std::string, daeElement*>(); }
+ ~daeRawRefCache() { delete lookupTable; }
+
+ daeElement* lookup(const daeURI& uri);
+ void add(const daeURI& uri, daeElement* elt);
+ void remove(const daeURI& uri);
+ void clear();
+
+private:
+ std::map<std::string, daeElement*> * lookupTable;
+};
+
+#endif
diff --git a/1.4.0/dom/include/dae/daeRefCountedObj.h b/1.4.0/dom/include/dae/daeRefCountedObj.h
new file mode 100644
index 0000000..729efac
--- /dev/null
+++ b/1.4.0/dom/include/dae/daeRefCountedObj.h
@@ -0,0 +1,41 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef daeRefCountedObj_h
+#define daeRefCountedObj_h
+
+#include <dae/daeTypes.h>
+#include <dae/daePlatform.h>
+
+class DLLSPEC daeRefCountedObj {
+protected:
+ mutable daeInt _refCount;
+
+public:
+ daeRefCountedObj();
+ virtual ~daeRefCountedObj();
+
+ /**
+ * Decrements the reference count and deletes the object if reference count is zero.
+ * @note Should not be used externally if daeSmartRefs are being used, they call it
+ * automatically.
+ */
+ void release() const;
+
+ /**
+ * Increments the reference count of this element.
+ * @note Should not be used externally if daeSmartRefs are being used, they call it
+ * automatically.
+ */
+ void ref() const;
+};
+
+void DLLSPEC checkedRelease(const daeRefCountedObj* obj);
+void DLLSPEC checkedRef(const daeRefCountedObj* obj);
+
+#endif
diff --git a/1.4.0/dom/include/dae/daeSIDResolver.h b/1.4.0/dom/include/dae/daeSIDResolver.h
new file mode 100644
index 0000000..4593c6b
--- /dev/null
+++ b/1.4.0/dom/include/dae/daeSIDResolver.h
@@ -0,0 +1,175 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __DAE_SIDRESOLVER_H__
+#define __DAE_SIDRESOLVER_H__
+
+#include <string>
+#include <map>
+#include <dae/daeTypes.h>
+#include <dae/daeElement.h>
+
+
+// This is an alternative to the daeSIDResolver class. It's recommended you use
+// this class instead. Typical usage: get the element a sid ref points to. For
+// example, if you want to find the element with sid 'sampler' using a
+// daeElement pointer named 'effect', that would look like this:
+// daeElement* elt = daeSidRef("sampler", effect).resolve().elt
+struct DLLSPEC daeSidRef {
+ // A helper class for returning all the data retrieved when a sid is resolved.
+ struct DLLSPEC resolveData {
+ resolveData();
+ resolveData(daeElement* elt, daeDoubleArray* array, daeDouble* scalar);
+
+ daeElement* elt;
+ daeDoubleArray* array;
+ daeDouble* scalar;
+ };
+
+ daeSidRef();
+ daeSidRef(const std::string& sidRef, daeElement* referenceElt, const std::string& profile = "");
+ bool operator<(const daeSidRef& other) const;
+
+ resolveData resolve();
+
+ std::string sidRef;
+ daeElement* refElt;
+ std::string profile;
+};
+
+
+/**
+ * The daeSIDResolver class is designed to resolve sid references within a COLLADA document.
+ * The rules for sid resolution are set forth by the Addressing Syntax section in Chapter 3 of the
+ * COLLADA specification which can be found at https://www.khronos.org/collada .
+ * This resolver always attempts to resolve to the daeElement which is referenced. If the element contains
+ * a daeDoubleArray (domFloatArray) value, the resolver will set the pointer to that array. The
+ * resolver will also do this if the sid target points to a <source> element which has a <float_array> as
+ * a child. If the sid target specifies a value, i.e. blah.X or blah(6), the resolver will attempt to
+ * get a pointer to that specific value. The resolver only attempts to resolve to that level for values which
+ * are defined in the COMMON profile glossary of the COLLADA specification, or values reference with the (#)
+ * syntax. You can check the return value from getState() to see which level of resolution is possible.
+ */
+class DLLSPEC daeSIDResolver
+{
+public:
+ /**
+ * An enum describing the status of the SID resolution process.
+ */
+ enum ResolveState{
+ /** No target specified */
+ target_empty,
+ /** target specified but not resolved */
+ target_loaded,
+ /** Resolution failed because target was not found */
+ sid_failed_not_found,
+ /** Resolution successful to the Element level */
+ sid_success_element,
+ /** Resolution successful to the Double Array level */
+ sid_success_array,
+ /** Resolution successful to the Double level */
+ sid_success_double
+ };
+
+ /**
+ * Constructor.
+ * @param container The element which contains the target that you want to resolve.
+ * @param target The target string which needs to be resolved.
+ * @param platform The platform name of the technique to use. A NULL value indicates the common platform.
+ */
+ daeSIDResolver( daeElement *container, daeString target, daeString platform = NULL );
+
+ /**
+ * Gets the target string.
+ * @return Returns the target string of this SID resolver.
+ */
+ daeString getTarget() const;
+ /**
+ * Sets the target string.
+ * @param t The new target string for this resolver.
+ */
+ void setTarget( daeString t );
+
+ /**
+ * Gets the name of the profile to use when resolving.
+ * @return Returns the name of the profile or NULL for the common profile.
+ */
+ daeString getProfile() const;
+ /**
+ * Sets the profile to use when resolving.
+ * @param p The profile name of the technique to use. A NULL value indicates the common profile.
+ */
+ void setProfile( daeString p );
+
+ /**
+ * Gets a pointer to the @c daeElement that contains the target to resolve.
+ * @return Returns the pointer to the containing daeElmement.
+ */
+ daeElement* getContainer() const;
+ /**
+ * Sets the pointer to the @c daeElement that contains the target to resolve.
+ * @param element Pointer to the containing @c daeElmement.
+ */
+ void setContainer(daeElement* element);
+
+ /**
+ * Gets the element that this SID resolves to.
+ * @return Returns the element that the URI resolves to.
+ */
+ daeElement* getElement();
+
+ /**
+ * Gets the value array of the element that the SID resolves to.
+ * @return Returns a pointer to the value array that the SID resolves to
+ * @note The daeSIDResolver can only resolve to this level for daeDoubleArray values.
+ */
+ daeDoubleArray *getDoubleArray();
+
+ /**
+ * Gets a pointer to the particle this target resolved to.
+ * @return Returns a pointer to a double value which is the fully resolved target.
+ * @note The daeSIDResolver can only resolve to this level for domDouble values and only if the
+ * final symbolic name is from the COMMON profile or a cardinal value is specified.
+ * @note The daeSIDResolver assumes the value is a 4x4 matrix if there are 2 cardinal values specified.
+ */
+ daeDouble *getDouble();
+
+ // This method is deprecated. Don't use it.
+ ResolveState getState() const;
+
+private:
+ // This data is provided by the user
+ std::string target;
+ std::string profile;
+ daeElement* container;
+};
+
+
+// A class to make sid ref lookups faster. Meant for DOM internal use only.
+class DLLSPEC daeSidRefCache {
+public:
+ daeSidRefCache();
+ ~daeSidRefCache();
+
+ daeSidRef::resolveData lookup(const daeSidRef& sidRef);
+ void add(const daeSidRef& sidRef, const daeSidRef::resolveData& data);
+ void clear();
+
+ // For debugging/testing
+ bool empty();
+ int misses();
+ int hits();
+
+private:
+ std::map<daeSidRef, daeSidRef::resolveData> * lookupTable;
+ int hitCount;
+ int missCount;
+};
+
+#endif
+
diff --git a/1.4.0/dom/include/dae/daeSmartRef.h b/1.4.0/dom/include/dae/daeSmartRef.h
new file mode 100644
index 0000000..967e545
--- /dev/null
+++ b/1.4.0/dom/include/dae/daeSmartRef.h
@@ -0,0 +1,134 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __DAE_SMARTREF_H__
+#define __DAE_SMARTREF_H__
+
+#include <assert.h>
+#include <dae/daeRefCountedObj.h>
+
+/**
+ * The @c daeSmartRef template class automates reference counting for
+ * objects derived from @c daeRefCountedObj.
+ */
+template<class T> class daeSmartRef
+{
+public:
+ /**
+ * Constructor
+ */
+ inline daeSmartRef() : _ptr(NULL) { }
+
+ /**
+ * Destructor
+ */
+ inline ~daeSmartRef() {
+ checkedRelease(_ptr);
+ }
+
+ /**
+ * Copy Constructor that will convert from one template to the other.
+ * @param smartRef a daeSmartRef to the object to copy from.
+ */
+ template<class U>
+ inline daeSmartRef(const daeSmartRef<U>& smartRef) : _ptr(smartRef.cast()) {
+ checkedRef(_ptr);
+ }
+
+ /**
+ * Function that returns a pointer to object being reference counted.
+ * @return the object being reference counted.
+ */
+ inline T* cast() const { return _ptr; }
+
+ /**
+ * Copy Constructor.
+ * @param smartRef a daeSmartRef of the same template type to copy from
+ */
+ inline daeSmartRef(const daeSmartRef<T>& smartRef) : _ptr(smartRef._ptr) {
+ checkedRef(_ptr);
+ }
+
+ /**
+ * Constructor
+ * @param ptr a pointer to an object of the same template type.
+ */
+ inline daeSmartRef(T* ptr) : _ptr(ptr) {
+ checkedRef(_ptr);
+ }
+
+ /**
+ * Overloaded assignment operator which will convert between template types.
+ * @param smartRef a daeSmartRef to the object to copy from.
+ * @return Returns a reference to this object.
+ */
+ template<class U>
+ inline const daeSmartRef<T>& operator=(const daeSmartRef<U>& smartRef) {
+ T* ptr = smartRef.cast();
+ checkedRef(ptr);
+ checkedRelease(_ptr);
+ _ptr = ptr;
+ return *this; }
+
+ /**
+ * Overloaded assignment operator.
+ * @param other a daeSmartRef to the object to copy from. Must be of the same template type.
+ * @return Returns a reference to this object.
+ */
+ inline const daeSmartRef<T>& operator=(const daeSmartRef<T>& other) {
+ T* ptr = other._ptr;
+ checkedRef(ptr);
+ checkedRelease(_ptr);
+ _ptr = ptr;
+ return *this; }
+
+ /**
+ * Overloaded assignment operator.
+ * @param ptr a pointer to the object to copy from. Must be of the same template type.
+ * @return Returns a reference to this object.
+ */
+ inline const daeSmartRef<T>& operator=(T* ptr) {
+ checkedRef(ptr);
+ checkedRelease(_ptr);
+ _ptr = ptr;
+ return *this; }
+
+ /**
+ * Overloaded member selection operator.
+ * @return a pointer of the template class to the object.
+ */
+ inline T* operator->() const {
+ assert (_ptr != (T*)NULL); return _ptr; }
+
+ /**
+ * Overloaded cast operator.
+ * @return a pointer of the template class to the object.
+ */
+ inline operator T*() const {
+ return _ptr; }
+
+ /**
+ * Static cast function.
+ * @param smartRef a smartRef to cast from
+ * @return a pointer to an object of this template class
+ */
+ template<class U>
+ inline static T* staticCast(const daeSmartRef<U>& smartRef) {
+ return static_cast<T*>(smartRef.cast()); }
+
+private:
+ /* The pointer to the element which is being reference counted */
+ T* _ptr;
+};
+
+#endif // __DAE_SMARTREF_H__
+
+
+
+
+
diff --git a/1.4.0/dom/include/dae/daeStandardURIResolver.h b/1.4.0/dom/include/dae/daeStandardURIResolver.h
new file mode 100644
index 0000000..0d15834
--- /dev/null
+++ b/1.4.0/dom/include/dae/daeStandardURIResolver.h
@@ -0,0 +1,39 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __DAE_STANDARD_URI_RESOLVER__
+#define __DAE_STANDARD_URI_RESOVLER__
+
+#include <string>
+#include "dae/daeURI.h"
+class DAE;
+
+/**
+ * The @c daeStandardURIResolver class derives from @c daeURIResolver and implements
+ * the default XML backend resolver.
+ */
+class daeStandardURIResolver : public daeURIResolver
+{
+public:
+ /**
+ * Constructor.
+ * @param database The @c daeDatabase used.
+ * @param plugin The @c daeIOPlugin used.
+ */
+ DLLSPEC daeStandardURIResolver(DAE& dae);
+ /**
+ * Destructor.
+ */
+ DLLSPEC ~daeStandardURIResolver();
+
+public: // Abstract Interface
+ virtual DLLSPEC daeElement* resolveElement(const daeURI& uri);
+ virtual DLLSPEC daeString getName();
+};
+
+#endif //__DAE_STANDARD_URI_RESOLVER__
diff --git a/1.4.0/dom/include/dae/daeStringRef.h b/1.4.0/dom/include/dae/daeStringRef.h
new file mode 100644
index 0000000..026e697
--- /dev/null
+++ b/1.4.0/dom/include/dae/daeStringRef.h
@@ -0,0 +1,103 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __DAE_STRING_REF_H__
+#define __DAE_STRING_REF_H__
+
+#include <dae/daeMemorySystem.h>
+#include <dae/daeStringTable.h>
+
+/**
+ *Defines the @c daeStringRef class.
+ */
+class daeStringRef
+{
+public:
+ /**
+ * Macro that defines new and delete overrides for this class
+ */
+ DAE_ALLOC
+private:
+ daeString _string;
+ static daeStringTable &_stringTable();
+public:
+
+ /**
+ * Destructor
+ */
+ inline ~daeStringRef() { _string = NULL; }
+
+ /**
+ * Constructor
+ */
+ inline daeStringRef() { _string = NULL; }
+
+ /**
+ * Constructor that copies from another @c daeStringRef.
+ * @param other Reference to copy from.
+ */
+ inline daeStringRef(const daeStringRef& other) {
+ _string = other._string; }
+
+ /**
+ * Constructor that creates from a <tt>const char *.</tt>
+ * @param string External string to create from.
+ */
+ DLLSPEC daeStringRef(daeString string);
+
+ /**
+ * Assignment operator.
+ * @param other The daeStringRef to copy.
+ * @return A reference to this object.
+ */
+ inline const daeStringRef& operator= (const daeStringRef& other) {
+ _string = other._string;
+ return *this;
+ }
+
+ /**
+ * Sets a string from an external <tt>const char *.</tt>
+ * @param string The daeString to copy.
+ * @return A reference to this object.
+ */
+ DLLSPEC const daeStringRef& set(daeString string);
+
+ /**
+ * Assignment operator from an external <tt>const char *.</tt>
+ * @param string The daeString to copy.
+ * @return A reference to this object.
+ */
+ DLLSPEC const daeStringRef& operator= (daeString string);
+
+ /**
+ * Cast operator that returns a <tt>const char *.</tt>
+ */
+ inline operator daeString() const { return _string; }
+
+ /**
+ * Comparison operator, the comparison is done via pointers as both
+ * strings will have same pointer if they are the same address
+ * @param other The daeStringRef to compare
+ * @return True if strings are equal. False otherwise.
+ */
+ inline bool operator==(const daeStringRef& other) const{
+ //return (other._string == _string); }
+ return (!strcmp(other._string, _string)); }
+
+//Contributed by Nus - Wed, 08 Nov 2006
+ /**
+ * Release string table...
+ */
+ static void releaseStringTable(void);
+//--------------------
+};
+
+typedef daeTArray<daeStringRef> daeStringRefArray;
+typedef daeTArray<daeStringRefArray> daeStringRefArrayArray;
+
+#endif //__DAE_STRING_REF_H__
diff --git a/1.4.0/dom/include/dae/daeStringTable.h b/1.4.0/dom/include/dae/daeStringTable.h
new file mode 100644
index 0000000..5225cce
--- /dev/null
+++ b/1.4.0/dom/include/dae/daeStringTable.h
@@ -0,0 +1,59 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __DAE_STRING_TABLE_H__
+#define __DAE_STRING_TABLE_H__
+#include <dae/daeTypes.h>
+#include <dae/daeMemorySystem.h>
+
+/**
+ * The @c daeStringTable is a simple string table class to hold a float list of strings
+ * without a lot of allocations.
+ */
+class daeStringTable
+{
+public: // allocate/construct/destruct/deallocate
+ /**
+ * Macro that defines new and delete overrides for this class
+ */
+ DAE_ALLOC
+ /**
+ * Constructor which specifies fixed buffer size.
+ * @param stringBufferSize The size of the buffer to create for string allocation.
+ */
+ DLLSPEC daeStringTable(int stringBufferSize = 1024*1024);
+
+ /**
+ * Destructor.
+ */
+ ~daeStringTable() { clear(); }
+
+public: // INTERFACE
+ /**
+ * Allocates a string from the table.
+ * @param string <tt> const char * </tt> to copy into the table.
+ * @return Returns an allocated string.
+ */
+ DLLSPEC daeString allocString(daeString string);
+
+ /**
+ * Clears the storage.
+ */
+ DLLSPEC void clear();
+
+private: // MEMBERS
+ size_t _stringBufferSize;
+ size_t _stringBufferIndex;
+ daeStringArray _stringBuffersList;
+
+ daeString allocateBuffer();
+
+ daeString _empty;
+};
+
+#endif //__DAE_STRING_TABLE_H__
diff --git a/1.4.0/dom/include/dae/daeTinyXMLPlugin.h b/1.4.0/dom/include/dae/daeTinyXMLPlugin.h
new file mode 100644
index 0000000..c7d55e9
--- /dev/null
+++ b/1.4.0/dom/include/dae/daeTinyXMLPlugin.h
@@ -0,0 +1,70 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __DAE_TINYXMLPLUGIN__
+#define __DAE_TINYXMLPLUGIN__
+
+#include <vector>
+#include <list>
+#include <dae/daeElement.h>
+#include <dae/daeURI.h>
+#include <dae/daeIOPluginCommon.h>
+
+class TiXmlDocument;
+class TiXmlElement;
+
+class daeTinyXMLPlugin : public daeIOPluginCommon
+{
+public:
+ // Constructor / destructor
+ /**
+ * Constructor.
+ */
+ DLLSPEC daeTinyXMLPlugin();
+ /**
+ * Destructor.
+ */
+ virtual DLLSPEC ~daeTinyXMLPlugin();
+
+ // Operations
+ virtual DLLSPEC daeInt write(const daeURI& name, daeDocument *document, daeBool replace);
+
+ /**
+ * setOption allows you to set options for this IOPlugin. Which options a plugin supports is
+ * dependent on the plugin itself. There is currently no list of options that plugins are
+ * suggested to implement. daeLibXML2Plugin supports only one option, "saveRawBinary". Set to
+ * "true" to save float_array data as a .raw binary file. The daeRawResolver will convert the
+ * data back into COLLADA domFloat_array elements upon load.
+ * @param option The option to set.
+ * @param value The value to set the option.
+ * @return Returns DAE_OK upon success.
+ */
+ virtual DLLSPEC daeInt setOption( daeString option, daeString value );
+
+ /**
+ * getOption retrieves the value of an option from this IOPlugin. Which options a plugin supports is
+ * dependent on the plugin itself.
+ * @param option The option to get.
+ * @return Returns the string value of the option or NULL if option is not valid.
+ */
+ virtual DLLSPEC daeString getOption( daeString option );
+
+private:
+ TiXmlDocument* m_doc;
+ std::list<TiXmlElement*> m_elements;
+
+ virtual daeElementRef readFromFile(const daeURI& uri);
+ virtual daeElementRef readFromMemory(daeString buffer, const daeURI& baseUri);
+ daeElementRef readElement(TiXmlElement* tinyXmlElement, daeElement* parentElement);
+
+ void writeElement( daeElement* element );
+ void writeAttribute( daeMetaAttribute* attr, daeElement* element );
+ void writeValue( daeElement* element );
+};
+
+#endif //__DAE_TINYXMLPLUGIN__
diff --git a/1.4.0/dom/include/dae/daeTypes.h b/1.4.0/dom/include/dae/daeTypes.h
new file mode 100644
index 0000000..b85cfd4
--- /dev/null
+++ b/1.4.0/dom/include/dae/daeTypes.h
@@ -0,0 +1,76 @@
+/*
+ * Copyright 2006 Sony Computer Entertainment Inc.
+ *
+ * Licensed under the MIT Open Source License, for details please see license.txt or the website
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ */
+
+#ifndef __DAE_TYPES_H__
+#define __DAE_TYPES_H__
+
+#include <dae/daePlatform.h>
+#include <sys/types.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <assert.h>
+#include <wchar.h>
+#include <string.h>
+
+#include <dae/daeError.h>
+
+#define daeOffsetOf(class, member) \
+ ((size_t)&(((class *) 0x0100)->member) - (size_t)0x0100)
+
+typedef PLATFORM_INT8 daeChar;
+typedef PLATFORM_INT16 daeShort;
+typedef PLATFORM_INT32 daeInt;
+typedef PLATFORM_INT64 daeLong;
+typedef PLATFORM_UINT8 daeUChar;
+typedef PLATFORM_UINT16 daeUShort;
+typedef PLATFORM_UINT32 daeUInt;
+typedef PLATFORM_UINT64 daeULong;
+#ifdef COLLADA_DOM_DAEFLOAT_IS64
+typedef PLATFORM_FLOAT64 daeFloat;
+#else
+typedef PLATFORM_FLOAT32 daeFloat;
+#endif
+typedef PLATFORM_FLOAT64 daeDouble;
+
+// base types
+
+typedef const char* daeString;
+typedef bool daeBool;
+typedef const void* daeConstRawRef;
+typedef void* daeRawRef;
+typedef daeInt daeEnum;
+typedef daeChar* daeMemoryRef;
+
+typedef daeChar daeFixedName[512];
+
+#include <dae/daeArray.h>
+#include <dae/daeArrayTypes.h>
+
+#if defined(COLLADA_DOM_SUPPORT150)
+namespace ColladaDOM150 {}
+#endif
+#if defined(COLLADA_DOM_SUPPORT141)
+namespace ColladaDOM141 {}
+#endif
+
+#if defined(COLLADA_DOM_USING_150)
+using namespace ColladaDOM150;
+#elif defined(COLLADA_DOM_USING_141)
+using namespace ColladaDOM141;
+#elif !defined(COLLADA_DOM_NAMESPACE)
+
+// find the highest version namespace
+#if defined(COLLADA_DOM_SUPPORT150)
+using namespace ColladaDOM150;
+#elif defined(COLLADA_DOM_SUPPORT141)
+using namespace ColladaDOM141;
+#endif
+
+#endif
+
+#endif //__DAE_TYPES_H__
diff --git a/1.4.0/dom/include/dae/daeURI.h b/1.4.0/dom/include/dae/daeURI.h
new file mode 100644
index 0000000..a02a7d7
--- /dev/null
+++ b/1.4.0/dom/include/dae/daeURI.h
@@ -0,0 +1,493 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __DAE_URI_H__
+#define __DAE_URI_H__
+
+#include <string>
+#include <dae/daeTypes.h>
+#include <dae/daeElement.h>
+#include <dae/daeUtils.h>
+class DAE;
+
+/**
+ * The @c daeURI is a simple class designed to aid in the parsing and resolution
+ * of URI references inside COLLADA elements.
+ * A @c daeURI is created for every @c anyURL and @c IDREF in the COLLADA schema.
+ * For example, the <instance> element has the url= attribute of type @c anyURL, and the
+ * <controller> element has the target= attribute of type @c IDREF.
+ * The @c daeURI class contains a URI string; the @c set() method breaks the string into
+ * its components including scheme, authority, path (directory), and fragment.
+ * It also has the capability to attempt to resolve this reference
+ * into a @c daeElement, through the method @c resolveElement().
+ * If a @c daeURI is stored within a @c daeElement, it fills
+ * its container field to point to the containing element.
+ *
+ * The main API on the @c daeURI, @c resolveElement(), uses a @c daeURIResolver
+ * to search for the @c daeElement inside a @c daeDatabase.
+ *
+ * URIs are resolved hierarchically, where each URI is resolved based on
+ * the following criteria via itself and its element's base URI, which represents the
+ * URI of the document that contains the element, retrieved by
+ * <tt>daeElement::getBaseURI().</tt>
+ * If no base URI is provided, then the application URI
+ * is used as a base.
+ *
+ * The URI resolution order for the COLLADA DOM is as follows:
+ * - Absolute URI is specified (see definition below):
+ * The URI ignores its parent/base URI when validating.
+ * - Relative URI is specified:
+ * The URI uses the base URI to provide the scheme, authority, and base path.
+ * This URI's path is appended to the path given the the base URI.
+ * This URI's file and ID are used.
+ * - Each level of URI is resolved in this way against the base URI of the
+ * containing file until the top level is reached. Then the application URI
+ * is used as the default.
+ *
+ * <b>Definition of Absolute URI:</b>
+ * For the purposes of the COLLADA DOM, a URI is considered absolute
+ * if it starts by specifying a scheme.
+ * For example,
+ * - file:///c:/data/foo.dae#myScene is an absolute URI.
+ * - foo.dae#myScene is relative.
+ * - foo.dae is a top-level file reference and is relative.
+ * If the URI does not include a pound sign (#), the <tt><i>fragment</i></tt> is empty.
+ */
+class DLLSPEC daeURI
+{
+private:
+ daeElement* internalResolveElement() const;
+
+public:
+ /**
+ * An enum describing the status of the URI resolution process.
+ * This is pretty much entirely useless now. Just use the various accessors
+ * to query the state of the uri.
+ */
+ enum ResolveState{
+ /** No URI specified */
+ uri_empty,
+ /** URI specified but unresolved */
+ uri_loaded,
+ /** Resolution pending */
+ uri_pending,
+ /** Resolution successful */
+ uri_success,
+ /** Failure due to unsupported URI scheme */
+ uri_failed_unsupported_protocol,
+ /** Failure because the file was not found */
+ uri_failed_file_not_found,
+ /** Failure because the fragment was not found */
+ uri_failed_id_not_found,
+ /** Failure due to an invalid fragment */
+ uri_failed_invalid_id,
+ /** A flag specifying that the URI should be resolved locally to its own document */
+ uri_resolve_local,
+ /** A flag specifying that the URI should be resolved using this relative URI */
+ uri_resolve_relative,
+ /** A flag specifying that the URI should be resolved using this absolute URI */
+ uri_resolve_absolute,
+ /** Failure due to an invalid reference */
+ uri_failed_invalid_reference,
+ /** Failure due to an external error */
+ uri_failed_externalization,
+ /** Failure due to missing document */
+ uri_failed_missing_container,
+ /** Failure because automatic loading of a document is turned off */
+ uri_failed_external_document
+ };
+
+private:
+ // All daeURIs have a pointer to a master DAE that they use to access global information.
+ mutable DAE* dae;
+
+ /** Resolved version of the URI */
+ std::string uriString;
+
+ /** Original URI before resolution */
+ std::string originalURIString;
+
+ /** scheme component */
+ std::string _scheme;
+ /** authority component */
+ std::string _authority;
+ /** path component */
+ std::string _path;
+ /** query component */
+ std::string _query;
+ /** fragment component */
+ std::string _fragment;
+ /** Pointer to the element that owns this URI */
+ daeElement* container;
+
+public:
+ /**
+ * Constructs a daeURI object that contains no URI reference.
+ * @param dae The DAE associated with this daeURI.
+ * current working directory.
+ */
+ daeURI(DAE& dae);
+ /**
+ * Destructor
+ */
+ ~daeURI();
+
+ /**
+ * Constructs a daeURI object from a URI passed in as a string.
+ * @param dae The DAE associated with this daeURI.
+ * @param URIString Passed to set() automatically.
+ * @param nofrag If true, the fragment part of the URI is stripped off before construction.
+ */
+ daeURI(DAE& dae, const std::string& URIString, daeBool nofrag = false);
+
+ /**
+ * Constructs a daeURI object using a <tt><i>baseURI</i></tt> and a <tt><i>uriString.</i></tt>
+ * Calls set(URIString), and @c validate(baseURI).
+ * @param baseURI Base URI to resolve against.
+ * @param URIString String designating this URI.
+ */
+ daeURI(const daeURI& baseURI, const std::string& URIString);
+
+ /**
+ * Constructs a daeURI object based on a simple copy from an existing @c daeURI.
+ * @param constructFromURI URI to copy into this one.
+ */
+ daeURI(const daeURI& constructFromURI);
+
+ /**
+ * Constructs a daeURI given a container element and a URI string.
+ * @param container The container element.
+ * @param uriString the URI string.
+ */
+ daeURI(daeElement& container, const std::string& uriString = "");
+
+ // This constructor is for internal DOM purposes only. For client code, use the constructor
+ // that takes only a daeElement instead of this one.
+ daeURI(DAE& dae, daeElement& container, const std::string& uriString = "");
+
+ /**
+ * Gets the DAE objects associated with this daeURI.
+ * @return Returns a pointer to the associated DAE. This will never return null.
+ */
+ DAE* getDAE() const;
+
+ // Returns the fully resolved URI as a string
+ const std::string& str() const;
+ // Returns the URI as originally set (i.e. not resolved against the base URI)
+ const std::string& originalStr() const;
+
+ // Old C string versions of the previous functions
+ daeString getURI() const; // Alias for str()
+ daeString getOriginalURI() const; // Alias for originalStr();
+
+ // Setter function for setting the full uri.
+ void set(const std::string& uriStr, const daeURI* baseURI = NULL);
+ // Setter function for setting the individual uri components.
+ void set(const std::string& scheme,
+ const std::string& authority,
+ const std::string& path,
+ const std::string& query,
+ const std::string& fragment,
+ const daeURI* baseURI = NULL);
+
+ // Old C string function. Alias for set().
+ void setURI(daeString uriStr, const daeURI* baseURI = NULL);
+
+ // std::string based component accessors.
+ const std::string& scheme() const;
+ const std::string& authority() const;
+ const std::string& path() const;
+ const std::string& query() const;
+ const std::string& fragment() const;
+ const std::string& id() const; // Alias for fragment()
+
+ // Component setter functions. If you're going to be calling multiple setters, as in
+ // uri.path(path);
+ // uri.fragment(frag);
+ // it'd be more efficient to call uri.set once instead.
+ void scheme(const std::string& scheme);
+ void authority(const std::string& authority);
+ void path(const std::string& path);
+ void query(const std::string& query);
+ void fragment(const std::string& fragment);
+ void id(const std::string& id); // Alias for uri.fragment(frag)
+
+ // Retrieves the individual path components. For example, in a uri of the form
+ // file:/folder/file.dae, dir = /folder/, baseName = file, ext = .dae
+ void pathComponents(std::string& dir, std::string& baseName, std::string& ext) const;
+
+ // Individual path component accessors. If you need access to multiple path
+ // components, calling pathComponents() will be faster.
+ std::string pathDir() const; // daeURI("/folder/file.dae").pathDir() == "/folder/"
+ std::string pathFileBase() const; // daeURI("/folder/file.dae").pathFileBase() == "file"
+ std::string pathExt() const; // daeURI("/folder/file.dae").pathExt() == ".dae"
+ std::string pathFile() const; // daeURI("/folder/file.dae").pathFile() == "file.dae"
+
+ // Path component setter.
+ void path(const std::string& dir, const std::string& baseName, const std::string& ext);
+
+ // Individual path component setters. If you're going to be calling multiple setters,
+ // it'd be more efficient to call set() instead.
+ void pathDir(const std::string& dir);
+ void pathFileBase(const std::string& baseName);
+ void pathExt(const std::string& ext);
+ void pathFile(const std::string& file);
+
+ // The older C string accessors. Aliases for the std::string based component accessors.
+ daeString getScheme() const;
+ daeString getProtocol() const; // Alias for getScheme()
+ daeString getAuthority() const;
+ daeString getPath() const;
+ daeString getQuery() const;
+ daeString getFragment() const;
+ daeString getID() const; // Alias for getFragment()
+ // Same as getPath(), but puts the result in the destination buffer. This is only here
+ // for backward compatibility. Use getPath() instead.
+ daeBool getPath(daeChar* dest, daeInt size) const;
+
+ /**
+ * Gets the element that this URI resolves to in memory.
+ * @return Returns a ref to the element.
+ */
+ daeElementRef getElement() const;
+
+ // Returns the document that this URI references, or null if the document
+ // hasn't been loaded yet.
+ daeDocument* getReferencedDocument() const;
+
+ /**
+ * Gets a pointer to the @c daeElement that contains this URI.
+ * @return Returns the pointer to the containing daeElmement.
+ */
+ inline daeElement* getContainer() const {return(container);};
+
+ /**
+ * Sets the pointer to the @c daeElement that contains this URI.
+ * @param cont Pointer to the containing @c daeElmement.
+ */
+ void setContainer(daeElement* container);
+
+ /**
+ * Gets if this URI resolves to an element that is not contained in the same document as the URI.
+ * @return Returns true if the URI references an external element. False otherwise.
+ */
+ daeBool isExternalReference() const;
+
+ /**
+ * Copies the URI specified in <tt><i>from</i></tt> into @c this.
+ * Performs a simple copy without validating the URI.
+ * @param from URI to copy from.
+ */
+ void copyFrom(const daeURI& from);
+
+ /**
+ * Outputs all components of this URI to stderr.
+ * Useful for debugging URIs, this outputs each part of the URI separately.
+ */
+ void print();
+
+ /**
+ * Makes the "originalURI" in this URI relative to some other uri
+ * @param uri the URI to make "this" relative to.
+ * @note this is experimental and not fully tested, please don't use in critical code yet.
+ */
+ int makeRelativeTo(const daeURI* uri);
+
+ /**
+ * Comparison operator.
+ * @return Returns true if URI's are equal.
+ */
+ inline bool operator==(const daeURI& other) const {
+ return uriString == other.uriString;
+ }
+
+ daeURI& operator=(const daeURI& other);
+ daeURI& operator=(const std::string& uri);
+
+ // These methods are deprecated.
+ void resolveElement(); // Call getElement directly.
+ void validate(const daeURI* baseURI = NULL); // Shouldn't ever need to call this.
+ ResolveState getState() const; // Call getElement to see if resolving succeeded.
+ void setState(ResolveState newState); // Don't call this.
+
+private:
+ /**
+ * Resets this URI; frees all string references
+ * and returns <tt><i>state</i></tt> to @c empty.
+ */
+ void reset();
+
+ /**
+ * Provides a shared initialization for all constructors
+ */
+ void initialize();
+public:
+ /**
+ * Performs RFC2396 path normalization.
+ * @param path Path to be normalized.
+ */
+ static void normalizeURIPath(char* path);
+};
+
+class daeURIResolver;
+typedef daeTArray<daeURIResolver*> daeURIResolverPtrArray;
+
+/**
+ * The @c daeURIResolver class is the plugin point for URI resolution.
+ * This class is an abstract base class that defines an interface for
+ * resolving URIs.
+ * Every URI is passed through this list of @c daeURIResolvers for resolution.
+ * The list is ordered on a first come, first serve basis, and resolution
+ * terminates after any resolver instance resolves the URI.
+ */
+class DLLSPEC daeURIResolver
+{
+public:
+ /**
+ * Constructor
+ * @param dae The associated dae object.
+ */
+ daeURIResolver(DAE& dae);
+
+ /**
+ * Destructor
+ */
+ virtual ~daeURIResolver();
+
+ /**
+ * Sets a flag that tells the URI resolver whether or not to load a separate document if a URI
+ * being resolved points to one.
+ * @param load Set to true if you want the URI Resolver to automatically load other documents to
+ * resolve URIs.
+ */
+ static void setAutoLoadExternalDocuments( daeBool load );
+
+ /**
+ * Gets a flag that tells if the URI resolver is set to load an external document if a URI
+ * being resolved points to one.
+ * @return Returns true if the resolver will automatically load documents to resolve a URI.
+ * False otherwise.
+ */
+ static daeBool getAutoLoadExternalDocuments();
+
+ /**
+ * Provides an abstract interface for converting a @c daeURI into a @c daeElement
+ * @param uri @c daeURI to resolve.
+ * @return Returns the resolved element, or null if resolving failed.
+ * returns false otherwise.
+ */
+ virtual daeElement* resolveElement(const daeURI& uri) = 0;
+
+ /**
+ * Gets the name of this resolver.
+ * @return Returns the resolver name as a string.
+ */
+ virtual daeString getName() = 0;
+
+protected:
+ static daeBool _loadExternalDocuments;
+ DAE* dae;
+};
+
+
+// This is a container class for storing a modifiable list of daeURIResolver objects.
+class DLLSPEC daeURIResolverList {
+public:
+ daeURIResolverList();
+ ~daeURIResolverList();
+
+ daeTArray<daeURIResolver*>& list();
+ daeElement* resolveElement(const daeURI& uri);
+
+private:
+ // Disabled copy constructor/assignment operator
+ daeURIResolverList(const daeURIResolverList& resolverList) { };
+ daeURIResolverList& operator=(const daeURIResolverList& resolverList) { return *this; };
+
+ daeTArray<daeURIResolver*> resolvers;
+};
+
+
+// Helper functions for file path <--> URI conversion
+namespace cdom {
+ // Takes a uri reference and parses it into its components.
+ DLLSPEC bool parseUriRef(const std::string& uriRef,
+ std::string& scheme,
+ std::string& authority,
+ std::string& path,
+ std::string& query,
+ std::string& fragment);
+
+ // Takes the uri components of a uri ref and combines them.
+ //
+ // The 'forceLibxmlCompatible' param is meant to work around bugs in the file
+ // scheme uri handling of libxml. It causes the function to output a uri
+ // that's fully compatible with libxml. It only modifies file scheme uris,
+ // since uris with other schemes seem to work fine.
+ //
+ // The known libxml uri bugs are as follows:
+ // 1) libxml won't write files when given file scheme URIs with an empty
+ // authority, as in "file:/home".
+ // 2) libxml won't read or write Windows UNC paths represented with the
+ // machine name in the authority, as in "file://otherMachine/folder/file.dae"
+ // 3) On Windows, libxml won't read or write paths that don't have a drive
+ // letter, as in "/folder/file.dae".
+ DLLSPEC std::string assembleUri(const std::string& scheme,
+ const std::string& authority,
+ const std::string& path,
+ const std::string& query,
+ const std::string& fragment,
+ bool forceLibxmlCompatible = false);
+
+ // A wrapper function for calling assembleUri to create a URI that's compatible
+ // with libxml.
+ DLLSPEC std::string fixUriForLibxml(const std::string& uriRef);
+
+ // This function takes a file path in the OS's native format and converts it to
+ // a URI reference. If a relative path is given, a relative URI reference is
+ // returned. If an absolute path is given, a relative URI reference containing
+ // a fully specified path is returned. Spaces are encoded as %20. The 'type'
+ // parameter indicates the format of the nativePath.
+ //
+ // Examples - Windows
+ // nativePathToUri("C:\myFolder\myFile.dae") --> "/C:/myFolder/myFile.dae"
+ // nativePathToUri("\myFolder\myFile.dae") --> "/myFolder/myFile.dae"
+ // nativePathToUri("..\myFolder\myFile.dae") --> "../myFolder/myFile.dae"
+ // nativePathToUri("\\otherComputer\myFile.dae") --> "//otherComputer/myFile.dae"
+ //
+ // Examples - Linux/Mac
+ // nativePathToUri("/myFolder/myFile.dae") --> "/myFolder/myFile.dae"
+ // nativePathToUri("../myFolder/myFile.dae") --> "../myFolder/myFile.dae"
+ // nativePathToUri("/my folder/my file.dae") --> "/my%20folder/my%20file.dae"
+ DLLSPEC std::string nativePathToUri(const std::string& nativePath,
+ systemType type = getSystemType());
+
+ // This function takes a URI reference and converts it to an OS file path. Conversion
+ // can fail if the URI reference is ill-formed, or if the URI contains a scheme other
+ // than "file", in which case an empty string is returned. The 'type' parameter
+ // indicates the format of the returned native path.
+ //
+ // Examples - Windows
+ // uriToNativePath("../folder/file.dae") --> "..\folder\file.dae"
+ // uriToNativePath("/folder/file.dae") --> "\folder\file.dae"
+ // uriToNativePath("file:/C:/folder/file.dae") --> "C:\folder\file.dae"
+ // uriToNativePath("file://otherComputer/file.dae") --> "\\otherComputer\file.dae"
+ // uriToNativePath("http://www.slashdot.org") --> "" (it's not a file scheme URI!)
+ //
+ // Examples - Linux/Mac
+ // uriToNativePath("../folder/file.dae") --> "../folder/file.dae"
+ // uriToNativePath("file:/folder/file.dae") --> "/folder/file.dae"
+ // uriToNativePath("http://www.slashdot.org") --> "" (it's not a file scheme URI!)
+ DLLSPEC std::string uriToNativePath(const std::string& uriRef,
+ systemType type = getSystemType());
+
+ DLLSPEC std::string filePathToUri(const std::string& filePath); // Alias for nativePathToUri
+ DLLSPEC std::string uriToFilePath(const std::string& uriRef); // Alias for uriToNativePath
+}
+
+#endif //__DAE_URI_H__
diff --git a/1.4.0/dom/include/dae/daeUtils.h b/1.4.0/dom/include/dae/daeUtils.h
new file mode 100644
index 0000000..fb8bf08
--- /dev/null
+++ b/1.4.0/dom/include/dae/daeUtils.h
@@ -0,0 +1,104 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+// A home for commonly used utility functions. These are mostly for internal DOM
+// use, but the automated tests use some of these functions, so we'll export
+// them.
+#ifndef daeUtils_h
+#define daeUtils_h
+
+#include <string>
+#include <sstream>
+#include <list>
+#include <vector>
+#include <dae/daePlatform.h>
+
+namespace cdom {
+ // System type info. We only need to distinguish between Posix and Winodws for now.
+ enum systemType {
+ Posix,
+ Windows
+ };
+
+ // Get the system type at runtime.
+ DLLSPEC systemType getSystemType();
+
+ // String replace function. Usage: replace("abcdef", "cd", "12") --> "ab12ef".
+ DLLSPEC std::string replace(const std::string& s,
+ const std::string& replace,
+ const std::string& replaceWith);
+
+ // Removes whitespaces (" \t\f\v\n\r") at the beginning and the end of str.
+ // If str consists of whitespaces only it will be erased.
+ // Usage:
+ // trimWhitespaces(" a b") --> "a b"
+ // trimWhitespaces("a b ") --> "a b"
+ // trimWhitespaces(" a b ") --> "a b"
+ // trimWhitespaces(" ") --> ""
+ DLLSPEC void trimWhitespaces(std::string& str);
+
+ // Usage:
+ // tokenize("this/is some#text", "/#", true) --> ("this" "/" "is some" "#" "text")
+ // tokenize("this is some text", " ", false) --> ("this" "is" "some" "text")
+ DLLSPEC std::list<std::string> tokenize(const std::string& s,
+ const std::string& separators,
+ bool separatorsInResult = false);
+ // Same as the previous function, but returns the result via a parameter to avoid an object copy.
+ DLLSPEC void tokenize(const std::string& s,
+ const std::string& separators,
+ /* out */ std::list<std::string>& tokens,
+ bool separatorsInResult = false);
+
+ typedef std::list<std::string>::iterator tokenIter;
+
+ DLLSPEC std::vector<std::string> makeStringArray(const char* s, ...);
+ DLLSPEC std::list<std::string> makeStringList(const char* s, ...);
+
+ DLLSPEC std::string getCurrentDir();
+ DLLSPEC std::string getCurrentDirAsUri();
+
+ // Returns platform specific file separator.
+ // \ on windows
+ // / on other platforms
+ DLLSPEC char getFileSeparator();
+
+#ifndef NO_BOOST
+ // Returns system wide temporary directory.
+ // Reads environment variable TMP.
+ DLLSPEC const std::string& getSystemTmpDir();
+
+ // Returns a filename obtained via tmpnam().
+ // On systems where tmpnam()'s result is preceded
+ // with a directory, that directory is cutoff.
+ DLLSPEC std::string getRandomFileName();
+
+ // Returns getSystemTmpDir() appended with a randomly
+ // generated directory name.
+ // This directory will be deleted when DAE gets destroyed.
+ DLLSPEC const std::string& getSafeTmpDir();
+#endif //NO_BOOST
+
+ DLLSPEC int strcasecmp(const char* str1, const char* str2);
+ DLLSPEC std::string tolower(const std::string& s);
+
+ // Disable VS warning
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable : 4267)
+#endif
+ template<typename T>
+ std::string toString(const T& val) {
+ std::ostringstream stream;
+ stream << val;
+ return stream.str();
+ }
+#ifdef _MSC_VER
+#pragma warning(pop)
+#endif
+}
+
+#endif
diff --git a/1.4.0/dom/include/dae/daeWin32Platform.h b/1.4.0/dom/include/dae/daeWin32Platform.h
new file mode 100644
index 0000000..e501597
--- /dev/null
+++ b/1.4.0/dom/include/dae/daeWin32Platform.h
@@ -0,0 +1,53 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __DAE_WIN32_PLATFORM_H__
+#define __DAE_WIN32_PLATFORM_H__
+
+#define PLATFORM_INT8 __int8
+#define PLATFORM_INT16 __int16
+#define PLATFORM_INT32 __int32
+#define PLATFORM_INT64 __int64
+#define PLATFORM_UINT8 unsigned __int8
+#define PLATFORM_UINT16 unsigned __int16
+#define PLATFORM_UINT32 unsigned __int32
+#define PLATFORM_UINT64 unsigned __int64
+#define PLATFORM_FLOAT32 float
+#define PLATFORM_FLOAT64 double
+
+#if _MSC_VER <= 1200
+typedef int intptr_t;
+#endif
+
+#ifdef DOM_DYNAMIC
+
+#ifdef DOM_EXPORT
+#define DLLSPEC __declspec( dllexport )
+#else
+#define DLLSPEC __declspec( dllimport )
+#endif
+
+#else
+#define DLLSPEC
+#endif
+
+// GCC doesn't understand "#pragma warning"
+#ifdef _MSC_VER
+// class 'std::auto_ptr<_Ty>' needs to have dll-interface to be used by clients of class 'daeErrorHandler'
+#pragma warning(disable: 4251)
+// warning C4100: 'profile' : unreferenced formal parameter
+#pragma warning(disable: 4100)
+// warning C4355: 'this' : used in base member initializer list
+#pragma warning(disable: 4355)
+// warning C4512: 'daeDatabase' : assignment operator could not be generated
+#pragma warning(disable: 4512)
+// warning LNK4099: Missing pdb file for PCRE
+#pragma warning(disable: 4099)
+#endif
+
+#endif
diff --git a/1.4.0/dom/include/dae/daeZAEUncompressHandler.h b/1.4.0/dom/include/dae/daeZAEUncompressHandler.h
new file mode 100644
index 0000000..e9b0e9e
--- /dev/null
+++ b/1.4.0/dom/include/dae/daeZAEUncompressHandler.h
@@ -0,0 +1,119 @@
+/*
+* Copyright 2008 Netallied Systems GmbH.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __DAE_ZAE_UNCOMPRESS_HANDLER_H__
+#define __DAE_ZAE_UNCOMPRESS_HANDLER_H__
+
+#include <unzip.h>
+#include <libxml/xmlreader.h>
+#include <dae/daeURI.h>
+
+/**
+ * Takes an URI to a ZAE file and extracts it to a temporary directory.
+ * Use obtainRootFilePath() to accomplish this.
+ *
+ * The whole ZAE archive gets extracted because it is not specified
+ * how an URL pointing inside a ZAE archive should look like.
+ * By extracting the whole archive we can use the 'file' scheme.
+ */
+class DLLSPEC daeZAEUncompressHandler
+{
+private:
+ // zip file this object operates on.
+ unzFile mZipFile;
+
+ // URI th zip file this object operates on.
+ const daeURI& mZipFileURI;
+
+ // indicates if the passed URI is a valid zip file.
+ bool mValidZipFile;
+
+ // path to root file in archive this object handles.
+ std::string mRootFilePath;
+
+ // tmp dir where this archive is extracted.
+ std::string mTmpDir;
+
+ // disable copy c-tor and assignment operator.
+ daeZAEUncompressHandler(const daeZAEUncompressHandler& copy);
+ daeZAEUncompressHandler& operator=(const daeZAEUncompressHandler& copy);
+
+public:
+ // Name of manifest file inside ZAE.
+ static const std::string MANIFEST_FILE_NAME;
+ // Root xml element inside manifest file.
+ static const std::string MANIFEST_FILE_ROOT_ELEMENT_NAME;
+ // Case insensitivity constant from minizip.
+ static const int CASE_INSENSITIVE;
+ // Buffer size for extracting files from zip archive.
+ static const int BUFFER_SIZE;
+ // Empty string to be returned in case of error.
+ static const std::string EMPTY_STRING;
+
+ /**
+ * C-Tor.
+ * @param zaeFile URI to the ZAE file to open.
+ */
+ daeZAEUncompressHandler(const daeURI& zaeFile);
+
+ /**
+ * D-Tor.
+ */
+ virtual ~daeZAEUncompressHandler();
+
+ /**
+ * Returns true if this object has been initialized
+ * with a zip file.
+ */
+ bool isZipFile() {return mValidZipFile;}
+
+ /**
+ * Extracts ZAE file and returns resulting path to the root DAE file.
+ */
+ const std::string& obtainRootFilePath();
+
+ /**
+ * Returns currently known path to root DAE of ZAE file.
+ * Only valid after obtainRootFilePath() has been called.
+ */
+ const std::string& getRootFilePath() {return mRootFilePath;}
+
+ /**
+ * Returns used temp dir.
+ */
+ const std::string& getTmpDir() {return mTmpDir;}
+
+private:
+ /**
+ * Tries to open manifest.xml inside tmpDir. On success
+ * it parses the XML file to find URI of root DAE.
+ */
+ bool retrieveRootURIFromManifest(const std::string& tmpDir);
+
+ /**
+ * Iterates over zip archive and extracts each file.
+ */
+ bool extractArchive(unzFile zipFile, const std::string& destDir);
+
+ /**
+ * Extracts the current file inside zip archive.
+ */
+ bool extractFile(unzFile zipFile, const std::string& destDir);
+
+ /**
+ * Finds <dae_root> element in manifest.xml. Used by retrieveRootURIFromManifest().
+ */
+ bool findManifestRootElement(xmlTextReaderPtr xmlReader);
+
+ /**
+ * Checks if an extracted file is a zip archive itself and extracts it.
+ */
+ bool checkAndExtractInternalArchive(const std::string& filePath);
+};
+
+#endif //__DAE_ZAE_UNCOMPRESS_HANDLER_H__
diff --git a/1.4.0/dom/include/dae/domAny.h b/1.4.0/dom/include/dae/domAny.h
new file mode 100644
index 0000000..bc58641
--- /dev/null
+++ b/1.4.0/dom/include/dae/domAny.h
@@ -0,0 +1 @@
+// dummy file for backward compatibility with collada-dom versions <= 2.3
diff --git a/1.4.0/dom/include/dom.h b/1.4.0/dom/include/dom.h
new file mode 100644
index 0000000..05b95b1
--- /dev/null
+++ b/1.4.0/dom/include/dom.h
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2006 Sony Computer Entertainment Inc.
+ *
+ * Licensed under the MIT Open Source License, for details please see license.txt or the website
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ */
+#ifndef __DOM__
+#define __DOM__
+
+class DAE;
+class daeMetaElement;
+
+#ifdef COLLADA_DOM_SUPPORT150
+namespace ColladaDOM150 {
+extern DLLSPEC daeString COLLADA_VERSION;
+extern DLLSPEC daeString COLLADA_NAMESPACE;
+
+// Register all types
+DLLSPEC void registerDomTypes(DAE& dae);
+
+// Register all elements
+DLLSPEC daeMetaElement* registerDomElements(DAE& dae);
+
+DLLSPEC daeInt colladaTypeCount();
+
+}
+#endif
+
+#ifdef COLLADA_DOM_SUPPORT141
+namespace ColladaDOM141 {
+extern DLLSPEC daeString COLLADA_VERSION;
+extern DLLSPEC daeString COLLADA_NAMESPACE;
+
+// Register all types
+DLLSPEC void registerDomTypes(DAE& dae);
+
+// Register all elements
+DLLSPEC daeMetaElement* registerDomElements(DAE& dae);
+
+DLLSPEC daeInt colladaTypeCount();
+
+}
+#endif
+
+#endif // __DOM_INTERFACE__
diff --git a/1.4.0/dom/include/modules/daeLIBXMLPlugin.h b/1.4.0/dom/include/modules/daeLIBXMLPlugin.h
new file mode 100644
index 0000000..f9268e7
--- /dev/null
+++ b/1.4.0/dom/include/modules/daeLIBXMLPlugin.h
@@ -0,0 +1,89 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __DAE_LIBXMLPLUGIN__
+#define __DAE_LIBXMLPLUGIN__
+
+#include <vector>
+#include <dae/daeElement.h>
+#include <dae/daeURI.h>
+#include <dae/daeIOPluginCommon.h>
+
+struct _xmlTextReader;
+struct _xmlTextWriter;
+class DAE;
+
+/**
+ * The @c daeLIBXMLPlugin class derives from @c daeIOPluginCommon and implements an XML
+ * input/output backend using libxml2 as a parser. When using this plugin, DAE::load() expects
+ * an rfc 2396 compliant URI, any URI supported by libxml2 should be properly
+ * handled including ones with network schemes and authority. If the URI contains a fragment it will be ignored
+ * and the entire referenced document will be loaded. DAE::saveAs will only
+ * handle a filename path at present (ie: no scheme or authority).
+ */
+class DLLSPEC daeLIBXMLPlugin : public daeIOPluginCommon
+{
+public:
+ // Constructor / destructor
+ /**
+ * Constructor.
+ */
+ daeLIBXMLPlugin(DAE& dae);
+ /**
+ * Destructor.
+ */
+ virtual ~daeLIBXMLPlugin();
+
+ // Operations
+ virtual daeInt write(const daeURI& name, daeDocument *document, daeBool replace);
+
+ /**
+ * setOption allows you to set options for this IOPlugin. Which options a plugin supports is
+ * dependent on the plugin itself. There is currently no list of options that plugins are
+ * suggested to implement. daeLibXML2Plugin supports only one option, "saveRawBinary". Set to
+ * "true" to save float_array data as a .raw binary file. The daeRawResolver will convert the
+ * data back into COLLADA domFloat_array elements upon load.
+ * @param option The option to set.
+ * @param value The value to set the option.
+ * @return Returns DAE_OK upon success.
+ */
+ virtual daeInt setOption( daeString option, daeString value );
+
+ /**
+ * getOption retrieves the value of an option from this IOPlugin. Which options a plugin supports is
+ * dependent on the plugin itself.
+ * @param option The option to get.
+ * @return Returns the string value of the option or NULL if option is not valid.
+ */
+ virtual daeString getOption( daeString option );
+
+private:
+ DAE& dae;
+
+ _xmlTextWriter *writer;
+
+ FILE *rawFile;
+ unsigned long rawByteCount;
+ daeURI rawRelPath;
+ bool saveRawFile;
+
+ virtual daeElementRef readFromFile(const daeURI& uri);
+ virtual daeElementRef readFromMemory(daeString buffer, const daeURI& baseUri);
+ daeElementRef read(_xmlTextReader* reader);
+ daeElementRef readElement(_xmlTextReader* reader,
+ daeElement* parentElement,
+ /* out */ int& readRetVal);
+
+ void writeElement( daeElement* element );
+ void writeAttribute( daeMetaAttribute* attr, daeElement* element);
+ void writeValue(daeElement* element);
+
+ void writeRawSource( daeElement* src );
+};
+
+#endif //__DAE_LIBXMLPLUGIN__
diff --git a/1.4.0/dom/include/modules/daeSTLDatabase.h b/1.4.0/dom/include/modules/daeSTLDatabase.h
new file mode 100644
index 0000000..73ee939
--- /dev/null
+++ b/1.4.0/dom/include/modules/daeSTLDatabase.h
@@ -0,0 +1,114 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef __DAE_STLDATABASE__
+#define __DAE_STLDATABASE__
+
+#include <stdio.h>
+
+#include <vector>
+#include <map>
+#include <string>
+#include <algorithm>
+#include <functional>
+
+#include <dae/daeElement.h>
+#include <dae/daeDatabase.h>
+
+/**
+ * The @c daeSTLDatabase class derives from @c daeDatabase and implements
+ * the default database.
+ */
+class DLLSPEC daeSTLDatabase : public daeDatabase
+{
+public:
+ /**
+ * Constructor
+ */
+ daeSTLDatabase(DAE& dae);
+ /**
+ * Destructor
+ */
+ virtual ~daeSTLDatabase();
+
+public:
+ // Element Types of all Elements
+ virtual daeUInt getTypeCount();
+ virtual daeString getTypeName(daeUInt index);
+ virtual daeInt setMeta(daeMetaElement *_topMeta);
+
+ // Documents
+ virtual daeInt insertDocument(daeString name, daeElement* dom, daeDocument** document = NULL, bool zaeRootDocument = false, const std::string& extractedFileURI = "");
+ virtual daeInt insertDocument(daeString name, daeDocument** document = NULL);
+ virtual daeInt createDocument(daeString name, daeElement* dom, daeDocument** document = NULL, bool zaeRootDocument = false, const std::string& extractedFileURI = "");
+ virtual daeInt createDocument(daeString name, daeDocument** document = NULL);
+ virtual daeInt insertDocument( daeDocument *c );
+
+ virtual daeInt removeDocument(daeDocument* document);
+ virtual daeUInt getDocumentCount();
+ virtual daeDocument* getDocument(daeUInt index);
+ virtual daeDocument* getDocument(daeString name, bool skipUriNormalization = false);
+ virtual daeString getDocumentName(daeUInt index);
+ virtual daeBool isDocumentLoaded(daeString name);
+
+ // Elements
+ virtual daeInt insertElement(daeDocument* document, daeElement* element);
+ virtual daeInt removeElement(daeDocument* document, daeElement* element);
+ virtual daeInt changeElementID(daeElement* element, daeString newID);
+ virtual daeInt changeElementSID(daeElement* element, daeString newSID); // Not implemented
+ virtual daeInt clear();
+
+ virtual std::vector<daeElement*> idLookup(const std::string& id);
+
+ virtual void typeLookup(daeInt typeID,
+ std::vector<daeElement*>& matchingElements,
+ daeDocument* doc = NULL);
+
+ // Currently not implemented, but you can uncomment some code in daeSTLDatabase.cpp to get
+ // it working.
+ virtual void sidLookup(const std::string& sid,
+ std::vector<daeElement*>& matchingElements,
+ daeDocument* doc = NULL);
+
+ // Deprecated. Don't use these. Use idLookup or typeLookup instead.
+ virtual daeUInt getElementCount(daeString name = NULL,
+ daeString type = NULL,
+ daeString file = NULL);
+ virtual daeInt getElement(daeElement** pElement,
+ daeInt index,
+ daeString name = NULL,
+ daeString type = NULL,
+ daeString file = NULL);
+
+private:
+
+ std::map< std::string, std::vector< daeElement* > > elements; // type name --> element lookup table (deprecated)
+
+ std::multimap<daeInt, daeElement*> typeMap; // type ID --> element lookup table
+ typedef std::multimap<daeInt, daeElement*>::iterator typeMapIter;
+ typedef std::pair<daeInt, daeElement*> typeMapPair;
+ typedef std::pair<typeMapIter, typeMapIter> typeMapRange;
+
+ std::multimap< std::string, daeElement* > elementsIDMap; //map for elements keyed on ID
+ typedef std::multimap<std::string, daeElement*>::iterator idMapIter;
+ typedef std::pair<std::string, daeElement*> idMapPair;
+ typedef std::pair<idMapIter, idMapIter> idMapRange;
+
+ std::multimap< std::string, daeElement* > sidMap; // sid --> element lookup table
+ typedef std::multimap<std::string, daeElement*>::iterator sidMapIter;
+ typedef std::pair<std::string, daeElement*> sidMapPair;
+ typedef std::pair<sidMapIter, sidMapIter> sidMapRange;
+
+ std::vector<daeDocument*> documents;
+ daeMetaElement* topMeta;
+
+ daeInt insertChildren( daeDocument *c, daeElement *element );
+ daeInt removeChildren( daeDocument *c, daeElement *element );
+};
+
+#endif // __DAE_STLDATABASE__
diff --git a/1.4.0/dom/include/modules/stdErrPlugin.h b/1.4.0/dom/include/modules/stdErrPlugin.h
new file mode 100644
index 0000000..c3e341b
--- /dev/null
+++ b/1.4.0/dom/include/modules/stdErrPlugin.h
@@ -0,0 +1,46 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#ifndef _STDERR_PLUGIN_
+#define _STDERR_PLUGIN_
+
+#include <dae/daeTypes.h>
+#include <dae/daeErrorHandler.h>
+
+/**
+ * The @c stdErrPlugin class is the default implementation of daeErrorHandler. It routes the Error
+ * and Warning messaged to stdout.
+ */
+class DLLSPEC stdErrPlugin : public daeErrorHandler {
+public:
+ stdErrPlugin();
+ virtual ~stdErrPlugin();
+
+public:
+ void handleError( daeString msg );
+ void handleWarning( daeString msg );
+};
+
+/**
+ * The @c quietErrorHandler class is an alternative implementation of daeErrorHandler. It suppresses
+ * error and warning messages. The easiest way to use it is like this:
+ * daeErrorHandler::setErrorHandler(&quietErrorHandler::getInstance());
+ */
+class DLLSPEC quietErrorHandler : public daeErrorHandler {
+public:
+ quietErrorHandler() { }
+ void handleError(daeString msg) { }
+ void handleWarning(daeString msg) { }
+
+ static quietErrorHandler& getInstance() { return theInstance; }
+
+private:
+ static quietErrorHandler theInstance;
+};
+
+#endif
diff --git a/1.4.0/dom/license.txt b/1.4.0/dom/license.txt
new file mode 100644
index 0000000..aa8003e
--- /dev/null
+++ b/1.4.0/dom/license.txt
@@ -0,0 +1,21 @@
+The MIT License
+
+Copyright 2006 Sony Computer Entertainment Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/1.4.0/dom/readme.txt b/1.4.0/dom/readme.txt
new file mode 100644
index 0000000..e6420ce
--- /dev/null
+++ b/1.4.0/dom/readme.txt
@@ -0,0 +1,30 @@
+Collada DOM 2.2.1
+
+Documentation is available online at
+http://collada.org/mediawiki/index.php/Portal:COLLADA_DOM
+
+Questions, bug reports and feature requests should go to our Sourceforge project
+site: http://sourceforge.net/projects/collada-dom/
+
+If you're upgrading your software from a previous release of the DOM you may be interested in the backward compatibility page we maintain on the wiki:
+http://collada.org/mediawiki/index.php/DOM_backward_compatibility
+
+The binary packages only contain release builds. If you need to debug the DOM you should download the source and build it on your machine. The Visual Studio packages include debug builds because you can't link a release DOM into a debug
+app with that compiler. The debug info has been stripped though to keep the download size down.
+
+Special thanks to the following people for their contributions:
+Heinrich Fink (Mac support)
+JT Anderson (Tinyxml support)
+Michel Briand (Linux shared library support)
+Kai Klesatschke (bug reporting, Windows character encoding fixes)
+Guy Rabiller (bug reporting)
+Rodrigo Hernandez (MinGW support)
+Alex De Pereyra (bug reporting)
+Alberto Luaces (bug reporting)
+Michael Wojcik (Visual Studio 2010 Support)
+Rosen Diankov (patches for 1.5 and cmake support)
+
+Apologies if I missed anyone (please let me know!).
+
+steven_thomas@playstation.sony.com
+2008 Sony Computer Entertainment, Inc
diff --git a/1.4.0/dom/src/1.4/CMakeLists.txt b/1.4.0/dom/src/1.4/CMakeLists.txt
new file mode 100644
index 0000000..9366b60
--- /dev/null
+++ b/1.4.0/dom/src/1.4/CMakeLists.txt
@@ -0,0 +1,3 @@
+file(GLOB dom_files ${CMAKE_CURRENT_SOURCE_DIR}/dom/*.cpp)
+add_library(colladadom141 STATIC ${dom_files})
+set_target_properties(colladadom141 PROPERTIES COMPILE_FLAGS "${COLLADA_COMPILE_FLAGS}" LINK_FLAGS "${libpcrecpp_LDFLAGS_OTHERS}")
diff --git a/1.4.0/dom/src/1.4/dom/domAccessor.cpp b/1.4.0/dom/src/1.4/dom/domAccessor.cpp
new file mode 100644
index 0000000..2c30df8
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domAccessor.cpp
@@ -0,0 +1,106 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domAccessor.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domAccessor::create(DAE& dae)
+{
+ domAccessorRef ref = new domAccessor(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAccessor::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "accessor" );
+ meta->registerClass(domAccessor::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domAccessor,elemParam_array) );
+ mea->setElementType( domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domAccessor , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: offset
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "offset" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domAccessor , attrOffset ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: source
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "source" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domAccessor , attrSource ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: stride
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "stride" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domAccessor , attrStride ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAccessor));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domAnimation.cpp b/1.4.0/dom/src/1.4/dom/domAnimation.cpp
new file mode 100644
index 0000000..b0bfcc7
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domAnimation.cpp
@@ -0,0 +1,175 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domAnimation.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domAnimation::create(DAE& dae)
+{
+ domAnimationRef ref = new domAnimation(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAnimation::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "animation" );
+ meta->registerClass(domAnimation::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domAnimation,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "source" );
+ mea->setOffset( daeOffsetOf(domAnimation,elemSource_array) );
+ mea->setElementType( domSource::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 1, 1, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "sampler" );
+ mea->setOffset( daeOffsetOf(domAnimation,elemSampler_array) );
+ mea->setElementType( domSampler::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "channel" );
+ mea->setOffset( daeOffsetOf(domAnimation,elemChannel_array) );
+ mea->setElementType( domChannel::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "animation" );
+ mea->setOffset( daeOffsetOf(domAnimation,elemAnimation_array) );
+ mea->setElementType( domAnimation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 1, -1 );
+ mea->setName( "animation" );
+ mea->setOffset( daeOffsetOf(domAnimation,elemAnimation_array) );
+ mea->setElementType( domAnimation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 1 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm = new daeMetaSequence( meta, cm, 2, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "sampler" );
+ mea->setOffset( daeOffsetOf(domAnimation,elemSampler_array) );
+ mea->setElementType( domSampler::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "channel" );
+ mea->setOffset( daeOffsetOf(domAnimation,elemChannel_array) );
+ mea->setElementType( domChannel::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "animation" );
+ mea->setOffset( daeOffsetOf(domAnimation,elemAnimation_array) );
+ mea->setElementType( domAnimation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 5, 1, -1 );
+ mea->setName( "animation" );
+ mea->setOffset( daeOffsetOf(domAnimation,elemAnimation_array) );
+ mea->setElementType( domAnimation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 4 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domAnimation,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domAnimation,_contents));
+ meta->addContentsOrder(daeOffsetOf(domAnimation,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domAnimation,_CMData), 2);
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domAnimation , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domAnimation , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAnimation));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domAnimation_clip.cpp b/1.4.0/dom/src/1.4/dom/domAnimation_clip.cpp
new file mode 100644
index 0000000..ebfbfa9
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domAnimation_clip.cpp
@@ -0,0 +1,116 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domAnimation_clip.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domAnimation_clip::create(DAE& dae)
+{
+ domAnimation_clipRef ref = new domAnimation_clip(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAnimation_clip::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "animation_clip" );
+ meta->registerClass(domAnimation_clip::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domAnimation_clip,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "instance_animation" );
+ mea->setOffset( daeOffsetOf(domAnimation_clip,elemInstance_animation_array) );
+ mea->setElementType( domInstanceWithExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domAnimation_clip,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domAnimation_clip , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domAnimation_clip , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: start
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "start" );
+ ma->setType( dae.getAtomicTypes().get("xsDouble"));
+ ma->setOffset( daeOffsetOf( domAnimation_clip , attrStart ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0.0");
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: end
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "end" );
+ ma->setType( dae.getAtomicTypes().get("xsDouble"));
+ ma->setOffset( daeOffsetOf( domAnimation_clip , attrEnd ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAnimation_clip));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domAny.cpp b/1.4.0/dom/src/1.4/dom/domAny.cpp
new file mode 100644
index 0000000..231dc33
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domAny.cpp
@@ -0,0 +1,109 @@
+/*
+ * Copyright 2006 Sony Computer Entertainment Inc.
+ *
+ * Licensed under the MIT Open Source License, for details please see license.txt or the website
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ */
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domAny.h>
+#include <dae/daeMetaAttribute.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+#include <dae/daeErrorHandler.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domAny::create(DAE& dae)
+{
+ domAnyRef ref = new domAny;
+ return ref;
+}
+
+
+daeMetaElement *
+domAny::registerElement(DAE& dae)
+{
+ daeMetaElement *_Meta = new daeMetaElement(dae);
+ _Meta->setName( "any" );
+ _Meta->registerClass(domAny::create);
+ _Meta->setIsInnerClass( true );
+
+ daeMetaCMPolicy *cm = NULL;
+ cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaAny( _Meta, cm, 0, 0, -1 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 0 );
+ _Meta->setCMRoot( cm );
+ _Meta->setAllowsAny( true );
+
+ _Meta->addContents(daeOffsetOf(domAny,_contents));
+ _Meta->addContentsOrder(daeOffsetOf(domAny,_contentsOrder));
+
+ //VALUE
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domAny, _value ));
+ ma->setContainer( _Meta );
+ _Meta->appendAttribute(ma);
+ }
+
+ _Meta->setElementSize(sizeof(domAny));
+ _Meta->validate();
+
+ return _Meta;
+}
+
+domAny::~domAny() {
+ // domAny objects own their corresponding daeMetaElement
+ delete _meta;
+}
+
+// Implementation of daeMetaAttribute that understands how domAny works
+class domAnyAttribute : public daeMetaAttribute {
+public:
+ virtual daeChar* getWritableMemory(daeElement* e) {
+ return (daeChar*)&((domAny*)e)->attrs[_offset];
+ }
+};
+
+daeBool domAny::setAttribute(daeString attrName, daeString attrValue) {
+ if (_meta == NULL)
+ return false;
+
+ //if the attribute already exists set it.
+ if (daeElement::setAttribute(attrName, attrValue))
+ return true;
+
+ //else register it and then set it.
+ attrs.append("");
+ daeMetaAttribute *ma = new domAnyAttribute;
+ ma->setName( attrName );
+ ma->setType( getDAE()->getAtomicTypes().get("xsString"));
+ ma->setOffset((daeInt)attrs.getCount()-1);
+ ma->setContainer( _meta );
+ if (ma->getType()) {
+ _meta->appendAttribute(ma);
+ _validAttributeArray.append( true );
+ ma->stringToMemory(this, attrValue);
+ return true;
+ }
+
+ delete ma;
+ return false;
+}
+
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domAsset.cpp b/1.4.0/dom/src/1.4/dom/domAsset.cpp
new file mode 100644
index 0000000..7e1f4c2
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domAsset.cpp
@@ -0,0 +1,653 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domAsset.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domAsset::create(DAE& dae)
+{
+ domAssetRef ref = new domAsset(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "asset" );
+ meta->registerClass(domAsset::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "contributor" );
+ mea->setOffset( daeOffsetOf(domAsset,elemContributor_array) );
+ mea->setElementType( domAsset::domContributor::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "created" );
+ mea->setOffset( daeOffsetOf(domAsset,elemCreated) );
+ mea->setElementType( domAsset::domCreated::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "keywords" );
+ mea->setOffset( daeOffsetOf(domAsset,elemKeywords) );
+ mea->setElementType( domAsset::domKeywords::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 1, 1 );
+ mea->setName( "modified" );
+ mea->setOffset( daeOffsetOf(domAsset,elemModified) );
+ mea->setElementType( domAsset::domModified::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "revision" );
+ mea->setOffset( daeOffsetOf(domAsset,elemRevision) );
+ mea->setElementType( domAsset::domRevision::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "subject" );
+ mea->setOffset( daeOffsetOf(domAsset,elemSubject) );
+ mea->setElementType( domAsset::domSubject::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "title" );
+ mea->setOffset( daeOffsetOf(domAsset,elemTitle) );
+ mea->setElementType( domAsset::domTitle::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 7, 0, 1 );
+ mea->setName( "unit" );
+ mea->setOffset( daeOffsetOf(domAsset,elemUnit) );
+ mea->setElementType( domAsset::domUnit::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 8, 0, 1 );
+ mea->setName( "up_axis" );
+ mea->setOffset( daeOffsetOf(domAsset,elemUp_axis) );
+ mea->setElementType( domAsset::domUp_axis::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 8 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domAsset));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domContributor::create(DAE& dae)
+{
+ domAsset::domContributorRef ref = new domAsset::domContributor(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domContributor::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "contributor" );
+ meta->registerClass(domAsset::domContributor::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "author" );
+ mea->setOffset( daeOffsetOf(domAsset::domContributor,elemAuthor) );
+ mea->setElementType( domAsset::domContributor::domAuthor::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "authoring_tool" );
+ mea->setOffset( daeOffsetOf(domAsset::domContributor,elemAuthoring_tool) );
+ mea->setElementType( domAsset::domContributor::domAuthoring_tool::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "comments" );
+ mea->setOffset( daeOffsetOf(domAsset::domContributor,elemComments) );
+ mea->setElementType( domAsset::domContributor::domComments::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "copyright" );
+ mea->setOffset( daeOffsetOf(domAsset::domContributor,elemCopyright) );
+ mea->setElementType( domAsset::domContributor::domCopyright::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "source_data" );
+ mea->setOffset( daeOffsetOf(domAsset::domContributor,elemSource_data) );
+ mea->setElementType( domAsset::domContributor::domSource_data::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 4 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domAsset::domContributor));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domContributor::domAuthor::create(DAE& dae)
+{
+ domAsset::domContributor::domAuthorRef ref = new domAsset::domContributor::domAuthor(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domContributor::domAuthor::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "author" );
+ meta->registerClass(domAsset::domContributor::domAuthor::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domAsset::domContributor::domAuthor , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domContributor::domAuthor));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domContributor::domAuthoring_tool::create(DAE& dae)
+{
+ domAsset::domContributor::domAuthoring_toolRef ref = new domAsset::domContributor::domAuthoring_tool(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domContributor::domAuthoring_tool::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "authoring_tool" );
+ meta->registerClass(domAsset::domContributor::domAuthoring_tool::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domAsset::domContributor::domAuthoring_tool , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domContributor::domAuthoring_tool));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domContributor::domComments::create(DAE& dae)
+{
+ domAsset::domContributor::domCommentsRef ref = new domAsset::domContributor::domComments(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domContributor::domComments::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "comments" );
+ meta->registerClass(domAsset::domContributor::domComments::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domAsset::domContributor::domComments , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domContributor::domComments));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domContributor::domCopyright::create(DAE& dae)
+{
+ domAsset::domContributor::domCopyrightRef ref = new domAsset::domContributor::domCopyright(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domContributor::domCopyright::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "copyright" );
+ meta->registerClass(domAsset::domContributor::domCopyright::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domAsset::domContributor::domCopyright , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domContributor::domCopyright));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domContributor::domSource_data::create(DAE& dae)
+{
+ domAsset::domContributor::domSource_dataRef ref = new domAsset::domContributor::domSource_data(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domContributor::domSource_data::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "source_data" );
+ meta->registerClass(domAsset::domContributor::domSource_data::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domAsset::domContributor::domSource_data , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domContributor::domSource_data));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domCreated::create(DAE& dae)
+{
+ domAsset::domCreatedRef ref = new domAsset::domCreated(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domCreated::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "created" );
+ meta->registerClass(domAsset::domCreated::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsDateTime"));
+ ma->setOffset( daeOffsetOf( domAsset::domCreated , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domCreated));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domKeywords::create(DAE& dae)
+{
+ domAsset::domKeywordsRef ref = new domAsset::domKeywords(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domKeywords::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "keywords" );
+ meta->registerClass(domAsset::domKeywords::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domAsset::domKeywords , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domKeywords));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domModified::create(DAE& dae)
+{
+ domAsset::domModifiedRef ref = new domAsset::domModified(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domModified::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "modified" );
+ meta->registerClass(domAsset::domModified::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsDateTime"));
+ ma->setOffset( daeOffsetOf( domAsset::domModified , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domModified));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domRevision::create(DAE& dae)
+{
+ domAsset::domRevisionRef ref = new domAsset::domRevision(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domRevision::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "revision" );
+ meta->registerClass(domAsset::domRevision::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domAsset::domRevision , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domRevision));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domSubject::create(DAE& dae)
+{
+ domAsset::domSubjectRef ref = new domAsset::domSubject(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domSubject::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "subject" );
+ meta->registerClass(domAsset::domSubject::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domAsset::domSubject , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domSubject));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domTitle::create(DAE& dae)
+{
+ domAsset::domTitleRef ref = new domAsset::domTitle(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domTitle::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "title" );
+ meta->registerClass(domAsset::domTitle::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domAsset::domTitle , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domTitle));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domUnit::create(DAE& dae)
+{
+ domAsset::domUnitRef ref = new domAsset::domUnit(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domUnit::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "unit" );
+ meta->registerClass(domAsset::domUnit::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: meter
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "meter" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domAsset::domUnit , attrMeter ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1.0");
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNMTOKEN"));
+ ma->setOffset( daeOffsetOf( domAsset::domUnit , attrName ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "meter");
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domUnit));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domUp_axis::create(DAE& dae)
+{
+ domAsset::domUp_axisRef ref = new domAsset::domUp_axis(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domUp_axis::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "up_axis" );
+ meta->registerClass(domAsset::domUp_axis::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("UpAxisType"));
+ ma->setOffset( daeOffsetOf( domAsset::domUp_axis , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domUp_axis));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domBind_material.cpp b/1.4.0/dom/src/1.4/dom/domBind_material.cpp
new file mode 100644
index 0000000..9d1936b
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domBind_material.cpp
@@ -0,0 +1,116 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domBind_material.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domBind_material::create(DAE& dae)
+{
+ domBind_materialRef ref = new domBind_material(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domBind_material::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bind_material" );
+ meta->registerClass(domBind_material::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domBind_material,elemParam_array) );
+ mea->setElementType( domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "technique_common" );
+ mea->setOffset( daeOffsetOf(domBind_material,elemTechnique_common) );
+ mea->setElementType( domBind_material::domTechnique_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domBind_material,elemTechnique_array) );
+ mea->setElementType( domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domBind_material,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domBind_material));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domBind_material::domTechnique_common::create(DAE& dae)
+{
+ domBind_material::domTechnique_commonRef ref = new domBind_material::domTechnique_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domBind_material::domTechnique_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique_common" );
+ meta->registerClass(domBind_material::domTechnique_common::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "instance_material" );
+ mea->setOffset( daeOffsetOf(domBind_material::domTechnique_common,elemInstance_material_array) );
+ mea->setElementType( domInstance_material::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domBind_material::domTechnique_common));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domBool_array.cpp b/1.4.0/dom/src/1.4/dom/domBool_array.cpp
new file mode 100644
index 0000000..bb35cd9
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domBool_array.cpp
@@ -0,0 +1,90 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domBool_array.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domBool_array::create(DAE& dae)
+{
+ domBool_arrayRef ref = new domBool_array(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domBool_array::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool_array" );
+ meta->registerClass(domBool_array::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("ListOfBools"));
+ ma->setOffset( daeOffsetOf( domBool_array , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domBool_array , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domBool_array , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domBool_array , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domBool_array));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domBox.cpp b/1.4.0/dom/src/1.4/dom/domBox.cpp
new file mode 100644
index 0000000..4a0f68d
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domBox.cpp
@@ -0,0 +1,101 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domBox.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domBox::create(DAE& dae)
+{
+ domBoxRef ref = new domBox(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domBox::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "box" );
+ meta->registerClass(domBox::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half_extents" );
+ mea->setOffset( daeOffsetOf(domBox,elemHalf_extents) );
+ mea->setElementType( domBox::domHalf_extents::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domBox,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domBox));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domBox::domHalf_extents::create(DAE& dae)
+{
+ domBox::domHalf_extentsRef ref = new domBox::domHalf_extents(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domBox::domHalf_extents::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half_extents" );
+ meta->registerClass(domBox::domHalf_extents::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domBox::domHalf_extents , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domBox::domHalf_extents));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domCOLLADA.cpp b/1.4.0/dom/src/1.4/dom/domCOLLADA.cpp
new file mode 100644
index 0000000..95ce285
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domCOLLADA.cpp
@@ -0,0 +1,261 @@
+/*
+ * Copyright 2006 Sony Computer Entertainment Inc.
+ *
+ * Licensed under the MIT Open Source License, for details please see license.txt or the website
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ */
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domCOLLADA.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+namespace ColladaDOM141 {
+extern daeString COLLADA_VERSION;
+extern daeString COLLADA_NAMESPACE;
+
+daeElementRef
+domCOLLADA::create(DAE& dae)
+{
+ domCOLLADARef ref = new domCOLLADA(dae);
+ ref->_meta = dae.getMeta(domCOLLADA::ID());
+ ref->setAttribute("version", COLLADA_VERSION );
+ ref->setAttribute("xmlns", COLLADA_NAMESPACE );
+ ref->_meta = NULL;
+ return ref;
+}
+
+
+daeMetaElement *
+domCOLLADA::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "COLLADA" );
+ meta->registerClass(domCOLLADA::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_animations" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_animations_array) );
+ mea->setElementType( domLibrary_animations::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_animation_clips" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_animation_clips_array) );
+ mea->setElementType( domLibrary_animation_clips::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_cameras" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_cameras_array) );
+ mea->setElementType( domLibrary_cameras::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_controllers" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_controllers_array) );
+ mea->setElementType( domLibrary_controllers::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_geometries" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_geometries_array) );
+ mea->setElementType( domLibrary_geometries::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_effects" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_effects_array) );
+ mea->setElementType( domLibrary_effects::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_force_fields" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_force_fields_array) );
+ mea->setElementType( domLibrary_force_fields::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_images" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_images_array) );
+ mea->setElementType( domLibrary_images::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_lights" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_lights_array) );
+ mea->setElementType( domLibrary_lights::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_materials" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_materials_array) );
+ mea->setElementType( domLibrary_materials::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_nodes" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_nodes_array) );
+ mea->setElementType( domLibrary_nodes::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_physics_materials" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_physics_materials_array) );
+ mea->setElementType( domLibrary_physics_materials::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_physics_models" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_physics_models_array) );
+ mea->setElementType( domLibrary_physics_models::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_physics_scenes" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_physics_scenes_array) );
+ mea->setElementType( domLibrary_physics_scenes::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_visual_scenes" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_visual_scenes_array) );
+ mea->setElementType( domLibrary_visual_scenes::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementAttribute( meta, cm, 3002, 0, 1 );
+ mea->setName( "scene" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemScene) );
+ mea->setElementType( domCOLLADA::domScene::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3003, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3003 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domCOLLADA,_contents));
+ meta->addContentsOrder(daeOffsetOf(domCOLLADA,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domCOLLADA,_CMData), 1); // Add attribute: xmlns
+ {
+ daeMetaAttribute* ma = new daeMetaAttribute;
+ ma->setName( "xmlns" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domCOLLADA, attrXmlns ));
+ ma->setContainer( meta );
+ //ma->setIsRequired( true );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: version
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "version" );
+ ma->setType( dae.getAtomicTypes().get("VersionType"));
+ ma->setOffset( daeOffsetOf( domCOLLADA, attrVersion ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: xml_base
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "xml_base" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domCOLLADA, attrXml_base ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCOLLADA));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCOLLADA::domScene::create(DAE& dae)
+{
+ domCOLLADA::domSceneRef ref = new domCOLLADA::domScene(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCOLLADA::domScene::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "scene" );
+ meta->registerClass(domCOLLADA::domScene::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "instance_physics_scene" );
+ mea->setOffset( daeOffsetOf(domCOLLADA::domScene,elemInstance_physics_scene_array) );
+ mea->setElementType( domInstanceWithExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "instance_visual_scene" );
+ mea->setOffset( daeOffsetOf(domCOLLADA::domScene,elemInstance_visual_scene) );
+ mea->setElementType( domInstanceWithExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domCOLLADA::domScene,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domCOLLADA::domScene));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domCamera.cpp b/1.4.0/dom/src/1.4/dom/domCamera.cpp
new file mode 100644
index 0000000..fc2d3b0
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domCamera.cpp
@@ -0,0 +1,450 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domCamera.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domCamera::create(DAE& dae)
+{
+ domCameraRef ref = new domCamera(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCamera::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "camera" );
+ meta->registerClass(domCamera::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domCamera,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "optics" );
+ mea->setOffset( daeOffsetOf(domCamera,elemOptics) );
+ mea->setElementType( domCamera::domOptics::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "imager" );
+ mea->setOffset( daeOffsetOf(domCamera,elemImager) );
+ mea->setElementType( domCamera::domImager::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domCamera,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domCamera , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domCamera , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCamera));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCamera::domOptics::create(DAE& dae)
+{
+ domCamera::domOpticsRef ref = new domCamera::domOptics(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCamera::domOptics::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "optics" );
+ meta->registerClass(domCamera::domOptics::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "technique_common" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics,elemTechnique_common) );
+ mea->setElementType( domCamera::domOptics::domTechnique_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics,elemTechnique_array) );
+ mea->setElementType( domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domCamera::domOptics));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCamera::domOptics::domTechnique_common::create(DAE& dae)
+{
+ domCamera::domOptics::domTechnique_commonRef ref = new domCamera::domOptics::domTechnique_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCamera::domOptics::domTechnique_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique_common" );
+ meta->registerClass(domCamera::domOptics::domTechnique_common::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "orthographic" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common,elemOrthographic) );
+ mea->setElementType( domCamera::domOptics::domTechnique_common::domOrthographic::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "perspective" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common,elemPerspective) );
+ mea->setElementType( domCamera::domOptics::domTechnique_common::domPerspective::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domCamera::domOptics::domTechnique_common,_contents));
+ meta->addContentsOrder(daeOffsetOf(domCamera::domOptics::domTechnique_common,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domCamera::domOptics::domTechnique_common,_CMData), 1);
+ meta->setElementSize(sizeof(domCamera::domOptics::domTechnique_common));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCamera::domOptics::domTechnique_common::domOrthographic::create(DAE& dae)
+{
+ domCamera::domOptics::domTechnique_common::domOrthographicRef ref = new domCamera::domOptics::domTechnique_common::domOrthographic(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCamera::domOptics::domTechnique_common::domOrthographic::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "orthographic" );
+ meta->registerClass(domCamera::domOptics::domTechnique_common::domOrthographic::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "xmag" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domOrthographic,elemXmag) );
+ mea->setElementType( domTargetableFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 1, 1, 0, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "ymag" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domOrthographic,elemYmag) );
+ mea->setElementType( domTargetableFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "aspect_ratio" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domOrthographic,elemAspect_ratio) );
+ mea->setElementType( domTargetableFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 1 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm = new daeMetaSequence( meta, cm, 2, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "ymag" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domOrthographic,elemYmag) );
+ mea->setElementType( domTargetableFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "aspect_ratio" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domOrthographic,elemAspect_ratio) );
+ mea->setElementType( domTargetableFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 3 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "znear" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domOrthographic,elemZnear) );
+ mea->setElementType( domTargetableFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "zfar" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domOrthographic,elemZfar) );
+ mea->setElementType( domTargetableFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domCamera::domOptics::domTechnique_common::domOrthographic,_contents));
+ meta->addContentsOrder(daeOffsetOf(domCamera::domOptics::domTechnique_common::domOrthographic,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domCamera::domOptics::domTechnique_common::domOrthographic,_CMData), 2);
+ meta->setElementSize(sizeof(domCamera::domOptics::domTechnique_common::domOrthographic));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCamera::domOptics::domTechnique_common::domPerspective::create(DAE& dae)
+{
+ domCamera::domOptics::domTechnique_common::domPerspectiveRef ref = new domCamera::domOptics::domTechnique_common::domPerspective(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCamera::domOptics::domTechnique_common::domPerspective::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "perspective" );
+ meta->registerClass(domCamera::domOptics::domTechnique_common::domPerspective::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "xfov" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domPerspective,elemXfov) );
+ mea->setElementType( domTargetableFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 1, 1, 0, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "yfov" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domPerspective,elemYfov) );
+ mea->setElementType( domTargetableFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "aspect_ratio" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domPerspective,elemAspect_ratio) );
+ mea->setElementType( domTargetableFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 1 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "yfov" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domPerspective,elemYfov) );
+ mea->setElementType( domTargetableFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "aspect_ratio" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domPerspective,elemAspect_ratio) );
+ mea->setElementType( domTargetableFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 3 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "znear" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domPerspective,elemZnear) );
+ mea->setElementType( domTargetableFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "zfar" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domPerspective,elemZfar) );
+ mea->setElementType( domTargetableFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domCamera::domOptics::domTechnique_common::domPerspective,_contents));
+ meta->addContentsOrder(daeOffsetOf(domCamera::domOptics::domTechnique_common::domPerspective,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domCamera::domOptics::domTechnique_common::domPerspective,_CMData), 2);
+ meta->setElementSize(sizeof(domCamera::domOptics::domTechnique_common::domPerspective));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCamera::domImager::create(DAE& dae)
+{
+ domCamera::domImagerRef ref = new domCamera::domImager(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCamera::domImager::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "imager" );
+ meta->registerClass(domCamera::domImager::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domCamera::domImager,elemTechnique_array) );
+ mea->setElementType( domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domCamera::domImager,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domCamera::domImager));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domCapsule.cpp b/1.4.0/dom/src/1.4/dom/domCapsule.cpp
new file mode 100644
index 0000000..b7bd465
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domCapsule.cpp
@@ -0,0 +1,143 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domCapsule.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domCapsule::create(DAE& dae)
+{
+ domCapsuleRef ref = new domCapsule(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCapsule::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "capsule" );
+ meta->registerClass(domCapsule::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "height" );
+ mea->setOffset( daeOffsetOf(domCapsule,elemHeight) );
+ mea->setElementType( domCapsule::domHeight::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "radius" );
+ mea->setOffset( daeOffsetOf(domCapsule,elemRadius) );
+ mea->setElementType( domCapsule::domRadius::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domCapsule,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domCapsule));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCapsule::domHeight::create(DAE& dae)
+{
+ domCapsule::domHeightRef ref = new domCapsule::domHeight(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCapsule::domHeight::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "height" );
+ meta->registerClass(domCapsule::domHeight::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domCapsule::domHeight , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCapsule::domHeight));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCapsule::domRadius::create(DAE& dae)
+{
+ domCapsule::domRadiusRef ref = new domCapsule::domRadius(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCapsule::domRadius::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "radius" );
+ meta->registerClass(domCapsule::domRadius::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domCapsule::domRadius , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCapsule::domRadius));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domCg_connect_param.cpp b/1.4.0/dom/src/1.4/dom/domCg_connect_param.cpp
new file mode 100644
index 0000000..dfcb875
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domCg_connect_param.cpp
@@ -0,0 +1,59 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domCg_connect_param.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domCg_connect_param::create(DAE& dae)
+{
+ domCg_connect_paramRef ref = new domCg_connect_param(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_connect_param::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cg_connect_param" );
+ meta->registerClass(domCg_connect_param::create);
+
+
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("Cg_identifier"));
+ ma->setOffset( daeOffsetOf( domCg_connect_param , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_connect_param));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domCg_newarray_type.cpp b/1.4.0/dom/src/1.4/dom/domCg_newarray_type.cpp
new file mode 100644
index 0000000..ce2241e
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domCg_newarray_type.cpp
@@ -0,0 +1,93 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domCg_newarray_type.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domCg_newarray_type::create(DAE& dae)
+{
+ domCg_newarray_typeRef ref = new domCg_newarray_type(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_newarray_type::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cg_newarray_type" );
+ meta->registerClass(domCg_newarray_type::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "cg_param_type" );
+ mea->setOffset( daeOffsetOf(domCg_newarray_type,elemCg_param_type_array) );
+ mea->setElementType( domCg_param_type::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 1, 1 ) );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "array" );
+ mea->setOffset( daeOffsetOf(domCg_newarray_type,elemArray_array) );
+ mea->setElementType( domCg_newarray_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "usertype" );
+ mea->setOffset( daeOffsetOf(domCg_newarray_type,elemUsertype_array) );
+ mea->setElementType( domCg_setuser_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "connect_param" );
+ mea->setOffset( daeOffsetOf(domCg_newarray_type,elemConnect_param_array) );
+ mea->setElementType( domCg_connect_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3000 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domCg_newarray_type,_contents));
+ meta->addContentsOrder(daeOffsetOf(domCg_newarray_type,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domCg_newarray_type,_CMData), 1);
+ // Add attribute: length
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "length" );
+ ma->setType( dae.getAtomicTypes().get("xsPositiveInteger"));
+ ma->setOffset( daeOffsetOf( domCg_newarray_type , attrLength ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_newarray_type));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domCg_newparam.cpp b/1.4.0/dom/src/1.4/dom/domCg_newparam.cpp
new file mode 100644
index 0000000..7dc5335
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domCg_newparam.cpp
@@ -0,0 +1,183 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domCg_newparam.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domCg_newparam::create(DAE& dae)
+{
+ domCg_newparamRef ref = new domCg_newparam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_newparam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cg_newparam" );
+ meta->registerClass(domCg_newparam::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domCg_newparam,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "semantic" );
+ mea->setOffset( daeOffsetOf(domCg_newparam,elemSemantic) );
+ mea->setElementType( domCg_newparam::domSemantic::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "modifier" );
+ mea->setOffset( daeOffsetOf(domCg_newparam,elemModifier) );
+ mea->setElementType( domCg_newparam::domModifier::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 3, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "cg_param_type" );
+ mea->setOffset( daeOffsetOf(domCg_newparam,elemCg_param_type) );
+ mea->setElementType( domCg_param_type::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 1, 1 ) );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "usertype" );
+ mea->setOffset( daeOffsetOf(domCg_newparam,elemUsertype) );
+ mea->setElementType( domCg_setuser_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "array" );
+ mea->setOffset( daeOffsetOf(domCg_newparam,elemArray) );
+ mea->setElementType( domCg_newarray_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domCg_newparam,_contents));
+ meta->addContentsOrder(daeOffsetOf(domCg_newparam,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domCg_newparam,_CMData), 1);
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Cg_identifier"));
+ ma->setOffset( daeOffsetOf( domCg_newparam , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_newparam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_newparam::domSemantic::create(DAE& dae)
+{
+ domCg_newparam::domSemanticRef ref = new domCg_newparam::domSemantic(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_newparam::domSemantic::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "semantic" );
+ meta->registerClass(domCg_newparam::domSemantic::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domCg_newparam::domSemantic , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_newparam::domSemantic));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_newparam::domModifier::create(DAE& dae)
+{
+ domCg_newparam::domModifierRef ref = new domCg_newparam::domModifier(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_newparam::domModifier::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "modifier" );
+ meta->registerClass(domCg_newparam::domModifier::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_modifier_enum_common"));
+ ma->setOffset( daeOffsetOf( domCg_newparam::domModifier , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_newparam::domModifier));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domCg_param_type.cpp b/1.4.0/dom/src/1.4/dom/domCg_param_type.cpp
new file mode 100644
index 0000000..5a36e00
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domCg_param_type.cpp
@@ -0,0 +1,4594 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domCg_param_type.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domCg_param_type::create(DAE& dae)
+{
+ domCg_param_typeRef ref = new domCg_param_type(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cg_param_type" );
+ meta->registerClass(domCg_param_type::create);
+
+ meta->setIsTransparent( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemBool) );
+ mea->setElementType( domCg_param_type::domBool::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool1" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemBool1) );
+ mea->setElementType( domCg_param_type::domBool1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool2" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemBool2) );
+ mea->setElementType( domCg_param_type::domBool2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool3" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemBool3) );
+ mea->setElementType( domCg_param_type::domBool3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool4" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemBool4) );
+ mea->setElementType( domCg_param_type::domBool4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool1x1" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemBool1x1) );
+ mea->setElementType( domCg_param_type::domBool1x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool1x2" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemBool1x2) );
+ mea->setElementType( domCg_param_type::domBool1x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool1x3" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemBool1x3) );
+ mea->setElementType( domCg_param_type::domBool1x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool1x4" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemBool1x4) );
+ mea->setElementType( domCg_param_type::domBool1x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool2x1" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemBool2x1) );
+ mea->setElementType( domCg_param_type::domBool2x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool2x2" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemBool2x2) );
+ mea->setElementType( domCg_param_type::domBool2x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool2x3" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemBool2x3) );
+ mea->setElementType( domCg_param_type::domBool2x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool2x4" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemBool2x4) );
+ mea->setElementType( domCg_param_type::domBool2x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool3x1" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemBool3x1) );
+ mea->setElementType( domCg_param_type::domBool3x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool3x2" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemBool3x2) );
+ mea->setElementType( domCg_param_type::domBool3x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool3x3" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemBool3x3) );
+ mea->setElementType( domCg_param_type::domBool3x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool3x4" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemBool3x4) );
+ mea->setElementType( domCg_param_type::domBool3x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool4x1" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemBool4x1) );
+ mea->setElementType( domCg_param_type::domBool4x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool4x2" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemBool4x2) );
+ mea->setElementType( domCg_param_type::domBool4x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool4x3" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemBool4x3) );
+ mea->setElementType( domCg_param_type::domBool4x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool4x4" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemBool4x4) );
+ mea->setElementType( domCg_param_type::domBool4x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemFloat) );
+ mea->setElementType( domCg_param_type::domFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float1" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemFloat1) );
+ mea->setElementType( domCg_param_type::domFloat1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemFloat2) );
+ mea->setElementType( domCg_param_type::domFloat2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemFloat3) );
+ mea->setElementType( domCg_param_type::domFloat3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemFloat4) );
+ mea->setElementType( domCg_param_type::domFloat4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float1x1" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemFloat1x1) );
+ mea->setElementType( domCg_param_type::domFloat1x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float1x2" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemFloat1x2) );
+ mea->setElementType( domCg_param_type::domFloat1x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float1x3" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemFloat1x3) );
+ mea->setElementType( domCg_param_type::domFloat1x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float1x4" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemFloat1x4) );
+ mea->setElementType( domCg_param_type::domFloat1x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x1" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemFloat2x1) );
+ mea->setElementType( domCg_param_type::domFloat2x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x2" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemFloat2x2) );
+ mea->setElementType( domCg_param_type::domFloat2x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x3" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemFloat2x3) );
+ mea->setElementType( domCg_param_type::domFloat2x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x4" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemFloat2x4) );
+ mea->setElementType( domCg_param_type::domFloat2x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x1" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemFloat3x1) );
+ mea->setElementType( domCg_param_type::domFloat3x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x2" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemFloat3x2) );
+ mea->setElementType( domCg_param_type::domFloat3x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x3" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemFloat3x3) );
+ mea->setElementType( domCg_param_type::domFloat3x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x4" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemFloat3x4) );
+ mea->setElementType( domCg_param_type::domFloat3x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x1" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemFloat4x1) );
+ mea->setElementType( domCg_param_type::domFloat4x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x2" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemFloat4x2) );
+ mea->setElementType( domCg_param_type::domFloat4x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x3" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemFloat4x3) );
+ mea->setElementType( domCg_param_type::domFloat4x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x4" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemFloat4x4) );
+ mea->setElementType( domCg_param_type::domFloat4x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemInt) );
+ mea->setElementType( domCg_param_type::domInt::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int1" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemInt1) );
+ mea->setElementType( domCg_param_type::domInt1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int2" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemInt2) );
+ mea->setElementType( domCg_param_type::domInt2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int3" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemInt3) );
+ mea->setElementType( domCg_param_type::domInt3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int4" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemInt4) );
+ mea->setElementType( domCg_param_type::domInt4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int1x1" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemInt1x1) );
+ mea->setElementType( domCg_param_type::domInt1x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int1x2" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemInt1x2) );
+ mea->setElementType( domCg_param_type::domInt1x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int1x3" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemInt1x3) );
+ mea->setElementType( domCg_param_type::domInt1x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int1x4" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemInt1x4) );
+ mea->setElementType( domCg_param_type::domInt1x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int2x1" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemInt2x1) );
+ mea->setElementType( domCg_param_type::domInt2x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int2x2" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemInt2x2) );
+ mea->setElementType( domCg_param_type::domInt2x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int2x3" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemInt2x3) );
+ mea->setElementType( domCg_param_type::domInt2x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int2x4" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemInt2x4) );
+ mea->setElementType( domCg_param_type::domInt2x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int3x1" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemInt3x1) );
+ mea->setElementType( domCg_param_type::domInt3x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int3x2" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemInt3x2) );
+ mea->setElementType( domCg_param_type::domInt3x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int3x3" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemInt3x3) );
+ mea->setElementType( domCg_param_type::domInt3x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int3x4" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemInt3x4) );
+ mea->setElementType( domCg_param_type::domInt3x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int4x1" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemInt4x1) );
+ mea->setElementType( domCg_param_type::domInt4x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int4x2" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemInt4x2) );
+ mea->setElementType( domCg_param_type::domInt4x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int4x3" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemInt4x3) );
+ mea->setElementType( domCg_param_type::domInt4x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int4x4" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemInt4x4) );
+ mea->setElementType( domCg_param_type::domInt4x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemHalf) );
+ mea->setElementType( domCg_param_type::domHalf::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half1" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemHalf1) );
+ mea->setElementType( domCg_param_type::domHalf1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half2" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemHalf2) );
+ mea->setElementType( domCg_param_type::domHalf2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half3" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemHalf3) );
+ mea->setElementType( domCg_param_type::domHalf3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half4" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemHalf4) );
+ mea->setElementType( domCg_param_type::domHalf4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half1x1" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemHalf1x1) );
+ mea->setElementType( domCg_param_type::domHalf1x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half1x2" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemHalf1x2) );
+ mea->setElementType( domCg_param_type::domHalf1x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half1x3" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemHalf1x3) );
+ mea->setElementType( domCg_param_type::domHalf1x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half1x4" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemHalf1x4) );
+ mea->setElementType( domCg_param_type::domHalf1x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half2x1" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemHalf2x1) );
+ mea->setElementType( domCg_param_type::domHalf2x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half2x2" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemHalf2x2) );
+ mea->setElementType( domCg_param_type::domHalf2x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half2x3" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemHalf2x3) );
+ mea->setElementType( domCg_param_type::domHalf2x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half2x4" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemHalf2x4) );
+ mea->setElementType( domCg_param_type::domHalf2x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half3x1" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemHalf3x1) );
+ mea->setElementType( domCg_param_type::domHalf3x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half3x2" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemHalf3x2) );
+ mea->setElementType( domCg_param_type::domHalf3x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half3x3" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemHalf3x3) );
+ mea->setElementType( domCg_param_type::domHalf3x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half3x4" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemHalf3x4) );
+ mea->setElementType( domCg_param_type::domHalf3x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half4x1" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemHalf4x1) );
+ mea->setElementType( domCg_param_type::domHalf4x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half4x2" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemHalf4x2) );
+ mea->setElementType( domCg_param_type::domHalf4x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half4x3" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemHalf4x3) );
+ mea->setElementType( domCg_param_type::domHalf4x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half4x4" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemHalf4x4) );
+ mea->setElementType( domCg_param_type::domHalf4x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemFixed) );
+ mea->setElementType( domCg_param_type::domFixed::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed1" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemFixed1) );
+ mea->setElementType( domCg_param_type::domFixed1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed2" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemFixed2) );
+ mea->setElementType( domCg_param_type::domFixed2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed3" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemFixed3) );
+ mea->setElementType( domCg_param_type::domFixed3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed4" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemFixed4) );
+ mea->setElementType( domCg_param_type::domFixed4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed1x1" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemFixed1x1) );
+ mea->setElementType( domCg_param_type::domFixed1x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed1x2" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemFixed1x2) );
+ mea->setElementType( domCg_param_type::domFixed1x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed1x3" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemFixed1x3) );
+ mea->setElementType( domCg_param_type::domFixed1x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed1x4" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemFixed1x4) );
+ mea->setElementType( domCg_param_type::domFixed1x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed2x1" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemFixed2x1) );
+ mea->setElementType( domCg_param_type::domFixed2x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed2x2" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemFixed2x2) );
+ mea->setElementType( domCg_param_type::domFixed2x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed2x3" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemFixed2x3) );
+ mea->setElementType( domCg_param_type::domFixed2x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed2x4" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemFixed2x4) );
+ mea->setElementType( domCg_param_type::domFixed2x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed3x1" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemFixed3x1) );
+ mea->setElementType( domCg_param_type::domFixed3x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed3x2" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemFixed3x2) );
+ mea->setElementType( domCg_param_type::domFixed3x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed3x3" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemFixed3x3) );
+ mea->setElementType( domCg_param_type::domFixed3x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed3x4" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemFixed3x4) );
+ mea->setElementType( domCg_param_type::domFixed3x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed4x1" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemFixed4x1) );
+ mea->setElementType( domCg_param_type::domFixed4x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed4x2" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemFixed4x2) );
+ mea->setElementType( domCg_param_type::domFixed4x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed4x3" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemFixed4x3) );
+ mea->setElementType( domCg_param_type::domFixed4x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed4x4" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemFixed4x4) );
+ mea->setElementType( domCg_param_type::domFixed4x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "surface" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemSurface) );
+ mea->setElementType( domCg_surface_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sampler1D" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemSampler1D) );
+ mea->setElementType( domCg_sampler1D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sampler2D" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemSampler2D) );
+ mea->setElementType( domCg_sampler2D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sampler3D" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemSampler3D) );
+ mea->setElementType( domCg_sampler3D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "samplerRECT" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemSamplerRECT) );
+ mea->setElementType( domCg_samplerRECT::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "samplerCUBE" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemSamplerCUBE) );
+ mea->setElementType( domCg_samplerCUBE::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "samplerDEPTH" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemSamplerDEPTH) );
+ mea->setElementType( domCg_samplerDEPTH::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "string" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemString) );
+ mea->setElementType( domCg_param_type::domString::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "enum" );
+ mea->setOffset( daeOffsetOf(domCg_param_type,elemEnum) );
+ mea->setElementType( domCg_param_type::domEnum::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domCg_param_type,_contents));
+ meta->addContentsOrder(daeOffsetOf(domCg_param_type,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domCg_param_type,_CMData), 1);
+ meta->setElementSize(sizeof(domCg_param_type));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domBool::create(DAE& dae)
+{
+ domCg_param_type::domBoolRef ref = new domCg_param_type::domBool(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domBool::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool" );
+ meta->registerClass(domCg_param_type::domBool::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_bool"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domBool , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domBool));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domBool1::create(DAE& dae)
+{
+ domCg_param_type::domBool1Ref ref = new domCg_param_type::domBool1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domBool1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool1" );
+ meta->registerClass(domCg_param_type::domBool1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_bool1"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domBool1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domBool1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domBool2::create(DAE& dae)
+{
+ domCg_param_type::domBool2Ref ref = new domCg_param_type::domBool2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domBool2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool2" );
+ meta->registerClass(domCg_param_type::domBool2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_bool2"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domBool2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domBool2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domBool3::create(DAE& dae)
+{
+ domCg_param_type::domBool3Ref ref = new domCg_param_type::domBool3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domBool3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool3" );
+ meta->registerClass(domCg_param_type::domBool3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_bool3"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domBool3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domBool3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domBool4::create(DAE& dae)
+{
+ domCg_param_type::domBool4Ref ref = new domCg_param_type::domBool4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domBool4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool4" );
+ meta->registerClass(domCg_param_type::domBool4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_bool4"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domBool4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domBool4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domBool1x1::create(DAE& dae)
+{
+ domCg_param_type::domBool1x1Ref ref = new domCg_param_type::domBool1x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domBool1x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool1x1" );
+ meta->registerClass(domCg_param_type::domBool1x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_bool1x1"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domBool1x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domBool1x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domBool1x2::create(DAE& dae)
+{
+ domCg_param_type::domBool1x2Ref ref = new domCg_param_type::domBool1x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domBool1x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool1x2" );
+ meta->registerClass(domCg_param_type::domBool1x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_bool1x2"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domBool1x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domBool1x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domBool1x3::create(DAE& dae)
+{
+ domCg_param_type::domBool1x3Ref ref = new domCg_param_type::domBool1x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domBool1x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool1x3" );
+ meta->registerClass(domCg_param_type::domBool1x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_bool1x3"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domBool1x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domBool1x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domBool1x4::create(DAE& dae)
+{
+ domCg_param_type::domBool1x4Ref ref = new domCg_param_type::domBool1x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domBool1x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool1x4" );
+ meta->registerClass(domCg_param_type::domBool1x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_bool1x4"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domBool1x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domBool1x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domBool2x1::create(DAE& dae)
+{
+ domCg_param_type::domBool2x1Ref ref = new domCg_param_type::domBool2x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domBool2x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool2x1" );
+ meta->registerClass(domCg_param_type::domBool2x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_bool2x1"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domBool2x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domBool2x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domBool2x2::create(DAE& dae)
+{
+ domCg_param_type::domBool2x2Ref ref = new domCg_param_type::domBool2x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domBool2x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool2x2" );
+ meta->registerClass(domCg_param_type::domBool2x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_bool2x2"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domBool2x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domBool2x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domBool2x3::create(DAE& dae)
+{
+ domCg_param_type::domBool2x3Ref ref = new domCg_param_type::domBool2x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domBool2x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool2x3" );
+ meta->registerClass(domCg_param_type::domBool2x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_bool2x3"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domBool2x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domBool2x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domBool2x4::create(DAE& dae)
+{
+ domCg_param_type::domBool2x4Ref ref = new domCg_param_type::domBool2x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domBool2x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool2x4" );
+ meta->registerClass(domCg_param_type::domBool2x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_bool2x4"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domBool2x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domBool2x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domBool3x1::create(DAE& dae)
+{
+ domCg_param_type::domBool3x1Ref ref = new domCg_param_type::domBool3x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domBool3x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool3x1" );
+ meta->registerClass(domCg_param_type::domBool3x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_bool3x1"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domBool3x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domBool3x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domBool3x2::create(DAE& dae)
+{
+ domCg_param_type::domBool3x2Ref ref = new domCg_param_type::domBool3x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domBool3x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool3x2" );
+ meta->registerClass(domCg_param_type::domBool3x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_bool3x2"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domBool3x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domBool3x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domBool3x3::create(DAE& dae)
+{
+ domCg_param_type::domBool3x3Ref ref = new domCg_param_type::domBool3x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domBool3x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool3x3" );
+ meta->registerClass(domCg_param_type::domBool3x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_bool3x3"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domBool3x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domBool3x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domBool3x4::create(DAE& dae)
+{
+ domCg_param_type::domBool3x4Ref ref = new domCg_param_type::domBool3x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domBool3x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool3x4" );
+ meta->registerClass(domCg_param_type::domBool3x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_bool3x4"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domBool3x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domBool3x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domBool4x1::create(DAE& dae)
+{
+ domCg_param_type::domBool4x1Ref ref = new domCg_param_type::domBool4x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domBool4x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool4x1" );
+ meta->registerClass(domCg_param_type::domBool4x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_bool4x1"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domBool4x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domBool4x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domBool4x2::create(DAE& dae)
+{
+ domCg_param_type::domBool4x2Ref ref = new domCg_param_type::domBool4x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domBool4x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool4x2" );
+ meta->registerClass(domCg_param_type::domBool4x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_bool4x2"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domBool4x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domBool4x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domBool4x3::create(DAE& dae)
+{
+ domCg_param_type::domBool4x3Ref ref = new domCg_param_type::domBool4x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domBool4x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool4x3" );
+ meta->registerClass(domCg_param_type::domBool4x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_bool4x3"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domBool4x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domBool4x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domBool4x4::create(DAE& dae)
+{
+ domCg_param_type::domBool4x4Ref ref = new domCg_param_type::domBool4x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domBool4x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool4x4" );
+ meta->registerClass(domCg_param_type::domBool4x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_bool4x4"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domBool4x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domBool4x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domFloat::create(DAE& dae)
+{
+ domCg_param_type::domFloatRef ref = new domCg_param_type::domFloat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domFloat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float" );
+ meta->registerClass(domCg_param_type::domFloat::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_float"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domFloat , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domFloat));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domFloat1::create(DAE& dae)
+{
+ domCg_param_type::domFloat1Ref ref = new domCg_param_type::domFloat1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domFloat1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float1" );
+ meta->registerClass(domCg_param_type::domFloat1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_float1"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domFloat1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domFloat1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domFloat2::create(DAE& dae)
+{
+ domCg_param_type::domFloat2Ref ref = new domCg_param_type::domFloat2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domFloat2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2" );
+ meta->registerClass(domCg_param_type::domFloat2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_float2"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domFloat2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domFloat2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domFloat3::create(DAE& dae)
+{
+ domCg_param_type::domFloat3Ref ref = new domCg_param_type::domFloat3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domFloat3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3" );
+ meta->registerClass(domCg_param_type::domFloat3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_float3"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domFloat3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domFloat3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domFloat4::create(DAE& dae)
+{
+ domCg_param_type::domFloat4Ref ref = new domCg_param_type::domFloat4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domFloat4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4" );
+ meta->registerClass(domCg_param_type::domFloat4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_float4"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domFloat4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domFloat4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domFloat1x1::create(DAE& dae)
+{
+ domCg_param_type::domFloat1x1Ref ref = new domCg_param_type::domFloat1x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domFloat1x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float1x1" );
+ meta->registerClass(domCg_param_type::domFloat1x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_float1x1"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domFloat1x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domFloat1x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domFloat1x2::create(DAE& dae)
+{
+ domCg_param_type::domFloat1x2Ref ref = new domCg_param_type::domFloat1x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domFloat1x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float1x2" );
+ meta->registerClass(domCg_param_type::domFloat1x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_float1x2"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domFloat1x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domFloat1x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domFloat1x3::create(DAE& dae)
+{
+ domCg_param_type::domFloat1x3Ref ref = new domCg_param_type::domFloat1x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domFloat1x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float1x3" );
+ meta->registerClass(domCg_param_type::domFloat1x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_float1x3"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domFloat1x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domFloat1x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domFloat1x4::create(DAE& dae)
+{
+ domCg_param_type::domFloat1x4Ref ref = new domCg_param_type::domFloat1x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domFloat1x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float1x4" );
+ meta->registerClass(domCg_param_type::domFloat1x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_float1x4"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domFloat1x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domFloat1x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domFloat2x1::create(DAE& dae)
+{
+ domCg_param_type::domFloat2x1Ref ref = new domCg_param_type::domFloat2x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domFloat2x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x1" );
+ meta->registerClass(domCg_param_type::domFloat2x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_float2x1"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domFloat2x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domFloat2x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domFloat2x2::create(DAE& dae)
+{
+ domCg_param_type::domFloat2x2Ref ref = new domCg_param_type::domFloat2x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domFloat2x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x2" );
+ meta->registerClass(domCg_param_type::domFloat2x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_float2x2"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domFloat2x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domFloat2x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domFloat2x3::create(DAE& dae)
+{
+ domCg_param_type::domFloat2x3Ref ref = new domCg_param_type::domFloat2x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domFloat2x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x3" );
+ meta->registerClass(domCg_param_type::domFloat2x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_float2x3"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domFloat2x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domFloat2x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domFloat2x4::create(DAE& dae)
+{
+ domCg_param_type::domFloat2x4Ref ref = new domCg_param_type::domFloat2x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domFloat2x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x4" );
+ meta->registerClass(domCg_param_type::domFloat2x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_float2x4"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domFloat2x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domFloat2x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domFloat3x1::create(DAE& dae)
+{
+ domCg_param_type::domFloat3x1Ref ref = new domCg_param_type::domFloat3x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domFloat3x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x1" );
+ meta->registerClass(domCg_param_type::domFloat3x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_float3x1"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domFloat3x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domFloat3x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domFloat3x2::create(DAE& dae)
+{
+ domCg_param_type::domFloat3x2Ref ref = new domCg_param_type::domFloat3x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domFloat3x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x2" );
+ meta->registerClass(domCg_param_type::domFloat3x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_float3x2"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domFloat3x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domFloat3x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domFloat3x3::create(DAE& dae)
+{
+ domCg_param_type::domFloat3x3Ref ref = new domCg_param_type::domFloat3x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domFloat3x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x3" );
+ meta->registerClass(domCg_param_type::domFloat3x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_float3x3"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domFloat3x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domFloat3x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domFloat3x4::create(DAE& dae)
+{
+ domCg_param_type::domFloat3x4Ref ref = new domCg_param_type::domFloat3x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domFloat3x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x4" );
+ meta->registerClass(domCg_param_type::domFloat3x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_float3x4"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domFloat3x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domFloat3x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domFloat4x1::create(DAE& dae)
+{
+ domCg_param_type::domFloat4x1Ref ref = new domCg_param_type::domFloat4x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domFloat4x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x1" );
+ meta->registerClass(domCg_param_type::domFloat4x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_float4x1"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domFloat4x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domFloat4x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domFloat4x2::create(DAE& dae)
+{
+ domCg_param_type::domFloat4x2Ref ref = new domCg_param_type::domFloat4x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domFloat4x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x2" );
+ meta->registerClass(domCg_param_type::domFloat4x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_float4x2"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domFloat4x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domFloat4x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domFloat4x3::create(DAE& dae)
+{
+ domCg_param_type::domFloat4x3Ref ref = new domCg_param_type::domFloat4x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domFloat4x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x3" );
+ meta->registerClass(domCg_param_type::domFloat4x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_float4x3"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domFloat4x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domFloat4x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domFloat4x4::create(DAE& dae)
+{
+ domCg_param_type::domFloat4x4Ref ref = new domCg_param_type::domFloat4x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domFloat4x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x4" );
+ meta->registerClass(domCg_param_type::domFloat4x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_float4x4"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domFloat4x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domFloat4x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domInt::create(DAE& dae)
+{
+ domCg_param_type::domIntRef ref = new domCg_param_type::domInt(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domInt::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int" );
+ meta->registerClass(domCg_param_type::domInt::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_int"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domInt , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domInt));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domInt1::create(DAE& dae)
+{
+ domCg_param_type::domInt1Ref ref = new domCg_param_type::domInt1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domInt1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int1" );
+ meta->registerClass(domCg_param_type::domInt1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_int1"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domInt1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domInt1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domInt2::create(DAE& dae)
+{
+ domCg_param_type::domInt2Ref ref = new domCg_param_type::domInt2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domInt2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int2" );
+ meta->registerClass(domCg_param_type::domInt2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_int2"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domInt2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domInt2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domInt3::create(DAE& dae)
+{
+ domCg_param_type::domInt3Ref ref = new domCg_param_type::domInt3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domInt3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int3" );
+ meta->registerClass(domCg_param_type::domInt3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_int3"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domInt3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domInt3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domInt4::create(DAE& dae)
+{
+ domCg_param_type::domInt4Ref ref = new domCg_param_type::domInt4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domInt4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int4" );
+ meta->registerClass(domCg_param_type::domInt4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_int4"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domInt4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domInt4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domInt1x1::create(DAE& dae)
+{
+ domCg_param_type::domInt1x1Ref ref = new domCg_param_type::domInt1x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domInt1x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int1x1" );
+ meta->registerClass(domCg_param_type::domInt1x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_int1x1"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domInt1x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domInt1x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domInt1x2::create(DAE& dae)
+{
+ domCg_param_type::domInt1x2Ref ref = new domCg_param_type::domInt1x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domInt1x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int1x2" );
+ meta->registerClass(domCg_param_type::domInt1x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_int1x2"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domInt1x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domInt1x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domInt1x3::create(DAE& dae)
+{
+ domCg_param_type::domInt1x3Ref ref = new domCg_param_type::domInt1x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domInt1x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int1x3" );
+ meta->registerClass(domCg_param_type::domInt1x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_int1x3"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domInt1x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domInt1x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domInt1x4::create(DAE& dae)
+{
+ domCg_param_type::domInt1x4Ref ref = new domCg_param_type::domInt1x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domInt1x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int1x4" );
+ meta->registerClass(domCg_param_type::domInt1x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_int1x4"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domInt1x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domInt1x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domInt2x1::create(DAE& dae)
+{
+ domCg_param_type::domInt2x1Ref ref = new domCg_param_type::domInt2x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domInt2x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int2x1" );
+ meta->registerClass(domCg_param_type::domInt2x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_int2x1"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domInt2x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domInt2x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domInt2x2::create(DAE& dae)
+{
+ domCg_param_type::domInt2x2Ref ref = new domCg_param_type::domInt2x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domInt2x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int2x2" );
+ meta->registerClass(domCg_param_type::domInt2x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_int2x2"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domInt2x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domInt2x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domInt2x3::create(DAE& dae)
+{
+ domCg_param_type::domInt2x3Ref ref = new domCg_param_type::domInt2x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domInt2x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int2x3" );
+ meta->registerClass(domCg_param_type::domInt2x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_int2x3"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domInt2x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domInt2x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domInt2x4::create(DAE& dae)
+{
+ domCg_param_type::domInt2x4Ref ref = new domCg_param_type::domInt2x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domInt2x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int2x4" );
+ meta->registerClass(domCg_param_type::domInt2x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_int2x4"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domInt2x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domInt2x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domInt3x1::create(DAE& dae)
+{
+ domCg_param_type::domInt3x1Ref ref = new domCg_param_type::domInt3x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domInt3x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int3x1" );
+ meta->registerClass(domCg_param_type::domInt3x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_int3x1"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domInt3x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domInt3x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domInt3x2::create(DAE& dae)
+{
+ domCg_param_type::domInt3x2Ref ref = new domCg_param_type::domInt3x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domInt3x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int3x2" );
+ meta->registerClass(domCg_param_type::domInt3x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_int3x2"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domInt3x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domInt3x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domInt3x3::create(DAE& dae)
+{
+ domCg_param_type::domInt3x3Ref ref = new domCg_param_type::domInt3x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domInt3x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int3x3" );
+ meta->registerClass(domCg_param_type::domInt3x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_int3x3"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domInt3x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domInt3x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domInt3x4::create(DAE& dae)
+{
+ domCg_param_type::domInt3x4Ref ref = new domCg_param_type::domInt3x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domInt3x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int3x4" );
+ meta->registerClass(domCg_param_type::domInt3x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_int3x4"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domInt3x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domInt3x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domInt4x1::create(DAE& dae)
+{
+ domCg_param_type::domInt4x1Ref ref = new domCg_param_type::domInt4x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domInt4x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int4x1" );
+ meta->registerClass(domCg_param_type::domInt4x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_int4x1"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domInt4x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domInt4x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domInt4x2::create(DAE& dae)
+{
+ domCg_param_type::domInt4x2Ref ref = new domCg_param_type::domInt4x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domInt4x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int4x2" );
+ meta->registerClass(domCg_param_type::domInt4x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_int4x2"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domInt4x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domInt4x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domInt4x3::create(DAE& dae)
+{
+ domCg_param_type::domInt4x3Ref ref = new domCg_param_type::domInt4x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domInt4x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int4x3" );
+ meta->registerClass(domCg_param_type::domInt4x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_int4x3"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domInt4x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domInt4x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domInt4x4::create(DAE& dae)
+{
+ domCg_param_type::domInt4x4Ref ref = new domCg_param_type::domInt4x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domInt4x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int4x4" );
+ meta->registerClass(domCg_param_type::domInt4x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_int4x4"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domInt4x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domInt4x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domHalf::create(DAE& dae)
+{
+ domCg_param_type::domHalfRef ref = new domCg_param_type::domHalf(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domHalf::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half" );
+ meta->registerClass(domCg_param_type::domHalf::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_half"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domHalf , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domHalf));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domHalf1::create(DAE& dae)
+{
+ domCg_param_type::domHalf1Ref ref = new domCg_param_type::domHalf1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domHalf1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half1" );
+ meta->registerClass(domCg_param_type::domHalf1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_half1"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domHalf1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domHalf1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domHalf2::create(DAE& dae)
+{
+ domCg_param_type::domHalf2Ref ref = new domCg_param_type::domHalf2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domHalf2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half2" );
+ meta->registerClass(domCg_param_type::domHalf2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_half2"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domHalf2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domHalf2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domHalf3::create(DAE& dae)
+{
+ domCg_param_type::domHalf3Ref ref = new domCg_param_type::domHalf3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domHalf3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half3" );
+ meta->registerClass(domCg_param_type::domHalf3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_half3"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domHalf3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domHalf3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domHalf4::create(DAE& dae)
+{
+ domCg_param_type::domHalf4Ref ref = new domCg_param_type::domHalf4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domHalf4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half4" );
+ meta->registerClass(domCg_param_type::domHalf4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_half4"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domHalf4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domHalf4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domHalf1x1::create(DAE& dae)
+{
+ domCg_param_type::domHalf1x1Ref ref = new domCg_param_type::domHalf1x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domHalf1x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half1x1" );
+ meta->registerClass(domCg_param_type::domHalf1x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_half1x1"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domHalf1x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domHalf1x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domHalf1x2::create(DAE& dae)
+{
+ domCg_param_type::domHalf1x2Ref ref = new domCg_param_type::domHalf1x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domHalf1x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half1x2" );
+ meta->registerClass(domCg_param_type::domHalf1x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_half1x2"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domHalf1x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domHalf1x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domHalf1x3::create(DAE& dae)
+{
+ domCg_param_type::domHalf1x3Ref ref = new domCg_param_type::domHalf1x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domHalf1x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half1x3" );
+ meta->registerClass(domCg_param_type::domHalf1x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_half1x3"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domHalf1x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domHalf1x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domHalf1x4::create(DAE& dae)
+{
+ domCg_param_type::domHalf1x4Ref ref = new domCg_param_type::domHalf1x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domHalf1x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half1x4" );
+ meta->registerClass(domCg_param_type::domHalf1x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_half1x4"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domHalf1x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domHalf1x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domHalf2x1::create(DAE& dae)
+{
+ domCg_param_type::domHalf2x1Ref ref = new domCg_param_type::domHalf2x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domHalf2x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half2x1" );
+ meta->registerClass(domCg_param_type::domHalf2x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_half2x1"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domHalf2x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domHalf2x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domHalf2x2::create(DAE& dae)
+{
+ domCg_param_type::domHalf2x2Ref ref = new domCg_param_type::domHalf2x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domHalf2x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half2x2" );
+ meta->registerClass(domCg_param_type::domHalf2x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_half2x2"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domHalf2x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domHalf2x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domHalf2x3::create(DAE& dae)
+{
+ domCg_param_type::domHalf2x3Ref ref = new domCg_param_type::domHalf2x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domHalf2x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half2x3" );
+ meta->registerClass(domCg_param_type::domHalf2x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_half2x3"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domHalf2x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domHalf2x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domHalf2x4::create(DAE& dae)
+{
+ domCg_param_type::domHalf2x4Ref ref = new domCg_param_type::domHalf2x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domHalf2x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half2x4" );
+ meta->registerClass(domCg_param_type::domHalf2x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_half2x4"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domHalf2x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domHalf2x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domHalf3x1::create(DAE& dae)
+{
+ domCg_param_type::domHalf3x1Ref ref = new domCg_param_type::domHalf3x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domHalf3x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half3x1" );
+ meta->registerClass(domCg_param_type::domHalf3x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_half3x1"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domHalf3x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domHalf3x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domHalf3x2::create(DAE& dae)
+{
+ domCg_param_type::domHalf3x2Ref ref = new domCg_param_type::domHalf3x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domHalf3x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half3x2" );
+ meta->registerClass(domCg_param_type::domHalf3x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_half3x2"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domHalf3x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domHalf3x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domHalf3x3::create(DAE& dae)
+{
+ domCg_param_type::domHalf3x3Ref ref = new domCg_param_type::domHalf3x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domHalf3x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half3x3" );
+ meta->registerClass(domCg_param_type::domHalf3x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_half3x3"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domHalf3x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domHalf3x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domHalf3x4::create(DAE& dae)
+{
+ domCg_param_type::domHalf3x4Ref ref = new domCg_param_type::domHalf3x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domHalf3x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half3x4" );
+ meta->registerClass(domCg_param_type::domHalf3x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_half3x4"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domHalf3x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domHalf3x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domHalf4x1::create(DAE& dae)
+{
+ domCg_param_type::domHalf4x1Ref ref = new domCg_param_type::domHalf4x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domHalf4x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half4x1" );
+ meta->registerClass(domCg_param_type::domHalf4x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_half4x1"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domHalf4x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domHalf4x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domHalf4x2::create(DAE& dae)
+{
+ domCg_param_type::domHalf4x2Ref ref = new domCg_param_type::domHalf4x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domHalf4x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half4x2" );
+ meta->registerClass(domCg_param_type::domHalf4x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_half4x2"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domHalf4x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domHalf4x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domHalf4x3::create(DAE& dae)
+{
+ domCg_param_type::domHalf4x3Ref ref = new domCg_param_type::domHalf4x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domHalf4x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half4x3" );
+ meta->registerClass(domCg_param_type::domHalf4x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_half4x3"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domHalf4x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domHalf4x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domHalf4x4::create(DAE& dae)
+{
+ domCg_param_type::domHalf4x4Ref ref = new domCg_param_type::domHalf4x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domHalf4x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half4x4" );
+ meta->registerClass(domCg_param_type::domHalf4x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_half4x4"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domHalf4x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domHalf4x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domFixed::create(DAE& dae)
+{
+ domCg_param_type::domFixedRef ref = new domCg_param_type::domFixed(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domFixed::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed" );
+ meta->registerClass(domCg_param_type::domFixed::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_fixed"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domFixed , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domFixed));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domFixed1::create(DAE& dae)
+{
+ domCg_param_type::domFixed1Ref ref = new domCg_param_type::domFixed1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domFixed1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed1" );
+ meta->registerClass(domCg_param_type::domFixed1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_fixed1"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domFixed1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domFixed1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domFixed2::create(DAE& dae)
+{
+ domCg_param_type::domFixed2Ref ref = new domCg_param_type::domFixed2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domFixed2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed2" );
+ meta->registerClass(domCg_param_type::domFixed2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_fixed2"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domFixed2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domFixed2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domFixed3::create(DAE& dae)
+{
+ domCg_param_type::domFixed3Ref ref = new domCg_param_type::domFixed3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domFixed3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed3" );
+ meta->registerClass(domCg_param_type::domFixed3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_fixed3"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domFixed3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domFixed3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domFixed4::create(DAE& dae)
+{
+ domCg_param_type::domFixed4Ref ref = new domCg_param_type::domFixed4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domFixed4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed4" );
+ meta->registerClass(domCg_param_type::domFixed4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_fixed4"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domFixed4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domFixed4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domFixed1x1::create(DAE& dae)
+{
+ domCg_param_type::domFixed1x1Ref ref = new domCg_param_type::domFixed1x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domFixed1x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed1x1" );
+ meta->registerClass(domCg_param_type::domFixed1x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_fixed1x1"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domFixed1x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domFixed1x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domFixed1x2::create(DAE& dae)
+{
+ domCg_param_type::domFixed1x2Ref ref = new domCg_param_type::domFixed1x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domFixed1x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed1x2" );
+ meta->registerClass(domCg_param_type::domFixed1x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_fixed1x2"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domFixed1x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domFixed1x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domFixed1x3::create(DAE& dae)
+{
+ domCg_param_type::domFixed1x3Ref ref = new domCg_param_type::domFixed1x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domFixed1x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed1x3" );
+ meta->registerClass(domCg_param_type::domFixed1x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_fixed1x3"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domFixed1x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domFixed1x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domFixed1x4::create(DAE& dae)
+{
+ domCg_param_type::domFixed1x4Ref ref = new domCg_param_type::domFixed1x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domFixed1x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed1x4" );
+ meta->registerClass(domCg_param_type::domFixed1x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_fixed1x4"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domFixed1x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domFixed1x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domFixed2x1::create(DAE& dae)
+{
+ domCg_param_type::domFixed2x1Ref ref = new domCg_param_type::domFixed2x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domFixed2x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed2x1" );
+ meta->registerClass(domCg_param_type::domFixed2x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_fixed2x1"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domFixed2x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domFixed2x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domFixed2x2::create(DAE& dae)
+{
+ domCg_param_type::domFixed2x2Ref ref = new domCg_param_type::domFixed2x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domFixed2x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed2x2" );
+ meta->registerClass(domCg_param_type::domFixed2x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_fixed2x2"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domFixed2x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domFixed2x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domFixed2x3::create(DAE& dae)
+{
+ domCg_param_type::domFixed2x3Ref ref = new domCg_param_type::domFixed2x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domFixed2x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed2x3" );
+ meta->registerClass(domCg_param_type::domFixed2x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_fixed2x3"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domFixed2x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domFixed2x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domFixed2x4::create(DAE& dae)
+{
+ domCg_param_type::domFixed2x4Ref ref = new domCg_param_type::domFixed2x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domFixed2x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed2x4" );
+ meta->registerClass(domCg_param_type::domFixed2x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_fixed2x4"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domFixed2x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domFixed2x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domFixed3x1::create(DAE& dae)
+{
+ domCg_param_type::domFixed3x1Ref ref = new domCg_param_type::domFixed3x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domFixed3x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed3x1" );
+ meta->registerClass(domCg_param_type::domFixed3x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_fixed3x1"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domFixed3x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domFixed3x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domFixed3x2::create(DAE& dae)
+{
+ domCg_param_type::domFixed3x2Ref ref = new domCg_param_type::domFixed3x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domFixed3x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed3x2" );
+ meta->registerClass(domCg_param_type::domFixed3x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_fixed3x2"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domFixed3x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domFixed3x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domFixed3x3::create(DAE& dae)
+{
+ domCg_param_type::domFixed3x3Ref ref = new domCg_param_type::domFixed3x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domFixed3x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed3x3" );
+ meta->registerClass(domCg_param_type::domFixed3x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_fixed3x3"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domFixed3x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domFixed3x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domFixed3x4::create(DAE& dae)
+{
+ domCg_param_type::domFixed3x4Ref ref = new domCg_param_type::domFixed3x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domFixed3x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed3x4" );
+ meta->registerClass(domCg_param_type::domFixed3x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_fixed3x4"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domFixed3x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domFixed3x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domFixed4x1::create(DAE& dae)
+{
+ domCg_param_type::domFixed4x1Ref ref = new domCg_param_type::domFixed4x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domFixed4x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed4x1" );
+ meta->registerClass(domCg_param_type::domFixed4x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_fixed4x1"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domFixed4x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domFixed4x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domFixed4x2::create(DAE& dae)
+{
+ domCg_param_type::domFixed4x2Ref ref = new domCg_param_type::domFixed4x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domFixed4x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed4x2" );
+ meta->registerClass(domCg_param_type::domFixed4x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_fixed4x2"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domFixed4x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domFixed4x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domFixed4x3::create(DAE& dae)
+{
+ domCg_param_type::domFixed4x3Ref ref = new domCg_param_type::domFixed4x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domFixed4x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed4x3" );
+ meta->registerClass(domCg_param_type::domFixed4x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_fixed4x3"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domFixed4x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domFixed4x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domFixed4x4::create(DAE& dae)
+{
+ domCg_param_type::domFixed4x4Ref ref = new domCg_param_type::domFixed4x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domFixed4x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed4x4" );
+ meta->registerClass(domCg_param_type::domFixed4x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Cg_fixed4x4"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domFixed4x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domFixed4x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domString::create(DAE& dae)
+{
+ domCg_param_type::domStringRef ref = new domCg_param_type::domString(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domString::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "string" );
+ meta->registerClass(domCg_param_type::domString::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domString , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domString));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param_type::domEnum::create(DAE& dae)
+{
+ domCg_param_type::domEnumRef ref = new domCg_param_type::domEnum(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param_type::domEnum::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "enum" );
+ meta->registerClass(domCg_param_type::domEnum::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_enumeration"));
+ ma->setOffset( daeOffsetOf( domCg_param_type::domEnum , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param_type::domEnum));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domCg_sampler1D.cpp b/1.4.0/dom/src/1.4/dom/domCg_sampler1D.cpp
new file mode 100644
index 0000000..9e960d0
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domCg_sampler1D.cpp
@@ -0,0 +1,113 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domCg_sampler1D.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domCg_sampler1D::create(DAE& dae)
+{
+ domCg_sampler1DRef ref = new domCg_sampler1D(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_sampler1D::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cg_sampler1D" );
+ meta->registerClass(domCg_sampler1D::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "source" );
+ mea->setOffset( daeOffsetOf(domCg_sampler1D,elemSource) );
+ mea->setElementType( domSource::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "wrap_s" );
+ mea->setOffset( daeOffsetOf(domCg_sampler1D,elemWrap_s) );
+ mea->setElementType( domWrap_s::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "minfilter" );
+ mea->setOffset( daeOffsetOf(domCg_sampler1D,elemMinfilter) );
+ mea->setElementType( domMinfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "magfilter" );
+ mea->setOffset( daeOffsetOf(domCg_sampler1D,elemMagfilter) );
+ mea->setElementType( domMagfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "mipfilter" );
+ mea->setOffset( daeOffsetOf(domCg_sampler1D,elemMipfilter) );
+ mea->setElementType( domMipfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "border_color" );
+ mea->setOffset( daeOffsetOf(domCg_sampler1D,elemBorder_color) );
+ mea->setElementType( domBorder_color::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "mipmap_maxlevel" );
+ mea->setOffset( daeOffsetOf(domCg_sampler1D,elemMipmap_maxlevel) );
+ mea->setElementType( domMipmap_maxlevel::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 7, 0, 1 );
+ mea->setName( "mipmap_bias" );
+ mea->setOffset( daeOffsetOf(domCg_sampler1D,elemMipmap_bias) );
+ mea->setElementType( domMipmap_bias::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 8, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domCg_sampler1D,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 8 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 8 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domCg_sampler1D));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domCg_sampler2D.cpp b/1.4.0/dom/src/1.4/dom/domCg_sampler2D.cpp
new file mode 100644
index 0000000..5d01d22
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domCg_sampler2D.cpp
@@ -0,0 +1,119 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domCg_sampler2D.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domCg_sampler2D::create(DAE& dae)
+{
+ domCg_sampler2DRef ref = new domCg_sampler2D(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_sampler2D::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cg_sampler2D" );
+ meta->registerClass(domCg_sampler2D::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "source" );
+ mea->setOffset( daeOffsetOf(domCg_sampler2D,elemSource) );
+ mea->setElementType( domSource::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "wrap_s" );
+ mea->setOffset( daeOffsetOf(domCg_sampler2D,elemWrap_s) );
+ mea->setElementType( domWrap_s::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "wrap_t" );
+ mea->setOffset( daeOffsetOf(domCg_sampler2D,elemWrap_t) );
+ mea->setElementType( domWrap_t::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "minfilter" );
+ mea->setOffset( daeOffsetOf(domCg_sampler2D,elemMinfilter) );
+ mea->setElementType( domMinfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "magfilter" );
+ mea->setOffset( daeOffsetOf(domCg_sampler2D,elemMagfilter) );
+ mea->setElementType( domMagfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "mipfilter" );
+ mea->setOffset( daeOffsetOf(domCg_sampler2D,elemMipfilter) );
+ mea->setElementType( domMipfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "border_color" );
+ mea->setOffset( daeOffsetOf(domCg_sampler2D,elemBorder_color) );
+ mea->setElementType( domBorder_color::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 7, 0, 1 );
+ mea->setName( "mipmap_maxlevel" );
+ mea->setOffset( daeOffsetOf(domCg_sampler2D,elemMipmap_maxlevel) );
+ mea->setElementType( domMipmap_maxlevel::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 8, 0, 1 );
+ mea->setName( "mipmap_bias" );
+ mea->setOffset( daeOffsetOf(domCg_sampler2D,elemMipmap_bias) );
+ mea->setElementType( domMipmap_bias::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 9, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domCg_sampler2D,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 9 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 9 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domCg_sampler2D));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domCg_sampler3D.cpp b/1.4.0/dom/src/1.4/dom/domCg_sampler3D.cpp
new file mode 100644
index 0000000..1288e4b
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domCg_sampler3D.cpp
@@ -0,0 +1,125 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domCg_sampler3D.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domCg_sampler3D::create(DAE& dae)
+{
+ domCg_sampler3DRef ref = new domCg_sampler3D(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_sampler3D::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cg_sampler3D" );
+ meta->registerClass(domCg_sampler3D::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "source" );
+ mea->setOffset( daeOffsetOf(domCg_sampler3D,elemSource) );
+ mea->setElementType( domSource::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "wrap_s" );
+ mea->setOffset( daeOffsetOf(domCg_sampler3D,elemWrap_s) );
+ mea->setElementType( domWrap_s::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "wrap_t" );
+ mea->setOffset( daeOffsetOf(domCg_sampler3D,elemWrap_t) );
+ mea->setElementType( domWrap_t::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "wrap_p" );
+ mea->setOffset( daeOffsetOf(domCg_sampler3D,elemWrap_p) );
+ mea->setElementType( domWrap_p::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "minfilter" );
+ mea->setOffset( daeOffsetOf(domCg_sampler3D,elemMinfilter) );
+ mea->setElementType( domMinfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "magfilter" );
+ mea->setOffset( daeOffsetOf(domCg_sampler3D,elemMagfilter) );
+ mea->setElementType( domMagfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "mipfilter" );
+ mea->setOffset( daeOffsetOf(domCg_sampler3D,elemMipfilter) );
+ mea->setElementType( domMipfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 7, 0, 1 );
+ mea->setName( "border_color" );
+ mea->setOffset( daeOffsetOf(domCg_sampler3D,elemBorder_color) );
+ mea->setElementType( domBorder_color::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 8, 0, 1 );
+ mea->setName( "mipmap_maxlevel" );
+ mea->setOffset( daeOffsetOf(domCg_sampler3D,elemMipmap_maxlevel) );
+ mea->setElementType( domMipmap_maxlevel::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 9, 0, 1 );
+ mea->setName( "mipmap_bias" );
+ mea->setOffset( daeOffsetOf(domCg_sampler3D,elemMipmap_bias) );
+ mea->setElementType( domMipmap_bias::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 10, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domCg_sampler3D,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 10 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 10 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domCg_sampler3D));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domCg_samplerCUBE.cpp b/1.4.0/dom/src/1.4/dom/domCg_samplerCUBE.cpp
new file mode 100644
index 0000000..65f8e64
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domCg_samplerCUBE.cpp
@@ -0,0 +1,125 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domCg_samplerCUBE.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domCg_samplerCUBE::create(DAE& dae)
+{
+ domCg_samplerCUBERef ref = new domCg_samplerCUBE(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_samplerCUBE::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cg_samplerCUBE" );
+ meta->registerClass(domCg_samplerCUBE::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "source" );
+ mea->setOffset( daeOffsetOf(domCg_samplerCUBE,elemSource) );
+ mea->setElementType( domSource::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "wrap_s" );
+ mea->setOffset( daeOffsetOf(domCg_samplerCUBE,elemWrap_s) );
+ mea->setElementType( domWrap_s::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "wrap_t" );
+ mea->setOffset( daeOffsetOf(domCg_samplerCUBE,elemWrap_t) );
+ mea->setElementType( domWrap_t::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "wrap_p" );
+ mea->setOffset( daeOffsetOf(domCg_samplerCUBE,elemWrap_p) );
+ mea->setElementType( domWrap_p::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "minfilter" );
+ mea->setOffset( daeOffsetOf(domCg_samplerCUBE,elemMinfilter) );
+ mea->setElementType( domMinfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "magfilter" );
+ mea->setOffset( daeOffsetOf(domCg_samplerCUBE,elemMagfilter) );
+ mea->setElementType( domMagfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "mipfilter" );
+ mea->setOffset( daeOffsetOf(domCg_samplerCUBE,elemMipfilter) );
+ mea->setElementType( domMipfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 7, 0, 1 );
+ mea->setName( "border_color" );
+ mea->setOffset( daeOffsetOf(domCg_samplerCUBE,elemBorder_color) );
+ mea->setElementType( domBorder_color::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 8, 0, 1 );
+ mea->setName( "mipmap_maxlevel" );
+ mea->setOffset( daeOffsetOf(domCg_samplerCUBE,elemMipmap_maxlevel) );
+ mea->setElementType( domMipmap_maxlevel::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 9, 0, 1 );
+ mea->setName( "mipmap_bias" );
+ mea->setOffset( daeOffsetOf(domCg_samplerCUBE,elemMipmap_bias) );
+ mea->setElementType( domMipmap_bias::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 10, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domCg_samplerCUBE,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 10 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 10 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domCg_samplerCUBE));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domCg_samplerDEPTH.cpp b/1.4.0/dom/src/1.4/dom/domCg_samplerDEPTH.cpp
new file mode 100644
index 0000000..a44f657
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domCg_samplerDEPTH.cpp
@@ -0,0 +1,95 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domCg_samplerDEPTH.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domCg_samplerDEPTH::create(DAE& dae)
+{
+ domCg_samplerDEPTHRef ref = new domCg_samplerDEPTH(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_samplerDEPTH::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cg_samplerDEPTH" );
+ meta->registerClass(domCg_samplerDEPTH::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "source" );
+ mea->setOffset( daeOffsetOf(domCg_samplerDEPTH,elemSource) );
+ mea->setElementType( domSource::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "wrap_s" );
+ mea->setOffset( daeOffsetOf(domCg_samplerDEPTH,elemWrap_s) );
+ mea->setElementType( domWrap_s::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "wrap_t" );
+ mea->setOffset( daeOffsetOf(domCg_samplerDEPTH,elemWrap_t) );
+ mea->setElementType( domWrap_t::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "minfilter" );
+ mea->setOffset( daeOffsetOf(domCg_samplerDEPTH,elemMinfilter) );
+ mea->setElementType( domMinfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "magfilter" );
+ mea->setOffset( daeOffsetOf(domCg_samplerDEPTH,elemMagfilter) );
+ mea->setElementType( domMagfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 5, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domCg_samplerDEPTH,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 5 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 5 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domCg_samplerDEPTH));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domCg_samplerRECT.cpp b/1.4.0/dom/src/1.4/dom/domCg_samplerRECT.cpp
new file mode 100644
index 0000000..7dbe8e7
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domCg_samplerRECT.cpp
@@ -0,0 +1,119 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domCg_samplerRECT.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domCg_samplerRECT::create(DAE& dae)
+{
+ domCg_samplerRECTRef ref = new domCg_samplerRECT(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_samplerRECT::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cg_samplerRECT" );
+ meta->registerClass(domCg_samplerRECT::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "source" );
+ mea->setOffset( daeOffsetOf(domCg_samplerRECT,elemSource) );
+ mea->setElementType( domSource::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "wrap_s" );
+ mea->setOffset( daeOffsetOf(domCg_samplerRECT,elemWrap_s) );
+ mea->setElementType( domWrap_s::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "wrap_t" );
+ mea->setOffset( daeOffsetOf(domCg_samplerRECT,elemWrap_t) );
+ mea->setElementType( domWrap_t::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "minfilter" );
+ mea->setOffset( daeOffsetOf(domCg_samplerRECT,elemMinfilter) );
+ mea->setElementType( domMinfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "magfilter" );
+ mea->setOffset( daeOffsetOf(domCg_samplerRECT,elemMagfilter) );
+ mea->setElementType( domMagfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "mipfilter" );
+ mea->setOffset( daeOffsetOf(domCg_samplerRECT,elemMipfilter) );
+ mea->setElementType( domMipfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "border_color" );
+ mea->setOffset( daeOffsetOf(domCg_samplerRECT,elemBorder_color) );
+ mea->setElementType( domBorder_color::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 7, 0, 1 );
+ mea->setName( "mipmap_maxlevel" );
+ mea->setOffset( daeOffsetOf(domCg_samplerRECT,elemMipmap_maxlevel) );
+ mea->setElementType( domMipmap_maxlevel::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 8, 0, 1 );
+ mea->setName( "mipmap_bias" );
+ mea->setOffset( daeOffsetOf(domCg_samplerRECT,elemMipmap_bias) );
+ mea->setElementType( domMipmap_bias::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 9, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domCg_samplerRECT,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 9 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 9 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domCg_samplerRECT));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domCg_setarray_type.cpp b/1.4.0/dom/src/1.4/dom/domCg_setarray_type.cpp
new file mode 100644
index 0000000..782aba1
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domCg_setarray_type.cpp
@@ -0,0 +1,87 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domCg_setarray_type.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domCg_setarray_type::create(DAE& dae)
+{
+ domCg_setarray_typeRef ref = new domCg_setarray_type(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_setarray_type::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cg_setarray_type" );
+ meta->registerClass(domCg_setarray_type::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "cg_param_type" );
+ mea->setOffset( daeOffsetOf(domCg_setarray_type,elemCg_param_type_array) );
+ mea->setElementType( domCg_param_type::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 1, 1 ) );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "array" );
+ mea->setOffset( daeOffsetOf(domCg_setarray_type,elemArray_array) );
+ mea->setElementType( domCg_setarray_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "usertype" );
+ mea->setOffset( daeOffsetOf(domCg_setarray_type,elemUsertype_array) );
+ mea->setElementType( domCg_setuser_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3000 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domCg_setarray_type,_contents));
+ meta->addContentsOrder(daeOffsetOf(domCg_setarray_type,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domCg_setarray_type,_CMData), 1);
+ // Add attribute: length
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "length" );
+ ma->setType( dae.getAtomicTypes().get("xsPositiveInteger"));
+ ma->setOffset( daeOffsetOf( domCg_setarray_type , attrLength ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_setarray_type));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domCg_setparam.cpp b/1.4.0/dom/src/1.4/dom/domCg_setparam.cpp
new file mode 100644
index 0000000..7da8e3d
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domCg_setparam.cpp
@@ -0,0 +1,104 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domCg_setparam.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domCg_setparam::create(DAE& dae)
+{
+ domCg_setparamRef ref = new domCg_setparam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_setparam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cg_setparam" );
+ meta->registerClass(domCg_setparam::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "cg_param_type" );
+ mea->setOffset( daeOffsetOf(domCg_setparam,elemCg_param_type) );
+ mea->setElementType( domCg_param_type::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 1, 1 ) );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "usertype" );
+ mea->setOffset( daeOffsetOf(domCg_setparam,elemUsertype) );
+ mea->setElementType( domCg_setuser_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "array" );
+ mea->setOffset( daeOffsetOf(domCg_setparam,elemArray) );
+ mea->setElementType( domCg_setarray_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "connect_param" );
+ mea->setOffset( daeOffsetOf(domCg_setparam,elemConnect_param) );
+ mea->setElementType( domCg_connect_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domCg_setparam,_contents));
+ meta->addContentsOrder(daeOffsetOf(domCg_setparam,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domCg_setparam,_CMData), 1);
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("Cg_identifier"));
+ ma->setOffset( daeOffsetOf( domCg_setparam , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: program
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "program" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domCg_setparam , attrProgram ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_setparam));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domCg_setparam_simple.cpp b/1.4.0/dom/src/1.4/dom/domCg_setparam_simple.cpp
new file mode 100644
index 0000000..1b1aa95
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domCg_setparam_simple.cpp
@@ -0,0 +1,77 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domCg_setparam_simple.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domCg_setparam_simple::create(DAE& dae)
+{
+ domCg_setparam_simpleRef ref = new domCg_setparam_simple(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_setparam_simple::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cg_setparam_simple" );
+ meta->registerClass(domCg_setparam_simple::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domCg_setparam_simple,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "cg_param_type" );
+ mea->setOffset( daeOffsetOf(domCg_setparam_simple,elemCg_param_type) );
+ mea->setElementType( domCg_param_type::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 1, 1, 1 ) );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("Cg_identifier"));
+ ma->setOffset( daeOffsetOf( domCg_setparam_simple , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_setparam_simple));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domCg_setuser_type.cpp b/1.4.0/dom/src/1.4/dom/domCg_setuser_type.cpp
new file mode 100644
index 0000000..b685573
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domCg_setuser_type.cpp
@@ -0,0 +1,117 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domCg_setuser_type.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domCg_setuser_type::create(DAE& dae)
+{
+ domCg_setuser_typeRef ref = new domCg_setuser_type(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_setuser_type::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cg_setuser_type" );
+ meta->registerClass(domCg_setuser_type::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 0, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 1, 0, 1, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "cg_param_type" );
+ mea->setOffset( daeOffsetOf(domCg_setuser_type,elemCg_param_type_array) );
+ mea->setElementType( domCg_param_type::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 1, 1 ) );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "array" );
+ mea->setOffset( daeOffsetOf(domCg_setuser_type,elemArray_array) );
+ mea->setElementType( domCg_setarray_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "usertype" );
+ mea->setOffset( daeOffsetOf(domCg_setuser_type,elemUsertype_array) );
+ mea->setElementType( domCg_setuser_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "connect_param" );
+ mea->setOffset( daeOffsetOf(domCg_setuser_type,elemConnect_param_array) );
+ mea->setElementType( domCg_connect_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3001, 1, -1 );
+ mea->setName( "setparam" );
+ mea->setOffset( daeOffsetOf(domCg_setuser_type,elemSetparam_array) );
+ mea->setElementType( domCg_setparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domCg_setuser_type,_contents));
+ meta->addContentsOrder(daeOffsetOf(domCg_setuser_type,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domCg_setuser_type,_CMData), 2);
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("Cg_identifier"));
+ ma->setOffset( daeOffsetOf( domCg_setuser_type , attrName ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: source
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "source" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domCg_setuser_type , attrSource ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_setuser_type));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domCg_surface_type.cpp b/1.4.0/dom/src/1.4/dom/domCg_surface_type.cpp
new file mode 100644
index 0000000..597a4bc
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domCg_surface_type.cpp
@@ -0,0 +1,262 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domCg_surface_type.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domCg_surface_type::create(DAE& dae)
+{
+ domCg_surface_typeRef ref = new domCg_surface_type(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_surface_type::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cg_surface_type" );
+ meta->registerClass(domCg_surface_type::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "fx_surface_init_common" );
+ mea->setOffset( daeOffsetOf(domCg_surface_type,elemFx_surface_init_common) );
+ mea->setElementType( domFx_surface_init_common::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 0, 1 ) );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "format" );
+ mea->setOffset( daeOffsetOf(domCg_surface_type,elemFormat) );
+ mea->setElementType( domFormat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "format_hint" );
+ mea->setOffset( daeOffsetOf(domCg_surface_type,elemFormat_hint) );
+ mea->setElementType( domFx_surface_format_hint_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 3, 0, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "size" );
+ mea->setOffset( daeOffsetOf(domCg_surface_type,elemSize) );
+ mea->setElementType( domSize::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "viewport_ratio" );
+ mea->setOffset( daeOffsetOf(domCg_surface_type,elemViewport_ratio) );
+ mea->setElementType( domViewport_ratio::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "mip_levels" );
+ mea->setOffset( daeOffsetOf(domCg_surface_type,elemMip_levels) );
+ mea->setElementType( domMip_levels::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "mipmap_generate" );
+ mea->setOffset( daeOffsetOf(domCg_surface_type,elemMipmap_generate) );
+ mea->setElementType( domMipmap_generate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 6, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domCg_surface_type,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 6 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm = new daeMetaSequence( meta, cm, 7, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "generator" );
+ mea->setOffset( daeOffsetOf(domCg_surface_type,elemGenerator) );
+ mea->setElementType( domGenerator::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 7 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domCg_surface_type,_contents));
+ meta->addContentsOrder(daeOffsetOf(domCg_surface_type,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domCg_surface_type,_CMData), 1);
+ // Add attribute: type
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "type" );
+ ma->setType( dae.getAtomicTypes().get("Fx_surface_type_enum"));
+ ma->setOffset( daeOffsetOf( domCg_surface_type , attrType ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_surface_type));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_surface_type::domGenerator::create(DAE& dae)
+{
+ domCg_surface_type::domGeneratorRef ref = new domCg_surface_type::domGenerator(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_surface_type::domGenerator::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "generator" );
+ meta->registerClass(domCg_surface_type::domGenerator::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domCg_surface_type::domGenerator,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 1, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "code" );
+ mea->setOffset( daeOffsetOf(domCg_surface_type::domGenerator,elemCode_array) );
+ mea->setElementType( domFx_code_profile::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "include" );
+ mea->setOffset( daeOffsetOf(domCg_surface_type::domGenerator,elemInclude_array) );
+ mea->setElementType( domFx_include_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementAttribute( meta, cm, 3002, 1, 1 );
+ mea->setName( "name" );
+ mea->setOffset( daeOffsetOf(domCg_surface_type::domGenerator,elemName) );
+ mea->setElementType( domCg_surface_type::domGenerator::domName::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3003, 0, -1 );
+ mea->setName( "setparam" );
+ mea->setOffset( daeOffsetOf(domCg_surface_type::domGenerator,elemSetparam_array) );
+ mea->setElementType( domCg_setparam_simple::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3003 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domCg_surface_type::domGenerator,_contents));
+ meta->addContentsOrder(daeOffsetOf(domCg_surface_type::domGenerator,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domCg_surface_type::domGenerator,_CMData), 1);
+ meta->setElementSize(sizeof(domCg_surface_type::domGenerator));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_surface_type::domGenerator::domName::create(DAE& dae)
+{
+ domCg_surface_type::domGenerator::domNameRef ref = new domCg_surface_type::domGenerator::domName(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_surface_type::domGenerator::domName::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "name" );
+ meta->registerClass(domCg_surface_type::domGenerator::domName::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domCg_surface_type::domGenerator::domName , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: source
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "source" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domCg_surface_type::domGenerator::domName , attrSource ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_surface_type::domGenerator::domName));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domChannel.cpp b/1.4.0/dom/src/1.4/dom/domChannel.cpp
new file mode 100644
index 0000000..79becf6
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domChannel.cpp
@@ -0,0 +1,71 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domChannel.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domChannel::create(DAE& dae)
+{
+ domChannelRef ref = new domChannel(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domChannel::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "channel" );
+ meta->registerClass(domChannel::create);
+
+
+ // Add attribute: source
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "source" );
+ ma->setType( dae.getAtomicTypes().get("URIFragmentType"));
+ ma->setOffset( daeOffsetOf( domChannel , attrSource ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: target
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "target" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domChannel , attrTarget ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domChannel));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domCommon_color_or_texture_type.cpp b/1.4.0/dom/src/1.4/dom/domCommon_color_or_texture_type.cpp
new file mode 100644
index 0000000..e80ef0b
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domCommon_color_or_texture_type.cpp
@@ -0,0 +1,224 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domCommon_color_or_texture_type.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domCommon_color_or_texture_type::create(DAE& dae)
+{
+ domCommon_color_or_texture_typeRef ref = new domCommon_color_or_texture_type(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCommon_color_or_texture_type::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "common_color_or_texture_type" );
+ meta->registerClass(domCommon_color_or_texture_type::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "color" );
+ mea->setOffset( daeOffsetOf(domCommon_color_or_texture_type,elemColor) );
+ mea->setElementType( domCommon_color_or_texture_type::domColor::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domCommon_color_or_texture_type,elemParam) );
+ mea->setElementType( domCommon_color_or_texture_type::domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "texture" );
+ mea->setOffset( daeOffsetOf(domCommon_color_or_texture_type,elemTexture) );
+ mea->setElementType( domCommon_color_or_texture_type::domTexture::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domCommon_color_or_texture_type,_contents));
+ meta->addContentsOrder(daeOffsetOf(domCommon_color_or_texture_type,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domCommon_color_or_texture_type,_CMData), 1);
+ meta->setElementSize(sizeof(domCommon_color_or_texture_type));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCommon_color_or_texture_type::domColor::create(DAE& dae)
+{
+ domCommon_color_or_texture_type::domColorRef ref = new domCommon_color_or_texture_type::domColor(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCommon_color_or_texture_type::domColor::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "color" );
+ meta->registerClass(domCommon_color_or_texture_type::domColor::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_color_common"));
+ ma->setOffset( daeOffsetOf( domCommon_color_or_texture_type::domColor , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domCommon_color_or_texture_type::domColor , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCommon_color_or_texture_type::domColor));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCommon_color_or_texture_type::domParam::create(DAE& dae)
+{
+ domCommon_color_or_texture_type::domParamRef ref = new domCommon_color_or_texture_type::domParam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCommon_color_or_texture_type::domParam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "param" );
+ meta->registerClass(domCommon_color_or_texture_type::domParam::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domCommon_color_or_texture_type::domParam , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCommon_color_or_texture_type::domParam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCommon_color_or_texture_type::domTexture::create(DAE& dae)
+{
+ domCommon_color_or_texture_type::domTextureRef ref = new domCommon_color_or_texture_type::domTexture(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCommon_color_or_texture_type::domTexture::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "texture" );
+ meta->registerClass(domCommon_color_or_texture_type::domTexture::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domCommon_color_or_texture_type::domTexture,elemExtra) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: texture
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "texture" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domCommon_color_or_texture_type::domTexture , attrTexture ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: texcoord
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "texcoord" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domCommon_color_or_texture_type::domTexture , attrTexcoord ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCommon_color_or_texture_type::domTexture));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domCommon_float_or_param_type.cpp b/1.4.0/dom/src/1.4/dom/domCommon_float_or_param_type.cpp
new file mode 100644
index 0000000..171a413
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domCommon_float_or_param_type.cpp
@@ -0,0 +1,155 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domCommon_float_or_param_type.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domCommon_float_or_param_type::create(DAE& dae)
+{
+ domCommon_float_or_param_typeRef ref = new domCommon_float_or_param_type(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCommon_float_or_param_type::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "common_float_or_param_type" );
+ meta->registerClass(domCommon_float_or_param_type::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float" );
+ mea->setOffset( daeOffsetOf(domCommon_float_or_param_type,elemFloat) );
+ mea->setElementType( domCommon_float_or_param_type::domFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domCommon_float_or_param_type,elemParam) );
+ mea->setElementType( domCommon_float_or_param_type::domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domCommon_float_or_param_type,_contents));
+ meta->addContentsOrder(daeOffsetOf(domCommon_float_or_param_type,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domCommon_float_or_param_type,_CMData), 1);
+ meta->setElementSize(sizeof(domCommon_float_or_param_type));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCommon_float_or_param_type::domFloat::create(DAE& dae)
+{
+ domCommon_float_or_param_type::domFloatRef ref = new domCommon_float_or_param_type::domFloat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCommon_float_or_param_type::domFloat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float" );
+ meta->registerClass(domCommon_float_or_param_type::domFloat::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domCommon_float_or_param_type::domFloat , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domCommon_float_or_param_type::domFloat , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCommon_float_or_param_type::domFloat));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCommon_float_or_param_type::domParam::create(DAE& dae)
+{
+ domCommon_float_or_param_type::domParamRef ref = new domCommon_float_or_param_type::domParam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCommon_float_or_param_type::domParam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "param" );
+ meta->registerClass(domCommon_float_or_param_type::domParam::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domCommon_float_or_param_type::domParam , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCommon_float_or_param_type::domParam));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domCommon_newparam_type.cpp b/1.4.0/dom/src/1.4/dom/domCommon_newparam_type.cpp
new file mode 100644
index 0000000..93f9eba
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domCommon_newparam_type.cpp
@@ -0,0 +1,297 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domCommon_newparam_type.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domCommon_newparam_type::create(DAE& dae)
+{
+ domCommon_newparam_typeRef ref = new domCommon_newparam_type(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCommon_newparam_type::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "common_newparam_type" );
+ meta->registerClass(domCommon_newparam_type::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "semantic" );
+ mea->setOffset( daeOffsetOf(domCommon_newparam_type,elemSemantic) );
+ mea->setElementType( domCommon_newparam_type::domSemantic::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float" );
+ mea->setOffset( daeOffsetOf(domCommon_newparam_type,elemFloat) );
+ mea->setElementType( domCommon_newparam_type::domFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2" );
+ mea->setOffset( daeOffsetOf(domCommon_newparam_type,elemFloat2) );
+ mea->setElementType( domCommon_newparam_type::domFloat2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3" );
+ mea->setOffset( daeOffsetOf(domCommon_newparam_type,elemFloat3) );
+ mea->setElementType( domCommon_newparam_type::domFloat3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4" );
+ mea->setOffset( daeOffsetOf(domCommon_newparam_type,elemFloat4) );
+ mea->setElementType( domCommon_newparam_type::domFloat4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "surface" );
+ mea->setOffset( daeOffsetOf(domCommon_newparam_type,elemSurface) );
+ mea->setElementType( domFx_surface_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sampler2D" );
+ mea->setOffset( daeOffsetOf(domCommon_newparam_type,elemSampler2D) );
+ mea->setElementType( domFx_sampler2D_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domCommon_newparam_type,_contents));
+ meta->addContentsOrder(daeOffsetOf(domCommon_newparam_type,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domCommon_newparam_type,_CMData), 1);
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domCommon_newparam_type , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCommon_newparam_type));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCommon_newparam_type::domSemantic::create(DAE& dae)
+{
+ domCommon_newparam_type::domSemanticRef ref = new domCommon_newparam_type::domSemantic(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCommon_newparam_type::domSemantic::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "semantic" );
+ meta->registerClass(domCommon_newparam_type::domSemantic::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domCommon_newparam_type::domSemantic , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCommon_newparam_type::domSemantic));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCommon_newparam_type::domFloat::create(DAE& dae)
+{
+ domCommon_newparam_type::domFloatRef ref = new domCommon_newparam_type::domFloat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCommon_newparam_type::domFloat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float" );
+ meta->registerClass(domCommon_newparam_type::domFloat::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domCommon_newparam_type::domFloat , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCommon_newparam_type::domFloat));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCommon_newparam_type::domFloat2::create(DAE& dae)
+{
+ domCommon_newparam_type::domFloat2Ref ref = new domCommon_newparam_type::domFloat2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCommon_newparam_type::domFloat2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2" );
+ meta->registerClass(domCommon_newparam_type::domFloat2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domCommon_newparam_type::domFloat2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCommon_newparam_type::domFloat2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCommon_newparam_type::domFloat3::create(DAE& dae)
+{
+ domCommon_newparam_type::domFloat3Ref ref = new domCommon_newparam_type::domFloat3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCommon_newparam_type::domFloat3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3" );
+ meta->registerClass(domCommon_newparam_type::domFloat3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domCommon_newparam_type::domFloat3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCommon_newparam_type::domFloat3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCommon_newparam_type::domFloat4::create(DAE& dae)
+{
+ domCommon_newparam_type::domFloat4Ref ref = new domCommon_newparam_type::domFloat4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCommon_newparam_type::domFloat4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4" );
+ meta->registerClass(domCommon_newparam_type::domFloat4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domCommon_newparam_type::domFloat4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCommon_newparam_type::domFloat4));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domCommon_transparent_type.cpp b/1.4.0/dom/src/1.4/dom/domCommon_transparent_type.cpp
new file mode 100644
index 0000000..f5355a2
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domCommon_transparent_type.cpp
@@ -0,0 +1,93 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domCommon_transparent_type.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domCommon_transparent_type::create(DAE& dae)
+{
+ domCommon_transparent_typeRef ref = new domCommon_transparent_type(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCommon_transparent_type::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "common_transparent_type" );
+ meta->registerClass(domCommon_transparent_type::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "color" );
+ mea->setOffset( daeOffsetOf(domCommon_transparent_type,elemColor) );
+ mea->setElementType( domColor::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domCommon_transparent_type,elemParam) );
+ mea->setElementType( domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "texture" );
+ mea->setOffset( daeOffsetOf(domCommon_transparent_type,elemTexture) );
+ mea->setElementType( domTexture::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domCommon_transparent_type,_contents));
+ meta->addContentsOrder(daeOffsetOf(domCommon_transparent_type,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domCommon_transparent_type,_CMData), 1);
+ // Add attribute: opaque
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "opaque" );
+ ma->setType( dae.getAtomicTypes().get("Fx_opaque_enum"));
+ ma->setOffset( daeOffsetOf( domCommon_transparent_type , attrOpaque ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "A_ONE");
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCommon_transparent_type));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domConstants.cpp b/1.4.0/dom/src/1.4/dom/domConstants.cpp
new file mode 100644
index 0000000..295301a
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domConstants.cpp
@@ -0,0 +1,1087 @@
+/*
+ * Copyright 2006 Sony Computer Entertainment Inc.
+ *
+ * Licensed under the MIT Open Source License, for details please see license.txt or the website
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ */
+
+#include <1.4/dom/domConstants.h>
+
+namespace ColladaDOM141 {
+
+DLLSPEC daeString COLLADA_VERSION = "1.4.1";
+DLLSPEC daeString COLLADA_NAMESPACE = "http://www.collada.org/2005/11/COLLADASchema";
+
+DLLSPEC daeString COMMON_PROFILE_INPUT_BINORMAL = "BINORMAL";
+DLLSPEC daeString COMMON_PROFILE_INPUT_COLOR = "COLOR";
+DLLSPEC daeString COMMON_PROFILE_INPUT_CONTINUITY = "CONTINUITY";
+DLLSPEC daeString COMMON_PROFILE_INPUT_IMAGE = "IMAGE";
+DLLSPEC daeString COMMON_PROFILE_INPUT_IN_TANGENT = "IN_TANGENT";
+DLLSPEC daeString COMMON_PROFILE_INPUT_INPUT = "INPUT";
+DLLSPEC daeString COMMON_PROFILE_INPUT_INTERPOLATION = "INTERPOLATION";
+DLLSPEC daeString COMMON_PROFILE_INPUT_INV_BIND_MATRIX = "INV_BIND_MATRIX";
+DLLSPEC daeString COMMON_PROFILE_INPUT_JOINT = "JOINT";
+DLLSPEC daeString COMMON_PROFILE_INPUT_LINEAR_STEPS = "LINEAR_STEPS";
+DLLSPEC daeString COMMON_PROFILE_INPUT_MORPH_TARGET = "MORPH_TARGET";
+DLLSPEC daeString COMMON_PROFILE_INPUT_MORPH_WEIGHT = "MORPH_WEIGHT";
+DLLSPEC daeString COMMON_PROFILE_INPUT_NORMAL = "NORMAL";
+DLLSPEC daeString COMMON_PROFILE_INPUT_OUTPUT = "OUTPUT";
+DLLSPEC daeString COMMON_PROFILE_INPUT_OUT_TANGENT = "OUT_TANGENT";
+DLLSPEC daeString COMMON_PROFILE_INPUT_POSITION = "POSITION";
+DLLSPEC daeString COMMON_PROFILE_INPUT_TANGENT = "TANGENT";
+DLLSPEC daeString COMMON_PROFILE_INPUT_TEXBINORMAL = "TEXBINORMAL";
+DLLSPEC daeString COMMON_PROFILE_INPUT_TEXCOORD = "TEXCOORD";
+DLLSPEC daeString COMMON_PROFILE_INPUT_TEXTANGENT = "TEXTANGENT";
+DLLSPEC daeString COMMON_PROFILE_INPUT_UV = "UV";
+DLLSPEC daeString COMMON_PROFILE_INPUT_VERTEX = "VERTEX";
+DLLSPEC daeString COMMON_PROFILE_INPUT_WEIGHT = "WEIGHT";
+
+DLLSPEC daeString COMMON_PROFILE_PARAM_A = "A";
+DLLSPEC daeString COMMON_PROFILE_PARAM_ANGLE = "ANGLE";
+DLLSPEC daeString COMMON_PROFILE_PARAM_B = "B";
+DLLSPEC daeString COMMON_PROFILE_PARAM_DOUBLE_SIDED = "DOUBLE_SIDED";
+DLLSPEC daeString COMMON_PROFILE_PARAM_G = "G";
+DLLSPEC daeString COMMON_PROFILE_PARAM_P = "P";
+DLLSPEC daeString COMMON_PROFILE_PARAM_Q = "Q";
+DLLSPEC daeString COMMON_PROFILE_PARAM_R = "R";
+DLLSPEC daeString COMMON_PROFILE_PARAM_S = "S";
+DLLSPEC daeString COMMON_PROFILE_PARAM_T = "T";
+DLLSPEC daeString COMMON_PROFILE_PARAM_TIME = "TIME";
+DLLSPEC daeString COMMON_PROFILE_PARAM_U = "U";
+DLLSPEC daeString COMMON_PROFILE_PARAM_V = "V";
+DLLSPEC daeString COMMON_PROFILE_PARAM_W = "W";
+DLLSPEC daeString COMMON_PROFILE_PARAM_X = "X";
+DLLSPEC daeString COMMON_PROFILE_PARAM_Y = "Y";
+DLLSPEC daeString COMMON_PROFILE_PARAM_Z = "Z";
+
+
+DLLSPEC daeString COLLADA_TYPE_INPUTGLOBAL = "InputGlobal";
+DLLSPEC daeString COLLADA_TYPE_INPUTLOCAL = "InputLocal";
+DLLSPEC daeString COLLADA_TYPE_INPUTLOCALOFFSET = "InputLocalOffset";
+DLLSPEC daeString COLLADA_TYPE_INSTANCEWITHEXTRA = "InstanceWithExtra";
+DLLSPEC daeString COLLADA_TYPE_TARGETABLEFLOAT = "TargetableFloat";
+DLLSPEC daeString COLLADA_TYPE_TARGETABLEFLOAT3 = "TargetableFloat3";
+DLLSPEC daeString COLLADA_TYPE_FX_SURFACE_FORMAT_HINT_COMMON = "fx_surface_format_hint_common";
+DLLSPEC daeString COLLADA_TYPE_CHANNELS = "channels";
+DLLSPEC daeString COLLADA_TYPE_RANGE = "range";
+DLLSPEC daeString COLLADA_TYPE_PRECISION = "precision";
+DLLSPEC daeString COLLADA_TYPE_OPTION = "option";
+DLLSPEC daeString COLLADA_TYPE_FX_SURFACE_INIT_PLANAR_COMMON = "fx_surface_init_planar_common";
+DLLSPEC daeString COLLADA_TYPE_ALL = "all";
+DLLSPEC daeString COLLADA_TYPE_FX_SURFACE_INIT_VOLUME_COMMON = "fx_surface_init_volume_common";
+DLLSPEC daeString COLLADA_TYPE_PRIMARY = "primary";
+DLLSPEC daeString COLLADA_TYPE_FX_SURFACE_INIT_CUBE_COMMON = "fx_surface_init_cube_common";
+DLLSPEC daeString COLLADA_TYPE_ORDER = "order";
+DLLSPEC daeString COLLADA_TYPE_FACE = "face";
+DLLSPEC daeString COLLADA_TYPE_FX_SURFACE_INIT_FROM_COMMON = "fx_surface_init_from_common";
+DLLSPEC daeString COLLADA_TYPE_FX_SURFACE_COMMON = "fx_surface_common";
+DLLSPEC daeString COLLADA_TYPE_FORMAT = "format";
+DLLSPEC daeString COLLADA_TYPE_SIZE = "size";
+DLLSPEC daeString COLLADA_TYPE_VIEWPORT_RATIO = "viewport_ratio";
+DLLSPEC daeString COLLADA_TYPE_MIP_LEVELS = "mip_levels";
+DLLSPEC daeString COLLADA_TYPE_MIPMAP_GENERATE = "mipmap_generate";
+DLLSPEC daeString COLLADA_TYPE_FX_SAMPLER1D_COMMON = "fx_sampler1D_common";
+DLLSPEC daeString COLLADA_TYPE_SOURCE = "source";
+DLLSPEC daeString COLLADA_TYPE_WRAP_S = "wrap_s";
+DLLSPEC daeString COLLADA_TYPE_MINFILTER = "minfilter";
+DLLSPEC daeString COLLADA_TYPE_MAGFILTER = "magfilter";
+DLLSPEC daeString COLLADA_TYPE_MIPFILTER = "mipfilter";
+DLLSPEC daeString COLLADA_TYPE_BORDER_COLOR = "border_color";
+DLLSPEC daeString COLLADA_TYPE_MIPMAP_MAXLEVEL = "mipmap_maxlevel";
+DLLSPEC daeString COLLADA_TYPE_MIPMAP_BIAS = "mipmap_bias";
+DLLSPEC daeString COLLADA_TYPE_FX_SAMPLER2D_COMMON = "fx_sampler2D_common";
+DLLSPEC daeString COLLADA_TYPE_WRAP_T = "wrap_t";
+DLLSPEC daeString COLLADA_TYPE_FX_SAMPLER3D_COMMON = "fx_sampler3D_common";
+DLLSPEC daeString COLLADA_TYPE_WRAP_P = "wrap_p";
+DLLSPEC daeString COLLADA_TYPE_FX_SAMPLERCUBE_COMMON = "fx_samplerCUBE_common";
+DLLSPEC daeString COLLADA_TYPE_FX_SAMPLERRECT_COMMON = "fx_samplerRECT_common";
+DLLSPEC daeString COLLADA_TYPE_FX_SAMPLERDEPTH_COMMON = "fx_samplerDEPTH_common";
+DLLSPEC daeString COLLADA_TYPE_FX_COLORTARGET_COMMON = "fx_colortarget_common";
+DLLSPEC daeString COLLADA_TYPE_FX_DEPTHTARGET_COMMON = "fx_depthtarget_common";
+DLLSPEC daeString COLLADA_TYPE_FX_STENCILTARGET_COMMON = "fx_stenciltarget_common";
+DLLSPEC daeString COLLADA_TYPE_FX_CLEARCOLOR_COMMON = "fx_clearcolor_common";
+DLLSPEC daeString COLLADA_TYPE_FX_CLEARDEPTH_COMMON = "fx_cleardepth_common";
+DLLSPEC daeString COLLADA_TYPE_FX_CLEARSTENCIL_COMMON = "fx_clearstencil_common";
+DLLSPEC daeString COLLADA_TYPE_FX_ANNOTATE_COMMON = "fx_annotate_common";
+DLLSPEC daeString COLLADA_TYPE_FX_INCLUDE_COMMON = "fx_include_common";
+DLLSPEC daeString COLLADA_TYPE_FX_NEWPARAM_COMMON = "fx_newparam_common";
+DLLSPEC daeString COLLADA_TYPE_SEMANTIC = "semantic";
+DLLSPEC daeString COLLADA_TYPE_MODIFIER = "modifier";
+DLLSPEC daeString COLLADA_TYPE_FX_CODE_PROFILE = "fx_code_profile";
+DLLSPEC daeString COLLADA_TYPE_GL_SAMPLER1D = "gl_sampler1D";
+DLLSPEC daeString COLLADA_TYPE_GL_SAMPLER2D = "gl_sampler2D";
+DLLSPEC daeString COLLADA_TYPE_GL_SAMPLER3D = "gl_sampler3D";
+DLLSPEC daeString COLLADA_TYPE_GL_SAMPLERCUBE = "gl_samplerCUBE";
+DLLSPEC daeString COLLADA_TYPE_GL_SAMPLERRECT = "gl_samplerRECT";
+DLLSPEC daeString COLLADA_TYPE_GL_SAMPLERDEPTH = "gl_samplerDEPTH";
+DLLSPEC daeString COLLADA_TYPE_GLSL_NEWARRAY_TYPE = "glsl_newarray_type";
+DLLSPEC daeString COLLADA_TYPE_GLSL_SETARRAY_TYPE = "glsl_setarray_type";
+DLLSPEC daeString COLLADA_TYPE_GLSL_SURFACE_TYPE = "glsl_surface_type";
+DLLSPEC daeString COLLADA_TYPE_GENERATOR = "generator";
+DLLSPEC daeString COLLADA_TYPE_NAME = "name";
+DLLSPEC daeString COLLADA_TYPE_GLSL_NEWPARAM = "glsl_newparam";
+DLLSPEC daeString COLLADA_TYPE_GLSL_SETPARAM_SIMPLE = "glsl_setparam_simple";
+DLLSPEC daeString COLLADA_TYPE_GLSL_SETPARAM = "glsl_setparam";
+DLLSPEC daeString COLLADA_TYPE_COMMON_FLOAT_OR_PARAM_TYPE = "common_float_or_param_type";
+DLLSPEC daeString COLLADA_TYPE_FLOAT = "float";
+DLLSPEC daeString COLLADA_TYPE_PARAM = "param";
+DLLSPEC daeString COLLADA_TYPE_COMMON_COLOR_OR_TEXTURE_TYPE = "common_color_or_texture_type";
+DLLSPEC daeString COLLADA_TYPE_COLOR = "color";
+DLLSPEC daeString COLLADA_TYPE_TEXTURE = "texture";
+DLLSPEC daeString COLLADA_TYPE_COMMON_TRANSPARENT_TYPE = "common_transparent_type";
+DLLSPEC daeString COLLADA_TYPE_COMMON_NEWPARAM_TYPE = "common_newparam_type";
+DLLSPEC daeString COLLADA_TYPE_FLOAT2 = "float2";
+DLLSPEC daeString COLLADA_TYPE_FLOAT3 = "float3";
+DLLSPEC daeString COLLADA_TYPE_FLOAT4 = "float4";
+DLLSPEC daeString COLLADA_TYPE_CG_SAMPLER1D = "cg_sampler1D";
+DLLSPEC daeString COLLADA_TYPE_CG_SAMPLER2D = "cg_sampler2D";
+DLLSPEC daeString COLLADA_TYPE_CG_SAMPLER3D = "cg_sampler3D";
+DLLSPEC daeString COLLADA_TYPE_CG_SAMPLERCUBE = "cg_samplerCUBE";
+DLLSPEC daeString COLLADA_TYPE_CG_SAMPLERRECT = "cg_samplerRECT";
+DLLSPEC daeString COLLADA_TYPE_CG_SAMPLERDEPTH = "cg_samplerDEPTH";
+DLLSPEC daeString COLLADA_TYPE_CG_CONNECT_PARAM = "cg_connect_param";
+DLLSPEC daeString COLLADA_TYPE_CG_NEWARRAY_TYPE = "cg_newarray_type";
+DLLSPEC daeString COLLADA_TYPE_CG_SETARRAY_TYPE = "cg_setarray_type";
+DLLSPEC daeString COLLADA_TYPE_CG_SETUSER_TYPE = "cg_setuser_type";
+DLLSPEC daeString COLLADA_TYPE_CG_SURFACE_TYPE = "cg_surface_type";
+DLLSPEC daeString COLLADA_TYPE_CG_NEWPARAM = "cg_newparam";
+DLLSPEC daeString COLLADA_TYPE_CG_SETPARAM_SIMPLE = "cg_setparam_simple";
+DLLSPEC daeString COLLADA_TYPE_CG_SETPARAM = "cg_setparam";
+DLLSPEC daeString COLLADA_TYPE_GLES_TEXTURE_CONSTANT_TYPE = "gles_texture_constant_type";
+DLLSPEC daeString COLLADA_TYPE_GLES_TEXENV_COMMAND_TYPE = "gles_texenv_command_type";
+DLLSPEC daeString COLLADA_TYPE_GLES_TEXCOMBINER_ARGUMENTRGB_TYPE = "gles_texcombiner_argumentRGB_type";
+DLLSPEC daeString COLLADA_TYPE_GLES_TEXCOMBINER_ARGUMENTALPHA_TYPE = "gles_texcombiner_argumentAlpha_type";
+DLLSPEC daeString COLLADA_TYPE_GLES_TEXCOMBINER_COMMANDRGB_TYPE = "gles_texcombiner_commandRGB_type";
+DLLSPEC daeString COLLADA_TYPE_GLES_TEXCOMBINER_COMMANDALPHA_TYPE = "gles_texcombiner_commandAlpha_type";
+DLLSPEC daeString COLLADA_TYPE_GLES_TEXCOMBINER_COMMAND_TYPE = "gles_texcombiner_command_type";
+DLLSPEC daeString COLLADA_TYPE_GLES_TEXTURE_PIPELINE = "gles_texture_pipeline";
+DLLSPEC daeString COLLADA_TYPE_GLES_TEXTURE_UNIT = "gles_texture_unit";
+DLLSPEC daeString COLLADA_TYPE_SURFACE = "surface";
+DLLSPEC daeString COLLADA_TYPE_SAMPLER_STATE = "sampler_state";
+DLLSPEC daeString COLLADA_TYPE_TEXCOORD = "texcoord";
+DLLSPEC daeString COLLADA_TYPE_GLES_SAMPLER_STATE = "gles_sampler_state";
+DLLSPEC daeString COLLADA_TYPE_GLES_NEWPARAM = "gles_newparam";
+DLLSPEC daeString COLLADA_TYPE_FX_SURFACE_INIT_COMMON = "fx_surface_init_common";
+DLLSPEC daeString COLLADA_TYPE_INIT_AS_NULL = "init_as_null";
+DLLSPEC daeString COLLADA_TYPE_INIT_AS_TARGET = "init_as_target";
+DLLSPEC daeString COLLADA_TYPE_FX_ANNOTATE_TYPE_COMMON = "fx_annotate_type_common";
+DLLSPEC daeString COLLADA_TYPE_BOOL = "bool";
+DLLSPEC daeString COLLADA_TYPE_BOOL2 = "bool2";
+DLLSPEC daeString COLLADA_TYPE_BOOL3 = "bool3";
+DLLSPEC daeString COLLADA_TYPE_BOOL4 = "bool4";
+DLLSPEC daeString COLLADA_TYPE_INT = "int";
+DLLSPEC daeString COLLADA_TYPE_INT2 = "int2";
+DLLSPEC daeString COLLADA_TYPE_INT3 = "int3";
+DLLSPEC daeString COLLADA_TYPE_INT4 = "int4";
+DLLSPEC daeString COLLADA_TYPE_FLOAT2X2 = "float2x2";
+DLLSPEC daeString COLLADA_TYPE_FLOAT3X3 = "float3x3";
+DLLSPEC daeString COLLADA_TYPE_FLOAT4X4 = "float4x4";
+DLLSPEC daeString COLLADA_TYPE_STRING = "string";
+DLLSPEC daeString COLLADA_TYPE_FX_BASIC_TYPE_COMMON = "fx_basic_type_common";
+DLLSPEC daeString COLLADA_TYPE_FLOAT1X1 = "float1x1";
+DLLSPEC daeString COLLADA_TYPE_FLOAT1X2 = "float1x2";
+DLLSPEC daeString COLLADA_TYPE_FLOAT1X3 = "float1x3";
+DLLSPEC daeString COLLADA_TYPE_FLOAT1X4 = "float1x4";
+DLLSPEC daeString COLLADA_TYPE_FLOAT2X1 = "float2x1";
+DLLSPEC daeString COLLADA_TYPE_FLOAT2X3 = "float2x3";
+DLLSPEC daeString COLLADA_TYPE_FLOAT2X4 = "float2x4";
+DLLSPEC daeString COLLADA_TYPE_FLOAT3X1 = "float3x1";
+DLLSPEC daeString COLLADA_TYPE_FLOAT3X2 = "float3x2";
+DLLSPEC daeString COLLADA_TYPE_FLOAT3X4 = "float3x4";
+DLLSPEC daeString COLLADA_TYPE_FLOAT4X1 = "float4x1";
+DLLSPEC daeString COLLADA_TYPE_FLOAT4X2 = "float4x2";
+DLLSPEC daeString COLLADA_TYPE_FLOAT4X3 = "float4x3";
+DLLSPEC daeString COLLADA_TYPE_ENUM = "enum";
+DLLSPEC daeString COLLADA_TYPE_GL_PIPELINE_SETTINGS = "gl_pipeline_settings";
+DLLSPEC daeString COLLADA_TYPE_ALPHA_FUNC = "alpha_func";
+DLLSPEC daeString COLLADA_TYPE_FUNC = "func";
+DLLSPEC daeString COLLADA_TYPE_VALUE = "value";
+DLLSPEC daeString COLLADA_TYPE_BLEND_FUNC = "blend_func";
+DLLSPEC daeString COLLADA_TYPE_SRC = "src";
+DLLSPEC daeString COLLADA_TYPE_DEST = "dest";
+DLLSPEC daeString COLLADA_TYPE_BLEND_FUNC_SEPARATE = "blend_func_separate";
+DLLSPEC daeString COLLADA_TYPE_SRC_RGB = "src_rgb";
+DLLSPEC daeString COLLADA_TYPE_DEST_RGB = "dest_rgb";
+DLLSPEC daeString COLLADA_TYPE_SRC_ALPHA = "src_alpha";
+DLLSPEC daeString COLLADA_TYPE_DEST_ALPHA = "dest_alpha";
+DLLSPEC daeString COLLADA_TYPE_BLEND_EQUATION = "blend_equation";
+DLLSPEC daeString COLLADA_TYPE_BLEND_EQUATION_SEPARATE = "blend_equation_separate";
+DLLSPEC daeString COLLADA_TYPE_RGB = "rgb";
+DLLSPEC daeString COLLADA_TYPE_ALPHA = "alpha";
+DLLSPEC daeString COLLADA_TYPE_COLOR_MATERIAL = "color_material";
+DLLSPEC daeString COLLADA_TYPE_MODE = "mode";
+DLLSPEC daeString COLLADA_TYPE_CULL_FACE = "cull_face";
+DLLSPEC daeString COLLADA_TYPE_DEPTH_FUNC = "depth_func";
+DLLSPEC daeString COLLADA_TYPE_FOG_MODE = "fog_mode";
+DLLSPEC daeString COLLADA_TYPE_FOG_COORD_SRC = "fog_coord_src";
+DLLSPEC daeString COLLADA_TYPE_FRONT_FACE = "front_face";
+DLLSPEC daeString COLLADA_TYPE_LIGHT_MODEL_COLOR_CONTROL = "light_model_color_control";
+DLLSPEC daeString COLLADA_TYPE_LOGIC_OP = "logic_op";
+DLLSPEC daeString COLLADA_TYPE_POLYGON_MODE = "polygon_mode";
+DLLSPEC daeString COLLADA_TYPE_SHADE_MODEL = "shade_model";
+DLLSPEC daeString COLLADA_TYPE_STENCIL_FUNC = "stencil_func";
+DLLSPEC daeString COLLADA_TYPE_REF = "ref";
+DLLSPEC daeString COLLADA_TYPE_MASK = "mask";
+DLLSPEC daeString COLLADA_TYPE_STENCIL_OP = "stencil_op";
+DLLSPEC daeString COLLADA_TYPE_FAIL = "fail";
+DLLSPEC daeString COLLADA_TYPE_ZFAIL = "zfail";
+DLLSPEC daeString COLLADA_TYPE_ZPASS = "zpass";
+DLLSPEC daeString COLLADA_TYPE_STENCIL_FUNC_SEPARATE = "stencil_func_separate";
+DLLSPEC daeString COLLADA_TYPE_FRONT = "front";
+DLLSPEC daeString COLLADA_TYPE_BACK = "back";
+DLLSPEC daeString COLLADA_TYPE_STENCIL_OP_SEPARATE = "stencil_op_separate";
+DLLSPEC daeString COLLADA_TYPE_STENCIL_MASK_SEPARATE = "stencil_mask_separate";
+DLLSPEC daeString COLLADA_TYPE_LIGHT_ENABLE = "light_enable";
+DLLSPEC daeString COLLADA_TYPE_LIGHT_AMBIENT = "light_ambient";
+DLLSPEC daeString COLLADA_TYPE_LIGHT_DIFFUSE = "light_diffuse";
+DLLSPEC daeString COLLADA_TYPE_LIGHT_SPECULAR = "light_specular";
+DLLSPEC daeString COLLADA_TYPE_LIGHT_POSITION = "light_position";
+DLLSPEC daeString COLLADA_TYPE_LIGHT_CONSTANT_ATTENUATION = "light_constant_attenuation";
+DLLSPEC daeString COLLADA_TYPE_LIGHT_LINEAR_ATTENUATION = "light_linear_attenuation";
+DLLSPEC daeString COLLADA_TYPE_LIGHT_QUADRATIC_ATTENUATION = "light_quadratic_attenuation";
+DLLSPEC daeString COLLADA_TYPE_LIGHT_SPOT_CUTOFF = "light_spot_cutoff";
+DLLSPEC daeString COLLADA_TYPE_LIGHT_SPOT_DIRECTION = "light_spot_direction";
+DLLSPEC daeString COLLADA_TYPE_LIGHT_SPOT_EXPONENT = "light_spot_exponent";
+DLLSPEC daeString COLLADA_TYPE_TEXTURE1D = "texture1D";
+DLLSPEC daeString COLLADA_TYPE_TEXTURE2D = "texture2D";
+DLLSPEC daeString COLLADA_TYPE_TEXTURE3D = "texture3D";
+DLLSPEC daeString COLLADA_TYPE_TEXTURECUBE = "textureCUBE";
+DLLSPEC daeString COLLADA_TYPE_TEXTURERECT = "textureRECT";
+DLLSPEC daeString COLLADA_TYPE_TEXTUREDEPTH = "textureDEPTH";
+DLLSPEC daeString COLLADA_TYPE_TEXTURE1D_ENABLE = "texture1D_enable";
+DLLSPEC daeString COLLADA_TYPE_TEXTURE2D_ENABLE = "texture2D_enable";
+DLLSPEC daeString COLLADA_TYPE_TEXTURE3D_ENABLE = "texture3D_enable";
+DLLSPEC daeString COLLADA_TYPE_TEXTURECUBE_ENABLE = "textureCUBE_enable";
+DLLSPEC daeString COLLADA_TYPE_TEXTURERECT_ENABLE = "textureRECT_enable";
+DLLSPEC daeString COLLADA_TYPE_TEXTUREDEPTH_ENABLE = "textureDEPTH_enable";
+DLLSPEC daeString COLLADA_TYPE_TEXTURE_ENV_COLOR = "texture_env_color";
+DLLSPEC daeString COLLADA_TYPE_TEXTURE_ENV_MODE = "texture_env_mode";
+DLLSPEC daeString COLLADA_TYPE_CLIP_PLANE = "clip_plane";
+DLLSPEC daeString COLLADA_TYPE_CLIP_PLANE_ENABLE = "clip_plane_enable";
+DLLSPEC daeString COLLADA_TYPE_BLEND_COLOR = "blend_color";
+DLLSPEC daeString COLLADA_TYPE_CLEAR_COLOR = "clear_color";
+DLLSPEC daeString COLLADA_TYPE_CLEAR_STENCIL = "clear_stencil";
+DLLSPEC daeString COLLADA_TYPE_CLEAR_DEPTH = "clear_depth";
+DLLSPEC daeString COLLADA_TYPE_COLOR_MASK = "color_mask";
+DLLSPEC daeString COLLADA_TYPE_DEPTH_BOUNDS = "depth_bounds";
+DLLSPEC daeString COLLADA_TYPE_DEPTH_MASK = "depth_mask";
+DLLSPEC daeString COLLADA_TYPE_DEPTH_RANGE = "depth_range";
+DLLSPEC daeString COLLADA_TYPE_FOG_DENSITY = "fog_density";
+DLLSPEC daeString COLLADA_TYPE_FOG_START = "fog_start";
+DLLSPEC daeString COLLADA_TYPE_FOG_END = "fog_end";
+DLLSPEC daeString COLLADA_TYPE_FOG_COLOR = "fog_color";
+DLLSPEC daeString COLLADA_TYPE_LIGHT_MODEL_AMBIENT = "light_model_ambient";
+DLLSPEC daeString COLLADA_TYPE_LIGHTING_ENABLE = "lighting_enable";
+DLLSPEC daeString COLLADA_TYPE_LINE_STIPPLE = "line_stipple";
+DLLSPEC daeString COLLADA_TYPE_LINE_WIDTH = "line_width";
+DLLSPEC daeString COLLADA_TYPE_MATERIAL_AMBIENT = "material_ambient";
+DLLSPEC daeString COLLADA_TYPE_MATERIAL_DIFFUSE = "material_diffuse";
+DLLSPEC daeString COLLADA_TYPE_MATERIAL_EMISSION = "material_emission";
+DLLSPEC daeString COLLADA_TYPE_MATERIAL_SHININESS = "material_shininess";
+DLLSPEC daeString COLLADA_TYPE_MATERIAL_SPECULAR = "material_specular";
+DLLSPEC daeString COLLADA_TYPE_MODEL_VIEW_MATRIX = "model_view_matrix";
+DLLSPEC daeString COLLADA_TYPE_POINT_DISTANCE_ATTENUATION = "point_distance_attenuation";
+DLLSPEC daeString COLLADA_TYPE_POINT_FADE_THRESHOLD_SIZE = "point_fade_threshold_size";
+DLLSPEC daeString COLLADA_TYPE_POINT_SIZE = "point_size";
+DLLSPEC daeString COLLADA_TYPE_POINT_SIZE_MIN = "point_size_min";
+DLLSPEC daeString COLLADA_TYPE_POINT_SIZE_MAX = "point_size_max";
+DLLSPEC daeString COLLADA_TYPE_POLYGON_OFFSET = "polygon_offset";
+DLLSPEC daeString COLLADA_TYPE_PROJECTION_MATRIX = "projection_matrix";
+DLLSPEC daeString COLLADA_TYPE_SCISSOR = "scissor";
+DLLSPEC daeString COLLADA_TYPE_STENCIL_MASK = "stencil_mask";
+DLLSPEC daeString COLLADA_TYPE_ALPHA_TEST_ENABLE = "alpha_test_enable";
+DLLSPEC daeString COLLADA_TYPE_AUTO_NORMAL_ENABLE = "auto_normal_enable";
+DLLSPEC daeString COLLADA_TYPE_BLEND_ENABLE = "blend_enable";
+DLLSPEC daeString COLLADA_TYPE_COLOR_LOGIC_OP_ENABLE = "color_logic_op_enable";
+DLLSPEC daeString COLLADA_TYPE_COLOR_MATERIAL_ENABLE = "color_material_enable";
+DLLSPEC daeString COLLADA_TYPE_CULL_FACE_ENABLE = "cull_face_enable";
+DLLSPEC daeString COLLADA_TYPE_DEPTH_BOUNDS_ENABLE = "depth_bounds_enable";
+DLLSPEC daeString COLLADA_TYPE_DEPTH_CLAMP_ENABLE = "depth_clamp_enable";
+DLLSPEC daeString COLLADA_TYPE_DEPTH_TEST_ENABLE = "depth_test_enable";
+DLLSPEC daeString COLLADA_TYPE_DITHER_ENABLE = "dither_enable";
+DLLSPEC daeString COLLADA_TYPE_FOG_ENABLE = "fog_enable";
+DLLSPEC daeString COLLADA_TYPE_LIGHT_MODEL_LOCAL_VIEWER_ENABLE = "light_model_local_viewer_enable";
+DLLSPEC daeString COLLADA_TYPE_LIGHT_MODEL_TWO_SIDE_ENABLE = "light_model_two_side_enable";
+DLLSPEC daeString COLLADA_TYPE_LINE_SMOOTH_ENABLE = "line_smooth_enable";
+DLLSPEC daeString COLLADA_TYPE_LINE_STIPPLE_ENABLE = "line_stipple_enable";
+DLLSPEC daeString COLLADA_TYPE_LOGIC_OP_ENABLE = "logic_op_enable";
+DLLSPEC daeString COLLADA_TYPE_MULTISAMPLE_ENABLE = "multisample_enable";
+DLLSPEC daeString COLLADA_TYPE_NORMALIZE_ENABLE = "normalize_enable";
+DLLSPEC daeString COLLADA_TYPE_POINT_SMOOTH_ENABLE = "point_smooth_enable";
+DLLSPEC daeString COLLADA_TYPE_POLYGON_OFFSET_FILL_ENABLE = "polygon_offset_fill_enable";
+DLLSPEC daeString COLLADA_TYPE_POLYGON_OFFSET_LINE_ENABLE = "polygon_offset_line_enable";
+DLLSPEC daeString COLLADA_TYPE_POLYGON_OFFSET_POINT_ENABLE = "polygon_offset_point_enable";
+DLLSPEC daeString COLLADA_TYPE_POLYGON_SMOOTH_ENABLE = "polygon_smooth_enable";
+DLLSPEC daeString COLLADA_TYPE_POLYGON_STIPPLE_ENABLE = "polygon_stipple_enable";
+DLLSPEC daeString COLLADA_TYPE_RESCALE_NORMAL_ENABLE = "rescale_normal_enable";
+DLLSPEC daeString COLLADA_TYPE_SAMPLE_ALPHA_TO_COVERAGE_ENABLE = "sample_alpha_to_coverage_enable";
+DLLSPEC daeString COLLADA_TYPE_SAMPLE_ALPHA_TO_ONE_ENABLE = "sample_alpha_to_one_enable";
+DLLSPEC daeString COLLADA_TYPE_SAMPLE_COVERAGE_ENABLE = "sample_coverage_enable";
+DLLSPEC daeString COLLADA_TYPE_SCISSOR_TEST_ENABLE = "scissor_test_enable";
+DLLSPEC daeString COLLADA_TYPE_STENCIL_TEST_ENABLE = "stencil_test_enable";
+DLLSPEC daeString COLLADA_TYPE_GLSL_PARAM_TYPE = "glsl_param_type";
+DLLSPEC daeString COLLADA_TYPE_CG_PARAM_TYPE = "cg_param_type";
+DLLSPEC daeString COLLADA_TYPE_BOOL1 = "bool1";
+DLLSPEC daeString COLLADA_TYPE_BOOL1X1 = "bool1x1";
+DLLSPEC daeString COLLADA_TYPE_BOOL1X2 = "bool1x2";
+DLLSPEC daeString COLLADA_TYPE_BOOL1X3 = "bool1x3";
+DLLSPEC daeString COLLADA_TYPE_BOOL1X4 = "bool1x4";
+DLLSPEC daeString COLLADA_TYPE_BOOL2X1 = "bool2x1";
+DLLSPEC daeString COLLADA_TYPE_BOOL2X2 = "bool2x2";
+DLLSPEC daeString COLLADA_TYPE_BOOL2X3 = "bool2x3";
+DLLSPEC daeString COLLADA_TYPE_BOOL2X4 = "bool2x4";
+DLLSPEC daeString COLLADA_TYPE_BOOL3X1 = "bool3x1";
+DLLSPEC daeString COLLADA_TYPE_BOOL3X2 = "bool3x2";
+DLLSPEC daeString COLLADA_TYPE_BOOL3X3 = "bool3x3";
+DLLSPEC daeString COLLADA_TYPE_BOOL3X4 = "bool3x4";
+DLLSPEC daeString COLLADA_TYPE_BOOL4X1 = "bool4x1";
+DLLSPEC daeString COLLADA_TYPE_BOOL4X2 = "bool4x2";
+DLLSPEC daeString COLLADA_TYPE_BOOL4X3 = "bool4x3";
+DLLSPEC daeString COLLADA_TYPE_BOOL4X4 = "bool4x4";
+DLLSPEC daeString COLLADA_TYPE_FLOAT1 = "float1";
+DLLSPEC daeString COLLADA_TYPE_INT1 = "int1";
+DLLSPEC daeString COLLADA_TYPE_INT1X1 = "int1x1";
+DLLSPEC daeString COLLADA_TYPE_INT1X2 = "int1x2";
+DLLSPEC daeString COLLADA_TYPE_INT1X3 = "int1x3";
+DLLSPEC daeString COLLADA_TYPE_INT1X4 = "int1x4";
+DLLSPEC daeString COLLADA_TYPE_INT2X1 = "int2x1";
+DLLSPEC daeString COLLADA_TYPE_INT2X2 = "int2x2";
+DLLSPEC daeString COLLADA_TYPE_INT2X3 = "int2x3";
+DLLSPEC daeString COLLADA_TYPE_INT2X4 = "int2x4";
+DLLSPEC daeString COLLADA_TYPE_INT3X1 = "int3x1";
+DLLSPEC daeString COLLADA_TYPE_INT3X2 = "int3x2";
+DLLSPEC daeString COLLADA_TYPE_INT3X3 = "int3x3";
+DLLSPEC daeString COLLADA_TYPE_INT3X4 = "int3x4";
+DLLSPEC daeString COLLADA_TYPE_INT4X1 = "int4x1";
+DLLSPEC daeString COLLADA_TYPE_INT4X2 = "int4x2";
+DLLSPEC daeString COLLADA_TYPE_INT4X3 = "int4x3";
+DLLSPEC daeString COLLADA_TYPE_INT4X4 = "int4x4";
+DLLSPEC daeString COLLADA_TYPE_HALF = "half";
+DLLSPEC daeString COLLADA_TYPE_HALF1 = "half1";
+DLLSPEC daeString COLLADA_TYPE_HALF2 = "half2";
+DLLSPEC daeString COLLADA_TYPE_HALF3 = "half3";
+DLLSPEC daeString COLLADA_TYPE_HALF4 = "half4";
+DLLSPEC daeString COLLADA_TYPE_HALF1X1 = "half1x1";
+DLLSPEC daeString COLLADA_TYPE_HALF1X2 = "half1x2";
+DLLSPEC daeString COLLADA_TYPE_HALF1X3 = "half1x3";
+DLLSPEC daeString COLLADA_TYPE_HALF1X4 = "half1x4";
+DLLSPEC daeString COLLADA_TYPE_HALF2X1 = "half2x1";
+DLLSPEC daeString COLLADA_TYPE_HALF2X2 = "half2x2";
+DLLSPEC daeString COLLADA_TYPE_HALF2X3 = "half2x3";
+DLLSPEC daeString COLLADA_TYPE_HALF2X4 = "half2x4";
+DLLSPEC daeString COLLADA_TYPE_HALF3X1 = "half3x1";
+DLLSPEC daeString COLLADA_TYPE_HALF3X2 = "half3x2";
+DLLSPEC daeString COLLADA_TYPE_HALF3X3 = "half3x3";
+DLLSPEC daeString COLLADA_TYPE_HALF3X4 = "half3x4";
+DLLSPEC daeString COLLADA_TYPE_HALF4X1 = "half4x1";
+DLLSPEC daeString COLLADA_TYPE_HALF4X2 = "half4x2";
+DLLSPEC daeString COLLADA_TYPE_HALF4X3 = "half4x3";
+DLLSPEC daeString COLLADA_TYPE_HALF4X4 = "half4x4";
+DLLSPEC daeString COLLADA_TYPE_FIXED = "fixed";
+DLLSPEC daeString COLLADA_TYPE_FIXED1 = "fixed1";
+DLLSPEC daeString COLLADA_TYPE_FIXED2 = "fixed2";
+DLLSPEC daeString COLLADA_TYPE_FIXED3 = "fixed3";
+DLLSPEC daeString COLLADA_TYPE_FIXED4 = "fixed4";
+DLLSPEC daeString COLLADA_TYPE_FIXED1X1 = "fixed1x1";
+DLLSPEC daeString COLLADA_TYPE_FIXED1X2 = "fixed1x2";
+DLLSPEC daeString COLLADA_TYPE_FIXED1X3 = "fixed1x3";
+DLLSPEC daeString COLLADA_TYPE_FIXED1X4 = "fixed1x4";
+DLLSPEC daeString COLLADA_TYPE_FIXED2X1 = "fixed2x1";
+DLLSPEC daeString COLLADA_TYPE_FIXED2X2 = "fixed2x2";
+DLLSPEC daeString COLLADA_TYPE_FIXED2X3 = "fixed2x3";
+DLLSPEC daeString COLLADA_TYPE_FIXED2X4 = "fixed2x4";
+DLLSPEC daeString COLLADA_TYPE_FIXED3X1 = "fixed3x1";
+DLLSPEC daeString COLLADA_TYPE_FIXED3X2 = "fixed3x2";
+DLLSPEC daeString COLLADA_TYPE_FIXED3X3 = "fixed3x3";
+DLLSPEC daeString COLLADA_TYPE_FIXED3X4 = "fixed3x4";
+DLLSPEC daeString COLLADA_TYPE_FIXED4X1 = "fixed4x1";
+DLLSPEC daeString COLLADA_TYPE_FIXED4X2 = "fixed4x2";
+DLLSPEC daeString COLLADA_TYPE_FIXED4X3 = "fixed4x3";
+DLLSPEC daeString COLLADA_TYPE_FIXED4X4 = "fixed4x4";
+DLLSPEC daeString COLLADA_TYPE_GLES_PIPELINE_SETTINGS = "gles_pipeline_settings";
+DLLSPEC daeString COLLADA_TYPE_TEXTURE_PIPELINE = "texture_pipeline";
+DLLSPEC daeString COLLADA_TYPE_LIGHT_LINEAR_ATTENUTATION = "light_linear_attenutation";
+DLLSPEC daeString COLLADA_TYPE_TEXTURE_PIPELINE_ENABLE = "texture_pipeline_enable";
+DLLSPEC daeString COLLADA_TYPE_GLES_BASIC_TYPE_COMMON = "gles_basic_type_common";
+DLLSPEC daeString COLLADA_TYPE_COLLADA = "COLLADA";
+DLLSPEC daeString COLLADA_TYPE_SCENE = "scene";
+DLLSPEC daeString COLLADA_TYPE_IDREF_ARRAY = "IDREF_array";
+DLLSPEC daeString COLLADA_TYPE_NAME_ARRAY = "Name_array";
+DLLSPEC daeString COLLADA_TYPE_BOOL_ARRAY = "bool_array";
+DLLSPEC daeString COLLADA_TYPE_FLOAT_ARRAY = "float_array";
+DLLSPEC daeString COLLADA_TYPE_INT_ARRAY = "int_array";
+DLLSPEC daeString COLLADA_TYPE_ACCESSOR = "accessor";
+DLLSPEC daeString COLLADA_TYPE_TECHNIQUE_COMMON = "technique_common";
+DLLSPEC daeString COLLADA_TYPE_GEOMETRY = "geometry";
+DLLSPEC daeString COLLADA_TYPE_MESH = "mesh";
+DLLSPEC daeString COLLADA_TYPE_SPLINE = "spline";
+DLLSPEC daeString COLLADA_TYPE_CONTROL_VERTICES = "control_vertices";
+DLLSPEC daeString COLLADA_TYPE_P = "p";
+DLLSPEC daeString COLLADA_TYPE_LINES = "lines";
+DLLSPEC daeString COLLADA_TYPE_LINESTRIPS = "linestrips";
+DLLSPEC daeString COLLADA_TYPE_POLYGONS = "polygons";
+DLLSPEC daeString COLLADA_TYPE_PH = "ph";
+DLLSPEC daeString COLLADA_TYPE_H = "h";
+DLLSPEC daeString COLLADA_TYPE_POLYLIST = "polylist";
+DLLSPEC daeString COLLADA_TYPE_VCOUNT = "vcount";
+DLLSPEC daeString COLLADA_TYPE_TRIANGLES = "triangles";
+DLLSPEC daeString COLLADA_TYPE_TRIFANS = "trifans";
+DLLSPEC daeString COLLADA_TYPE_TRISTRIPS = "tristrips";
+DLLSPEC daeString COLLADA_TYPE_VERTICES = "vertices";
+DLLSPEC daeString COLLADA_TYPE_LOOKAT = "lookat";
+DLLSPEC daeString COLLADA_TYPE_MATRIX = "matrix";
+DLLSPEC daeString COLLADA_TYPE_ROTATE = "rotate";
+DLLSPEC daeString COLLADA_TYPE_SCALE = "scale";
+DLLSPEC daeString COLLADA_TYPE_SKEW = "skew";
+DLLSPEC daeString COLLADA_TYPE_TRANSLATE = "translate";
+DLLSPEC daeString COLLADA_TYPE_IMAGE = "image";
+DLLSPEC daeString COLLADA_TYPE_DATA = "data";
+DLLSPEC daeString COLLADA_TYPE_INIT_FROM = "init_from";
+DLLSPEC daeString COLLADA_TYPE_LIGHT = "light";
+DLLSPEC daeString COLLADA_TYPE_AMBIENT = "ambient";
+DLLSPEC daeString COLLADA_TYPE_DIRECTIONAL = "directional";
+DLLSPEC daeString COLLADA_TYPE_POINT = "point";
+DLLSPEC daeString COLLADA_TYPE_SPOT = "spot";
+DLLSPEC daeString COLLADA_TYPE_MATERIAL = "material";
+DLLSPEC daeString COLLADA_TYPE_CAMERA = "camera";
+DLLSPEC daeString COLLADA_TYPE_OPTICS = "optics";
+DLLSPEC daeString COLLADA_TYPE_ORTHOGRAPHIC = "orthographic";
+DLLSPEC daeString COLLADA_TYPE_PERSPECTIVE = "perspective";
+DLLSPEC daeString COLLADA_TYPE_IMAGER = "imager";
+DLLSPEC daeString COLLADA_TYPE_ANIMATION = "animation";
+DLLSPEC daeString COLLADA_TYPE_ANIMATION_CLIP = "animation_clip";
+DLLSPEC daeString COLLADA_TYPE_CHANNEL = "channel";
+DLLSPEC daeString COLLADA_TYPE_SAMPLER = "sampler";
+DLLSPEC daeString COLLADA_TYPE_CONTROLLER = "controller";
+DLLSPEC daeString COLLADA_TYPE_SKIN = "skin";
+DLLSPEC daeString COLLADA_TYPE_BIND_SHAPE_MATRIX = "bind_shape_matrix";
+DLLSPEC daeString COLLADA_TYPE_JOINTS = "joints";
+DLLSPEC daeString COLLADA_TYPE_VERTEX_WEIGHTS = "vertex_weights";
+DLLSPEC daeString COLLADA_TYPE_V = "v";
+DLLSPEC daeString COLLADA_TYPE_MORPH = "morph";
+DLLSPEC daeString COLLADA_TYPE_TARGETS = "targets";
+DLLSPEC daeString COLLADA_TYPE_ASSET = "asset";
+DLLSPEC daeString COLLADA_TYPE_CONTRIBUTOR = "contributor";
+DLLSPEC daeString COLLADA_TYPE_AUTHOR = "author";
+DLLSPEC daeString COLLADA_TYPE_AUTHORING_TOOL = "authoring_tool";
+DLLSPEC daeString COLLADA_TYPE_COMMENTS = "comments";
+DLLSPEC daeString COLLADA_TYPE_COPYRIGHT = "copyright";
+DLLSPEC daeString COLLADA_TYPE_SOURCE_DATA = "source_data";
+DLLSPEC daeString COLLADA_TYPE_CREATED = "created";
+DLLSPEC daeString COLLADA_TYPE_KEYWORDS = "keywords";
+DLLSPEC daeString COLLADA_TYPE_MODIFIED = "modified";
+DLLSPEC daeString COLLADA_TYPE_REVISION = "revision";
+DLLSPEC daeString COLLADA_TYPE_SUBJECT = "subject";
+DLLSPEC daeString COLLADA_TYPE_TITLE = "title";
+DLLSPEC daeString COLLADA_TYPE_UNIT = "unit";
+DLLSPEC daeString COLLADA_TYPE_UP_AXIS = "up_axis";
+DLLSPEC daeString COLLADA_TYPE_EXTRA = "extra";
+DLLSPEC daeString COLLADA_TYPE_TECHNIQUE = "technique";
+DLLSPEC daeString COLLADA_TYPE_NODE = "node";
+DLLSPEC daeString COLLADA_TYPE_VISUAL_SCENE = "visual_scene";
+DLLSPEC daeString COLLADA_TYPE_EVALUATE_SCENE = "evaluate_scene";
+DLLSPEC daeString COLLADA_TYPE_RENDER = "render";
+DLLSPEC daeString COLLADA_TYPE_LAYER = "layer";
+DLLSPEC daeString COLLADA_TYPE_BIND_MATERIAL = "bind_material";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_CAMERA = "instance_camera";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_CONTROLLER = "instance_controller";
+DLLSPEC daeString COLLADA_TYPE_SKELETON = "skeleton";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_EFFECT = "instance_effect";
+DLLSPEC daeString COLLADA_TYPE_TECHNIQUE_HINT = "technique_hint";
+DLLSPEC daeString COLLADA_TYPE_SETPARAM = "setparam";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_FORCE_FIELD = "instance_force_field";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_GEOMETRY = "instance_geometry";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_LIGHT = "instance_light";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_MATERIAL = "instance_material";
+DLLSPEC daeString COLLADA_TYPE_BIND = "bind";
+DLLSPEC daeString COLLADA_TYPE_BIND_VERTEX_INPUT = "bind_vertex_input";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_NODE = "instance_node";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_PHYSICS_MATERIAL = "instance_physics_material";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_PHYSICS_MODEL = "instance_physics_model";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_RIGID_BODY = "instance_rigid_body";
+DLLSPEC daeString COLLADA_TYPE_ANGULAR_VELOCITY = "angular_velocity";
+DLLSPEC daeString COLLADA_TYPE_VELOCITY = "velocity";
+DLLSPEC daeString COLLADA_TYPE_DYNAMIC = "dynamic";
+DLLSPEC daeString COLLADA_TYPE_MASS_FRAME = "mass_frame";
+DLLSPEC daeString COLLADA_TYPE_SHAPE = "shape";
+DLLSPEC daeString COLLADA_TYPE_HOLLOW = "hollow";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_RIGID_CONSTRAINT = "instance_rigid_constraint";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_ANIMATIONS = "library_animations";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_ANIMATION_CLIPS = "library_animation_clips";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_CAMERAS = "library_cameras";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_CONTROLLERS = "library_controllers";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_GEOMETRIES = "library_geometries";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_EFFECTS = "library_effects";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_FORCE_FIELDS = "library_force_fields";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_IMAGES = "library_images";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_LIGHTS = "library_lights";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_MATERIALS = "library_materials";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_NODES = "library_nodes";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_PHYSICS_MATERIALS = "library_physics_materials";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_PHYSICS_MODELS = "library_physics_models";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_PHYSICS_SCENES = "library_physics_scenes";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_VISUAL_SCENES = "library_visual_scenes";
+DLLSPEC daeString COLLADA_TYPE_FX_PROFILE_ABSTRACT = "fx_profile_abstract";
+DLLSPEC daeString COLLADA_TYPE_EFFECT = "effect";
+DLLSPEC daeString COLLADA_TYPE_GL_HOOK_ABSTRACT = "gl_hook_abstract";
+DLLSPEC daeString COLLADA_TYPE_PROFILE_GLSL = "profile_GLSL";
+DLLSPEC daeString COLLADA_TYPE_PASS = "pass";
+DLLSPEC daeString COLLADA_TYPE_DRAW = "draw";
+DLLSPEC daeString COLLADA_TYPE_SHADER = "shader";
+DLLSPEC daeString COLLADA_TYPE_COMPILER_TARGET = "compiler_target";
+DLLSPEC daeString COLLADA_TYPE_COMPILER_OPTIONS = "compiler_options";
+DLLSPEC daeString COLLADA_TYPE_PROFILE_COMMON = "profile_COMMON";
+DLLSPEC daeString COLLADA_TYPE_CONSTANT = "constant";
+DLLSPEC daeString COLLADA_TYPE_LAMBERT = "lambert";
+DLLSPEC daeString COLLADA_TYPE_PHONG = "phong";
+DLLSPEC daeString COLLADA_TYPE_BLINN = "blinn";
+DLLSPEC daeString COLLADA_TYPE_PROFILE_CG = "profile_CG";
+DLLSPEC daeString COLLADA_TYPE_PROFILE_GLES = "profile_GLES";
+DLLSPEC daeString COLLADA_TYPE_COLOR_TARGET = "color_target";
+DLLSPEC daeString COLLADA_TYPE_DEPTH_TARGET = "depth_target";
+DLLSPEC daeString COLLADA_TYPE_STENCIL_TARGET = "stencil_target";
+DLLSPEC daeString COLLADA_TYPE_COLOR_CLEAR = "color_clear";
+DLLSPEC daeString COLLADA_TYPE_DEPTH_CLEAR = "depth_clear";
+DLLSPEC daeString COLLADA_TYPE_STENCIL_CLEAR = "stencil_clear";
+DLLSPEC daeString COLLADA_TYPE_BOX = "box";
+DLLSPEC daeString COLLADA_TYPE_HALF_EXTENTS = "half_extents";
+DLLSPEC daeString COLLADA_TYPE_PLANE = "plane";
+DLLSPEC daeString COLLADA_TYPE_EQUATION = "equation";
+DLLSPEC daeString COLLADA_TYPE_SPHERE = "sphere";
+DLLSPEC daeString COLLADA_TYPE_RADIUS = "radius";
+DLLSPEC daeString COLLADA_TYPE_ELLIPSOID = "ellipsoid";
+DLLSPEC daeString COLLADA_TYPE_CYLINDER = "cylinder";
+DLLSPEC daeString COLLADA_TYPE_HEIGHT = "height";
+DLLSPEC daeString COLLADA_TYPE_TAPERED_CYLINDER = "tapered_cylinder";
+DLLSPEC daeString COLLADA_TYPE_RADIUS1 = "radius1";
+DLLSPEC daeString COLLADA_TYPE_RADIUS2 = "radius2";
+DLLSPEC daeString COLLADA_TYPE_CAPSULE = "capsule";
+DLLSPEC daeString COLLADA_TYPE_TAPERED_CAPSULE = "tapered_capsule";
+DLLSPEC daeString COLLADA_TYPE_CONVEX_MESH = "convex_mesh";
+DLLSPEC daeString COLLADA_TYPE_FORCE_FIELD = "force_field";
+DLLSPEC daeString COLLADA_TYPE_PHYSICS_MATERIAL = "physics_material";
+DLLSPEC daeString COLLADA_TYPE_PHYSICS_SCENE = "physics_scene";
+DLLSPEC daeString COLLADA_TYPE_RIGID_BODY = "rigid_body";
+DLLSPEC daeString COLLADA_TYPE_RIGID_CONSTRAINT = "rigid_constraint";
+DLLSPEC daeString COLLADA_TYPE_REF_ATTACHMENT = "ref_attachment";
+DLLSPEC daeString COLLADA_TYPE_ATTACHMENT = "attachment";
+DLLSPEC daeString COLLADA_TYPE_ENABLED = "enabled";
+DLLSPEC daeString COLLADA_TYPE_INTERPENETRATE = "interpenetrate";
+DLLSPEC daeString COLLADA_TYPE_LIMITS = "limits";
+DLLSPEC daeString COLLADA_TYPE_SWING_CONE_AND_TWIST = "swing_cone_and_twist";
+DLLSPEC daeString COLLADA_TYPE_LINEAR = "linear";
+DLLSPEC daeString COLLADA_TYPE_SPRING = "spring";
+DLLSPEC daeString COLLADA_TYPE_ANGULAR = "angular";
+DLLSPEC daeString COLLADA_TYPE_PHYSICS_MODEL = "physics_model";
+
+DLLSPEC daeString COLLADA_ELEMENT_COLLADA = "COLLADA";
+DLLSPEC daeString COLLADA_ELEMENT_EXTRA = "extra";
+DLLSPEC daeString COLLADA_ELEMENT_CHANNELS = "channels";
+DLLSPEC daeString COLLADA_ELEMENT_RANGE = "range";
+DLLSPEC daeString COLLADA_ELEMENT_PRECISION = "precision";
+DLLSPEC daeString COLLADA_ELEMENT_OPTION = "option";
+DLLSPEC daeString COLLADA_ELEMENT_ALL = "all";
+DLLSPEC daeString COLLADA_ELEMENT_PRIMARY = "primary";
+DLLSPEC daeString COLLADA_ELEMENT_FACE = "face";
+DLLSPEC daeString COLLADA_ELEMENT_ORDER = "order";
+DLLSPEC daeString COLLADA_ELEMENT_FX_SURFACE_INIT_COMMON = "fx_surface_init_common";
+DLLSPEC daeString COLLADA_ELEMENT_FORMAT = "format";
+DLLSPEC daeString COLLADA_ELEMENT_FORMAT_HINT = "format_hint";
+DLLSPEC daeString COLLADA_ELEMENT_SIZE = "size";
+DLLSPEC daeString COLLADA_ELEMENT_VIEWPORT_RATIO = "viewport_ratio";
+DLLSPEC daeString COLLADA_ELEMENT_MIP_LEVELS = "mip_levels";
+DLLSPEC daeString COLLADA_ELEMENT_MIPMAP_GENERATE = "mipmap_generate";
+DLLSPEC daeString COLLADA_ELEMENT_SOURCE = "source";
+DLLSPEC daeString COLLADA_ELEMENT_WRAP_S = "wrap_s";
+DLLSPEC daeString COLLADA_ELEMENT_MINFILTER = "minfilter";
+DLLSPEC daeString COLLADA_ELEMENT_MAGFILTER = "magfilter";
+DLLSPEC daeString COLLADA_ELEMENT_MIPFILTER = "mipfilter";
+DLLSPEC daeString COLLADA_ELEMENT_BORDER_COLOR = "border_color";
+DLLSPEC daeString COLLADA_ELEMENT_MIPMAP_MAXLEVEL = "mipmap_maxlevel";
+DLLSPEC daeString COLLADA_ELEMENT_MIPMAP_BIAS = "mipmap_bias";
+DLLSPEC daeString COLLADA_ELEMENT_WRAP_T = "wrap_t";
+DLLSPEC daeString COLLADA_ELEMENT_WRAP_P = "wrap_p";
+DLLSPEC daeString COLLADA_ELEMENT_FX_ANNOTATE_TYPE_COMMON = "fx_annotate_type_common";
+DLLSPEC daeString COLLADA_ELEMENT_ANNOTATE = "annotate";
+DLLSPEC daeString COLLADA_ELEMENT_SEMANTIC = "semantic";
+DLLSPEC daeString COLLADA_ELEMENT_MODIFIER = "modifier";
+DLLSPEC daeString COLLADA_ELEMENT_FX_BASIC_TYPE_COMMON = "fx_basic_type_common";
+DLLSPEC daeString COLLADA_ELEMENT_GLSL_PARAM_TYPE = "glsl_param_type";
+DLLSPEC daeString COLLADA_ELEMENT_ARRAY = "array";
+DLLSPEC daeString COLLADA_ELEMENT_GENERATOR = "generator";
+DLLSPEC daeString COLLADA_ELEMENT_CODE = "code";
+DLLSPEC daeString COLLADA_ELEMENT_INCLUDE = "include";
+DLLSPEC daeString COLLADA_ELEMENT_NAME = "name";
+DLLSPEC daeString COLLADA_ELEMENT_SETPARAM = "setparam";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT = "float";
+DLLSPEC daeString COLLADA_ELEMENT_PARAM = "param";
+DLLSPEC daeString COLLADA_ELEMENT_COLOR = "color";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTURE = "texture";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT2 = "float2";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT3 = "float3";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT4 = "float4";
+DLLSPEC daeString COLLADA_ELEMENT_SURFACE = "surface";
+DLLSPEC daeString COLLADA_ELEMENT_SAMPLER2D = "sampler2D";
+DLLSPEC daeString COLLADA_ELEMENT_CG_PARAM_TYPE = "cg_param_type";
+DLLSPEC daeString COLLADA_ELEMENT_USERTYPE = "usertype";
+DLLSPEC daeString COLLADA_ELEMENT_CONNECT_PARAM = "connect_param";
+DLLSPEC daeString COLLADA_ELEMENT_CONSTANT = "constant";
+DLLSPEC daeString COLLADA_ELEMENT_ARGUMENT = "argument";
+DLLSPEC daeString COLLADA_ELEMENT_RGB = "RGB";
+DLLSPEC daeString COLLADA_ELEMENT_ALPHA = "alpha";
+DLLSPEC daeString COLLADA_ELEMENT_TEXCOMBINER = "texcombiner";
+DLLSPEC daeString COLLADA_ELEMENT_TEXENV = "texenv";
+DLLSPEC daeString COLLADA_ELEMENT_SAMPLER_STATE = "sampler_state";
+DLLSPEC daeString COLLADA_ELEMENT_TEXCOORD = "texcoord";
+DLLSPEC daeString COLLADA_ELEMENT_GLES_BASIC_TYPE_COMMON = "gles_basic_type_common";
+DLLSPEC daeString COLLADA_ELEMENT_INIT_AS_NULL = "init_as_null";
+DLLSPEC daeString COLLADA_ELEMENT_INIT_AS_TARGET = "init_as_target";
+DLLSPEC daeString COLLADA_ELEMENT_INIT_CUBE = "init_cube";
+DLLSPEC daeString COLLADA_ELEMENT_INIT_VOLUME = "init_volume";
+DLLSPEC daeString COLLADA_ELEMENT_INIT_PLANAR = "init_planar";
+DLLSPEC daeString COLLADA_ELEMENT_INIT_FROM = "init_from";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL = "bool";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL2 = "bool2";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL3 = "bool3";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL4 = "bool4";
+DLLSPEC daeString COLLADA_ELEMENT_INT = "int";
+DLLSPEC daeString COLLADA_ELEMENT_INT2 = "int2";
+DLLSPEC daeString COLLADA_ELEMENT_INT3 = "int3";
+DLLSPEC daeString COLLADA_ELEMENT_INT4 = "int4";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT2X2 = "float2x2";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT3X3 = "float3x3";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT4X4 = "float4x4";
+DLLSPEC daeString COLLADA_ELEMENT_STRING = "string";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT1X1 = "float1x1";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT1X2 = "float1x2";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT1X3 = "float1x3";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT1X4 = "float1x4";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT2X1 = "float2x1";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT2X3 = "float2x3";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT2X4 = "float2x4";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT3X1 = "float3x1";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT3X2 = "float3x2";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT3X4 = "float3x4";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT4X1 = "float4x1";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT4X2 = "float4x2";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT4X3 = "float4x3";
+DLLSPEC daeString COLLADA_ELEMENT_SAMPLER1D = "sampler1D";
+DLLSPEC daeString COLLADA_ELEMENT_SAMPLER3D = "sampler3D";
+DLLSPEC daeString COLLADA_ELEMENT_SAMPLERCUBE = "samplerCUBE";
+DLLSPEC daeString COLLADA_ELEMENT_SAMPLERRECT = "samplerRECT";
+DLLSPEC daeString COLLADA_ELEMENT_SAMPLERDEPTH = "samplerDEPTH";
+DLLSPEC daeString COLLADA_ELEMENT_ENUM = "enum";
+DLLSPEC daeString COLLADA_ELEMENT_ALPHA_FUNC = "alpha_func";
+DLLSPEC daeString COLLADA_ELEMENT_BLEND_FUNC = "blend_func";
+DLLSPEC daeString COLLADA_ELEMENT_BLEND_FUNC_SEPARATE = "blend_func_separate";
+DLLSPEC daeString COLLADA_ELEMENT_BLEND_EQUATION = "blend_equation";
+DLLSPEC daeString COLLADA_ELEMENT_BLEND_EQUATION_SEPARATE = "blend_equation_separate";
+DLLSPEC daeString COLLADA_ELEMENT_COLOR_MATERIAL = "color_material";
+DLLSPEC daeString COLLADA_ELEMENT_CULL_FACE = "cull_face";
+DLLSPEC daeString COLLADA_ELEMENT_DEPTH_FUNC = "depth_func";
+DLLSPEC daeString COLLADA_ELEMENT_FOG_MODE = "fog_mode";
+DLLSPEC daeString COLLADA_ELEMENT_FOG_COORD_SRC = "fog_coord_src";
+DLLSPEC daeString COLLADA_ELEMENT_FRONT_FACE = "front_face";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT_MODEL_COLOR_CONTROL = "light_model_color_control";
+DLLSPEC daeString COLLADA_ELEMENT_LOGIC_OP = "logic_op";
+DLLSPEC daeString COLLADA_ELEMENT_POLYGON_MODE = "polygon_mode";
+DLLSPEC daeString COLLADA_ELEMENT_SHADE_MODEL = "shade_model";
+DLLSPEC daeString COLLADA_ELEMENT_STENCIL_FUNC = "stencil_func";
+DLLSPEC daeString COLLADA_ELEMENT_STENCIL_OP = "stencil_op";
+DLLSPEC daeString COLLADA_ELEMENT_STENCIL_FUNC_SEPARATE = "stencil_func_separate";
+DLLSPEC daeString COLLADA_ELEMENT_STENCIL_OP_SEPARATE = "stencil_op_separate";
+DLLSPEC daeString COLLADA_ELEMENT_STENCIL_MASK_SEPARATE = "stencil_mask_separate";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT_ENABLE = "light_enable";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT_AMBIENT = "light_ambient";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT_DIFFUSE = "light_diffuse";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT_SPECULAR = "light_specular";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT_POSITION = "light_position";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT_CONSTANT_ATTENUATION = "light_constant_attenuation";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT_LINEAR_ATTENUATION = "light_linear_attenuation";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT_QUADRATIC_ATTENUATION = "light_quadratic_attenuation";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT_SPOT_CUTOFF = "light_spot_cutoff";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT_SPOT_DIRECTION = "light_spot_direction";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT_SPOT_EXPONENT = "light_spot_exponent";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTURE1D = "texture1D";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTURE2D = "texture2D";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTURE3D = "texture3D";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTURECUBE = "textureCUBE";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTURERECT = "textureRECT";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTUREDEPTH = "textureDEPTH";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTURE1D_ENABLE = "texture1D_enable";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTURE2D_ENABLE = "texture2D_enable";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTURE3D_ENABLE = "texture3D_enable";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTURECUBE_ENABLE = "textureCUBE_enable";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTURERECT_ENABLE = "textureRECT_enable";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTUREDEPTH_ENABLE = "textureDEPTH_enable";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTURE_ENV_COLOR = "texture_env_color";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTURE_ENV_MODE = "texture_env_mode";
+DLLSPEC daeString COLLADA_ELEMENT_CLIP_PLANE = "clip_plane";
+DLLSPEC daeString COLLADA_ELEMENT_CLIP_PLANE_ENABLE = "clip_plane_enable";
+DLLSPEC daeString COLLADA_ELEMENT_BLEND_COLOR = "blend_color";
+DLLSPEC daeString COLLADA_ELEMENT_CLEAR_COLOR = "clear_color";
+DLLSPEC daeString COLLADA_ELEMENT_CLEAR_STENCIL = "clear_stencil";
+DLLSPEC daeString COLLADA_ELEMENT_CLEAR_DEPTH = "clear_depth";
+DLLSPEC daeString COLLADA_ELEMENT_COLOR_MASK = "color_mask";
+DLLSPEC daeString COLLADA_ELEMENT_DEPTH_BOUNDS = "depth_bounds";
+DLLSPEC daeString COLLADA_ELEMENT_DEPTH_MASK = "depth_mask";
+DLLSPEC daeString COLLADA_ELEMENT_DEPTH_RANGE = "depth_range";
+DLLSPEC daeString COLLADA_ELEMENT_FOG_DENSITY = "fog_density";
+DLLSPEC daeString COLLADA_ELEMENT_FOG_START = "fog_start";
+DLLSPEC daeString COLLADA_ELEMENT_FOG_END = "fog_end";
+DLLSPEC daeString COLLADA_ELEMENT_FOG_COLOR = "fog_color";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT_MODEL_AMBIENT = "light_model_ambient";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHTING_ENABLE = "lighting_enable";
+DLLSPEC daeString COLLADA_ELEMENT_LINE_STIPPLE = "line_stipple";
+DLLSPEC daeString COLLADA_ELEMENT_LINE_WIDTH = "line_width";
+DLLSPEC daeString COLLADA_ELEMENT_MATERIAL_AMBIENT = "material_ambient";
+DLLSPEC daeString COLLADA_ELEMENT_MATERIAL_DIFFUSE = "material_diffuse";
+DLLSPEC daeString COLLADA_ELEMENT_MATERIAL_EMISSION = "material_emission";
+DLLSPEC daeString COLLADA_ELEMENT_MATERIAL_SHININESS = "material_shininess";
+DLLSPEC daeString COLLADA_ELEMENT_MATERIAL_SPECULAR = "material_specular";
+DLLSPEC daeString COLLADA_ELEMENT_MODEL_VIEW_MATRIX = "model_view_matrix";
+DLLSPEC daeString COLLADA_ELEMENT_POINT_DISTANCE_ATTENUATION = "point_distance_attenuation";
+DLLSPEC daeString COLLADA_ELEMENT_POINT_FADE_THRESHOLD_SIZE = "point_fade_threshold_size";
+DLLSPEC daeString COLLADA_ELEMENT_POINT_SIZE = "point_size";
+DLLSPEC daeString COLLADA_ELEMENT_POINT_SIZE_MIN = "point_size_min";
+DLLSPEC daeString COLLADA_ELEMENT_POINT_SIZE_MAX = "point_size_max";
+DLLSPEC daeString COLLADA_ELEMENT_POLYGON_OFFSET = "polygon_offset";
+DLLSPEC daeString COLLADA_ELEMENT_PROJECTION_MATRIX = "projection_matrix";
+DLLSPEC daeString COLLADA_ELEMENT_SCISSOR = "scissor";
+DLLSPEC daeString COLLADA_ELEMENT_STENCIL_MASK = "stencil_mask";
+DLLSPEC daeString COLLADA_ELEMENT_ALPHA_TEST_ENABLE = "alpha_test_enable";
+DLLSPEC daeString COLLADA_ELEMENT_AUTO_NORMAL_ENABLE = "auto_normal_enable";
+DLLSPEC daeString COLLADA_ELEMENT_BLEND_ENABLE = "blend_enable";
+DLLSPEC daeString COLLADA_ELEMENT_COLOR_LOGIC_OP_ENABLE = "color_logic_op_enable";
+DLLSPEC daeString COLLADA_ELEMENT_COLOR_MATERIAL_ENABLE = "color_material_enable";
+DLLSPEC daeString COLLADA_ELEMENT_CULL_FACE_ENABLE = "cull_face_enable";
+DLLSPEC daeString COLLADA_ELEMENT_DEPTH_BOUNDS_ENABLE = "depth_bounds_enable";
+DLLSPEC daeString COLLADA_ELEMENT_DEPTH_CLAMP_ENABLE = "depth_clamp_enable";
+DLLSPEC daeString COLLADA_ELEMENT_DEPTH_TEST_ENABLE = "depth_test_enable";
+DLLSPEC daeString COLLADA_ELEMENT_DITHER_ENABLE = "dither_enable";
+DLLSPEC daeString COLLADA_ELEMENT_FOG_ENABLE = "fog_enable";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE = "light_model_local_viewer_enable";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE = "light_model_two_side_enable";
+DLLSPEC daeString COLLADA_ELEMENT_LINE_SMOOTH_ENABLE = "line_smooth_enable";
+DLLSPEC daeString COLLADA_ELEMENT_LINE_STIPPLE_ENABLE = "line_stipple_enable";
+DLLSPEC daeString COLLADA_ELEMENT_LOGIC_OP_ENABLE = "logic_op_enable";
+DLLSPEC daeString COLLADA_ELEMENT_MULTISAMPLE_ENABLE = "multisample_enable";
+DLLSPEC daeString COLLADA_ELEMENT_NORMALIZE_ENABLE = "normalize_enable";
+DLLSPEC daeString COLLADA_ELEMENT_POINT_SMOOTH_ENABLE = "point_smooth_enable";
+DLLSPEC daeString COLLADA_ELEMENT_POLYGON_OFFSET_FILL_ENABLE = "polygon_offset_fill_enable";
+DLLSPEC daeString COLLADA_ELEMENT_POLYGON_OFFSET_LINE_ENABLE = "polygon_offset_line_enable";
+DLLSPEC daeString COLLADA_ELEMENT_POLYGON_OFFSET_POINT_ENABLE = "polygon_offset_point_enable";
+DLLSPEC daeString COLLADA_ELEMENT_POLYGON_SMOOTH_ENABLE = "polygon_smooth_enable";
+DLLSPEC daeString COLLADA_ELEMENT_POLYGON_STIPPLE_ENABLE = "polygon_stipple_enable";
+DLLSPEC daeString COLLADA_ELEMENT_RESCALE_NORMAL_ENABLE = "rescale_normal_enable";
+DLLSPEC daeString COLLADA_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE = "sample_alpha_to_coverage_enable";
+DLLSPEC daeString COLLADA_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE = "sample_alpha_to_one_enable";
+DLLSPEC daeString COLLADA_ELEMENT_SAMPLE_COVERAGE_ENABLE = "sample_coverage_enable";
+DLLSPEC daeString COLLADA_ELEMENT_SCISSOR_TEST_ENABLE = "scissor_test_enable";
+DLLSPEC daeString COLLADA_ELEMENT_STENCIL_TEST_ENABLE = "stencil_test_enable";
+DLLSPEC daeString COLLADA_ELEMENT_GL_HOOK_ABSTRACT = "gl_hook_abstract";
+DLLSPEC daeString COLLADA_ELEMENT_FUNC = "func";
+DLLSPEC daeString COLLADA_ELEMENT_VALUE = "value";
+DLLSPEC daeString COLLADA_ELEMENT_SRC = "src";
+DLLSPEC daeString COLLADA_ELEMENT_DEST = "dest";
+DLLSPEC daeString COLLADA_ELEMENT_SRC_RGB = "src_rgb";
+DLLSPEC daeString COLLADA_ELEMENT_DEST_RGB = "dest_rgb";
+DLLSPEC daeString COLLADA_ELEMENT_SRC_ALPHA = "src_alpha";
+DLLSPEC daeString COLLADA_ELEMENT_DEST_ALPHA = "dest_alpha";
+DLLSPEC daeString COLLADA_ELEMENT_rgb = "rgb";
+DLLSPEC daeString COLLADA_ELEMENT_MODE = "mode";
+DLLSPEC daeString COLLADA_ELEMENT_REF = "ref";
+DLLSPEC daeString COLLADA_ELEMENT_MASK = "mask";
+DLLSPEC daeString COLLADA_ELEMENT_FAIL = "fail";
+DLLSPEC daeString COLLADA_ELEMENT_ZFAIL = "zfail";
+DLLSPEC daeString COLLADA_ELEMENT_ZPASS = "zpass";
+DLLSPEC daeString COLLADA_ELEMENT_FRONT = "front";
+DLLSPEC daeString COLLADA_ELEMENT_BACK = "back";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL1 = "bool1";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL1X1 = "bool1x1";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL1X2 = "bool1x2";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL1X3 = "bool1x3";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL1X4 = "bool1x4";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL2X1 = "bool2x1";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL2X2 = "bool2x2";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL2X3 = "bool2x3";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL2X4 = "bool2x4";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL3X1 = "bool3x1";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL3X2 = "bool3x2";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL3X3 = "bool3x3";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL3X4 = "bool3x4";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL4X1 = "bool4x1";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL4X2 = "bool4x2";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL4X3 = "bool4x3";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL4X4 = "bool4x4";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT1 = "float1";
+DLLSPEC daeString COLLADA_ELEMENT_INT1 = "int1";
+DLLSPEC daeString COLLADA_ELEMENT_INT1X1 = "int1x1";
+DLLSPEC daeString COLLADA_ELEMENT_INT1X2 = "int1x2";
+DLLSPEC daeString COLLADA_ELEMENT_INT1X3 = "int1x3";
+DLLSPEC daeString COLLADA_ELEMENT_INT1X4 = "int1x4";
+DLLSPEC daeString COLLADA_ELEMENT_INT2X1 = "int2x1";
+DLLSPEC daeString COLLADA_ELEMENT_INT2X2 = "int2x2";
+DLLSPEC daeString COLLADA_ELEMENT_INT2X3 = "int2x3";
+DLLSPEC daeString COLLADA_ELEMENT_INT2X4 = "int2x4";
+DLLSPEC daeString COLLADA_ELEMENT_INT3X1 = "int3x1";
+DLLSPEC daeString COLLADA_ELEMENT_INT3X2 = "int3x2";
+DLLSPEC daeString COLLADA_ELEMENT_INT3X3 = "int3x3";
+DLLSPEC daeString COLLADA_ELEMENT_INT3X4 = "int3x4";
+DLLSPEC daeString COLLADA_ELEMENT_INT4X1 = "int4x1";
+DLLSPEC daeString COLLADA_ELEMENT_INT4X2 = "int4x2";
+DLLSPEC daeString COLLADA_ELEMENT_INT4X3 = "int4x3";
+DLLSPEC daeString COLLADA_ELEMENT_INT4X4 = "int4x4";
+DLLSPEC daeString COLLADA_ELEMENT_HALF = "half";
+DLLSPEC daeString COLLADA_ELEMENT_HALF1 = "half1";
+DLLSPEC daeString COLLADA_ELEMENT_HALF2 = "half2";
+DLLSPEC daeString COLLADA_ELEMENT_HALF3 = "half3";
+DLLSPEC daeString COLLADA_ELEMENT_HALF4 = "half4";
+DLLSPEC daeString COLLADA_ELEMENT_HALF1X1 = "half1x1";
+DLLSPEC daeString COLLADA_ELEMENT_HALF1X2 = "half1x2";
+DLLSPEC daeString COLLADA_ELEMENT_HALF1X3 = "half1x3";
+DLLSPEC daeString COLLADA_ELEMENT_HALF1X4 = "half1x4";
+DLLSPEC daeString COLLADA_ELEMENT_HALF2X1 = "half2x1";
+DLLSPEC daeString COLLADA_ELEMENT_HALF2X2 = "half2x2";
+DLLSPEC daeString COLLADA_ELEMENT_HALF2X3 = "half2x3";
+DLLSPEC daeString COLLADA_ELEMENT_HALF2X4 = "half2x4";
+DLLSPEC daeString COLLADA_ELEMENT_HALF3X1 = "half3x1";
+DLLSPEC daeString COLLADA_ELEMENT_HALF3X2 = "half3x2";
+DLLSPEC daeString COLLADA_ELEMENT_HALF3X3 = "half3x3";
+DLLSPEC daeString COLLADA_ELEMENT_HALF3X4 = "half3x4";
+DLLSPEC daeString COLLADA_ELEMENT_HALF4X1 = "half4x1";
+DLLSPEC daeString COLLADA_ELEMENT_HALF4X2 = "half4x2";
+DLLSPEC daeString COLLADA_ELEMENT_HALF4X3 = "half4x3";
+DLLSPEC daeString COLLADA_ELEMENT_HALF4X4 = "half4x4";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED = "fixed";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED1 = "fixed1";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED2 = "fixed2";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED3 = "fixed3";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED4 = "fixed4";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED1X1 = "fixed1x1";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED1X2 = "fixed1x2";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED1X3 = "fixed1x3";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED1X4 = "fixed1x4";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED2X1 = "fixed2x1";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED2X2 = "fixed2x2";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED2X3 = "fixed2x3";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED2X4 = "fixed2x4";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED3X1 = "fixed3x1";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED3X2 = "fixed3x2";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED3X3 = "fixed3x3";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED3X4 = "fixed3x4";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED4X1 = "fixed4x1";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED4X2 = "fixed4x2";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED4X3 = "fixed4x3";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED4X4 = "fixed4x4";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTURE_PIPELINE = "texture_pipeline";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT_LINEAR_ATTENUTATION = "light_linear_attenutation";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTURE_PIPELINE_ENABLE = "texture_pipeline_enable";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTURE_UNIT = "texture_unit";
+DLLSPEC daeString COLLADA_ELEMENT_ASSET = "asset";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_ANIMATIONS = "library_animations";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_ANIMATION_CLIPS = "library_animation_clips";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_CAMERAS = "library_cameras";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_CONTROLLERS = "library_controllers";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_GEOMETRIES = "library_geometries";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_EFFECTS = "library_effects";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_FORCE_FIELDS = "library_force_fields";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_IMAGES = "library_images";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_LIGHTS = "library_lights";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_MATERIALS = "library_materials";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_NODES = "library_nodes";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_PHYSICS_MATERIALS = "library_physics_materials";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_PHYSICS_MODELS = "library_physics_models";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_PHYSICS_SCENES = "library_physics_scenes";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_VISUAL_SCENES = "library_visual_scenes";
+DLLSPEC daeString COLLADA_ELEMENT_SCENE = "scene";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_PHYSICS_SCENE = "instance_physics_scene";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_VISUAL_SCENE = "instance_visual_scene";
+DLLSPEC daeString COLLADA_ELEMENT_IDREF_ARRAY = "IDREF_array";
+DLLSPEC daeString COLLADA_ELEMENT_NAME_ARRAY = "Name_array";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL_ARRAY = "bool_array";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT_ARRAY = "float_array";
+DLLSPEC daeString COLLADA_ELEMENT_INT_ARRAY = "int_array";
+DLLSPEC daeString COLLADA_ELEMENT_TECHNIQUE_COMMON = "technique_common";
+DLLSPEC daeString COLLADA_ELEMENT_TECHNIQUE = "technique";
+DLLSPEC daeString COLLADA_ELEMENT_ACCESSOR = "accessor";
+DLLSPEC daeString COLLADA_ELEMENT_CONVEX_MESH = "convex_mesh";
+DLLSPEC daeString COLLADA_ELEMENT_MESH = "mesh";
+DLLSPEC daeString COLLADA_ELEMENT_SPLINE = "spline";
+DLLSPEC daeString COLLADA_ELEMENT_VERTICES = "vertices";
+DLLSPEC daeString COLLADA_ELEMENT_LINES = "lines";
+DLLSPEC daeString COLLADA_ELEMENT_LINESTRIPS = "linestrips";
+DLLSPEC daeString COLLADA_ELEMENT_POLYGONS = "polygons";
+DLLSPEC daeString COLLADA_ELEMENT_POLYLIST = "polylist";
+DLLSPEC daeString COLLADA_ELEMENT_TRIANGLES = "triangles";
+DLLSPEC daeString COLLADA_ELEMENT_TRIFANS = "trifans";
+DLLSPEC daeString COLLADA_ELEMENT_TRISTRIPS = "tristrips";
+DLLSPEC daeString COLLADA_ELEMENT_CONTROL_VERTICES = "control_vertices";
+DLLSPEC daeString COLLADA_ELEMENT_INPUT = "input";
+DLLSPEC daeString COLLADA_ELEMENT_P = "p";
+DLLSPEC daeString COLLADA_ELEMENT_PH = "ph";
+DLLSPEC daeString COLLADA_ELEMENT_H = "h";
+DLLSPEC daeString COLLADA_ELEMENT_VCOUNT = "vcount";
+DLLSPEC daeString COLLADA_ELEMENT_DATA = "data";
+DLLSPEC daeString COLLADA_ELEMENT_AMBIENT = "ambient";
+DLLSPEC daeString COLLADA_ELEMENT_DIRECTIONAL = "directional";
+DLLSPEC daeString COLLADA_ELEMENT_POINT = "point";
+DLLSPEC daeString COLLADA_ELEMENT_SPOT = "spot";
+DLLSPEC daeString COLLADA_ELEMENT_CONSTANT_ATTENUATION = "constant_attenuation";
+DLLSPEC daeString COLLADA_ELEMENT_LINEAR_ATTENUATION = "linear_attenuation";
+DLLSPEC daeString COLLADA_ELEMENT_QUADRATIC_ATTENUATION = "quadratic_attenuation";
+DLLSPEC daeString COLLADA_ELEMENT_FALLOFF_ANGLE = "falloff_angle";
+DLLSPEC daeString COLLADA_ELEMENT_FALLOFF_EXPONENT = "falloff_exponent";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_EFFECT = "instance_effect";
+DLLSPEC daeString COLLADA_ELEMENT_OPTICS = "optics";
+DLLSPEC daeString COLLADA_ELEMENT_IMAGER = "imager";
+DLLSPEC daeString COLLADA_ELEMENT_ORTHOGRAPHIC = "orthographic";
+DLLSPEC daeString COLLADA_ELEMENT_PERSPECTIVE = "perspective";
+DLLSPEC daeString COLLADA_ELEMENT_XMAG = "xmag";
+DLLSPEC daeString COLLADA_ELEMENT_YMAG = "ymag";
+DLLSPEC daeString COLLADA_ELEMENT_ASPECT_RATIO = "aspect_ratio";
+DLLSPEC daeString COLLADA_ELEMENT_ZNEAR = "znear";
+DLLSPEC daeString COLLADA_ELEMENT_ZFAR = "zfar";
+DLLSPEC daeString COLLADA_ELEMENT_XFOV = "xfov";
+DLLSPEC daeString COLLADA_ELEMENT_YFOV = "yfov";
+DLLSPEC daeString COLLADA_ELEMENT_SAMPLER = "sampler";
+DLLSPEC daeString COLLADA_ELEMENT_CHANNEL = "channel";
+DLLSPEC daeString COLLADA_ELEMENT_ANIMATION = "animation";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_ANIMATION = "instance_animation";
+DLLSPEC daeString COLLADA_ELEMENT_SKIN = "skin";
+DLLSPEC daeString COLLADA_ELEMENT_MORPH = "morph";
+DLLSPEC daeString COLLADA_ELEMENT_BIND_SHAPE_MATRIX = "bind_shape_matrix";
+DLLSPEC daeString COLLADA_ELEMENT_JOINTS = "joints";
+DLLSPEC daeString COLLADA_ELEMENT_VERTEX_WEIGHTS = "vertex_weights";
+DLLSPEC daeString COLLADA_ELEMENT_V = "v";
+DLLSPEC daeString COLLADA_ELEMENT_TARGETS = "targets";
+DLLSPEC daeString COLLADA_ELEMENT_CONTRIBUTOR = "contributor";
+DLLSPEC daeString COLLADA_ELEMENT_CREATED = "created";
+DLLSPEC daeString COLLADA_ELEMENT_KEYWORDS = "keywords";
+DLLSPEC daeString COLLADA_ELEMENT_MODIFIED = "modified";
+DLLSPEC daeString COLLADA_ELEMENT_REVISION = "revision";
+DLLSPEC daeString COLLADA_ELEMENT_SUBJECT = "subject";
+DLLSPEC daeString COLLADA_ELEMENT_TITLE = "title";
+DLLSPEC daeString COLLADA_ELEMENT_UNIT = "unit";
+DLLSPEC daeString COLLADA_ELEMENT_UP_AXIS = "up_axis";
+DLLSPEC daeString COLLADA_ELEMENT_AUTHOR = "author";
+DLLSPEC daeString COLLADA_ELEMENT_AUTHORING_TOOL = "authoring_tool";
+DLLSPEC daeString COLLADA_ELEMENT_COMMENTS = "comments";
+DLLSPEC daeString COLLADA_ELEMENT_COPYRIGHT = "copyright";
+DLLSPEC daeString COLLADA_ELEMENT_SOURCE_DATA = "source_data";
+DLLSPEC daeString COLLADA_ELEMENT_LOOKAT = "lookat";
+DLLSPEC daeString COLLADA_ELEMENT_MATRIX = "matrix";
+DLLSPEC daeString COLLADA_ELEMENT_ROTATE = "rotate";
+DLLSPEC daeString COLLADA_ELEMENT_SCALE = "scale";
+DLLSPEC daeString COLLADA_ELEMENT_SKEW = "skew";
+DLLSPEC daeString COLLADA_ELEMENT_TRANSLATE = "translate";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_CAMERA = "instance_camera";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_CONTROLLER = "instance_controller";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_GEOMETRY = "instance_geometry";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_LIGHT = "instance_light";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_NODE = "instance_node";
+DLLSPEC daeString COLLADA_ELEMENT_NODE = "node";
+DLLSPEC daeString COLLADA_ELEMENT_EVALUATE_SCENE = "evaluate_scene";
+DLLSPEC daeString COLLADA_ELEMENT_RENDER = "render";
+DLLSPEC daeString COLLADA_ELEMENT_LAYER = "layer";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_MATERIAL = "instance_material";
+DLLSPEC daeString COLLADA_ELEMENT_SKELETON = "skeleton";
+DLLSPEC daeString COLLADA_ELEMENT_BIND_MATERIAL = "bind_material";
+DLLSPEC daeString COLLADA_ELEMENT_TECHNIQUE_HINT = "technique_hint";
+DLLSPEC daeString COLLADA_ELEMENT_BIND = "bind";
+DLLSPEC daeString COLLADA_ELEMENT_BIND_VERTEX_INPUT = "bind_vertex_input";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_FORCE_FIELD = "instance_force_field";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_RIGID_BODY = "instance_rigid_body";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_RIGID_CONSTRAINT = "instance_rigid_constraint";
+DLLSPEC daeString COLLADA_ELEMENT_ANGULAR_VELOCITY = "angular_velocity";
+DLLSPEC daeString COLLADA_ELEMENT_VELOCITY = "velocity";
+DLLSPEC daeString COLLADA_ELEMENT_DYNAMIC = "dynamic";
+DLLSPEC daeString COLLADA_ELEMENT_MASS = "mass";
+DLLSPEC daeString COLLADA_ELEMENT_MASS_FRAME = "mass_frame";
+DLLSPEC daeString COLLADA_ELEMENT_INERTIA = "inertia";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_PHYSICS_MATERIAL = "instance_physics_material";
+DLLSPEC daeString COLLADA_ELEMENT_PHYSICS_MATERIAL = "physics_material";
+DLLSPEC daeString COLLADA_ELEMENT_SHAPE = "shape";
+DLLSPEC daeString COLLADA_ELEMENT_HOLLOW = "hollow";
+DLLSPEC daeString COLLADA_ELEMENT_DENSITY = "density";
+DLLSPEC daeString COLLADA_ELEMENT_PLANE = "plane";
+DLLSPEC daeString COLLADA_ELEMENT_BOX = "box";
+DLLSPEC daeString COLLADA_ELEMENT_SPHERE = "sphere";
+DLLSPEC daeString COLLADA_ELEMENT_CYLINDER = "cylinder";
+DLLSPEC daeString COLLADA_ELEMENT_TAPERED_CYLINDER = "tapered_cylinder";
+DLLSPEC daeString COLLADA_ELEMENT_CAPSULE = "capsule";
+DLLSPEC daeString COLLADA_ELEMENT_TAPERED_CAPSULE = "tapered_capsule";
+DLLSPEC daeString COLLADA_ELEMENT_ANIMATION_CLIP = "animation_clip";
+DLLSPEC daeString COLLADA_ELEMENT_CAMERA = "camera";
+DLLSPEC daeString COLLADA_ELEMENT_CONTROLLER = "controller";
+DLLSPEC daeString COLLADA_ELEMENT_GEOMETRY = "geometry";
+DLLSPEC daeString COLLADA_ELEMENT_EFFECT = "effect";
+DLLSPEC daeString COLLADA_ELEMENT_FORCE_FIELD = "force_field";
+DLLSPEC daeString COLLADA_ELEMENT_IMAGE = "image";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT = "light";
+DLLSPEC daeString COLLADA_ELEMENT_MATERIAL = "material";
+DLLSPEC daeString COLLADA_ELEMENT_PHYSICS_MODEL = "physics_model";
+DLLSPEC daeString COLLADA_ELEMENT_PHYSICS_SCENE = "physics_scene";
+DLLSPEC daeString COLLADA_ELEMENT_VISUAL_SCENE = "visual_scene";
+DLLSPEC daeString COLLADA_ELEMENT_NEWPARAM = "newparam";
+DLLSPEC daeString COLLADA_ELEMENT_FX_PROFILE_ABSTRACT = "fx_profile_abstract";
+DLLSPEC daeString COLLADA_ELEMENT_PROFILE_GLSL = "profile_GLSL";
+DLLSPEC daeString COLLADA_ELEMENT_PASS = "pass";
+DLLSPEC daeString COLLADA_ELEMENT_COLOR_TARGET = "color_target";
+DLLSPEC daeString COLLADA_ELEMENT_DEPTH_TARGET = "depth_target";
+DLLSPEC daeString COLLADA_ELEMENT_STENCIL_TARGET = "stencil_target";
+DLLSPEC daeString COLLADA_ELEMENT_COLOR_CLEAR = "color_clear";
+DLLSPEC daeString COLLADA_ELEMENT_DEPTH_CLEAR = "depth_clear";
+DLLSPEC daeString COLLADA_ELEMENT_STENCIL_CLEAR = "stencil_clear";
+DLLSPEC daeString COLLADA_ELEMENT_DRAW = "draw";
+DLLSPEC daeString COLLADA_ELEMENT_GL_PIPELINE_SETTINGS = "gl_pipeline_settings";
+DLLSPEC daeString COLLADA_ELEMENT_SHADER = "shader";
+DLLSPEC daeString COLLADA_ELEMENT_COMPILER_TARGET = "compiler_target";
+DLLSPEC daeString COLLADA_ELEMENT_COMPILER_OPTIONS = "compiler_options";
+DLLSPEC daeString COLLADA_ELEMENT_PROFILE_COMMON = "profile_COMMON";
+DLLSPEC daeString COLLADA_ELEMENT_LAMBERT = "lambert";
+DLLSPEC daeString COLLADA_ELEMENT_PHONG = "phong";
+DLLSPEC daeString COLLADA_ELEMENT_BLINN = "blinn";
+DLLSPEC daeString COLLADA_ELEMENT_EMISSION = "emission";
+DLLSPEC daeString COLLADA_ELEMENT_REFLECTIVE = "reflective";
+DLLSPEC daeString COLLADA_ELEMENT_REFLECTIVITY = "reflectivity";
+DLLSPEC daeString COLLADA_ELEMENT_TRANSPARENT = "transparent";
+DLLSPEC daeString COLLADA_ELEMENT_TRANSPARENCY = "transparency";
+DLLSPEC daeString COLLADA_ELEMENT_INDEX_OF_REFRACTION = "index_of_refraction";
+DLLSPEC daeString COLLADA_ELEMENT_DIFFUSE = "diffuse";
+DLLSPEC daeString COLLADA_ELEMENT_SPECULAR = "specular";
+DLLSPEC daeString COLLADA_ELEMENT_SHININESS = "shininess";
+DLLSPEC daeString COLLADA_ELEMENT_PROFILE_CG = "profile_CG";
+DLLSPEC daeString COLLADA_ELEMENT_PROFILE_GLES = "profile_GLES";
+DLLSPEC daeString COLLADA_ELEMENT_GLES_PIPELINE_SETTINGS = "gles_pipeline_settings";
+DLLSPEC daeString COLLADA_ELEMENT_HALF_EXTENTS = "half_extents";
+DLLSPEC daeString COLLADA_ELEMENT_EQUATION = "equation";
+DLLSPEC daeString COLLADA_ELEMENT_RADIUS = "radius";
+DLLSPEC daeString COLLADA_ELEMENT_HEIGHT = "height";
+DLLSPEC daeString COLLADA_ELEMENT_RADIUS1 = "radius1";
+DLLSPEC daeString COLLADA_ELEMENT_RADIUS2 = "radius2";
+DLLSPEC daeString COLLADA_ELEMENT_DYNAMIC_FRICTION = "dynamic_friction";
+DLLSPEC daeString COLLADA_ELEMENT_RESTITUTION = "restitution";
+DLLSPEC daeString COLLADA_ELEMENT_STATIC_FRICTION = "static_friction";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_PHYSICS_MODEL = "instance_physics_model";
+DLLSPEC daeString COLLADA_ELEMENT_GRAVITY = "gravity";
+DLLSPEC daeString COLLADA_ELEMENT_TIME_STEP = "time_step";
+DLLSPEC daeString COLLADA_ELEMENT_REF_ATTACHMENT = "ref_attachment";
+DLLSPEC daeString COLLADA_ELEMENT_ATTACHMENT = "attachment";
+DLLSPEC daeString COLLADA_ELEMENT_ENABLED = "enabled";
+DLLSPEC daeString COLLADA_ELEMENT_INTERPENETRATE = "interpenetrate";
+DLLSPEC daeString COLLADA_ELEMENT_LIMITS = "limits";
+DLLSPEC daeString COLLADA_ELEMENT_SPRING = "spring";
+DLLSPEC daeString COLLADA_ELEMENT_SWING_CONE_AND_TWIST = "swing_cone_and_twist";
+DLLSPEC daeString COLLADA_ELEMENT_LINEAR = "linear";
+DLLSPEC daeString COLLADA_ELEMENT_MIN = "min";
+DLLSPEC daeString COLLADA_ELEMENT_MAX = "max";
+DLLSPEC daeString COLLADA_ELEMENT_ANGULAR = "angular";
+DLLSPEC daeString COLLADA_ELEMENT_STIFFNESS = "stiffness";
+DLLSPEC daeString COLLADA_ELEMENT_DAMPING = "damping";
+DLLSPEC daeString COLLADA_ELEMENT_TARGET_VALUE = "target_value";
+DLLSPEC daeString COLLADA_ELEMENT_RIGID_BODY = "rigid_body";
+DLLSPEC daeString COLLADA_ELEMENT_RIGID_CONSTRAINT = "rigid_constraint";
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domController.cpp b/1.4.0/dom/src/1.4/dom/domController.cpp
new file mode 100644
index 0000000..4f87fe2
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domController.cpp
@@ -0,0 +1,109 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domController.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domController::create(DAE& dae)
+{
+ domControllerRef ref = new domController(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domController::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "controller" );
+ meta->registerClass(domController::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domController,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "skin" );
+ mea->setOffset( daeOffsetOf(domController,elemSkin) );
+ mea->setElementType( domSkin::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "morph" );
+ mea->setOffset( daeOffsetOf(domController,elemMorph) );
+ mea->setElementType( domMorph::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domController,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domController,_contents));
+ meta->addContentsOrder(daeOffsetOf(domController,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domController,_CMData), 1);
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domController , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domController , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domController));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domConvex_mesh.cpp b/1.4.0/dom/src/1.4/dom/domConvex_mesh.cpp
new file mode 100644
index 0000000..231444c
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domConvex_mesh.cpp
@@ -0,0 +1,134 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domConvex_mesh.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domConvex_mesh::create(DAE& dae)
+{
+ domConvex_meshRef ref = new domConvex_mesh(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domConvex_mesh::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "convex_mesh" );
+ meta->registerClass(domConvex_mesh::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 0, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "source" );
+ mea->setOffset( daeOffsetOf(domConvex_mesh,elemSource_array) );
+ mea->setElementType( domSource::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "vertices" );
+ mea->setOffset( daeOffsetOf(domConvex_mesh,elemVertices) );
+ mea->setElementType( domVertices::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 2, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "lines" );
+ mea->setOffset( daeOffsetOf(domConvex_mesh,elemLines_array) );
+ mea->setElementType( domLines::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "linestrips" );
+ mea->setOffset( daeOffsetOf(domConvex_mesh,elemLinestrips_array) );
+ mea->setElementType( domLinestrips::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "polygons" );
+ mea->setOffset( daeOffsetOf(domConvex_mesh,elemPolygons_array) );
+ mea->setElementType( domPolygons::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "polylist" );
+ mea->setOffset( daeOffsetOf(domConvex_mesh,elemPolylist_array) );
+ mea->setElementType( domPolylist::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "triangles" );
+ mea->setOffset( daeOffsetOf(domConvex_mesh,elemTriangles_array) );
+ mea->setElementType( domTriangles::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "trifans" );
+ mea->setOffset( daeOffsetOf(domConvex_mesh,elemTrifans_array) );
+ mea->setElementType( domTrifans::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "tristrips" );
+ mea->setOffset( daeOffsetOf(domConvex_mesh,elemTristrips_array) );
+ mea->setElementType( domTristrips::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3003, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domConvex_mesh,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3003 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domConvex_mesh,_contents));
+ meta->addContentsOrder(daeOffsetOf(domConvex_mesh,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domConvex_mesh,_CMData), 1);
+ // Add attribute: convex_hull_of
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "convex_hull_of" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domConvex_mesh , attrConvex_hull_of ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domConvex_mesh));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domCylinder.cpp b/1.4.0/dom/src/1.4/dom/domCylinder.cpp
new file mode 100644
index 0000000..300ecdb
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domCylinder.cpp
@@ -0,0 +1,143 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domCylinder.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domCylinder::create(DAE& dae)
+{
+ domCylinderRef ref = new domCylinder(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCylinder::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cylinder" );
+ meta->registerClass(domCylinder::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "height" );
+ mea->setOffset( daeOffsetOf(domCylinder,elemHeight) );
+ mea->setElementType( domCylinder::domHeight::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "radius" );
+ mea->setOffset( daeOffsetOf(domCylinder,elemRadius) );
+ mea->setElementType( domCylinder::domRadius::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domCylinder,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domCylinder));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCylinder::domHeight::create(DAE& dae)
+{
+ domCylinder::domHeightRef ref = new domCylinder::domHeight(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCylinder::domHeight::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "height" );
+ meta->registerClass(domCylinder::domHeight::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domCylinder::domHeight , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCylinder::domHeight));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCylinder::domRadius::create(DAE& dae)
+{
+ domCylinder::domRadiusRef ref = new domCylinder::domRadius(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCylinder::domRadius::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "radius" );
+ meta->registerClass(domCylinder::domRadius::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domCylinder::domRadius , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCylinder::domRadius));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domEffect.cpp b/1.4.0/dom/src/1.4/dom/domEffect.cpp
new file mode 100644
index 0000000..9ed9d3b
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domEffect.cpp
@@ -0,0 +1,148 @@
+/*
+ * Copyright 2006 Sony Computer Entertainment Inc.
+ *
+ * Licensed under the MIT Open Source License, for details please see license.txt or the website
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ */
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domEffect.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+#include <1.4/dom/domProfile_GLSL.h>
+#include <1.4/dom/domProfile_COMMON.h>
+#include <1.4/dom/domProfile_CG.h>
+#include <1.4/dom/domProfile_GLES.h>
+
+namespace ColladaDOM141 {
+daeElementRef
+domEffect::create(DAE& dae)
+{
+ domEffectRef ref = new domEffect(dae);
+ return ref;
+}
+
+daeMetaElement *
+domEffect::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "effect" );
+ meta->registerClass(domEffect::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domEffect,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domEffect,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "image" );
+ mea->setOffset( daeOffsetOf(domEffect,elemImage_array) );
+ mea->setElementType( domImage::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "newparam" );
+ mea->setOffset( daeOffsetOf(domEffect,elemNewparam_array) );
+ mea->setElementType( domFx_newparam_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 4, 1, -1 );
+ mea->setName( "fx_profile_abstract" );
+ mea->setOffset( daeOffsetOf(domEffect,elemFx_profile_abstract_array) );
+ mea->setElementType( domFx_profile_abstract::registerElement(dae) );
+ cm->appendChild( mea );
+
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 4, 1, -1 );
+ mea->setName( "profile_GLSL" );
+ mea->setOffset( daeOffsetOf(domEffect,elemFx_profile_abstract_array) );
+ mea->setElementType( domProfile_GLSL::registerElement(dae) );
+ cm->appendChild( mea );
+
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 4, 1, -1 );
+ mea->setName( "profile_COMMON" );
+ mea->setOffset( daeOffsetOf(domEffect,elemFx_profile_abstract_array) );
+ mea->setElementType( domProfile_COMMON::registerElement(dae) );
+ cm->appendChild( mea );
+
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 4, 1, -1 );
+ mea->setName( "profile_CG" );
+ mea->setOffset( daeOffsetOf(domEffect,elemFx_profile_abstract_array) );
+ mea->setElementType( domProfile_CG::registerElement(dae) );
+ cm->appendChild( mea );
+
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 4, 1, -1 );
+ mea->setName( "profile_GLES" );
+ mea->setOffset( daeOffsetOf(domEffect,elemFx_profile_abstract_array) );
+ mea->setElementType( domProfile_GLES::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 5, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domEffect,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 5 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domEffect,_contents));
+ meta->addContentsOrder(daeOffsetOf(domEffect,_contentsOrder));
+
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domEffect, attrId ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domEffect, attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domEffect));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domEllipsoid.cpp b/1.4.0/dom/src/1.4/dom/domEllipsoid.cpp
new file mode 100644
index 0000000..2b98756
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domEllipsoid.cpp
@@ -0,0 +1,95 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domEllipsoid.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domEllipsoid::create(DAE& dae)
+{
+ domEllipsoidRef ref = new domEllipsoid(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domEllipsoid::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "ellipsoid" );
+ meta->registerClass(domEllipsoid::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "size" );
+ mea->setOffset( daeOffsetOf(domEllipsoid,elemSize) );
+ mea->setElementType( domEllipsoid::domSize::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domEllipsoid));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domEllipsoid::domSize::create(DAE& dae)
+{
+ domEllipsoid::domSizeRef ref = new domEllipsoid::domSize(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domEllipsoid::domSize::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "size" );
+ meta->registerClass(domEllipsoid::domSize::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domEllipsoid::domSize , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domEllipsoid::domSize));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domExtra.cpp b/1.4.0/dom/src/1.4/dom/domExtra.cpp
new file mode 100644
index 0000000..6beebcd
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domExtra.cpp
@@ -0,0 +1,98 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domExtra.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domExtra::create(DAE& dae)
+{
+ domExtraRef ref = new domExtra(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domExtra::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "extra" );
+ meta->registerClass(domExtra::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domExtra,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domExtra,elemTechnique_array) );
+ mea->setElementType( domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domExtra , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domExtra , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: type
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "type" );
+ ma->setType( dae.getAtomicTypes().get("xsNMTOKEN"));
+ ma->setOffset( daeOffsetOf( domExtra , attrType ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domExtra));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domFloat_array.cpp b/1.4.0/dom/src/1.4/dom/domFloat_array.cpp
new file mode 100644
index 0000000..4ee9351
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domFloat_array.cpp
@@ -0,0 +1,114 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domFloat_array.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domFloat_array::create(DAE& dae)
+{
+ domFloat_arrayRef ref = new domFloat_array(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFloat_array::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float_array" );
+ meta->registerClass(domFloat_array::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("ListOfFloats"));
+ ma->setOffset( daeOffsetOf( domFloat_array , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domFloat_array , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domFloat_array , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domFloat_array , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: digits
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "digits" );
+ ma->setType( dae.getAtomicTypes().get("xsShort"));
+ ma->setOffset( daeOffsetOf( domFloat_array , attrDigits ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "6");
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: magnitude
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "magnitude" );
+ ma->setType( dae.getAtomicTypes().get("xsShort"));
+ ma->setOffset( daeOffsetOf( domFloat_array , attrMagnitude ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "38");
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFloat_array));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domForce_field.cpp b/1.4.0/dom/src/1.4/dom/domForce_field.cpp
new file mode 100644
index 0000000..360c1fb
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domForce_field.cpp
@@ -0,0 +1,93 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domForce_field.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domForce_field::create(DAE& dae)
+{
+ domForce_fieldRef ref = new domForce_field(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domForce_field::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "force_field" );
+ meta->registerClass(domForce_field::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domForce_field,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domForce_field,elemTechnique_array) );
+ mea->setElementType( domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domForce_field,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domForce_field , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domForce_field , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domForce_field));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domFx_annotate_common.cpp b/1.4.0/dom/src/1.4/dom/domFx_annotate_common.cpp
new file mode 100644
index 0000000..bbbf761
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domFx_annotate_common.cpp
@@ -0,0 +1,71 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domFx_annotate_common.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domFx_annotate_common::create(DAE& dae)
+{
+ domFx_annotate_commonRef ref = new domFx_annotate_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_annotate_common" );
+ meta->registerClass(domFx_annotate_common::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fx_annotate_type_common" );
+ mea->setOffset( daeOffsetOf(domFx_annotate_common,elemFx_annotate_type_common) );
+ mea->setElementType( domFx_annotate_type_common::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 1, 1 ) );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domFx_annotate_common , attrName ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate_common));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domFx_annotate_type_common.cpp b/1.4.0/dom/src/1.4/dom/domFx_annotate_type_common.cpp
new file mode 100644
index 0000000..cb76a32
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domFx_annotate_type_common.cpp
@@ -0,0 +1,730 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domFx_annotate_type_common.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domFx_annotate_type_common::create(DAE& dae)
+{
+ domFx_annotate_type_commonRef ref = new domFx_annotate_type_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate_type_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_annotate_type_common" );
+ meta->registerClass(domFx_annotate_type_common::create);
+
+ meta->setIsTransparent( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool" );
+ mea->setOffset( daeOffsetOf(domFx_annotate_type_common,elemBool) );
+ mea->setElementType( domFx_annotate_type_common::domBool::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool2" );
+ mea->setOffset( daeOffsetOf(domFx_annotate_type_common,elemBool2) );
+ mea->setElementType( domFx_annotate_type_common::domBool2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool3" );
+ mea->setOffset( daeOffsetOf(domFx_annotate_type_common,elemBool3) );
+ mea->setElementType( domFx_annotate_type_common::domBool3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool4" );
+ mea->setOffset( daeOffsetOf(domFx_annotate_type_common,elemBool4) );
+ mea->setElementType( domFx_annotate_type_common::domBool4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int" );
+ mea->setOffset( daeOffsetOf(domFx_annotate_type_common,elemInt) );
+ mea->setElementType( domFx_annotate_type_common::domInt::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int2" );
+ mea->setOffset( daeOffsetOf(domFx_annotate_type_common,elemInt2) );
+ mea->setElementType( domFx_annotate_type_common::domInt2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int3" );
+ mea->setOffset( daeOffsetOf(domFx_annotate_type_common,elemInt3) );
+ mea->setElementType( domFx_annotate_type_common::domInt3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int4" );
+ mea->setOffset( daeOffsetOf(domFx_annotate_type_common,elemInt4) );
+ mea->setElementType( domFx_annotate_type_common::domInt4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float" );
+ mea->setOffset( daeOffsetOf(domFx_annotate_type_common,elemFloat) );
+ mea->setElementType( domFx_annotate_type_common::domFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2" );
+ mea->setOffset( daeOffsetOf(domFx_annotate_type_common,elemFloat2) );
+ mea->setElementType( domFx_annotate_type_common::domFloat2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3" );
+ mea->setOffset( daeOffsetOf(domFx_annotate_type_common,elemFloat3) );
+ mea->setElementType( domFx_annotate_type_common::domFloat3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4" );
+ mea->setOffset( daeOffsetOf(domFx_annotate_type_common,elemFloat4) );
+ mea->setElementType( domFx_annotate_type_common::domFloat4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x2" );
+ mea->setOffset( daeOffsetOf(domFx_annotate_type_common,elemFloat2x2) );
+ mea->setElementType( domFx_annotate_type_common::domFloat2x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x3" );
+ mea->setOffset( daeOffsetOf(domFx_annotate_type_common,elemFloat3x3) );
+ mea->setElementType( domFx_annotate_type_common::domFloat3x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x4" );
+ mea->setOffset( daeOffsetOf(domFx_annotate_type_common,elemFloat4x4) );
+ mea->setElementType( domFx_annotate_type_common::domFloat4x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "string" );
+ mea->setOffset( daeOffsetOf(domFx_annotate_type_common,elemString) );
+ mea->setElementType( domFx_annotate_type_common::domString::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domFx_annotate_type_common,_contents));
+ meta->addContentsOrder(daeOffsetOf(domFx_annotate_type_common,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domFx_annotate_type_common,_CMData), 1);
+ meta->setElementSize(sizeof(domFx_annotate_type_common));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate_type_common::domBool::create(DAE& dae)
+{
+ domFx_annotate_type_common::domBoolRef ref = new domFx_annotate_type_common::domBool(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate_type_common::domBool::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool" );
+ meta->registerClass(domFx_annotate_type_common::domBool::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domFx_annotate_type_common::domBool , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate_type_common::domBool));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate_type_common::domBool2::create(DAE& dae)
+{
+ domFx_annotate_type_common::domBool2Ref ref = new domFx_annotate_type_common::domBool2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate_type_common::domBool2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool2" );
+ meta->registerClass(domFx_annotate_type_common::domBool2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool2"));
+ ma->setOffset( daeOffsetOf( domFx_annotate_type_common::domBool2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate_type_common::domBool2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate_type_common::domBool3::create(DAE& dae)
+{
+ domFx_annotate_type_common::domBool3Ref ref = new domFx_annotate_type_common::domBool3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate_type_common::domBool3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool3" );
+ meta->registerClass(domFx_annotate_type_common::domBool3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool3"));
+ ma->setOffset( daeOffsetOf( domFx_annotate_type_common::domBool3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate_type_common::domBool3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate_type_common::domBool4::create(DAE& dae)
+{
+ domFx_annotate_type_common::domBool4Ref ref = new domFx_annotate_type_common::domBool4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate_type_common::domBool4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool4" );
+ meta->registerClass(domFx_annotate_type_common::domBool4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool4"));
+ ma->setOffset( daeOffsetOf( domFx_annotate_type_common::domBool4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate_type_common::domBool4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate_type_common::domInt::create(DAE& dae)
+{
+ domFx_annotate_type_common::domIntRef ref = new domFx_annotate_type_common::domInt(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate_type_common::domInt::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int" );
+ meta->registerClass(domFx_annotate_type_common::domInt::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int"));
+ ma->setOffset( daeOffsetOf( domFx_annotate_type_common::domInt , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate_type_common::domInt));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate_type_common::domInt2::create(DAE& dae)
+{
+ domFx_annotate_type_common::domInt2Ref ref = new domFx_annotate_type_common::domInt2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate_type_common::domInt2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int2" );
+ meta->registerClass(domFx_annotate_type_common::domInt2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int2"));
+ ma->setOffset( daeOffsetOf( domFx_annotate_type_common::domInt2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate_type_common::domInt2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate_type_common::domInt3::create(DAE& dae)
+{
+ domFx_annotate_type_common::domInt3Ref ref = new domFx_annotate_type_common::domInt3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate_type_common::domInt3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int3" );
+ meta->registerClass(domFx_annotate_type_common::domInt3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int3"));
+ ma->setOffset( daeOffsetOf( domFx_annotate_type_common::domInt3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate_type_common::domInt3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate_type_common::domInt4::create(DAE& dae)
+{
+ domFx_annotate_type_common::domInt4Ref ref = new domFx_annotate_type_common::domInt4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate_type_common::domInt4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int4" );
+ meta->registerClass(domFx_annotate_type_common::domInt4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int4"));
+ ma->setOffset( daeOffsetOf( domFx_annotate_type_common::domInt4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate_type_common::domInt4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate_type_common::domFloat::create(DAE& dae)
+{
+ domFx_annotate_type_common::domFloatRef ref = new domFx_annotate_type_common::domFloat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate_type_common::domFloat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float" );
+ meta->registerClass(domFx_annotate_type_common::domFloat::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domFx_annotate_type_common::domFloat , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate_type_common::domFloat));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate_type_common::domFloat2::create(DAE& dae)
+{
+ domFx_annotate_type_common::domFloat2Ref ref = new domFx_annotate_type_common::domFloat2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate_type_common::domFloat2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2" );
+ meta->registerClass(domFx_annotate_type_common::domFloat2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domFx_annotate_type_common::domFloat2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate_type_common::domFloat2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate_type_common::domFloat3::create(DAE& dae)
+{
+ domFx_annotate_type_common::domFloat3Ref ref = new domFx_annotate_type_common::domFloat3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate_type_common::domFloat3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3" );
+ meta->registerClass(domFx_annotate_type_common::domFloat3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domFx_annotate_type_common::domFloat3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate_type_common::domFloat3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate_type_common::domFloat4::create(DAE& dae)
+{
+ domFx_annotate_type_common::domFloat4Ref ref = new domFx_annotate_type_common::domFloat4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate_type_common::domFloat4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4" );
+ meta->registerClass(domFx_annotate_type_common::domFloat4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domFx_annotate_type_common::domFloat4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate_type_common::domFloat4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate_type_common::domFloat2x2::create(DAE& dae)
+{
+ domFx_annotate_type_common::domFloat2x2Ref ref = new domFx_annotate_type_common::domFloat2x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate_type_common::domFloat2x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x2" );
+ meta->registerClass(domFx_annotate_type_common::domFloat2x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x2"));
+ ma->setOffset( daeOffsetOf( domFx_annotate_type_common::domFloat2x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate_type_common::domFloat2x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate_type_common::domFloat3x3::create(DAE& dae)
+{
+ domFx_annotate_type_common::domFloat3x3Ref ref = new domFx_annotate_type_common::domFloat3x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate_type_common::domFloat3x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x3" );
+ meta->registerClass(domFx_annotate_type_common::domFloat3x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x3"));
+ ma->setOffset( daeOffsetOf( domFx_annotate_type_common::domFloat3x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate_type_common::domFloat3x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate_type_common::domFloat4x4::create(DAE& dae)
+{
+ domFx_annotate_type_common::domFloat4x4Ref ref = new domFx_annotate_type_common::domFloat4x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate_type_common::domFloat4x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x4" );
+ meta->registerClass(domFx_annotate_type_common::domFloat4x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x4"));
+ ma->setOffset( daeOffsetOf( domFx_annotate_type_common::domFloat4x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate_type_common::domFloat4x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate_type_common::domString::create(DAE& dae)
+{
+ domFx_annotate_type_common::domStringRef ref = new domFx_annotate_type_common::domString(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate_type_common::domString::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "string" );
+ meta->registerClass(domFx_annotate_type_common::domString::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domFx_annotate_type_common::domString , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate_type_common::domString));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domFx_basic_type_common.cpp b/1.4.0/dom/src/1.4/dom/domFx_basic_type_common.cpp
new file mode 100644
index 0000000..72874ce
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domFx_basic_type_common.cpp
@@ -0,0 +1,1318 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domFx_basic_type_common.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domFx_basic_type_common::create(DAE& dae)
+{
+ domFx_basic_type_commonRef ref = new domFx_basic_type_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_basic_type_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_basic_type_common" );
+ meta->registerClass(domFx_basic_type_common::create);
+
+ meta->setIsTransparent( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool" );
+ mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemBool) );
+ mea->setElementType( domFx_basic_type_common::domBool::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool2" );
+ mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemBool2) );
+ mea->setElementType( domFx_basic_type_common::domBool2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool3" );
+ mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemBool3) );
+ mea->setElementType( domFx_basic_type_common::domBool3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool4" );
+ mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemBool4) );
+ mea->setElementType( domFx_basic_type_common::domBool4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int" );
+ mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemInt) );
+ mea->setElementType( domFx_basic_type_common::domInt::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int2" );
+ mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemInt2) );
+ mea->setElementType( domFx_basic_type_common::domInt2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int3" );
+ mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemInt3) );
+ mea->setElementType( domFx_basic_type_common::domInt3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int4" );
+ mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemInt4) );
+ mea->setElementType( domFx_basic_type_common::domInt4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float" );
+ mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemFloat) );
+ mea->setElementType( domFx_basic_type_common::domFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2" );
+ mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemFloat2) );
+ mea->setElementType( domFx_basic_type_common::domFloat2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3" );
+ mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemFloat3) );
+ mea->setElementType( domFx_basic_type_common::domFloat3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4" );
+ mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemFloat4) );
+ mea->setElementType( domFx_basic_type_common::domFloat4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float1x1" );
+ mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemFloat1x1) );
+ mea->setElementType( domFx_basic_type_common::domFloat1x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float1x2" );
+ mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemFloat1x2) );
+ mea->setElementType( domFx_basic_type_common::domFloat1x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float1x3" );
+ mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemFloat1x3) );
+ mea->setElementType( domFx_basic_type_common::domFloat1x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float1x4" );
+ mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemFloat1x4) );
+ mea->setElementType( domFx_basic_type_common::domFloat1x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x1" );
+ mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemFloat2x1) );
+ mea->setElementType( domFx_basic_type_common::domFloat2x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x2" );
+ mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemFloat2x2) );
+ mea->setElementType( domFx_basic_type_common::domFloat2x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x3" );
+ mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemFloat2x3) );
+ mea->setElementType( domFx_basic_type_common::domFloat2x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x4" );
+ mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemFloat2x4) );
+ mea->setElementType( domFx_basic_type_common::domFloat2x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x1" );
+ mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemFloat3x1) );
+ mea->setElementType( domFx_basic_type_common::domFloat3x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x2" );
+ mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemFloat3x2) );
+ mea->setElementType( domFx_basic_type_common::domFloat3x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x3" );
+ mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemFloat3x3) );
+ mea->setElementType( domFx_basic_type_common::domFloat3x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x4" );
+ mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemFloat3x4) );
+ mea->setElementType( domFx_basic_type_common::domFloat3x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x1" );
+ mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemFloat4x1) );
+ mea->setElementType( domFx_basic_type_common::domFloat4x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x2" );
+ mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemFloat4x2) );
+ mea->setElementType( domFx_basic_type_common::domFloat4x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x3" );
+ mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemFloat4x3) );
+ mea->setElementType( domFx_basic_type_common::domFloat4x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x4" );
+ mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemFloat4x4) );
+ mea->setElementType( domFx_basic_type_common::domFloat4x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "surface" );
+ mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemSurface) );
+ mea->setElementType( domFx_surface_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sampler1D" );
+ mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemSampler1D) );
+ mea->setElementType( domFx_sampler1D_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sampler2D" );
+ mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemSampler2D) );
+ mea->setElementType( domFx_sampler2D_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sampler3D" );
+ mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemSampler3D) );
+ mea->setElementType( domFx_sampler3D_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "samplerCUBE" );
+ mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemSamplerCUBE) );
+ mea->setElementType( domFx_samplerCUBE_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "samplerRECT" );
+ mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemSamplerRECT) );
+ mea->setElementType( domFx_samplerRECT_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "samplerDEPTH" );
+ mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemSamplerDEPTH) );
+ mea->setElementType( domFx_samplerDEPTH_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "enum" );
+ mea->setOffset( daeOffsetOf(domFx_basic_type_common,elemEnum) );
+ mea->setElementType( domFx_basic_type_common::domEnum::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domFx_basic_type_common,_contents));
+ meta->addContentsOrder(daeOffsetOf(domFx_basic_type_common,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domFx_basic_type_common,_CMData), 1);
+ meta->setElementSize(sizeof(domFx_basic_type_common));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_basic_type_common::domBool::create(DAE& dae)
+{
+ domFx_basic_type_common::domBoolRef ref = new domFx_basic_type_common::domBool(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_basic_type_common::domBool::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool" );
+ meta->registerClass(domFx_basic_type_common::domBool::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domFx_basic_type_common::domBool , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_basic_type_common::domBool));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_basic_type_common::domBool2::create(DAE& dae)
+{
+ domFx_basic_type_common::domBool2Ref ref = new domFx_basic_type_common::domBool2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_basic_type_common::domBool2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool2" );
+ meta->registerClass(domFx_basic_type_common::domBool2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool2"));
+ ma->setOffset( daeOffsetOf( domFx_basic_type_common::domBool2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_basic_type_common::domBool2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_basic_type_common::domBool3::create(DAE& dae)
+{
+ domFx_basic_type_common::domBool3Ref ref = new domFx_basic_type_common::domBool3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_basic_type_common::domBool3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool3" );
+ meta->registerClass(domFx_basic_type_common::domBool3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool3"));
+ ma->setOffset( daeOffsetOf( domFx_basic_type_common::domBool3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_basic_type_common::domBool3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_basic_type_common::domBool4::create(DAE& dae)
+{
+ domFx_basic_type_common::domBool4Ref ref = new domFx_basic_type_common::domBool4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_basic_type_common::domBool4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool4" );
+ meta->registerClass(domFx_basic_type_common::domBool4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool4"));
+ ma->setOffset( daeOffsetOf( domFx_basic_type_common::domBool4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_basic_type_common::domBool4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_basic_type_common::domInt::create(DAE& dae)
+{
+ domFx_basic_type_common::domIntRef ref = new domFx_basic_type_common::domInt(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_basic_type_common::domInt::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int" );
+ meta->registerClass(domFx_basic_type_common::domInt::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int"));
+ ma->setOffset( daeOffsetOf( domFx_basic_type_common::domInt , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_basic_type_common::domInt));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_basic_type_common::domInt2::create(DAE& dae)
+{
+ domFx_basic_type_common::domInt2Ref ref = new domFx_basic_type_common::domInt2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_basic_type_common::domInt2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int2" );
+ meta->registerClass(domFx_basic_type_common::domInt2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int2"));
+ ma->setOffset( daeOffsetOf( domFx_basic_type_common::domInt2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_basic_type_common::domInt2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_basic_type_common::domInt3::create(DAE& dae)
+{
+ domFx_basic_type_common::domInt3Ref ref = new domFx_basic_type_common::domInt3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_basic_type_common::domInt3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int3" );
+ meta->registerClass(domFx_basic_type_common::domInt3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int3"));
+ ma->setOffset( daeOffsetOf( domFx_basic_type_common::domInt3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_basic_type_common::domInt3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_basic_type_common::domInt4::create(DAE& dae)
+{
+ domFx_basic_type_common::domInt4Ref ref = new domFx_basic_type_common::domInt4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_basic_type_common::domInt4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int4" );
+ meta->registerClass(domFx_basic_type_common::domInt4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int4"));
+ ma->setOffset( daeOffsetOf( domFx_basic_type_common::domInt4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_basic_type_common::domInt4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_basic_type_common::domFloat::create(DAE& dae)
+{
+ domFx_basic_type_common::domFloatRef ref = new domFx_basic_type_common::domFloat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_basic_type_common::domFloat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float" );
+ meta->registerClass(domFx_basic_type_common::domFloat::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domFx_basic_type_common::domFloat , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_basic_type_common::domFloat));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_basic_type_common::domFloat2::create(DAE& dae)
+{
+ domFx_basic_type_common::domFloat2Ref ref = new domFx_basic_type_common::domFloat2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_basic_type_common::domFloat2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2" );
+ meta->registerClass(domFx_basic_type_common::domFloat2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domFx_basic_type_common::domFloat2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_basic_type_common::domFloat2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_basic_type_common::domFloat3::create(DAE& dae)
+{
+ domFx_basic_type_common::domFloat3Ref ref = new domFx_basic_type_common::domFloat3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_basic_type_common::domFloat3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3" );
+ meta->registerClass(domFx_basic_type_common::domFloat3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domFx_basic_type_common::domFloat3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_basic_type_common::domFloat3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_basic_type_common::domFloat4::create(DAE& dae)
+{
+ domFx_basic_type_common::domFloat4Ref ref = new domFx_basic_type_common::domFloat4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_basic_type_common::domFloat4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4" );
+ meta->registerClass(domFx_basic_type_common::domFloat4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domFx_basic_type_common::domFloat4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_basic_type_common::domFloat4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_basic_type_common::domFloat1x1::create(DAE& dae)
+{
+ domFx_basic_type_common::domFloat1x1Ref ref = new domFx_basic_type_common::domFloat1x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_basic_type_common::domFloat1x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float1x1" );
+ meta->registerClass(domFx_basic_type_common::domFloat1x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domFx_basic_type_common::domFloat1x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_basic_type_common::domFloat1x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_basic_type_common::domFloat1x2::create(DAE& dae)
+{
+ domFx_basic_type_common::domFloat1x2Ref ref = new domFx_basic_type_common::domFloat1x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_basic_type_common::domFloat1x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float1x2" );
+ meta->registerClass(domFx_basic_type_common::domFloat1x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domFx_basic_type_common::domFloat1x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_basic_type_common::domFloat1x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_basic_type_common::domFloat1x3::create(DAE& dae)
+{
+ domFx_basic_type_common::domFloat1x3Ref ref = new domFx_basic_type_common::domFloat1x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_basic_type_common::domFloat1x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float1x3" );
+ meta->registerClass(domFx_basic_type_common::domFloat1x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domFx_basic_type_common::domFloat1x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_basic_type_common::domFloat1x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_basic_type_common::domFloat1x4::create(DAE& dae)
+{
+ domFx_basic_type_common::domFloat1x4Ref ref = new domFx_basic_type_common::domFloat1x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_basic_type_common::domFloat1x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float1x4" );
+ meta->registerClass(domFx_basic_type_common::domFloat1x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domFx_basic_type_common::domFloat1x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_basic_type_common::domFloat1x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_basic_type_common::domFloat2x1::create(DAE& dae)
+{
+ domFx_basic_type_common::domFloat2x1Ref ref = new domFx_basic_type_common::domFloat2x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_basic_type_common::domFloat2x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x1" );
+ meta->registerClass(domFx_basic_type_common::domFloat2x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domFx_basic_type_common::domFloat2x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_basic_type_common::domFloat2x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_basic_type_common::domFloat2x2::create(DAE& dae)
+{
+ domFx_basic_type_common::domFloat2x2Ref ref = new domFx_basic_type_common::domFloat2x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_basic_type_common::domFloat2x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x2" );
+ meta->registerClass(domFx_basic_type_common::domFloat2x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x2"));
+ ma->setOffset( daeOffsetOf( domFx_basic_type_common::domFloat2x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_basic_type_common::domFloat2x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_basic_type_common::domFloat2x3::create(DAE& dae)
+{
+ domFx_basic_type_common::domFloat2x3Ref ref = new domFx_basic_type_common::domFloat2x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_basic_type_common::domFloat2x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x3" );
+ meta->registerClass(domFx_basic_type_common::domFloat2x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x3"));
+ ma->setOffset( daeOffsetOf( domFx_basic_type_common::domFloat2x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_basic_type_common::domFloat2x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_basic_type_common::domFloat2x4::create(DAE& dae)
+{
+ domFx_basic_type_common::domFloat2x4Ref ref = new domFx_basic_type_common::domFloat2x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_basic_type_common::domFloat2x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x4" );
+ meta->registerClass(domFx_basic_type_common::domFloat2x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x4"));
+ ma->setOffset( daeOffsetOf( domFx_basic_type_common::domFloat2x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_basic_type_common::domFloat2x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_basic_type_common::domFloat3x1::create(DAE& dae)
+{
+ domFx_basic_type_common::domFloat3x1Ref ref = new domFx_basic_type_common::domFloat3x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_basic_type_common::domFloat3x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x1" );
+ meta->registerClass(domFx_basic_type_common::domFloat3x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domFx_basic_type_common::domFloat3x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_basic_type_common::domFloat3x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_basic_type_common::domFloat3x2::create(DAE& dae)
+{
+ domFx_basic_type_common::domFloat3x2Ref ref = new domFx_basic_type_common::domFloat3x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_basic_type_common::domFloat3x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x2" );
+ meta->registerClass(domFx_basic_type_common::domFloat3x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x2"));
+ ma->setOffset( daeOffsetOf( domFx_basic_type_common::domFloat3x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_basic_type_common::domFloat3x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_basic_type_common::domFloat3x3::create(DAE& dae)
+{
+ domFx_basic_type_common::domFloat3x3Ref ref = new domFx_basic_type_common::domFloat3x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_basic_type_common::domFloat3x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x3" );
+ meta->registerClass(domFx_basic_type_common::domFloat3x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x3"));
+ ma->setOffset( daeOffsetOf( domFx_basic_type_common::domFloat3x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_basic_type_common::domFloat3x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_basic_type_common::domFloat3x4::create(DAE& dae)
+{
+ domFx_basic_type_common::domFloat3x4Ref ref = new domFx_basic_type_common::domFloat3x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_basic_type_common::domFloat3x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x4" );
+ meta->registerClass(domFx_basic_type_common::domFloat3x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x4"));
+ ma->setOffset( daeOffsetOf( domFx_basic_type_common::domFloat3x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_basic_type_common::domFloat3x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_basic_type_common::domFloat4x1::create(DAE& dae)
+{
+ domFx_basic_type_common::domFloat4x1Ref ref = new domFx_basic_type_common::domFloat4x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_basic_type_common::domFloat4x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x1" );
+ meta->registerClass(domFx_basic_type_common::domFloat4x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domFx_basic_type_common::domFloat4x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_basic_type_common::domFloat4x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_basic_type_common::domFloat4x2::create(DAE& dae)
+{
+ domFx_basic_type_common::domFloat4x2Ref ref = new domFx_basic_type_common::domFloat4x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_basic_type_common::domFloat4x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x2" );
+ meta->registerClass(domFx_basic_type_common::domFloat4x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x2"));
+ ma->setOffset( daeOffsetOf( domFx_basic_type_common::domFloat4x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_basic_type_common::domFloat4x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_basic_type_common::domFloat4x3::create(DAE& dae)
+{
+ domFx_basic_type_common::domFloat4x3Ref ref = new domFx_basic_type_common::domFloat4x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_basic_type_common::domFloat4x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x3" );
+ meta->registerClass(domFx_basic_type_common::domFloat4x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x3"));
+ ma->setOffset( daeOffsetOf( domFx_basic_type_common::domFloat4x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_basic_type_common::domFloat4x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_basic_type_common::domFloat4x4::create(DAE& dae)
+{
+ domFx_basic_type_common::domFloat4x4Ref ref = new domFx_basic_type_common::domFloat4x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_basic_type_common::domFloat4x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x4" );
+ meta->registerClass(domFx_basic_type_common::domFloat4x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x4"));
+ ma->setOffset( daeOffsetOf( domFx_basic_type_common::domFloat4x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_basic_type_common::domFloat4x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_basic_type_common::domEnum::create(DAE& dae)
+{
+ domFx_basic_type_common::domEnumRef ref = new domFx_basic_type_common::domEnum(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_basic_type_common::domEnum::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "enum" );
+ meta->registerClass(domFx_basic_type_common::domEnum::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domFx_basic_type_common::domEnum , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_basic_type_common::domEnum));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domFx_clearcolor_common.cpp b/1.4.0/dom/src/1.4/dom/domFx_clearcolor_common.cpp
new file mode 100644
index 0000000..e9aaf85
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domFx_clearcolor_common.cpp
@@ -0,0 +1,69 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domFx_clearcolor_common.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domFx_clearcolor_common::create(DAE& dae)
+{
+ domFx_clearcolor_commonRef ref = new domFx_clearcolor_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_clearcolor_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_clearcolor_common" );
+ meta->registerClass(domFx_clearcolor_common::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_color_common"));
+ ma->setOffset( daeOffsetOf( domFx_clearcolor_common , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("xsNonNegativeInteger"));
+ ma->setOffset( daeOffsetOf( domFx_clearcolor_common , attrIndex ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_clearcolor_common));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domFx_cleardepth_common.cpp b/1.4.0/dom/src/1.4/dom/domFx_cleardepth_common.cpp
new file mode 100644
index 0000000..c3b9320
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domFx_cleardepth_common.cpp
@@ -0,0 +1,69 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domFx_cleardepth_common.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domFx_cleardepth_common::create(DAE& dae)
+{
+ domFx_cleardepth_commonRef ref = new domFx_cleardepth_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_cleardepth_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_cleardepth_common" );
+ meta->registerClass(domFx_cleardepth_common::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domFx_cleardepth_common , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("xsNonNegativeInteger"));
+ ma->setOffset( daeOffsetOf( domFx_cleardepth_common , attrIndex ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_cleardepth_common));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domFx_clearstencil_common.cpp b/1.4.0/dom/src/1.4/dom/domFx_clearstencil_common.cpp
new file mode 100644
index 0000000..5a0f119
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domFx_clearstencil_common.cpp
@@ -0,0 +1,69 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domFx_clearstencil_common.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domFx_clearstencil_common::create(DAE& dae)
+{
+ domFx_clearstencil_commonRef ref = new domFx_clearstencil_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_clearstencil_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_clearstencil_common" );
+ meta->registerClass(domFx_clearstencil_common::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsByte"));
+ ma->setOffset( daeOffsetOf( domFx_clearstencil_common , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("xsNonNegativeInteger"));
+ ma->setOffset( daeOffsetOf( domFx_clearstencil_common , attrIndex ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_clearstencil_common));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domFx_code_profile.cpp b/1.4.0/dom/src/1.4/dom/domFx_code_profile.cpp
new file mode 100644
index 0000000..99d2cca
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domFx_code_profile.cpp
@@ -0,0 +1,68 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domFx_code_profile.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domFx_code_profile::create(DAE& dae)
+{
+ domFx_code_profileRef ref = new domFx_code_profile(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_code_profile::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_code_profile" );
+ meta->registerClass(domFx_code_profile::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domFx_code_profile , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domFx_code_profile , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_code_profile));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domFx_colortarget_common.cpp b/1.4.0/dom/src/1.4/dom/domFx_colortarget_common.cpp
new file mode 100644
index 0000000..1e6804f
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domFx_colortarget_common.cpp
@@ -0,0 +1,108 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domFx_colortarget_common.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domFx_colortarget_common::create(DAE& dae)
+{
+ domFx_colortarget_commonRef ref = new domFx_colortarget_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_colortarget_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_colortarget_common" );
+ meta->registerClass(domFx_colortarget_common::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domFx_colortarget_common , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("xsNonNegativeInteger"));
+ ma->setOffset( daeOffsetOf( domFx_colortarget_common , attrIndex ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: face
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "face" );
+ ma->setType( dae.getAtomicTypes().get("Fx_surface_face_enum"));
+ ma->setOffset( daeOffsetOf( domFx_colortarget_common , attrFace ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "POSITIVE_X");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: mip
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "mip" );
+ ma->setType( dae.getAtomicTypes().get("xsNonNegativeInteger"));
+ ma->setOffset( daeOffsetOf( domFx_colortarget_common , attrMip ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: slice
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "slice" );
+ ma->setType( dae.getAtomicTypes().get("xsNonNegativeInteger"));
+ ma->setOffset( daeOffsetOf( domFx_colortarget_common , attrSlice ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_colortarget_common));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domFx_depthtarget_common.cpp b/1.4.0/dom/src/1.4/dom/domFx_depthtarget_common.cpp
new file mode 100644
index 0000000..0d4df64
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domFx_depthtarget_common.cpp
@@ -0,0 +1,108 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domFx_depthtarget_common.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domFx_depthtarget_common::create(DAE& dae)
+{
+ domFx_depthtarget_commonRef ref = new domFx_depthtarget_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_depthtarget_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_depthtarget_common" );
+ meta->registerClass(domFx_depthtarget_common::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domFx_depthtarget_common , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("xsNonNegativeInteger"));
+ ma->setOffset( daeOffsetOf( domFx_depthtarget_common , attrIndex ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: face
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "face" );
+ ma->setType( dae.getAtomicTypes().get("Fx_surface_face_enum"));
+ ma->setOffset( daeOffsetOf( domFx_depthtarget_common , attrFace ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "POSITIVE_X");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: mip
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "mip" );
+ ma->setType( dae.getAtomicTypes().get("xsNonNegativeInteger"));
+ ma->setOffset( daeOffsetOf( domFx_depthtarget_common , attrMip ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: slice
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "slice" );
+ ma->setType( dae.getAtomicTypes().get("xsNonNegativeInteger"));
+ ma->setOffset( daeOffsetOf( domFx_depthtarget_common , attrSlice ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_depthtarget_common));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domFx_include_common.cpp b/1.4.0/dom/src/1.4/dom/domFx_include_common.cpp
new file mode 100644
index 0000000..c17c446
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domFx_include_common.cpp
@@ -0,0 +1,71 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domFx_include_common.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domFx_include_common::create(DAE& dae)
+{
+ domFx_include_commonRef ref = new domFx_include_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_include_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_include_common" );
+ meta->registerClass(domFx_include_common::create);
+
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domFx_include_common , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domFx_include_common , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_include_common));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domFx_newparam_common.cpp b/1.4.0/dom/src/1.4/dom/domFx_newparam_common.cpp
new file mode 100644
index 0000000..5247cee
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domFx_newparam_common.cpp
@@ -0,0 +1,161 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domFx_newparam_common.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domFx_newparam_common::create(DAE& dae)
+{
+ domFx_newparam_commonRef ref = new domFx_newparam_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_newparam_common" );
+ meta->registerClass(domFx_newparam_common::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domFx_newparam_common,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "semantic" );
+ mea->setOffset( daeOffsetOf(domFx_newparam_common,elemSemantic) );
+ mea->setElementType( domFx_newparam_common::domSemantic::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "modifier" );
+ mea->setOffset( daeOffsetOf(domFx_newparam_common,elemModifier) );
+ mea->setElementType( domFx_newparam_common::domModifier::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 1, 1 );
+ mea->setName( "fx_basic_type_common" );
+ mea->setOffset( daeOffsetOf(domFx_newparam_common,elemFx_basic_type_common) );
+ mea->setElementType( domFx_basic_type_common::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 3, 1, 1 ) );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domFx_newparam_common , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam_common));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam_common::domSemantic::create(DAE& dae)
+{
+ domFx_newparam_common::domSemanticRef ref = new domFx_newparam_common::domSemantic(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam_common::domSemantic::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "semantic" );
+ meta->registerClass(domFx_newparam_common::domSemantic::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domFx_newparam_common::domSemantic , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam_common::domSemantic));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam_common::domModifier::create(DAE& dae)
+{
+ domFx_newparam_common::domModifierRef ref = new domFx_newparam_common::domModifier(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam_common::domModifier::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "modifier" );
+ meta->registerClass(domFx_newparam_common::domModifier::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_modifier_enum_common"));
+ ma->setOffset( daeOffsetOf( domFx_newparam_common::domModifier , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam_common::domModifier));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domFx_profile_abstract.cpp b/1.4.0/dom/src/1.4/dom/domFx_profile_abstract.cpp
new file mode 100644
index 0000000..a0380d6
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domFx_profile_abstract.cpp
@@ -0,0 +1,48 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domFx_profile_abstract.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domFx_profile_abstract::create(DAE& dae)
+{
+ domFx_profile_abstractRef ref = new domFx_profile_abstract(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_profile_abstract::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_profile_abstract" );
+ meta->registerClass(domFx_profile_abstract::create);
+
+ meta->setIsAbstract( true );
+
+ meta->setElementSize(sizeof(domFx_profile_abstract));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domFx_sampler1D_common.cpp b/1.4.0/dom/src/1.4/dom/domFx_sampler1D_common.cpp
new file mode 100644
index 0000000..15b8d04
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domFx_sampler1D_common.cpp
@@ -0,0 +1,395 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domFx_sampler1D_common.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domFx_sampler1D_common::create(DAE& dae)
+{
+ domFx_sampler1D_commonRef ref = new domFx_sampler1D_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler1D_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_sampler1D_common" );
+ meta->registerClass(domFx_sampler1D_common::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "source" );
+ mea->setOffset( daeOffsetOf(domFx_sampler1D_common,elemSource) );
+ mea->setElementType( domFx_sampler1D_common::domSource::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "wrap_s" );
+ mea->setOffset( daeOffsetOf(domFx_sampler1D_common,elemWrap_s) );
+ mea->setElementType( domFx_sampler1D_common::domWrap_s::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "minfilter" );
+ mea->setOffset( daeOffsetOf(domFx_sampler1D_common,elemMinfilter) );
+ mea->setElementType( domFx_sampler1D_common::domMinfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "magfilter" );
+ mea->setOffset( daeOffsetOf(domFx_sampler1D_common,elemMagfilter) );
+ mea->setElementType( domFx_sampler1D_common::domMagfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "mipfilter" );
+ mea->setOffset( daeOffsetOf(domFx_sampler1D_common,elemMipfilter) );
+ mea->setElementType( domFx_sampler1D_common::domMipfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "border_color" );
+ mea->setOffset( daeOffsetOf(domFx_sampler1D_common,elemBorder_color) );
+ mea->setElementType( domFx_sampler1D_common::domBorder_color::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "mipmap_maxlevel" );
+ mea->setOffset( daeOffsetOf(domFx_sampler1D_common,elemMipmap_maxlevel) );
+ mea->setElementType( domFx_sampler1D_common::domMipmap_maxlevel::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 7, 0, 1 );
+ mea->setName( "mipmap_bias" );
+ mea->setOffset( daeOffsetOf(domFx_sampler1D_common,elemMipmap_bias) );
+ mea->setElementType( domFx_sampler1D_common::domMipmap_bias::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 8, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domFx_sampler1D_common,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 8 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domFx_sampler1D_common));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler1D_common::domSource::create(DAE& dae)
+{
+ domFx_sampler1D_common::domSourceRef ref = new domFx_sampler1D_common::domSource(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler1D_common::domSource::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "source" );
+ meta->registerClass(domFx_sampler1D_common::domSource::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domFx_sampler1D_common::domSource , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler1D_common::domSource));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler1D_common::domWrap_s::create(DAE& dae)
+{
+ domFx_sampler1D_common::domWrap_sRef ref = new domFx_sampler1D_common::domWrap_s(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler1D_common::domWrap_s::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "wrap_s" );
+ meta->registerClass(domFx_sampler1D_common::domWrap_s::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_wrap_common"));
+ ma->setOffset( daeOffsetOf( domFx_sampler1D_common::domWrap_s , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler1D_common::domWrap_s));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler1D_common::domMinfilter::create(DAE& dae)
+{
+ domFx_sampler1D_common::domMinfilterRef ref = new domFx_sampler1D_common::domMinfilter(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler1D_common::domMinfilter::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "minfilter" );
+ meta->registerClass(domFx_sampler1D_common::domMinfilter::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_filter_common"));
+ ma->setOffset( daeOffsetOf( domFx_sampler1D_common::domMinfilter , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler1D_common::domMinfilter));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler1D_common::domMagfilter::create(DAE& dae)
+{
+ domFx_sampler1D_common::domMagfilterRef ref = new domFx_sampler1D_common::domMagfilter(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler1D_common::domMagfilter::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "magfilter" );
+ meta->registerClass(domFx_sampler1D_common::domMagfilter::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_filter_common"));
+ ma->setOffset( daeOffsetOf( domFx_sampler1D_common::domMagfilter , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler1D_common::domMagfilter));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler1D_common::domMipfilter::create(DAE& dae)
+{
+ domFx_sampler1D_common::domMipfilterRef ref = new domFx_sampler1D_common::domMipfilter(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler1D_common::domMipfilter::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mipfilter" );
+ meta->registerClass(domFx_sampler1D_common::domMipfilter::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_filter_common"));
+ ma->setOffset( daeOffsetOf( domFx_sampler1D_common::domMipfilter , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler1D_common::domMipfilter));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler1D_common::domBorder_color::create(DAE& dae)
+{
+ domFx_sampler1D_common::domBorder_colorRef ref = new domFx_sampler1D_common::domBorder_color(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler1D_common::domBorder_color::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "border_color" );
+ meta->registerClass(domFx_sampler1D_common::domBorder_color::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_color_common"));
+ ma->setOffset( daeOffsetOf( domFx_sampler1D_common::domBorder_color , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler1D_common::domBorder_color));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler1D_common::domMipmap_maxlevel::create(DAE& dae)
+{
+ domFx_sampler1D_common::domMipmap_maxlevelRef ref = new domFx_sampler1D_common::domMipmap_maxlevel(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler1D_common::domMipmap_maxlevel::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mipmap_maxlevel" );
+ meta->registerClass(domFx_sampler1D_common::domMipmap_maxlevel::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedByte"));
+ ma->setOffset( daeOffsetOf( domFx_sampler1D_common::domMipmap_maxlevel , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler1D_common::domMipmap_maxlevel));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler1D_common::domMipmap_bias::create(DAE& dae)
+{
+ domFx_sampler1D_common::domMipmap_biasRef ref = new domFx_sampler1D_common::domMipmap_bias(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler1D_common::domMipmap_bias::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mipmap_bias" );
+ meta->registerClass(domFx_sampler1D_common::domMipmap_bias::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsFloat"));
+ ma->setOffset( daeOffsetOf( domFx_sampler1D_common::domMipmap_bias , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler1D_common::domMipmap_bias));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domFx_sampler2D_common.cpp b/1.4.0/dom/src/1.4/dom/domFx_sampler2D_common.cpp
new file mode 100644
index 0000000..b73133a
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domFx_sampler2D_common.cpp
@@ -0,0 +1,437 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domFx_sampler2D_common.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domFx_sampler2D_common::create(DAE& dae)
+{
+ domFx_sampler2D_commonRef ref = new domFx_sampler2D_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler2D_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_sampler2D_common" );
+ meta->registerClass(domFx_sampler2D_common::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "source" );
+ mea->setOffset( daeOffsetOf(domFx_sampler2D_common,elemSource) );
+ mea->setElementType( domFx_sampler2D_common::domSource::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "wrap_s" );
+ mea->setOffset( daeOffsetOf(domFx_sampler2D_common,elemWrap_s) );
+ mea->setElementType( domFx_sampler2D_common::domWrap_s::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "wrap_t" );
+ mea->setOffset( daeOffsetOf(domFx_sampler2D_common,elemWrap_t) );
+ mea->setElementType( domFx_sampler2D_common::domWrap_t::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "minfilter" );
+ mea->setOffset( daeOffsetOf(domFx_sampler2D_common,elemMinfilter) );
+ mea->setElementType( domFx_sampler2D_common::domMinfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "magfilter" );
+ mea->setOffset( daeOffsetOf(domFx_sampler2D_common,elemMagfilter) );
+ mea->setElementType( domFx_sampler2D_common::domMagfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "mipfilter" );
+ mea->setOffset( daeOffsetOf(domFx_sampler2D_common,elemMipfilter) );
+ mea->setElementType( domFx_sampler2D_common::domMipfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "border_color" );
+ mea->setOffset( daeOffsetOf(domFx_sampler2D_common,elemBorder_color) );
+ mea->setElementType( domFx_sampler2D_common::domBorder_color::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 7, 0, 1 );
+ mea->setName( "mipmap_maxlevel" );
+ mea->setOffset( daeOffsetOf(domFx_sampler2D_common,elemMipmap_maxlevel) );
+ mea->setElementType( domFx_sampler2D_common::domMipmap_maxlevel::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 8, 0, 1 );
+ mea->setName( "mipmap_bias" );
+ mea->setOffset( daeOffsetOf(domFx_sampler2D_common,elemMipmap_bias) );
+ mea->setElementType( domFx_sampler2D_common::domMipmap_bias::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 9, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domFx_sampler2D_common,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 9 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domFx_sampler2D_common));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler2D_common::domSource::create(DAE& dae)
+{
+ domFx_sampler2D_common::domSourceRef ref = new domFx_sampler2D_common::domSource(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler2D_common::domSource::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "source" );
+ meta->registerClass(domFx_sampler2D_common::domSource::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domFx_sampler2D_common::domSource , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler2D_common::domSource));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler2D_common::domWrap_s::create(DAE& dae)
+{
+ domFx_sampler2D_common::domWrap_sRef ref = new domFx_sampler2D_common::domWrap_s(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler2D_common::domWrap_s::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "wrap_s" );
+ meta->registerClass(domFx_sampler2D_common::domWrap_s::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_wrap_common"));
+ ma->setOffset( daeOffsetOf( domFx_sampler2D_common::domWrap_s , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler2D_common::domWrap_s));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler2D_common::domWrap_t::create(DAE& dae)
+{
+ domFx_sampler2D_common::domWrap_tRef ref = new domFx_sampler2D_common::domWrap_t(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler2D_common::domWrap_t::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "wrap_t" );
+ meta->registerClass(domFx_sampler2D_common::domWrap_t::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_wrap_common"));
+ ma->setOffset( daeOffsetOf( domFx_sampler2D_common::domWrap_t , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler2D_common::domWrap_t));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler2D_common::domMinfilter::create(DAE& dae)
+{
+ domFx_sampler2D_common::domMinfilterRef ref = new domFx_sampler2D_common::domMinfilter(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler2D_common::domMinfilter::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "minfilter" );
+ meta->registerClass(domFx_sampler2D_common::domMinfilter::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_filter_common"));
+ ma->setOffset( daeOffsetOf( domFx_sampler2D_common::domMinfilter , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler2D_common::domMinfilter));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler2D_common::domMagfilter::create(DAE& dae)
+{
+ domFx_sampler2D_common::domMagfilterRef ref = new domFx_sampler2D_common::domMagfilter(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler2D_common::domMagfilter::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "magfilter" );
+ meta->registerClass(domFx_sampler2D_common::domMagfilter::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_filter_common"));
+ ma->setOffset( daeOffsetOf( domFx_sampler2D_common::domMagfilter , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler2D_common::domMagfilter));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler2D_common::domMipfilter::create(DAE& dae)
+{
+ domFx_sampler2D_common::domMipfilterRef ref = new domFx_sampler2D_common::domMipfilter(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler2D_common::domMipfilter::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mipfilter" );
+ meta->registerClass(domFx_sampler2D_common::domMipfilter::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_filter_common"));
+ ma->setOffset( daeOffsetOf( domFx_sampler2D_common::domMipfilter , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler2D_common::domMipfilter));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler2D_common::domBorder_color::create(DAE& dae)
+{
+ domFx_sampler2D_common::domBorder_colorRef ref = new domFx_sampler2D_common::domBorder_color(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler2D_common::domBorder_color::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "border_color" );
+ meta->registerClass(domFx_sampler2D_common::domBorder_color::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_color_common"));
+ ma->setOffset( daeOffsetOf( domFx_sampler2D_common::domBorder_color , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler2D_common::domBorder_color));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler2D_common::domMipmap_maxlevel::create(DAE& dae)
+{
+ domFx_sampler2D_common::domMipmap_maxlevelRef ref = new domFx_sampler2D_common::domMipmap_maxlevel(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler2D_common::domMipmap_maxlevel::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mipmap_maxlevel" );
+ meta->registerClass(domFx_sampler2D_common::domMipmap_maxlevel::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedByte"));
+ ma->setOffset( daeOffsetOf( domFx_sampler2D_common::domMipmap_maxlevel , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler2D_common::domMipmap_maxlevel));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler2D_common::domMipmap_bias::create(DAE& dae)
+{
+ domFx_sampler2D_common::domMipmap_biasRef ref = new domFx_sampler2D_common::domMipmap_bias(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler2D_common::domMipmap_bias::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mipmap_bias" );
+ meta->registerClass(domFx_sampler2D_common::domMipmap_bias::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsFloat"));
+ ma->setOffset( daeOffsetOf( domFx_sampler2D_common::domMipmap_bias , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler2D_common::domMipmap_bias));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domFx_sampler3D_common.cpp b/1.4.0/dom/src/1.4/dom/domFx_sampler3D_common.cpp
new file mode 100644
index 0000000..c60c68f
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domFx_sampler3D_common.cpp
@@ -0,0 +1,479 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domFx_sampler3D_common.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domFx_sampler3D_common::create(DAE& dae)
+{
+ domFx_sampler3D_commonRef ref = new domFx_sampler3D_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler3D_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_sampler3D_common" );
+ meta->registerClass(domFx_sampler3D_common::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "source" );
+ mea->setOffset( daeOffsetOf(domFx_sampler3D_common,elemSource) );
+ mea->setElementType( domFx_sampler3D_common::domSource::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "wrap_s" );
+ mea->setOffset( daeOffsetOf(domFx_sampler3D_common,elemWrap_s) );
+ mea->setElementType( domFx_sampler3D_common::domWrap_s::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "wrap_t" );
+ mea->setOffset( daeOffsetOf(domFx_sampler3D_common,elemWrap_t) );
+ mea->setElementType( domFx_sampler3D_common::domWrap_t::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "wrap_p" );
+ mea->setOffset( daeOffsetOf(domFx_sampler3D_common,elemWrap_p) );
+ mea->setElementType( domFx_sampler3D_common::domWrap_p::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "minfilter" );
+ mea->setOffset( daeOffsetOf(domFx_sampler3D_common,elemMinfilter) );
+ mea->setElementType( domFx_sampler3D_common::domMinfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "magfilter" );
+ mea->setOffset( daeOffsetOf(domFx_sampler3D_common,elemMagfilter) );
+ mea->setElementType( domFx_sampler3D_common::domMagfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "mipfilter" );
+ mea->setOffset( daeOffsetOf(domFx_sampler3D_common,elemMipfilter) );
+ mea->setElementType( domFx_sampler3D_common::domMipfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 7, 0, 1 );
+ mea->setName( "border_color" );
+ mea->setOffset( daeOffsetOf(domFx_sampler3D_common,elemBorder_color) );
+ mea->setElementType( domFx_sampler3D_common::domBorder_color::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 8, 0, 1 );
+ mea->setName( "mipmap_maxlevel" );
+ mea->setOffset( daeOffsetOf(domFx_sampler3D_common,elemMipmap_maxlevel) );
+ mea->setElementType( domFx_sampler3D_common::domMipmap_maxlevel::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 9, 0, 1 );
+ mea->setName( "mipmap_bias" );
+ mea->setOffset( daeOffsetOf(domFx_sampler3D_common,elemMipmap_bias) );
+ mea->setElementType( domFx_sampler3D_common::domMipmap_bias::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 10, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domFx_sampler3D_common,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 10 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domFx_sampler3D_common));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler3D_common::domSource::create(DAE& dae)
+{
+ domFx_sampler3D_common::domSourceRef ref = new domFx_sampler3D_common::domSource(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler3D_common::domSource::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "source" );
+ meta->registerClass(domFx_sampler3D_common::domSource::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domFx_sampler3D_common::domSource , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler3D_common::domSource));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler3D_common::domWrap_s::create(DAE& dae)
+{
+ domFx_sampler3D_common::domWrap_sRef ref = new domFx_sampler3D_common::domWrap_s(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler3D_common::domWrap_s::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "wrap_s" );
+ meta->registerClass(domFx_sampler3D_common::domWrap_s::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_wrap_common"));
+ ma->setOffset( daeOffsetOf( domFx_sampler3D_common::domWrap_s , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler3D_common::domWrap_s));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler3D_common::domWrap_t::create(DAE& dae)
+{
+ domFx_sampler3D_common::domWrap_tRef ref = new domFx_sampler3D_common::domWrap_t(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler3D_common::domWrap_t::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "wrap_t" );
+ meta->registerClass(domFx_sampler3D_common::domWrap_t::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_wrap_common"));
+ ma->setOffset( daeOffsetOf( domFx_sampler3D_common::domWrap_t , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler3D_common::domWrap_t));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler3D_common::domWrap_p::create(DAE& dae)
+{
+ domFx_sampler3D_common::domWrap_pRef ref = new domFx_sampler3D_common::domWrap_p(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler3D_common::domWrap_p::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "wrap_p" );
+ meta->registerClass(domFx_sampler3D_common::domWrap_p::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_wrap_common"));
+ ma->setOffset( daeOffsetOf( domFx_sampler3D_common::domWrap_p , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler3D_common::domWrap_p));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler3D_common::domMinfilter::create(DAE& dae)
+{
+ domFx_sampler3D_common::domMinfilterRef ref = new domFx_sampler3D_common::domMinfilter(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler3D_common::domMinfilter::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "minfilter" );
+ meta->registerClass(domFx_sampler3D_common::domMinfilter::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_filter_common"));
+ ma->setOffset( daeOffsetOf( domFx_sampler3D_common::domMinfilter , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler3D_common::domMinfilter));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler3D_common::domMagfilter::create(DAE& dae)
+{
+ domFx_sampler3D_common::domMagfilterRef ref = new domFx_sampler3D_common::domMagfilter(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler3D_common::domMagfilter::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "magfilter" );
+ meta->registerClass(domFx_sampler3D_common::domMagfilter::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_filter_common"));
+ ma->setOffset( daeOffsetOf( domFx_sampler3D_common::domMagfilter , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler3D_common::domMagfilter));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler3D_common::domMipfilter::create(DAE& dae)
+{
+ domFx_sampler3D_common::domMipfilterRef ref = new domFx_sampler3D_common::domMipfilter(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler3D_common::domMipfilter::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mipfilter" );
+ meta->registerClass(domFx_sampler3D_common::domMipfilter::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_filter_common"));
+ ma->setOffset( daeOffsetOf( domFx_sampler3D_common::domMipfilter , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler3D_common::domMipfilter));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler3D_common::domBorder_color::create(DAE& dae)
+{
+ domFx_sampler3D_common::domBorder_colorRef ref = new domFx_sampler3D_common::domBorder_color(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler3D_common::domBorder_color::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "border_color" );
+ meta->registerClass(domFx_sampler3D_common::domBorder_color::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_color_common"));
+ ma->setOffset( daeOffsetOf( domFx_sampler3D_common::domBorder_color , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler3D_common::domBorder_color));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler3D_common::domMipmap_maxlevel::create(DAE& dae)
+{
+ domFx_sampler3D_common::domMipmap_maxlevelRef ref = new domFx_sampler3D_common::domMipmap_maxlevel(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler3D_common::domMipmap_maxlevel::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mipmap_maxlevel" );
+ meta->registerClass(domFx_sampler3D_common::domMipmap_maxlevel::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedByte"));
+ ma->setOffset( daeOffsetOf( domFx_sampler3D_common::domMipmap_maxlevel , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler3D_common::domMipmap_maxlevel));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler3D_common::domMipmap_bias::create(DAE& dae)
+{
+ domFx_sampler3D_common::domMipmap_biasRef ref = new domFx_sampler3D_common::domMipmap_bias(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler3D_common::domMipmap_bias::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mipmap_bias" );
+ meta->registerClass(domFx_sampler3D_common::domMipmap_bias::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsFloat"));
+ ma->setOffset( daeOffsetOf( domFx_sampler3D_common::domMipmap_bias , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler3D_common::domMipmap_bias));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domFx_samplerCUBE_common.cpp b/1.4.0/dom/src/1.4/dom/domFx_samplerCUBE_common.cpp
new file mode 100644
index 0000000..2241149
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domFx_samplerCUBE_common.cpp
@@ -0,0 +1,479 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domFx_samplerCUBE_common.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domFx_samplerCUBE_common::create(DAE& dae)
+{
+ domFx_samplerCUBE_commonRef ref = new domFx_samplerCUBE_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_samplerCUBE_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_samplerCUBE_common" );
+ meta->registerClass(domFx_samplerCUBE_common::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "source" );
+ mea->setOffset( daeOffsetOf(domFx_samplerCUBE_common,elemSource) );
+ mea->setElementType( domFx_samplerCUBE_common::domSource::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "wrap_s" );
+ mea->setOffset( daeOffsetOf(domFx_samplerCUBE_common,elemWrap_s) );
+ mea->setElementType( domFx_samplerCUBE_common::domWrap_s::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "wrap_t" );
+ mea->setOffset( daeOffsetOf(domFx_samplerCUBE_common,elemWrap_t) );
+ mea->setElementType( domFx_samplerCUBE_common::domWrap_t::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "wrap_p" );
+ mea->setOffset( daeOffsetOf(domFx_samplerCUBE_common,elemWrap_p) );
+ mea->setElementType( domFx_samplerCUBE_common::domWrap_p::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "minfilter" );
+ mea->setOffset( daeOffsetOf(domFx_samplerCUBE_common,elemMinfilter) );
+ mea->setElementType( domFx_samplerCUBE_common::domMinfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "magfilter" );
+ mea->setOffset( daeOffsetOf(domFx_samplerCUBE_common,elemMagfilter) );
+ mea->setElementType( domFx_samplerCUBE_common::domMagfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "mipfilter" );
+ mea->setOffset( daeOffsetOf(domFx_samplerCUBE_common,elemMipfilter) );
+ mea->setElementType( domFx_samplerCUBE_common::domMipfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 7, 0, 1 );
+ mea->setName( "border_color" );
+ mea->setOffset( daeOffsetOf(domFx_samplerCUBE_common,elemBorder_color) );
+ mea->setElementType( domFx_samplerCUBE_common::domBorder_color::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 8, 0, 1 );
+ mea->setName( "mipmap_maxlevel" );
+ mea->setOffset( daeOffsetOf(domFx_samplerCUBE_common,elemMipmap_maxlevel) );
+ mea->setElementType( domFx_samplerCUBE_common::domMipmap_maxlevel::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 9, 0, 1 );
+ mea->setName( "mipmap_bias" );
+ mea->setOffset( daeOffsetOf(domFx_samplerCUBE_common,elemMipmap_bias) );
+ mea->setElementType( domFx_samplerCUBE_common::domMipmap_bias::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 10, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domFx_samplerCUBE_common,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 10 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domFx_samplerCUBE_common));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_samplerCUBE_common::domSource::create(DAE& dae)
+{
+ domFx_samplerCUBE_common::domSourceRef ref = new domFx_samplerCUBE_common::domSource(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_samplerCUBE_common::domSource::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "source" );
+ meta->registerClass(domFx_samplerCUBE_common::domSource::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domFx_samplerCUBE_common::domSource , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_samplerCUBE_common::domSource));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_samplerCUBE_common::domWrap_s::create(DAE& dae)
+{
+ domFx_samplerCUBE_common::domWrap_sRef ref = new domFx_samplerCUBE_common::domWrap_s(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_samplerCUBE_common::domWrap_s::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "wrap_s" );
+ meta->registerClass(domFx_samplerCUBE_common::domWrap_s::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_wrap_common"));
+ ma->setOffset( daeOffsetOf( domFx_samplerCUBE_common::domWrap_s , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_samplerCUBE_common::domWrap_s));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_samplerCUBE_common::domWrap_t::create(DAE& dae)
+{
+ domFx_samplerCUBE_common::domWrap_tRef ref = new domFx_samplerCUBE_common::domWrap_t(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_samplerCUBE_common::domWrap_t::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "wrap_t" );
+ meta->registerClass(domFx_samplerCUBE_common::domWrap_t::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_wrap_common"));
+ ma->setOffset( daeOffsetOf( domFx_samplerCUBE_common::domWrap_t , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_samplerCUBE_common::domWrap_t));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_samplerCUBE_common::domWrap_p::create(DAE& dae)
+{
+ domFx_samplerCUBE_common::domWrap_pRef ref = new domFx_samplerCUBE_common::domWrap_p(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_samplerCUBE_common::domWrap_p::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "wrap_p" );
+ meta->registerClass(domFx_samplerCUBE_common::domWrap_p::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_wrap_common"));
+ ma->setOffset( daeOffsetOf( domFx_samplerCUBE_common::domWrap_p , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_samplerCUBE_common::domWrap_p));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_samplerCUBE_common::domMinfilter::create(DAE& dae)
+{
+ domFx_samplerCUBE_common::domMinfilterRef ref = new domFx_samplerCUBE_common::domMinfilter(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_samplerCUBE_common::domMinfilter::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "minfilter" );
+ meta->registerClass(domFx_samplerCUBE_common::domMinfilter::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_filter_common"));
+ ma->setOffset( daeOffsetOf( domFx_samplerCUBE_common::domMinfilter , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_samplerCUBE_common::domMinfilter));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_samplerCUBE_common::domMagfilter::create(DAE& dae)
+{
+ domFx_samplerCUBE_common::domMagfilterRef ref = new domFx_samplerCUBE_common::domMagfilter(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_samplerCUBE_common::domMagfilter::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "magfilter" );
+ meta->registerClass(domFx_samplerCUBE_common::domMagfilter::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_filter_common"));
+ ma->setOffset( daeOffsetOf( domFx_samplerCUBE_common::domMagfilter , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_samplerCUBE_common::domMagfilter));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_samplerCUBE_common::domMipfilter::create(DAE& dae)
+{
+ domFx_samplerCUBE_common::domMipfilterRef ref = new domFx_samplerCUBE_common::domMipfilter(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_samplerCUBE_common::domMipfilter::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mipfilter" );
+ meta->registerClass(domFx_samplerCUBE_common::domMipfilter::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_filter_common"));
+ ma->setOffset( daeOffsetOf( domFx_samplerCUBE_common::domMipfilter , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_samplerCUBE_common::domMipfilter));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_samplerCUBE_common::domBorder_color::create(DAE& dae)
+{
+ domFx_samplerCUBE_common::domBorder_colorRef ref = new domFx_samplerCUBE_common::domBorder_color(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_samplerCUBE_common::domBorder_color::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "border_color" );
+ meta->registerClass(domFx_samplerCUBE_common::domBorder_color::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_color_common"));
+ ma->setOffset( daeOffsetOf( domFx_samplerCUBE_common::domBorder_color , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_samplerCUBE_common::domBorder_color));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_samplerCUBE_common::domMipmap_maxlevel::create(DAE& dae)
+{
+ domFx_samplerCUBE_common::domMipmap_maxlevelRef ref = new domFx_samplerCUBE_common::domMipmap_maxlevel(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_samplerCUBE_common::domMipmap_maxlevel::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mipmap_maxlevel" );
+ meta->registerClass(domFx_samplerCUBE_common::domMipmap_maxlevel::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedByte"));
+ ma->setOffset( daeOffsetOf( domFx_samplerCUBE_common::domMipmap_maxlevel , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_samplerCUBE_common::domMipmap_maxlevel));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_samplerCUBE_common::domMipmap_bias::create(DAE& dae)
+{
+ domFx_samplerCUBE_common::domMipmap_biasRef ref = new domFx_samplerCUBE_common::domMipmap_bias(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_samplerCUBE_common::domMipmap_bias::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mipmap_bias" );
+ meta->registerClass(domFx_samplerCUBE_common::domMipmap_bias::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsFloat"));
+ ma->setOffset( daeOffsetOf( domFx_samplerCUBE_common::domMipmap_bias , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_samplerCUBE_common::domMipmap_bias));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domFx_samplerDEPTH_common.cpp b/1.4.0/dom/src/1.4/dom/domFx_samplerDEPTH_common.cpp
new file mode 100644
index 0000000..e263902
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domFx_samplerDEPTH_common.cpp
@@ -0,0 +1,269 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domFx_samplerDEPTH_common.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domFx_samplerDEPTH_common::create(DAE& dae)
+{
+ domFx_samplerDEPTH_commonRef ref = new domFx_samplerDEPTH_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_samplerDEPTH_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_samplerDEPTH_common" );
+ meta->registerClass(domFx_samplerDEPTH_common::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "source" );
+ mea->setOffset( daeOffsetOf(domFx_samplerDEPTH_common,elemSource) );
+ mea->setElementType( domFx_samplerDEPTH_common::domSource::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "wrap_s" );
+ mea->setOffset( daeOffsetOf(domFx_samplerDEPTH_common,elemWrap_s) );
+ mea->setElementType( domFx_samplerDEPTH_common::domWrap_s::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "wrap_t" );
+ mea->setOffset( daeOffsetOf(domFx_samplerDEPTH_common,elemWrap_t) );
+ mea->setElementType( domFx_samplerDEPTH_common::domWrap_t::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "minfilter" );
+ mea->setOffset( daeOffsetOf(domFx_samplerDEPTH_common,elemMinfilter) );
+ mea->setElementType( domFx_samplerDEPTH_common::domMinfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "magfilter" );
+ mea->setOffset( daeOffsetOf(domFx_samplerDEPTH_common,elemMagfilter) );
+ mea->setElementType( domFx_samplerDEPTH_common::domMagfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 5, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domFx_samplerDEPTH_common,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 5 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domFx_samplerDEPTH_common));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_samplerDEPTH_common::domSource::create(DAE& dae)
+{
+ domFx_samplerDEPTH_common::domSourceRef ref = new domFx_samplerDEPTH_common::domSource(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_samplerDEPTH_common::domSource::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "source" );
+ meta->registerClass(domFx_samplerDEPTH_common::domSource::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domFx_samplerDEPTH_common::domSource , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_samplerDEPTH_common::domSource));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_samplerDEPTH_common::domWrap_s::create(DAE& dae)
+{
+ domFx_samplerDEPTH_common::domWrap_sRef ref = new domFx_samplerDEPTH_common::domWrap_s(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_samplerDEPTH_common::domWrap_s::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "wrap_s" );
+ meta->registerClass(domFx_samplerDEPTH_common::domWrap_s::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_wrap_common"));
+ ma->setOffset( daeOffsetOf( domFx_samplerDEPTH_common::domWrap_s , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_samplerDEPTH_common::domWrap_s));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_samplerDEPTH_common::domWrap_t::create(DAE& dae)
+{
+ domFx_samplerDEPTH_common::domWrap_tRef ref = new domFx_samplerDEPTH_common::domWrap_t(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_samplerDEPTH_common::domWrap_t::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "wrap_t" );
+ meta->registerClass(domFx_samplerDEPTH_common::domWrap_t::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_wrap_common"));
+ ma->setOffset( daeOffsetOf( domFx_samplerDEPTH_common::domWrap_t , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_samplerDEPTH_common::domWrap_t));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_samplerDEPTH_common::domMinfilter::create(DAE& dae)
+{
+ domFx_samplerDEPTH_common::domMinfilterRef ref = new domFx_samplerDEPTH_common::domMinfilter(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_samplerDEPTH_common::domMinfilter::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "minfilter" );
+ meta->registerClass(domFx_samplerDEPTH_common::domMinfilter::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_filter_common"));
+ ma->setOffset( daeOffsetOf( domFx_samplerDEPTH_common::domMinfilter , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_samplerDEPTH_common::domMinfilter));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_samplerDEPTH_common::domMagfilter::create(DAE& dae)
+{
+ domFx_samplerDEPTH_common::domMagfilterRef ref = new domFx_samplerDEPTH_common::domMagfilter(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_samplerDEPTH_common::domMagfilter::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "magfilter" );
+ meta->registerClass(domFx_samplerDEPTH_common::domMagfilter::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_filter_common"));
+ ma->setOffset( daeOffsetOf( domFx_samplerDEPTH_common::domMagfilter , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_samplerDEPTH_common::domMagfilter));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domFx_samplerRECT_common.cpp b/1.4.0/dom/src/1.4/dom/domFx_samplerRECT_common.cpp
new file mode 100644
index 0000000..2f6717b
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domFx_samplerRECT_common.cpp
@@ -0,0 +1,437 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domFx_samplerRECT_common.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domFx_samplerRECT_common::create(DAE& dae)
+{
+ domFx_samplerRECT_commonRef ref = new domFx_samplerRECT_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_samplerRECT_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_samplerRECT_common" );
+ meta->registerClass(domFx_samplerRECT_common::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "source" );
+ mea->setOffset( daeOffsetOf(domFx_samplerRECT_common,elemSource) );
+ mea->setElementType( domFx_samplerRECT_common::domSource::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "wrap_s" );
+ mea->setOffset( daeOffsetOf(domFx_samplerRECT_common,elemWrap_s) );
+ mea->setElementType( domFx_samplerRECT_common::domWrap_s::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "wrap_t" );
+ mea->setOffset( daeOffsetOf(domFx_samplerRECT_common,elemWrap_t) );
+ mea->setElementType( domFx_samplerRECT_common::domWrap_t::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "minfilter" );
+ mea->setOffset( daeOffsetOf(domFx_samplerRECT_common,elemMinfilter) );
+ mea->setElementType( domFx_samplerRECT_common::domMinfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "magfilter" );
+ mea->setOffset( daeOffsetOf(domFx_samplerRECT_common,elemMagfilter) );
+ mea->setElementType( domFx_samplerRECT_common::domMagfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "mipfilter" );
+ mea->setOffset( daeOffsetOf(domFx_samplerRECT_common,elemMipfilter) );
+ mea->setElementType( domFx_samplerRECT_common::domMipfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "border_color" );
+ mea->setOffset( daeOffsetOf(domFx_samplerRECT_common,elemBorder_color) );
+ mea->setElementType( domFx_samplerRECT_common::domBorder_color::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 7, 0, 1 );
+ mea->setName( "mipmap_maxlevel" );
+ mea->setOffset( daeOffsetOf(domFx_samplerRECT_common,elemMipmap_maxlevel) );
+ mea->setElementType( domFx_samplerRECT_common::domMipmap_maxlevel::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 8, 0, 1 );
+ mea->setName( "mipmap_bias" );
+ mea->setOffset( daeOffsetOf(domFx_samplerRECT_common,elemMipmap_bias) );
+ mea->setElementType( domFx_samplerRECT_common::domMipmap_bias::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 9, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domFx_samplerRECT_common,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 9 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domFx_samplerRECT_common));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_samplerRECT_common::domSource::create(DAE& dae)
+{
+ domFx_samplerRECT_common::domSourceRef ref = new domFx_samplerRECT_common::domSource(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_samplerRECT_common::domSource::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "source" );
+ meta->registerClass(domFx_samplerRECT_common::domSource::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domFx_samplerRECT_common::domSource , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_samplerRECT_common::domSource));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_samplerRECT_common::domWrap_s::create(DAE& dae)
+{
+ domFx_samplerRECT_common::domWrap_sRef ref = new domFx_samplerRECT_common::domWrap_s(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_samplerRECT_common::domWrap_s::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "wrap_s" );
+ meta->registerClass(domFx_samplerRECT_common::domWrap_s::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_wrap_common"));
+ ma->setOffset( daeOffsetOf( domFx_samplerRECT_common::domWrap_s , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_samplerRECT_common::domWrap_s));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_samplerRECT_common::domWrap_t::create(DAE& dae)
+{
+ domFx_samplerRECT_common::domWrap_tRef ref = new domFx_samplerRECT_common::domWrap_t(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_samplerRECT_common::domWrap_t::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "wrap_t" );
+ meta->registerClass(domFx_samplerRECT_common::domWrap_t::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_wrap_common"));
+ ma->setOffset( daeOffsetOf( domFx_samplerRECT_common::domWrap_t , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_samplerRECT_common::domWrap_t));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_samplerRECT_common::domMinfilter::create(DAE& dae)
+{
+ domFx_samplerRECT_common::domMinfilterRef ref = new domFx_samplerRECT_common::domMinfilter(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_samplerRECT_common::domMinfilter::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "minfilter" );
+ meta->registerClass(domFx_samplerRECT_common::domMinfilter::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_filter_common"));
+ ma->setOffset( daeOffsetOf( domFx_samplerRECT_common::domMinfilter , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_samplerRECT_common::domMinfilter));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_samplerRECT_common::domMagfilter::create(DAE& dae)
+{
+ domFx_samplerRECT_common::domMagfilterRef ref = new domFx_samplerRECT_common::domMagfilter(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_samplerRECT_common::domMagfilter::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "magfilter" );
+ meta->registerClass(domFx_samplerRECT_common::domMagfilter::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_filter_common"));
+ ma->setOffset( daeOffsetOf( domFx_samplerRECT_common::domMagfilter , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_samplerRECT_common::domMagfilter));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_samplerRECT_common::domMipfilter::create(DAE& dae)
+{
+ domFx_samplerRECT_common::domMipfilterRef ref = new domFx_samplerRECT_common::domMipfilter(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_samplerRECT_common::domMipfilter::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mipfilter" );
+ meta->registerClass(domFx_samplerRECT_common::domMipfilter::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_filter_common"));
+ ma->setOffset( daeOffsetOf( domFx_samplerRECT_common::domMipfilter , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_samplerRECT_common::domMipfilter));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_samplerRECT_common::domBorder_color::create(DAE& dae)
+{
+ domFx_samplerRECT_common::domBorder_colorRef ref = new domFx_samplerRECT_common::domBorder_color(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_samplerRECT_common::domBorder_color::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "border_color" );
+ meta->registerClass(domFx_samplerRECT_common::domBorder_color::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_color_common"));
+ ma->setOffset( daeOffsetOf( domFx_samplerRECT_common::domBorder_color , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_samplerRECT_common::domBorder_color));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_samplerRECT_common::domMipmap_maxlevel::create(DAE& dae)
+{
+ domFx_samplerRECT_common::domMipmap_maxlevelRef ref = new domFx_samplerRECT_common::domMipmap_maxlevel(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_samplerRECT_common::domMipmap_maxlevel::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mipmap_maxlevel" );
+ meta->registerClass(domFx_samplerRECT_common::domMipmap_maxlevel::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedByte"));
+ ma->setOffset( daeOffsetOf( domFx_samplerRECT_common::domMipmap_maxlevel , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_samplerRECT_common::domMipmap_maxlevel));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_samplerRECT_common::domMipmap_bias::create(DAE& dae)
+{
+ domFx_samplerRECT_common::domMipmap_biasRef ref = new domFx_samplerRECT_common::domMipmap_bias(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_samplerRECT_common::domMipmap_bias::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mipmap_bias" );
+ meta->registerClass(domFx_samplerRECT_common::domMipmap_bias::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsFloat"));
+ ma->setOffset( daeOffsetOf( domFx_samplerRECT_common::domMipmap_bias , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_samplerRECT_common::domMipmap_bias));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domFx_stenciltarget_common.cpp b/1.4.0/dom/src/1.4/dom/domFx_stenciltarget_common.cpp
new file mode 100644
index 0000000..0abe4c3
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domFx_stenciltarget_common.cpp
@@ -0,0 +1,108 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domFx_stenciltarget_common.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domFx_stenciltarget_common::create(DAE& dae)
+{
+ domFx_stenciltarget_commonRef ref = new domFx_stenciltarget_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_stenciltarget_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_stenciltarget_common" );
+ meta->registerClass(domFx_stenciltarget_common::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domFx_stenciltarget_common , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("xsNonNegativeInteger"));
+ ma->setOffset( daeOffsetOf( domFx_stenciltarget_common , attrIndex ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: face
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "face" );
+ ma->setType( dae.getAtomicTypes().get("Fx_surface_face_enum"));
+ ma->setOffset( daeOffsetOf( domFx_stenciltarget_common , attrFace ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "POSITIVE_X");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: mip
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "mip" );
+ ma->setType( dae.getAtomicTypes().get("xsNonNegativeInteger"));
+ ma->setOffset( daeOffsetOf( domFx_stenciltarget_common , attrMip ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: slice
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "slice" );
+ ma->setType( dae.getAtomicTypes().get("xsNonNegativeInteger"));
+ ma->setOffset( daeOffsetOf( domFx_stenciltarget_common , attrSlice ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_stenciltarget_common));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domFx_surface_common.cpp b/1.4.0/dom/src/1.4/dom/domFx_surface_common.cpp
new file mode 100644
index 0000000..ae43bbc
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domFx_surface_common.cpp
@@ -0,0 +1,303 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domFx_surface_common.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domFx_surface_common::create(DAE& dae)
+{
+ domFx_surface_commonRef ref = new domFx_surface_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_surface_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_surface_common" );
+ meta->registerClass(domFx_surface_common::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "fx_surface_init_common" );
+ mea->setOffset( daeOffsetOf(domFx_surface_common,elemFx_surface_init_common) );
+ mea->setElementType( domFx_surface_init_common::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 0, 1 ) );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "format" );
+ mea->setOffset( daeOffsetOf(domFx_surface_common,elemFormat) );
+ mea->setElementType( domFx_surface_common::domFormat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "format_hint" );
+ mea->setOffset( daeOffsetOf(domFx_surface_common,elemFormat_hint) );
+ mea->setElementType( domFx_surface_format_hint_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 3, 0, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "size" );
+ mea->setOffset( daeOffsetOf(domFx_surface_common,elemSize) );
+ mea->setElementType( domFx_surface_common::domSize::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "viewport_ratio" );
+ mea->setOffset( daeOffsetOf(domFx_surface_common,elemViewport_ratio) );
+ mea->setElementType( domFx_surface_common::domViewport_ratio::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "mip_levels" );
+ mea->setOffset( daeOffsetOf(domFx_surface_common,elemMip_levels) );
+ mea->setElementType( domFx_surface_common::domMip_levels::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "mipmap_generate" );
+ mea->setOffset( daeOffsetOf(domFx_surface_common,elemMipmap_generate) );
+ mea->setElementType( domFx_surface_common::domMipmap_generate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 6, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domFx_surface_common,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 6 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domFx_surface_common,_contents));
+ meta->addContentsOrder(daeOffsetOf(domFx_surface_common,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domFx_surface_common,_CMData), 1);
+ // Add attribute: type
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "type" );
+ ma->setType( dae.getAtomicTypes().get("Fx_surface_type_enum"));
+ ma->setOffset( daeOffsetOf( domFx_surface_common , attrType ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_surface_common));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_surface_common::domFormat::create(DAE& dae)
+{
+ domFx_surface_common::domFormatRef ref = new domFx_surface_common::domFormat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_surface_common::domFormat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "format" );
+ meta->registerClass(domFx_surface_common::domFormat::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domFx_surface_common::domFormat , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_surface_common::domFormat));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_surface_common::domSize::create(DAE& dae)
+{
+ domFx_surface_common::domSizeRef ref = new domFx_surface_common::domSize(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_surface_common::domSize::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "size" );
+ meta->registerClass(domFx_surface_common::domSize::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int3"));
+ ma->setOffset( daeOffsetOf( domFx_surface_common::domSize , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_surface_common::domSize));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_surface_common::domViewport_ratio::create(DAE& dae)
+{
+ domFx_surface_common::domViewport_ratioRef ref = new domFx_surface_common::domViewport_ratio(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_surface_common::domViewport_ratio::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "viewport_ratio" );
+ meta->registerClass(domFx_surface_common::domViewport_ratio::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domFx_surface_common::domViewport_ratio , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_surface_common::domViewport_ratio));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_surface_common::domMip_levels::create(DAE& dae)
+{
+ domFx_surface_common::domMip_levelsRef ref = new domFx_surface_common::domMip_levels(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_surface_common::domMip_levels::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mip_levels" );
+ meta->registerClass(domFx_surface_common::domMip_levels::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedInt"));
+ ma->setOffset( daeOffsetOf( domFx_surface_common::domMip_levels , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_surface_common::domMip_levels));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_surface_common::domMipmap_generate::create(DAE& dae)
+{
+ domFx_surface_common::domMipmap_generateRef ref = new domFx_surface_common::domMipmap_generate(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_surface_common::domMipmap_generate::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mipmap_generate" );
+ meta->registerClass(domFx_surface_common::domMipmap_generate::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domFx_surface_common::domMipmap_generate , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_surface_common::domMipmap_generate));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domFx_surface_format_hint_common.cpp b/1.4.0/dom/src/1.4/dom/domFx_surface_format_hint_common.cpp
new file mode 100644
index 0000000..dd52576
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domFx_surface_format_hint_common.cpp
@@ -0,0 +1,227 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domFx_surface_format_hint_common.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domFx_surface_format_hint_common::create(DAE& dae)
+{
+ domFx_surface_format_hint_commonRef ref = new domFx_surface_format_hint_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_surface_format_hint_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_surface_format_hint_common" );
+ meta->registerClass(domFx_surface_format_hint_common::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "channels" );
+ mea->setOffset( daeOffsetOf(domFx_surface_format_hint_common,elemChannels) );
+ mea->setElementType( domFx_surface_format_hint_common::domChannels::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "range" );
+ mea->setOffset( daeOffsetOf(domFx_surface_format_hint_common,elemRange) );
+ mea->setElementType( domFx_surface_format_hint_common::domRange::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "precision" );
+ mea->setOffset( daeOffsetOf(domFx_surface_format_hint_common,elemPrecision) );
+ mea->setElementType( domFx_surface_format_hint_common::domPrecision::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "option" );
+ mea->setOffset( daeOffsetOf(domFx_surface_format_hint_common,elemOption_array) );
+ mea->setElementType( domFx_surface_format_hint_common::domOption::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 4, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domFx_surface_format_hint_common,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 4 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domFx_surface_format_hint_common));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_surface_format_hint_common::domChannels::create(DAE& dae)
+{
+ domFx_surface_format_hint_common::domChannelsRef ref = new domFx_surface_format_hint_common::domChannels(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_surface_format_hint_common::domChannels::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "channels" );
+ meta->registerClass(domFx_surface_format_hint_common::domChannels::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_surface_format_hint_channels_enum"));
+ ma->setOffset( daeOffsetOf( domFx_surface_format_hint_common::domChannels , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_surface_format_hint_common::domChannels));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_surface_format_hint_common::domRange::create(DAE& dae)
+{
+ domFx_surface_format_hint_common::domRangeRef ref = new domFx_surface_format_hint_common::domRange(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_surface_format_hint_common::domRange::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "range" );
+ meta->registerClass(domFx_surface_format_hint_common::domRange::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_surface_format_hint_range_enum"));
+ ma->setOffset( daeOffsetOf( domFx_surface_format_hint_common::domRange , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_surface_format_hint_common::domRange));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_surface_format_hint_common::domPrecision::create(DAE& dae)
+{
+ domFx_surface_format_hint_common::domPrecisionRef ref = new domFx_surface_format_hint_common::domPrecision(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_surface_format_hint_common::domPrecision::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "precision" );
+ meta->registerClass(domFx_surface_format_hint_common::domPrecision::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_surface_format_hint_precision_enum"));
+ ma->setOffset( daeOffsetOf( domFx_surface_format_hint_common::domPrecision , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_surface_format_hint_common::domPrecision));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_surface_format_hint_common::domOption::create(DAE& dae)
+{
+ domFx_surface_format_hint_common::domOptionRef ref = new domFx_surface_format_hint_common::domOption(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_surface_format_hint_common::domOption::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "option" );
+ meta->registerClass(domFx_surface_format_hint_common::domOption::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_surface_format_hint_option_enum"));
+ ma->setOffset( daeOffsetOf( domFx_surface_format_hint_common::domOption , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_surface_format_hint_common::domOption));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domFx_surface_init_common.cpp b/1.4.0/dom/src/1.4/dom/domFx_surface_init_common.cpp
new file mode 100644
index 0000000..1928929
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domFx_surface_init_common.cpp
@@ -0,0 +1,148 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domFx_surface_init_common.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domFx_surface_init_common::create(DAE& dae)
+{
+ domFx_surface_init_commonRef ref = new domFx_surface_init_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_surface_init_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_surface_init_common" );
+ meta->registerClass(domFx_surface_init_common::create);
+
+ meta->setIsTransparent( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "init_as_null" );
+ mea->setOffset( daeOffsetOf(domFx_surface_init_common,elemInit_as_null) );
+ mea->setElementType( domFx_surface_init_common::domInit_as_null::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "init_as_target" );
+ mea->setOffset( daeOffsetOf(domFx_surface_init_common,elemInit_as_target) );
+ mea->setElementType( domFx_surface_init_common::domInit_as_target::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "init_cube" );
+ mea->setOffset( daeOffsetOf(domFx_surface_init_common,elemInit_cube) );
+ mea->setElementType( domFx_surface_init_cube_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "init_volume" );
+ mea->setOffset( daeOffsetOf(domFx_surface_init_common,elemInit_volume) );
+ mea->setElementType( domFx_surface_init_volume_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "init_planar" );
+ mea->setOffset( daeOffsetOf(domFx_surface_init_common,elemInit_planar) );
+ mea->setElementType( domFx_surface_init_planar_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "init_from" );
+ mea->setOffset( daeOffsetOf(domFx_surface_init_common,elemInit_from_array) );
+ mea->setElementType( domFx_surface_init_from_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domFx_surface_init_common,_contents));
+ meta->addContentsOrder(daeOffsetOf(domFx_surface_init_common,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domFx_surface_init_common,_CMData), 1);
+ meta->setElementSize(sizeof(domFx_surface_init_common));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_surface_init_common::domInit_as_null::create(DAE& dae)
+{
+ domFx_surface_init_common::domInit_as_nullRef ref = new domFx_surface_init_common::domInit_as_null(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_surface_init_common::domInit_as_null::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "init_as_null" );
+ meta->registerClass(domFx_surface_init_common::domInit_as_null::create);
+
+ meta->setIsInnerClass( true );
+
+ meta->setElementSize(sizeof(domFx_surface_init_common::domInit_as_null));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_surface_init_common::domInit_as_target::create(DAE& dae)
+{
+ domFx_surface_init_common::domInit_as_targetRef ref = new domFx_surface_init_common::domInit_as_target(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_surface_init_common::domInit_as_target::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "init_as_target" );
+ meta->registerClass(domFx_surface_init_common::domInit_as_target::create);
+
+ meta->setIsInnerClass( true );
+
+ meta->setElementSize(sizeof(domFx_surface_init_common::domInit_as_target));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domFx_surface_init_cube_common.cpp b/1.4.0/dom/src/1.4/dom/domFx_surface_init_cube_common.cpp
new file mode 100644
index 0000000..baf9d95
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domFx_surface_init_cube_common.cpp
@@ -0,0 +1,240 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domFx_surface_init_cube_common.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domFx_surface_init_cube_common::create(DAE& dae)
+{
+ domFx_surface_init_cube_commonRef ref = new domFx_surface_init_cube_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_surface_init_cube_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_surface_init_cube_common" );
+ meta->registerClass(domFx_surface_init_cube_common::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "all" );
+ mea->setOffset( daeOffsetOf(domFx_surface_init_cube_common,elemAll) );
+ mea->setElementType( domFx_surface_init_cube_common::domAll::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "primary" );
+ mea->setOffset( daeOffsetOf(domFx_surface_init_cube_common,elemPrimary) );
+ mea->setElementType( domFx_surface_init_cube_common::domPrimary::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 6, 6 );
+ mea->setName( "face" );
+ mea->setOffset( daeOffsetOf(domFx_surface_init_cube_common,elemFace_array) );
+ mea->setElementType( domFx_surface_init_cube_common::domFace::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domFx_surface_init_cube_common,_contents));
+ meta->addContentsOrder(daeOffsetOf(domFx_surface_init_cube_common,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domFx_surface_init_cube_common,_CMData), 1);
+ meta->setElementSize(sizeof(domFx_surface_init_cube_common));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_surface_init_cube_common::domAll::create(DAE& dae)
+{
+ domFx_surface_init_cube_common::domAllRef ref = new domFx_surface_init_cube_common::domAll(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_surface_init_cube_common::domAll::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "all" );
+ meta->registerClass(domFx_surface_init_cube_common::domAll::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("xsIDREF"));
+ ma->setOffset( daeOffsetOf( domFx_surface_init_cube_common::domAll , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_surface_init_cube_common::domAll));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_surface_init_cube_common::domPrimary::create(DAE& dae)
+{
+ domFx_surface_init_cube_common::domPrimaryRef ref = new domFx_surface_init_cube_common::domPrimary(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_surface_init_cube_common::domPrimary::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "primary" );
+ meta->registerClass(domFx_surface_init_cube_common::domPrimary::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 0, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 6, 6 );
+ mea->setName( "order" );
+ mea->setOffset( daeOffsetOf(domFx_surface_init_cube_common::domPrimary,elemOrder_array) );
+ mea->setElementType( domFx_surface_init_cube_common::domPrimary::domOrder::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("xsIDREF"));
+ ma->setOffset( daeOffsetOf( domFx_surface_init_cube_common::domPrimary , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_surface_init_cube_common::domPrimary));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_surface_init_cube_common::domPrimary::domOrder::create(DAE& dae)
+{
+ domFx_surface_init_cube_common::domPrimary::domOrderRef ref = new domFx_surface_init_cube_common::domPrimary::domOrder(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_surface_init_cube_common::domPrimary::domOrder::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "order" );
+ meta->registerClass(domFx_surface_init_cube_common::domPrimary::domOrder::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_surface_face_enum"));
+ ma->setOffset( daeOffsetOf( domFx_surface_init_cube_common::domPrimary::domOrder , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_surface_init_cube_common::domPrimary::domOrder));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_surface_init_cube_common::domFace::create(DAE& dae)
+{
+ domFx_surface_init_cube_common::domFaceRef ref = new domFx_surface_init_cube_common::domFace(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_surface_init_cube_common::domFace::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "face" );
+ meta->registerClass(domFx_surface_init_cube_common::domFace::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("xsIDREF"));
+ ma->setOffset( daeOffsetOf( domFx_surface_init_cube_common::domFace , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_surface_init_cube_common::domFace));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domFx_surface_init_from_common.cpp b/1.4.0/dom/src/1.4/dom/domFx_surface_init_from_common.cpp
new file mode 100644
index 0000000..11f44b2
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domFx_surface_init_from_common.cpp
@@ -0,0 +1,92 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domFx_surface_init_from_common.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domFx_surface_init_from_common::create(DAE& dae)
+{
+ domFx_surface_init_from_commonRef ref = new domFx_surface_init_from_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_surface_init_from_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_surface_init_from_common" );
+ meta->registerClass(domFx_surface_init_from_common::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsIDREF"));
+ ma->setOffset( daeOffsetOf( domFx_surface_init_from_common , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: mip
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "mip" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedInt"));
+ ma->setOffset( daeOffsetOf( domFx_surface_init_from_common , attrMip ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: slice
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "slice" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedInt"));
+ ma->setOffset( daeOffsetOf( domFx_surface_init_from_common , attrSlice ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: face
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "face" );
+ ma->setType( dae.getAtomicTypes().get("Fx_surface_face_enum"));
+ ma->setOffset( daeOffsetOf( domFx_surface_init_from_common , attrFace ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "POSITIVE_X");
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_surface_init_from_common));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domFx_surface_init_planar_common.cpp b/1.4.0/dom/src/1.4/dom/domFx_surface_init_planar_common.cpp
new file mode 100644
index 0000000..78339b1
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domFx_surface_init_planar_common.cpp
@@ -0,0 +1,102 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domFx_surface_init_planar_common.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domFx_surface_init_planar_common::create(DAE& dae)
+{
+ domFx_surface_init_planar_commonRef ref = new domFx_surface_init_planar_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_surface_init_planar_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_surface_init_planar_common" );
+ meta->registerClass(domFx_surface_init_planar_common::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "all" );
+ mea->setOffset( daeOffsetOf(domFx_surface_init_planar_common,elemAll) );
+ mea->setElementType( domFx_surface_init_planar_common::domAll::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domFx_surface_init_planar_common,_contents));
+ meta->addContentsOrder(daeOffsetOf(domFx_surface_init_planar_common,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domFx_surface_init_planar_common,_CMData), 1);
+ meta->setElementSize(sizeof(domFx_surface_init_planar_common));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_surface_init_planar_common::domAll::create(DAE& dae)
+{
+ domFx_surface_init_planar_common::domAllRef ref = new domFx_surface_init_planar_common::domAll(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_surface_init_planar_common::domAll::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "all" );
+ meta->registerClass(domFx_surface_init_planar_common::domAll::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("xsIDREF"));
+ ma->setOffset( daeOffsetOf( domFx_surface_init_planar_common::domAll , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_surface_init_planar_common::domAll));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domFx_surface_init_volume_common.cpp b/1.4.0/dom/src/1.4/dom/domFx_surface_init_volume_common.cpp
new file mode 100644
index 0000000..5fbf8f9
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domFx_surface_init_volume_common.cpp
@@ -0,0 +1,147 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domFx_surface_init_volume_common.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domFx_surface_init_volume_common::create(DAE& dae)
+{
+ domFx_surface_init_volume_commonRef ref = new domFx_surface_init_volume_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_surface_init_volume_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_surface_init_volume_common" );
+ meta->registerClass(domFx_surface_init_volume_common::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "all" );
+ mea->setOffset( daeOffsetOf(domFx_surface_init_volume_common,elemAll) );
+ mea->setElementType( domFx_surface_init_volume_common::domAll::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "primary" );
+ mea->setOffset( daeOffsetOf(domFx_surface_init_volume_common,elemPrimary) );
+ mea->setElementType( domFx_surface_init_volume_common::domPrimary::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domFx_surface_init_volume_common,_contents));
+ meta->addContentsOrder(daeOffsetOf(domFx_surface_init_volume_common,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domFx_surface_init_volume_common,_CMData), 1);
+ meta->setElementSize(sizeof(domFx_surface_init_volume_common));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_surface_init_volume_common::domAll::create(DAE& dae)
+{
+ domFx_surface_init_volume_common::domAllRef ref = new domFx_surface_init_volume_common::domAll(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_surface_init_volume_common::domAll::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "all" );
+ meta->registerClass(domFx_surface_init_volume_common::domAll::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("xsIDREF"));
+ ma->setOffset( daeOffsetOf( domFx_surface_init_volume_common::domAll , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_surface_init_volume_common::domAll));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_surface_init_volume_common::domPrimary::create(DAE& dae)
+{
+ domFx_surface_init_volume_common::domPrimaryRef ref = new domFx_surface_init_volume_common::domPrimary(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_surface_init_volume_common::domPrimary::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "primary" );
+ meta->registerClass(domFx_surface_init_volume_common::domPrimary::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("xsIDREF"));
+ ma->setOffset( daeOffsetOf( domFx_surface_init_volume_common::domPrimary , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_surface_init_volume_common::domPrimary));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domGeometry.cpp b/1.4.0/dom/src/1.4/dom/domGeometry.cpp
new file mode 100644
index 0000000..85f02f9
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domGeometry.cpp
@@ -0,0 +1,115 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domGeometry.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domGeometry::create(DAE& dae)
+{
+ domGeometryRef ref = new domGeometry(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGeometry::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "geometry" );
+ meta->registerClass(domGeometry::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domGeometry,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "convex_mesh" );
+ mea->setOffset( daeOffsetOf(domGeometry,elemConvex_mesh) );
+ mea->setElementType( domConvex_mesh::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "mesh" );
+ mea->setOffset( daeOffsetOf(domGeometry,elemMesh) );
+ mea->setElementType( domMesh::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "spline" );
+ mea->setOffset( daeOffsetOf(domGeometry,elemSpline) );
+ mea->setElementType( domSpline::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domGeometry,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGeometry,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGeometry,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGeometry,_CMData), 1);
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domGeometry , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGeometry , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGeometry));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domGl_hook_abstract.cpp b/1.4.0/dom/src/1.4/dom/domGl_hook_abstract.cpp
new file mode 100644
index 0000000..aae95e4
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domGl_hook_abstract.cpp
@@ -0,0 +1,48 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domGl_hook_abstract.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domGl_hook_abstract::create(DAE& dae)
+{
+ domGl_hook_abstractRef ref = new domGl_hook_abstract(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_hook_abstract::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gl_hook_abstract" );
+ meta->registerClass(domGl_hook_abstract::create);
+
+ meta->setIsAbstract( true );
+
+ meta->setElementSize(sizeof(domGl_hook_abstract));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domGl_pipeline_settings.cpp b/1.4.0/dom/src/1.4/dom/domGl_pipeline_settings.cpp
new file mode 100644
index 0000000..dbbf7c5
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domGl_pipeline_settings.cpp
@@ -0,0 +1,8367 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domGl_pipeline_settings.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domGl_pipeline_settings::create(DAE& dae)
+{
+ domGl_pipeline_settingsRef ref = new domGl_pipeline_settings(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gl_pipeline_settings" );
+ meta->registerClass(domGl_pipeline_settings::create);
+
+ meta->setIsTransparent( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "alpha_func" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemAlpha_func) );
+ mea->setElementType( domGl_pipeline_settings::domAlpha_func::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "blend_func" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemBlend_func) );
+ mea->setElementType( domGl_pipeline_settings::domBlend_func::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "blend_func_separate" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemBlend_func_separate) );
+ mea->setElementType( domGl_pipeline_settings::domBlend_func_separate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "blend_equation" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemBlend_equation) );
+ mea->setElementType( domGl_pipeline_settings::domBlend_equation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "blend_equation_separate" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemBlend_equation_separate) );
+ mea->setElementType( domGl_pipeline_settings::domBlend_equation_separate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "color_material" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemColor_material) );
+ mea->setElementType( domGl_pipeline_settings::domColor_material::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "cull_face" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemCull_face) );
+ mea->setElementType( domGl_pipeline_settings::domCull_face::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "depth_func" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemDepth_func) );
+ mea->setElementType( domGl_pipeline_settings::domDepth_func::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fog_mode" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemFog_mode) );
+ mea->setElementType( domGl_pipeline_settings::domFog_mode::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fog_coord_src" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemFog_coord_src) );
+ mea->setElementType( domGl_pipeline_settings::domFog_coord_src::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "front_face" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemFront_face) );
+ mea->setElementType( domGl_pipeline_settings::domFront_face::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_model_color_control" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_model_color_control) );
+ mea->setElementType( domGl_pipeline_settings::domLight_model_color_control::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "logic_op" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLogic_op) );
+ mea->setElementType( domGl_pipeline_settings::domLogic_op::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "polygon_mode" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPolygon_mode) );
+ mea->setElementType( domGl_pipeline_settings::domPolygon_mode::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "shade_model" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemShade_model) );
+ mea->setElementType( domGl_pipeline_settings::domShade_model::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_func" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemStencil_func) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_func::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_op" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemStencil_op) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_op::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_func_separate" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemStencil_func_separate) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_func_separate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_op_separate" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemStencil_op_separate) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_op_separate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_mask_separate" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemStencil_mask_separate) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_mask_separate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_enable) );
+ mea->setElementType( domGl_pipeline_settings::domLight_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_ambient" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_ambient) );
+ mea->setElementType( domGl_pipeline_settings::domLight_ambient::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_diffuse" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_diffuse) );
+ mea->setElementType( domGl_pipeline_settings::domLight_diffuse::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_specular" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_specular) );
+ mea->setElementType( domGl_pipeline_settings::domLight_specular::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_position" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_position) );
+ mea->setElementType( domGl_pipeline_settings::domLight_position::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_constant_attenuation" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_constant_attenuation) );
+ mea->setElementType( domGl_pipeline_settings::domLight_constant_attenuation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_linear_attenuation" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_linear_attenuation) );
+ mea->setElementType( domGl_pipeline_settings::domLight_linear_attenuation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_quadratic_attenuation" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_quadratic_attenuation) );
+ mea->setElementType( domGl_pipeline_settings::domLight_quadratic_attenuation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_spot_cutoff" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_spot_cutoff) );
+ mea->setElementType( domGl_pipeline_settings::domLight_spot_cutoff::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_spot_direction" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_spot_direction) );
+ mea->setElementType( domGl_pipeline_settings::domLight_spot_direction::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_spot_exponent" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_spot_exponent) );
+ mea->setElementType( domGl_pipeline_settings::domLight_spot_exponent::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "texture1D" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTexture1D) );
+ mea->setElementType( domGl_pipeline_settings::domTexture1D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "texture2D" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTexture2D) );
+ mea->setElementType( domGl_pipeline_settings::domTexture2D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "texture3D" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTexture3D) );
+ mea->setElementType( domGl_pipeline_settings::domTexture3D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "textureCUBE" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTextureCUBE) );
+ mea->setElementType( domGl_pipeline_settings::domTextureCUBE::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "textureRECT" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTextureRECT) );
+ mea->setElementType( domGl_pipeline_settings::domTextureRECT::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "textureDEPTH" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTextureDEPTH) );
+ mea->setElementType( domGl_pipeline_settings::domTextureDEPTH::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "texture1D_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTexture1D_enable) );
+ mea->setElementType( domGl_pipeline_settings::domTexture1D_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "texture2D_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTexture2D_enable) );
+ mea->setElementType( domGl_pipeline_settings::domTexture2D_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "texture3D_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTexture3D_enable) );
+ mea->setElementType( domGl_pipeline_settings::domTexture3D_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "textureCUBE_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTextureCUBE_enable) );
+ mea->setElementType( domGl_pipeline_settings::domTextureCUBE_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "textureRECT_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTextureRECT_enable) );
+ mea->setElementType( domGl_pipeline_settings::domTextureRECT_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "textureDEPTH_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTextureDEPTH_enable) );
+ mea->setElementType( domGl_pipeline_settings::domTextureDEPTH_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "texture_env_color" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTexture_env_color) );
+ mea->setElementType( domGl_pipeline_settings::domTexture_env_color::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "texture_env_mode" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTexture_env_mode) );
+ mea->setElementType( domGl_pipeline_settings::domTexture_env_mode::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "clip_plane" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemClip_plane) );
+ mea->setElementType( domGl_pipeline_settings::domClip_plane::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "clip_plane_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemClip_plane_enable) );
+ mea->setElementType( domGl_pipeline_settings::domClip_plane_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "blend_color" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemBlend_color) );
+ mea->setElementType( domGl_pipeline_settings::domBlend_color::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "clear_color" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemClear_color) );
+ mea->setElementType( domGl_pipeline_settings::domClear_color::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "clear_stencil" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemClear_stencil) );
+ mea->setElementType( domGl_pipeline_settings::domClear_stencil::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "clear_depth" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemClear_depth) );
+ mea->setElementType( domGl_pipeline_settings::domClear_depth::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "color_mask" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemColor_mask) );
+ mea->setElementType( domGl_pipeline_settings::domColor_mask::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "depth_bounds" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemDepth_bounds) );
+ mea->setElementType( domGl_pipeline_settings::domDepth_bounds::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "depth_mask" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemDepth_mask) );
+ mea->setElementType( domGl_pipeline_settings::domDepth_mask::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "depth_range" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemDepth_range) );
+ mea->setElementType( domGl_pipeline_settings::domDepth_range::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fog_density" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemFog_density) );
+ mea->setElementType( domGl_pipeline_settings::domFog_density::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fog_start" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemFog_start) );
+ mea->setElementType( domGl_pipeline_settings::domFog_start::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fog_end" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemFog_end) );
+ mea->setElementType( domGl_pipeline_settings::domFog_end::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fog_color" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemFog_color) );
+ mea->setElementType( domGl_pipeline_settings::domFog_color::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_model_ambient" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_model_ambient) );
+ mea->setElementType( domGl_pipeline_settings::domLight_model_ambient::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "lighting_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLighting_enable) );
+ mea->setElementType( domGl_pipeline_settings::domLighting_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "line_stipple" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLine_stipple) );
+ mea->setElementType( domGl_pipeline_settings::domLine_stipple::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "line_width" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLine_width) );
+ mea->setElementType( domGl_pipeline_settings::domLine_width::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "material_ambient" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemMaterial_ambient) );
+ mea->setElementType( domGl_pipeline_settings::domMaterial_ambient::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "material_diffuse" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemMaterial_diffuse) );
+ mea->setElementType( domGl_pipeline_settings::domMaterial_diffuse::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "material_emission" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemMaterial_emission) );
+ mea->setElementType( domGl_pipeline_settings::domMaterial_emission::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "material_shininess" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemMaterial_shininess) );
+ mea->setElementType( domGl_pipeline_settings::domMaterial_shininess::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "material_specular" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemMaterial_specular) );
+ mea->setElementType( domGl_pipeline_settings::domMaterial_specular::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "model_view_matrix" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemModel_view_matrix) );
+ mea->setElementType( domGl_pipeline_settings::domModel_view_matrix::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "point_distance_attenuation" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPoint_distance_attenuation) );
+ mea->setElementType( domGl_pipeline_settings::domPoint_distance_attenuation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "point_fade_threshold_size" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPoint_fade_threshold_size) );
+ mea->setElementType( domGl_pipeline_settings::domPoint_fade_threshold_size::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "point_size" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPoint_size) );
+ mea->setElementType( domGl_pipeline_settings::domPoint_size::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "point_size_min" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPoint_size_min) );
+ mea->setElementType( domGl_pipeline_settings::domPoint_size_min::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "point_size_max" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPoint_size_max) );
+ mea->setElementType( domGl_pipeline_settings::domPoint_size_max::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "polygon_offset" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPolygon_offset) );
+ mea->setElementType( domGl_pipeline_settings::domPolygon_offset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "projection_matrix" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemProjection_matrix) );
+ mea->setElementType( domGl_pipeline_settings::domProjection_matrix::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "scissor" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemScissor) );
+ mea->setElementType( domGl_pipeline_settings::domScissor::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_mask" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemStencil_mask) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_mask::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "alpha_test_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemAlpha_test_enable) );
+ mea->setElementType( domGl_pipeline_settings::domAlpha_test_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "auto_normal_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemAuto_normal_enable) );
+ mea->setElementType( domGl_pipeline_settings::domAuto_normal_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "blend_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemBlend_enable) );
+ mea->setElementType( domGl_pipeline_settings::domBlend_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "color_logic_op_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemColor_logic_op_enable) );
+ mea->setElementType( domGl_pipeline_settings::domColor_logic_op_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "color_material_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemColor_material_enable) );
+ mea->setElementType( domGl_pipeline_settings::domColor_material_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "cull_face_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemCull_face_enable) );
+ mea->setElementType( domGl_pipeline_settings::domCull_face_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "depth_bounds_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemDepth_bounds_enable) );
+ mea->setElementType( domGl_pipeline_settings::domDepth_bounds_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "depth_clamp_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemDepth_clamp_enable) );
+ mea->setElementType( domGl_pipeline_settings::domDepth_clamp_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "depth_test_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemDepth_test_enable) );
+ mea->setElementType( domGl_pipeline_settings::domDepth_test_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "dither_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemDither_enable) );
+ mea->setElementType( domGl_pipeline_settings::domDither_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fog_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemFog_enable) );
+ mea->setElementType( domGl_pipeline_settings::domFog_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_model_local_viewer_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_model_local_viewer_enable) );
+ mea->setElementType( domGl_pipeline_settings::domLight_model_local_viewer_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_model_two_side_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_model_two_side_enable) );
+ mea->setElementType( domGl_pipeline_settings::domLight_model_two_side_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "line_smooth_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLine_smooth_enable) );
+ mea->setElementType( domGl_pipeline_settings::domLine_smooth_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "line_stipple_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLine_stipple_enable) );
+ mea->setElementType( domGl_pipeline_settings::domLine_stipple_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "logic_op_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLogic_op_enable) );
+ mea->setElementType( domGl_pipeline_settings::domLogic_op_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "multisample_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemMultisample_enable) );
+ mea->setElementType( domGl_pipeline_settings::domMultisample_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "normalize_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemNormalize_enable) );
+ mea->setElementType( domGl_pipeline_settings::domNormalize_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "point_smooth_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPoint_smooth_enable) );
+ mea->setElementType( domGl_pipeline_settings::domPoint_smooth_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "polygon_offset_fill_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPolygon_offset_fill_enable) );
+ mea->setElementType( domGl_pipeline_settings::domPolygon_offset_fill_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "polygon_offset_line_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPolygon_offset_line_enable) );
+ mea->setElementType( domGl_pipeline_settings::domPolygon_offset_line_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "polygon_offset_point_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPolygon_offset_point_enable) );
+ mea->setElementType( domGl_pipeline_settings::domPolygon_offset_point_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "polygon_smooth_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPolygon_smooth_enable) );
+ mea->setElementType( domGl_pipeline_settings::domPolygon_smooth_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "polygon_stipple_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPolygon_stipple_enable) );
+ mea->setElementType( domGl_pipeline_settings::domPolygon_stipple_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "rescale_normal_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemRescale_normal_enable) );
+ mea->setElementType( domGl_pipeline_settings::domRescale_normal_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sample_alpha_to_coverage_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemSample_alpha_to_coverage_enable) );
+ mea->setElementType( domGl_pipeline_settings::domSample_alpha_to_coverage_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sample_alpha_to_one_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemSample_alpha_to_one_enable) );
+ mea->setElementType( domGl_pipeline_settings::domSample_alpha_to_one_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sample_coverage_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemSample_coverage_enable) );
+ mea->setElementType( domGl_pipeline_settings::domSample_coverage_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "scissor_test_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemScissor_test_enable) );
+ mea->setElementType( domGl_pipeline_settings::domScissor_test_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_test_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemStencil_test_enable) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_test_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "gl_hook_abstract" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemGl_hook_abstract) );
+ mea->setElementType( domGl_hook_abstract::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGl_pipeline_settings,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGl_pipeline_settings,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGl_pipeline_settings,_CMData), 1);
+ meta->setElementSize(sizeof(domGl_pipeline_settings));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domAlpha_func::create(DAE& dae)
+{
+ domGl_pipeline_settings::domAlpha_funcRef ref = new domGl_pipeline_settings::domAlpha_func(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domAlpha_func::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "alpha_func" );
+ meta->registerClass(domGl_pipeline_settings::domAlpha_func::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "func" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domAlpha_func,elemFunc) );
+ mea->setElementType( domGl_pipeline_settings::domAlpha_func::domFunc::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "value" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domAlpha_func,elemValue) );
+ mea->setElementType( domGl_pipeline_settings::domAlpha_func::domValue::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domAlpha_func));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domAlpha_func::domFunc::create(DAE& dae)
+{
+ domGl_pipeline_settings::domAlpha_func::domFuncRef ref = new domGl_pipeline_settings::domAlpha_func::domFunc(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domAlpha_func::domFunc::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "func" );
+ meta->registerClass(domGl_pipeline_settings::domAlpha_func::domFunc::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_func_type"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domAlpha_func::domFunc , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ALWAYS");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domAlpha_func::domFunc , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domAlpha_func::domFunc));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domAlpha_func::domValue::create(DAE& dae)
+{
+ domGl_pipeline_settings::domAlpha_func::domValueRef ref = new domGl_pipeline_settings::domAlpha_func::domValue(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domAlpha_func::domValue::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "value" );
+ meta->registerClass(domGl_pipeline_settings::domAlpha_func::domValue::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_alpha_value_type"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domAlpha_func::domValue , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0.0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domAlpha_func::domValue , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domAlpha_func::domValue));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domBlend_func::create(DAE& dae)
+{
+ domGl_pipeline_settings::domBlend_funcRef ref = new domGl_pipeline_settings::domBlend_func(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domBlend_func::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "blend_func" );
+ meta->registerClass(domGl_pipeline_settings::domBlend_func::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "src" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domBlend_func,elemSrc) );
+ mea->setElementType( domGl_pipeline_settings::domBlend_func::domSrc::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "dest" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domBlend_func,elemDest) );
+ mea->setElementType( domGl_pipeline_settings::domBlend_func::domDest::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domBlend_func));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domBlend_func::domSrc::create(DAE& dae)
+{
+ domGl_pipeline_settings::domBlend_func::domSrcRef ref = new domGl_pipeline_settings::domBlend_func::domSrc(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domBlend_func::domSrc::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "src" );
+ meta->registerClass(domGl_pipeline_settings::domBlend_func::domSrc::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend_type"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_func::domSrc , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ONE");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_func::domSrc , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domBlend_func::domSrc));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domBlend_func::domDest::create(DAE& dae)
+{
+ domGl_pipeline_settings::domBlend_func::domDestRef ref = new domGl_pipeline_settings::domBlend_func::domDest(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domBlend_func::domDest::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "dest" );
+ meta->registerClass(domGl_pipeline_settings::domBlend_func::domDest::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend_type"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_func::domDest , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ZERO");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_func::domDest , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domBlend_func::domDest));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domBlend_func_separate::create(DAE& dae)
+{
+ domGl_pipeline_settings::domBlend_func_separateRef ref = new domGl_pipeline_settings::domBlend_func_separate(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domBlend_func_separate::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "blend_func_separate" );
+ meta->registerClass(domGl_pipeline_settings::domBlend_func_separate::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "src_rgb" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domBlend_func_separate,elemSrc_rgb) );
+ mea->setElementType( domGl_pipeline_settings::domBlend_func_separate::domSrc_rgb::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "dest_rgb" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domBlend_func_separate,elemDest_rgb) );
+ mea->setElementType( domGl_pipeline_settings::domBlend_func_separate::domDest_rgb::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "src_alpha" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domBlend_func_separate,elemSrc_alpha) );
+ mea->setElementType( domGl_pipeline_settings::domBlend_func_separate::domSrc_alpha::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 1, 1 );
+ mea->setName( "dest_alpha" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domBlend_func_separate,elemDest_alpha) );
+ mea->setElementType( domGl_pipeline_settings::domBlend_func_separate::domDest_alpha::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domBlend_func_separate));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domBlend_func_separate::domSrc_rgb::create(DAE& dae)
+{
+ domGl_pipeline_settings::domBlend_func_separate::domSrc_rgbRef ref = new domGl_pipeline_settings::domBlend_func_separate::domSrc_rgb(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domBlend_func_separate::domSrc_rgb::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "src_rgb" );
+ meta->registerClass(domGl_pipeline_settings::domBlend_func_separate::domSrc_rgb::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend_type"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_func_separate::domSrc_rgb , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ONE");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_func_separate::domSrc_rgb , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domBlend_func_separate::domSrc_rgb));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domBlend_func_separate::domDest_rgb::create(DAE& dae)
+{
+ domGl_pipeline_settings::domBlend_func_separate::domDest_rgbRef ref = new domGl_pipeline_settings::domBlend_func_separate::domDest_rgb(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domBlend_func_separate::domDest_rgb::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "dest_rgb" );
+ meta->registerClass(domGl_pipeline_settings::domBlend_func_separate::domDest_rgb::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend_type"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_func_separate::domDest_rgb , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ZERO");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_func_separate::domDest_rgb , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domBlend_func_separate::domDest_rgb));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domBlend_func_separate::domSrc_alpha::create(DAE& dae)
+{
+ domGl_pipeline_settings::domBlend_func_separate::domSrc_alphaRef ref = new domGl_pipeline_settings::domBlend_func_separate::domSrc_alpha(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domBlend_func_separate::domSrc_alpha::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "src_alpha" );
+ meta->registerClass(domGl_pipeline_settings::domBlend_func_separate::domSrc_alpha::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend_type"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_func_separate::domSrc_alpha , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ONE");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_func_separate::domSrc_alpha , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domBlend_func_separate::domSrc_alpha));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domBlend_func_separate::domDest_alpha::create(DAE& dae)
+{
+ domGl_pipeline_settings::domBlend_func_separate::domDest_alphaRef ref = new domGl_pipeline_settings::domBlend_func_separate::domDest_alpha(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domBlend_func_separate::domDest_alpha::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "dest_alpha" );
+ meta->registerClass(domGl_pipeline_settings::domBlend_func_separate::domDest_alpha::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend_type"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_func_separate::domDest_alpha , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ZERO");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_func_separate::domDest_alpha , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domBlend_func_separate::domDest_alpha));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domBlend_equation::create(DAE& dae)
+{
+ domGl_pipeline_settings::domBlend_equationRef ref = new domGl_pipeline_settings::domBlend_equation(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domBlend_equation::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "blend_equation" );
+ meta->registerClass(domGl_pipeline_settings::domBlend_equation::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend_equation_type"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_equation , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "FUNC_ADD");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_equation , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domBlend_equation));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domBlend_equation_separate::create(DAE& dae)
+{
+ domGl_pipeline_settings::domBlend_equation_separateRef ref = new domGl_pipeline_settings::domBlend_equation_separate(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domBlend_equation_separate::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "blend_equation_separate" );
+ meta->registerClass(domGl_pipeline_settings::domBlend_equation_separate::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "rgb" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domBlend_equation_separate,elemRgb) );
+ mea->setElementType( domGl_pipeline_settings::domBlend_equation_separate::domRgb::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "alpha" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domBlend_equation_separate,elemAlpha) );
+ mea->setElementType( domGl_pipeline_settings::domBlend_equation_separate::domAlpha::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domBlend_equation_separate));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domBlend_equation_separate::domRgb::create(DAE& dae)
+{
+ domGl_pipeline_settings::domBlend_equation_separate::domRgbRef ref = new domGl_pipeline_settings::domBlend_equation_separate::domRgb(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domBlend_equation_separate::domRgb::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "rgb" );
+ meta->registerClass(domGl_pipeline_settings::domBlend_equation_separate::domRgb::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend_equation_type"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_equation_separate::domRgb , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "FUNC_ADD");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_equation_separate::domRgb , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domBlend_equation_separate::domRgb));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domBlend_equation_separate::domAlpha::create(DAE& dae)
+{
+ domGl_pipeline_settings::domBlend_equation_separate::domAlphaRef ref = new domGl_pipeline_settings::domBlend_equation_separate::domAlpha(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domBlend_equation_separate::domAlpha::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "alpha" );
+ meta->registerClass(domGl_pipeline_settings::domBlend_equation_separate::domAlpha::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend_equation_type"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_equation_separate::domAlpha , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "FUNC_ADD");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_equation_separate::domAlpha , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domBlend_equation_separate::domAlpha));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domColor_material::create(DAE& dae)
+{
+ domGl_pipeline_settings::domColor_materialRef ref = new domGl_pipeline_settings::domColor_material(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domColor_material::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "color_material" );
+ meta->registerClass(domGl_pipeline_settings::domColor_material::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "face" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domColor_material,elemFace) );
+ mea->setElementType( domGl_pipeline_settings::domColor_material::domFace::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "mode" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domColor_material,elemMode) );
+ mea->setElementType( domGl_pipeline_settings::domColor_material::domMode::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domColor_material));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domColor_material::domFace::create(DAE& dae)
+{
+ domGl_pipeline_settings::domColor_material::domFaceRef ref = new domGl_pipeline_settings::domColor_material::domFace(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domColor_material::domFace::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "face" );
+ meta->registerClass(domGl_pipeline_settings::domColor_material::domFace::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_face_type"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domColor_material::domFace , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "FRONT_AND_BACK");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domColor_material::domFace , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domColor_material::domFace));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domColor_material::domMode::create(DAE& dae)
+{
+ domGl_pipeline_settings::domColor_material::domModeRef ref = new domGl_pipeline_settings::domColor_material::domMode(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domColor_material::domMode::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mode" );
+ meta->registerClass(domGl_pipeline_settings::domColor_material::domMode::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_material_type"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domColor_material::domMode , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "AMBIENT_AND_DIFFUSE");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domColor_material::domMode , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domColor_material::domMode));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domCull_face::create(DAE& dae)
+{
+ domGl_pipeline_settings::domCull_faceRef ref = new domGl_pipeline_settings::domCull_face(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domCull_face::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cull_face" );
+ meta->registerClass(domGl_pipeline_settings::domCull_face::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_face_type"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domCull_face , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "BACK");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domCull_face , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domCull_face));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domDepth_func::create(DAE& dae)
+{
+ domGl_pipeline_settings::domDepth_funcRef ref = new domGl_pipeline_settings::domDepth_func(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domDepth_func::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "depth_func" );
+ meta->registerClass(domGl_pipeline_settings::domDepth_func::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_func_type"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDepth_func , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ALWAYS");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDepth_func , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domDepth_func));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domFog_mode::create(DAE& dae)
+{
+ domGl_pipeline_settings::domFog_modeRef ref = new domGl_pipeline_settings::domFog_mode(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domFog_mode::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fog_mode" );
+ meta->registerClass(domGl_pipeline_settings::domFog_mode::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_fog_type"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFog_mode , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "EXP");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFog_mode , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domFog_mode));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domFog_coord_src::create(DAE& dae)
+{
+ domGl_pipeline_settings::domFog_coord_srcRef ref = new domGl_pipeline_settings::domFog_coord_src(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domFog_coord_src::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fog_coord_src" );
+ meta->registerClass(domGl_pipeline_settings::domFog_coord_src::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_fog_coord_src_type"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFog_coord_src , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "FOG_COORDINATE");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFog_coord_src , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domFog_coord_src));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domFront_face::create(DAE& dae)
+{
+ domGl_pipeline_settings::domFront_faceRef ref = new domGl_pipeline_settings::domFront_face(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domFront_face::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "front_face" );
+ meta->registerClass(domGl_pipeline_settings::domFront_face::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_front_face_type"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFront_face , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "CCW");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFront_face , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domFront_face));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLight_model_color_control::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLight_model_color_controlRef ref = new domGl_pipeline_settings::domLight_model_color_control(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLight_model_color_control::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_model_color_control" );
+ meta->registerClass(domGl_pipeline_settings::domLight_model_color_control::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_light_model_color_control_type"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_model_color_control , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "SINGLE_COLOR");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_model_color_control , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLight_model_color_control));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLogic_op::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLogic_opRef ref = new domGl_pipeline_settings::domLogic_op(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLogic_op::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "logic_op" );
+ meta->registerClass(domGl_pipeline_settings::domLogic_op::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_logic_op_type"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLogic_op , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "COPY");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLogic_op , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLogic_op));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domPolygon_mode::create(DAE& dae)
+{
+ domGl_pipeline_settings::domPolygon_modeRef ref = new domGl_pipeline_settings::domPolygon_mode(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domPolygon_mode::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "polygon_mode" );
+ meta->registerClass(domGl_pipeline_settings::domPolygon_mode::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "face" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domPolygon_mode,elemFace) );
+ mea->setElementType( domGl_pipeline_settings::domPolygon_mode::domFace::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "mode" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domPolygon_mode,elemMode) );
+ mea->setElementType( domGl_pipeline_settings::domPolygon_mode::domMode::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domPolygon_mode));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domPolygon_mode::domFace::create(DAE& dae)
+{
+ domGl_pipeline_settings::domPolygon_mode::domFaceRef ref = new domGl_pipeline_settings::domPolygon_mode::domFace(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domPolygon_mode::domFace::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "face" );
+ meta->registerClass(domGl_pipeline_settings::domPolygon_mode::domFace::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_face_type"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_mode::domFace , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "FRONT_AND_BACK");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_mode::domFace , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domPolygon_mode::domFace));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domPolygon_mode::domMode::create(DAE& dae)
+{
+ domGl_pipeline_settings::domPolygon_mode::domModeRef ref = new domGl_pipeline_settings::domPolygon_mode::domMode(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domPolygon_mode::domMode::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mode" );
+ meta->registerClass(domGl_pipeline_settings::domPolygon_mode::domMode::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_polygon_mode_type"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_mode::domMode , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "FILL");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_mode::domMode , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domPolygon_mode::domMode));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domShade_model::create(DAE& dae)
+{
+ domGl_pipeline_settings::domShade_modelRef ref = new domGl_pipeline_settings::domShade_model(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domShade_model::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "shade_model" );
+ meta->registerClass(domGl_pipeline_settings::domShade_model::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_shade_model_type"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domShade_model , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "SMOOTH");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domShade_model , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domShade_model));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_func::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_funcRef ref = new domGl_pipeline_settings::domStencil_func(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_func::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_func" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_func::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "func" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_func,elemFunc) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_func::domFunc::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "ref" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_func,elemRef) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_func::domRef::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "mask" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_func,elemMask) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_func::domMask::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_func));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_func::domFunc::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_func::domFuncRef ref = new domGl_pipeline_settings::domStencil_func::domFunc(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_func::domFunc::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "func" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_func::domFunc::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_func_type"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_func::domFunc , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ALWAYS");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_func::domFunc , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_func::domFunc));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_func::domRef::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_func::domRefRef ref = new domGl_pipeline_settings::domStencil_func::domRef(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_func::domRef::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "ref" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_func::domRef::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedByte"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_func::domRef , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_func::domRef , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_func::domRef));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_func::domMask::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_func::domMaskRef ref = new domGl_pipeline_settings::domStencil_func::domMask(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_func::domMask::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mask" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_func::domMask::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedByte"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_func::domMask , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "255");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_func::domMask , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_func::domMask));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_op::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_opRef ref = new domGl_pipeline_settings::domStencil_op(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_op::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_op" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_op::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fail" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_op,elemFail) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_op::domFail::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "zfail" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_op,elemZfail) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_op::domZfail::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "zpass" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_op,elemZpass) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_op::domZpass::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_op));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_op::domFail::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_op::domFailRef ref = new domGl_pipeline_settings::domStencil_op::domFail(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_op::domFail::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fail" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_op::domFail::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_stencil_op_type"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_op::domFail , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "KEEP");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_op::domFail , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_op::domFail));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_op::domZfail::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_op::domZfailRef ref = new domGl_pipeline_settings::domStencil_op::domZfail(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_op::domZfail::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "zfail" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_op::domZfail::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_stencil_op_type"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_op::domZfail , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "KEEP");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_op::domZfail , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_op::domZfail));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_op::domZpass::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_op::domZpassRef ref = new domGl_pipeline_settings::domStencil_op::domZpass(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_op::domZpass::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "zpass" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_op::domZpass::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_stencil_op_type"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_op::domZpass , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "KEEP");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_op::domZpass , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_op::domZpass));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_func_separate::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_func_separateRef ref = new domGl_pipeline_settings::domStencil_func_separate(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_func_separate::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_func_separate" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_func_separate::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "front" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_func_separate,elemFront) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_func_separate::domFront::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "back" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_func_separate,elemBack) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_func_separate::domBack::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "ref" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_func_separate,elemRef) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_func_separate::domRef::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 1, 1 );
+ mea->setName( "mask" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_func_separate,elemMask) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_func_separate::domMask::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_func_separate));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_func_separate::domFront::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_func_separate::domFrontRef ref = new domGl_pipeline_settings::domStencil_func_separate::domFront(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_func_separate::domFront::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "front" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_func_separate::domFront::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_func_type"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_func_separate::domFront , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ALWAYS");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_func_separate::domFront , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_func_separate::domFront));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_func_separate::domBack::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_func_separate::domBackRef ref = new domGl_pipeline_settings::domStencil_func_separate::domBack(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_func_separate::domBack::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "back" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_func_separate::domBack::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_func_type"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_func_separate::domBack , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ALWAYS");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_func_separate::domBack , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_func_separate::domBack));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_func_separate::domRef::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_func_separate::domRefRef ref = new domGl_pipeline_settings::domStencil_func_separate::domRef(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_func_separate::domRef::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "ref" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_func_separate::domRef::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedByte"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_func_separate::domRef , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_func_separate::domRef , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_func_separate::domRef));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_func_separate::domMask::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_func_separate::domMaskRef ref = new domGl_pipeline_settings::domStencil_func_separate::domMask(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_func_separate::domMask::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mask" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_func_separate::domMask::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedByte"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_func_separate::domMask , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "255");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_func_separate::domMask , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_func_separate::domMask));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_op_separate::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_op_separateRef ref = new domGl_pipeline_settings::domStencil_op_separate(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_op_separate::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_op_separate" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_op_separate::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "face" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_op_separate,elemFace) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_op_separate::domFace::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "fail" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_op_separate,elemFail) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_op_separate::domFail::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "zfail" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_op_separate,elemZfail) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_op_separate::domZfail::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 1, 1 );
+ mea->setName( "zpass" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_op_separate,elemZpass) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_op_separate::domZpass::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_op_separate));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_op_separate::domFace::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_op_separate::domFaceRef ref = new domGl_pipeline_settings::domStencil_op_separate::domFace(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_op_separate::domFace::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "face" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_op_separate::domFace::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_face_type"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_op_separate::domFace , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "FRONT_AND_BACK");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_op_separate::domFace , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_op_separate::domFace));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_op_separate::domFail::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_op_separate::domFailRef ref = new domGl_pipeline_settings::domStencil_op_separate::domFail(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_op_separate::domFail::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fail" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_op_separate::domFail::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_stencil_op_type"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_op_separate::domFail , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "KEEP");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_op_separate::domFail , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_op_separate::domFail));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_op_separate::domZfail::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_op_separate::domZfailRef ref = new domGl_pipeline_settings::domStencil_op_separate::domZfail(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_op_separate::domZfail::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "zfail" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_op_separate::domZfail::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_stencil_op_type"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_op_separate::domZfail , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "KEEP");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_op_separate::domZfail , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_op_separate::domZfail));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_op_separate::domZpass::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_op_separate::domZpassRef ref = new domGl_pipeline_settings::domStencil_op_separate::domZpass(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_op_separate::domZpass::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "zpass" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_op_separate::domZpass::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_stencil_op_type"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_op_separate::domZpass , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "KEEP");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_op_separate::domZpass , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_op_separate::domZpass));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_mask_separate::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_mask_separateRef ref = new domGl_pipeline_settings::domStencil_mask_separate(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_mask_separate::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_mask_separate" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_mask_separate::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "face" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_mask_separate,elemFace) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_mask_separate::domFace::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "mask" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_mask_separate,elemMask) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_mask_separate::domMask::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_mask_separate));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_mask_separate::domFace::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_mask_separate::domFaceRef ref = new domGl_pipeline_settings::domStencil_mask_separate::domFace(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_mask_separate::domFace::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "face" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_mask_separate::domFace::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_face_type"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_mask_separate::domFace , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "FRONT_AND_BACK");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_mask_separate::domFace , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_mask_separate::domFace));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_mask_separate::domMask::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_mask_separate::domMaskRef ref = new domGl_pipeline_settings::domStencil_mask_separate::domMask(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_mask_separate::domMask::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mask" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_mask_separate::domMask::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedByte"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_mask_separate::domMask , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "255");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_mask_separate::domMask , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_mask_separate::domMask));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLight_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLight_enableRef ref = new domGl_pipeline_settings::domLight_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLight_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_enable" );
+ meta->registerClass(domGl_pipeline_settings::domLight_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("GL_MAX_LIGHTS_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_enable , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLight_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLight_ambient::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLight_ambientRef ref = new domGl_pipeline_settings::domLight_ambient(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLight_ambient::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_ambient" );
+ meta->registerClass(domGl_pipeline_settings::domLight_ambient::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_ambient , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 0 1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_ambient , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("GL_MAX_LIGHTS_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_ambient , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLight_ambient));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLight_diffuse::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLight_diffuseRef ref = new domGl_pipeline_settings::domLight_diffuse(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLight_diffuse::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_diffuse" );
+ meta->registerClass(domGl_pipeline_settings::domLight_diffuse::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_diffuse , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 0 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_diffuse , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("GL_MAX_LIGHTS_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_diffuse , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLight_diffuse));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLight_specular::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLight_specularRef ref = new domGl_pipeline_settings::domLight_specular(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLight_specular::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_specular" );
+ meta->registerClass(domGl_pipeline_settings::domLight_specular::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_specular , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 0 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_specular , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("GL_MAX_LIGHTS_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_specular , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLight_specular));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLight_position::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLight_positionRef ref = new domGl_pipeline_settings::domLight_position(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLight_position::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_position" );
+ meta->registerClass(domGl_pipeline_settings::domLight_position::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_position , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 1 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_position , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("GL_MAX_LIGHTS_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_position , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLight_position));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLight_constant_attenuation::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLight_constant_attenuationRef ref = new domGl_pipeline_settings::domLight_constant_attenuation(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLight_constant_attenuation::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_constant_attenuation" );
+ meta->registerClass(domGl_pipeline_settings::domLight_constant_attenuation::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_constant_attenuation , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_constant_attenuation , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("GL_MAX_LIGHTS_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_constant_attenuation , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLight_constant_attenuation));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLight_linear_attenuation::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLight_linear_attenuationRef ref = new domGl_pipeline_settings::domLight_linear_attenuation(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLight_linear_attenuation::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_linear_attenuation" );
+ meta->registerClass(domGl_pipeline_settings::domLight_linear_attenuation::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_linear_attenuation , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_linear_attenuation , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("GL_MAX_LIGHTS_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_linear_attenuation , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLight_linear_attenuation));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLight_quadratic_attenuation::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLight_quadratic_attenuationRef ref = new domGl_pipeline_settings::domLight_quadratic_attenuation(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLight_quadratic_attenuation::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_quadratic_attenuation" );
+ meta->registerClass(domGl_pipeline_settings::domLight_quadratic_attenuation::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_quadratic_attenuation , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_quadratic_attenuation , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("GL_MAX_LIGHTS_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_quadratic_attenuation , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLight_quadratic_attenuation));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLight_spot_cutoff::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLight_spot_cutoffRef ref = new domGl_pipeline_settings::domLight_spot_cutoff(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLight_spot_cutoff::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_spot_cutoff" );
+ meta->registerClass(domGl_pipeline_settings::domLight_spot_cutoff::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_spot_cutoff , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "180");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_spot_cutoff , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("GL_MAX_LIGHTS_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_spot_cutoff , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLight_spot_cutoff));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLight_spot_direction::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLight_spot_directionRef ref = new domGl_pipeline_settings::domLight_spot_direction(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLight_spot_direction::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_spot_direction" );
+ meta->registerClass(domGl_pipeline_settings::domLight_spot_direction::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_spot_direction , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 -1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_spot_direction , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("GL_MAX_LIGHTS_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_spot_direction , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLight_spot_direction));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLight_spot_exponent::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLight_spot_exponentRef ref = new domGl_pipeline_settings::domLight_spot_exponent(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLight_spot_exponent::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_spot_exponent" );
+ meta->registerClass(domGl_pipeline_settings::domLight_spot_exponent::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_spot_exponent , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_spot_exponent , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("GL_MAX_LIGHTS_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_spot_exponent , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLight_spot_exponent));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTexture1D::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTexture1DRef ref = new domGl_pipeline_settings::domTexture1D(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTexture1D::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "texture1D" );
+ meta->registerClass(domGl_pipeline_settings::domTexture1D::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "value" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTexture1D,elemValue) );
+ mea->setElementType( domGl_sampler1D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTexture1D,elemParam) );
+ mea->setElementType( domGl_pipeline_settings::domTexture1D::domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGl_pipeline_settings::domTexture1D,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGl_pipeline_settings::domTexture1D,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGl_pipeline_settings::domTexture1D,_CMData), 1);
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("GL_MAX_TEXTURE_IMAGE_UNITS_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture1D , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTexture1D));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTexture1D::domParam::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTexture1D::domParamRef ref = new domGl_pipeline_settings::domTexture1D::domParam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTexture1D::domParam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "param" );
+ meta->registerClass(domGl_pipeline_settings::domTexture1D::domParam::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture1D::domParam , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTexture1D::domParam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTexture2D::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTexture2DRef ref = new domGl_pipeline_settings::domTexture2D(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTexture2D::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "texture2D" );
+ meta->registerClass(domGl_pipeline_settings::domTexture2D::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "value" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTexture2D,elemValue) );
+ mea->setElementType( domGl_sampler2D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTexture2D,elemParam) );
+ mea->setElementType( domGl_pipeline_settings::domTexture2D::domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGl_pipeline_settings::domTexture2D,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGl_pipeline_settings::domTexture2D,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGl_pipeline_settings::domTexture2D,_CMData), 1);
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("GL_MAX_TEXTURE_IMAGE_UNITS_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture2D , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTexture2D));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTexture2D::domParam::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTexture2D::domParamRef ref = new domGl_pipeline_settings::domTexture2D::domParam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTexture2D::domParam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "param" );
+ meta->registerClass(domGl_pipeline_settings::domTexture2D::domParam::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture2D::domParam , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTexture2D::domParam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTexture3D::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTexture3DRef ref = new domGl_pipeline_settings::domTexture3D(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTexture3D::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "texture3D" );
+ meta->registerClass(domGl_pipeline_settings::domTexture3D::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "value" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTexture3D,elemValue) );
+ mea->setElementType( domGl_sampler3D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTexture3D,elemParam) );
+ mea->setElementType( domGl_pipeline_settings::domTexture3D::domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGl_pipeline_settings::domTexture3D,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGl_pipeline_settings::domTexture3D,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGl_pipeline_settings::domTexture3D,_CMData), 1);
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("GL_MAX_TEXTURE_IMAGE_UNITS_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture3D , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTexture3D));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTexture3D::domParam::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTexture3D::domParamRef ref = new domGl_pipeline_settings::domTexture3D::domParam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTexture3D::domParam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "param" );
+ meta->registerClass(domGl_pipeline_settings::domTexture3D::domParam::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture3D::domParam , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTexture3D::domParam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTextureCUBE::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTextureCUBERef ref = new domGl_pipeline_settings::domTextureCUBE(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTextureCUBE::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "textureCUBE" );
+ meta->registerClass(domGl_pipeline_settings::domTextureCUBE::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "value" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTextureCUBE,elemValue) );
+ mea->setElementType( domGl_samplerCUBE::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTextureCUBE,elemParam) );
+ mea->setElementType( domGl_pipeline_settings::domTextureCUBE::domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGl_pipeline_settings::domTextureCUBE,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGl_pipeline_settings::domTextureCUBE,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGl_pipeline_settings::domTextureCUBE,_CMData), 1);
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("GL_MAX_TEXTURE_IMAGE_UNITS_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTextureCUBE , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTextureCUBE));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTextureCUBE::domParam::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTextureCUBE::domParamRef ref = new domGl_pipeline_settings::domTextureCUBE::domParam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTextureCUBE::domParam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "param" );
+ meta->registerClass(domGl_pipeline_settings::domTextureCUBE::domParam::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTextureCUBE::domParam , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTextureCUBE::domParam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTextureRECT::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTextureRECTRef ref = new domGl_pipeline_settings::domTextureRECT(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTextureRECT::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "textureRECT" );
+ meta->registerClass(domGl_pipeline_settings::domTextureRECT::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "value" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTextureRECT,elemValue) );
+ mea->setElementType( domGl_samplerRECT::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTextureRECT,elemParam) );
+ mea->setElementType( domGl_pipeline_settings::domTextureRECT::domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGl_pipeline_settings::domTextureRECT,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGl_pipeline_settings::domTextureRECT,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGl_pipeline_settings::domTextureRECT,_CMData), 1);
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("GL_MAX_TEXTURE_IMAGE_UNITS_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTextureRECT , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTextureRECT));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTextureRECT::domParam::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTextureRECT::domParamRef ref = new domGl_pipeline_settings::domTextureRECT::domParam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTextureRECT::domParam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "param" );
+ meta->registerClass(domGl_pipeline_settings::domTextureRECT::domParam::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTextureRECT::domParam , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTextureRECT::domParam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTextureDEPTH::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTextureDEPTHRef ref = new domGl_pipeline_settings::domTextureDEPTH(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTextureDEPTH::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "textureDEPTH" );
+ meta->registerClass(domGl_pipeline_settings::domTextureDEPTH::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "value" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTextureDEPTH,elemValue) );
+ mea->setElementType( domGl_samplerDEPTH::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTextureDEPTH,elemParam) );
+ mea->setElementType( domGl_pipeline_settings::domTextureDEPTH::domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGl_pipeline_settings::domTextureDEPTH,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGl_pipeline_settings::domTextureDEPTH,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGl_pipeline_settings::domTextureDEPTH,_CMData), 1);
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("GL_MAX_TEXTURE_IMAGE_UNITS_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTextureDEPTH , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTextureDEPTH));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTextureDEPTH::domParam::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTextureDEPTH::domParamRef ref = new domGl_pipeline_settings::domTextureDEPTH::domParam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTextureDEPTH::domParam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "param" );
+ meta->registerClass(domGl_pipeline_settings::domTextureDEPTH::domParam::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTextureDEPTH::domParam , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTextureDEPTH::domParam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTexture1D_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTexture1D_enableRef ref = new domGl_pipeline_settings::domTexture1D_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTexture1D_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "texture1D_enable" );
+ meta->registerClass(domGl_pipeline_settings::domTexture1D_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture1D_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture1D_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("GL_MAX_TEXTURE_IMAGE_UNITS_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture1D_enable , attrIndex ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTexture1D_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTexture2D_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTexture2D_enableRef ref = new domGl_pipeline_settings::domTexture2D_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTexture2D_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "texture2D_enable" );
+ meta->registerClass(domGl_pipeline_settings::domTexture2D_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture2D_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture2D_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("GL_MAX_TEXTURE_IMAGE_UNITS_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture2D_enable , attrIndex ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTexture2D_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTexture3D_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTexture3D_enableRef ref = new domGl_pipeline_settings::domTexture3D_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTexture3D_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "texture3D_enable" );
+ meta->registerClass(domGl_pipeline_settings::domTexture3D_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture3D_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture3D_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("GL_MAX_TEXTURE_IMAGE_UNITS_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture3D_enable , attrIndex ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTexture3D_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTextureCUBE_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTextureCUBE_enableRef ref = new domGl_pipeline_settings::domTextureCUBE_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTextureCUBE_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "textureCUBE_enable" );
+ meta->registerClass(domGl_pipeline_settings::domTextureCUBE_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTextureCUBE_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTextureCUBE_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("GL_MAX_TEXTURE_IMAGE_UNITS_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTextureCUBE_enable , attrIndex ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTextureCUBE_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTextureRECT_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTextureRECT_enableRef ref = new domGl_pipeline_settings::domTextureRECT_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTextureRECT_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "textureRECT_enable" );
+ meta->registerClass(domGl_pipeline_settings::domTextureRECT_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTextureRECT_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTextureRECT_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("GL_MAX_TEXTURE_IMAGE_UNITS_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTextureRECT_enable , attrIndex ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTextureRECT_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTextureDEPTH_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTextureDEPTH_enableRef ref = new domGl_pipeline_settings::domTextureDEPTH_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTextureDEPTH_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "textureDEPTH_enable" );
+ meta->registerClass(domGl_pipeline_settings::domTextureDEPTH_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTextureDEPTH_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTextureDEPTH_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("GL_MAX_TEXTURE_IMAGE_UNITS_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTextureDEPTH_enable , attrIndex ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTextureDEPTH_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTexture_env_color::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTexture_env_colorRef ref = new domGl_pipeline_settings::domTexture_env_color(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTexture_env_color::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "texture_env_color" );
+ meta->registerClass(domGl_pipeline_settings::domTexture_env_color::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture_env_color , attrValue ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture_env_color , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("GL_MAX_TEXTURE_IMAGE_UNITS_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture_env_color , attrIndex ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTexture_env_color));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTexture_env_mode::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTexture_env_modeRef ref = new domGl_pipeline_settings::domTexture_env_mode(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTexture_env_mode::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "texture_env_mode" );
+ meta->registerClass(domGl_pipeline_settings::domTexture_env_mode::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("String"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture_env_mode , attrValue ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture_env_mode , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("GL_MAX_TEXTURE_IMAGE_UNITS_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture_env_mode , attrIndex ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTexture_env_mode));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domClip_plane::create(DAE& dae)
+{
+ domGl_pipeline_settings::domClip_planeRef ref = new domGl_pipeline_settings::domClip_plane(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domClip_plane::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "clip_plane" );
+ meta->registerClass(domGl_pipeline_settings::domClip_plane::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domClip_plane , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 0 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domClip_plane , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("GL_MAX_CLIP_PLANES_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domClip_plane , attrIndex ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domClip_plane));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domClip_plane_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domClip_plane_enableRef ref = new domGl_pipeline_settings::domClip_plane_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domClip_plane_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "clip_plane_enable" );
+ meta->registerClass(domGl_pipeline_settings::domClip_plane_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domClip_plane_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domClip_plane_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("GL_MAX_CLIP_PLANES_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domClip_plane_enable , attrIndex ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domClip_plane_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domBlend_color::create(DAE& dae)
+{
+ domGl_pipeline_settings::domBlend_colorRef ref = new domGl_pipeline_settings::domBlend_color(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domBlend_color::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "blend_color" );
+ meta->registerClass(domGl_pipeline_settings::domBlend_color::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_color , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 0 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_color , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domBlend_color));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domClear_color::create(DAE& dae)
+{
+ domGl_pipeline_settings::domClear_colorRef ref = new domGl_pipeline_settings::domClear_color(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domClear_color::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "clear_color" );
+ meta->registerClass(domGl_pipeline_settings::domClear_color::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domClear_color , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 0 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domClear_color , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domClear_color));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domClear_stencil::create(DAE& dae)
+{
+ domGl_pipeline_settings::domClear_stencilRef ref = new domGl_pipeline_settings::domClear_stencil(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domClear_stencil::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "clear_stencil" );
+ meta->registerClass(domGl_pipeline_settings::domClear_stencil::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Int"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domClear_stencil , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domClear_stencil , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domClear_stencil));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domClear_depth::create(DAE& dae)
+{
+ domGl_pipeline_settings::domClear_depthRef ref = new domGl_pipeline_settings::domClear_depth(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domClear_depth::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "clear_depth" );
+ meta->registerClass(domGl_pipeline_settings::domClear_depth::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domClear_depth , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domClear_depth , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domClear_depth));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domColor_mask::create(DAE& dae)
+{
+ domGl_pipeline_settings::domColor_maskRef ref = new domGl_pipeline_settings::domColor_mask(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domColor_mask::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "color_mask" );
+ meta->registerClass(domGl_pipeline_settings::domColor_mask::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domColor_mask , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "true true true true");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domColor_mask , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domColor_mask));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domDepth_bounds::create(DAE& dae)
+{
+ domGl_pipeline_settings::domDepth_boundsRef ref = new domGl_pipeline_settings::domDepth_bounds(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domDepth_bounds::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "depth_bounds" );
+ meta->registerClass(domGl_pipeline_settings::domDepth_bounds::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDepth_bounds , attrValue ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDepth_bounds , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domDepth_bounds));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domDepth_mask::create(DAE& dae)
+{
+ domGl_pipeline_settings::domDepth_maskRef ref = new domGl_pipeline_settings::domDepth_mask(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domDepth_mask::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "depth_mask" );
+ meta->registerClass(domGl_pipeline_settings::domDepth_mask::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDepth_mask , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "true");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDepth_mask , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domDepth_mask));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domDepth_range::create(DAE& dae)
+{
+ domGl_pipeline_settings::domDepth_rangeRef ref = new domGl_pipeline_settings::domDepth_range(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domDepth_range::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "depth_range" );
+ meta->registerClass(domGl_pipeline_settings::domDepth_range::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDepth_range , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDepth_range , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domDepth_range));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domFog_density::create(DAE& dae)
+{
+ domGl_pipeline_settings::domFog_densityRef ref = new domGl_pipeline_settings::domFog_density(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domFog_density::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fog_density" );
+ meta->registerClass(domGl_pipeline_settings::domFog_density::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFog_density , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFog_density , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domFog_density));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domFog_start::create(DAE& dae)
+{
+ domGl_pipeline_settings::domFog_startRef ref = new domGl_pipeline_settings::domFog_start(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domFog_start::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fog_start" );
+ meta->registerClass(domGl_pipeline_settings::domFog_start::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFog_start , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFog_start , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domFog_start));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domFog_end::create(DAE& dae)
+{
+ domGl_pipeline_settings::domFog_endRef ref = new domGl_pipeline_settings::domFog_end(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domFog_end::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fog_end" );
+ meta->registerClass(domGl_pipeline_settings::domFog_end::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFog_end , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFog_end , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domFog_end));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domFog_color::create(DAE& dae)
+{
+ domGl_pipeline_settings::domFog_colorRef ref = new domGl_pipeline_settings::domFog_color(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domFog_color::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fog_color" );
+ meta->registerClass(domGl_pipeline_settings::domFog_color::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFog_color , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 0 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFog_color , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domFog_color));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLight_model_ambient::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLight_model_ambientRef ref = new domGl_pipeline_settings::domLight_model_ambient(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLight_model_ambient::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_model_ambient" );
+ meta->registerClass(domGl_pipeline_settings::domLight_model_ambient::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_model_ambient , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0.2 0.2 0.2 1.0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_model_ambient , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLight_model_ambient));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLighting_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLighting_enableRef ref = new domGl_pipeline_settings::domLighting_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLighting_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "lighting_enable" );
+ meta->registerClass(domGl_pipeline_settings::domLighting_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLighting_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLighting_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLighting_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLine_stipple::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLine_stippleRef ref = new domGl_pipeline_settings::domLine_stipple(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLine_stipple::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "line_stipple" );
+ meta->registerClass(domGl_pipeline_settings::domLine_stipple::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Int2"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLine_stipple , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1 65536");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLine_stipple , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLine_stipple));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLine_width::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLine_widthRef ref = new domGl_pipeline_settings::domLine_width(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLine_width::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "line_width" );
+ meta->registerClass(domGl_pipeline_settings::domLine_width::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLine_width , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLine_width , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLine_width));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domMaterial_ambient::create(DAE& dae)
+{
+ domGl_pipeline_settings::domMaterial_ambientRef ref = new domGl_pipeline_settings::domMaterial_ambient(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domMaterial_ambient::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "material_ambient" );
+ meta->registerClass(domGl_pipeline_settings::domMaterial_ambient::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domMaterial_ambient , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0.2 0.2 0.2 1.0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domMaterial_ambient , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domMaterial_ambient));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domMaterial_diffuse::create(DAE& dae)
+{
+ domGl_pipeline_settings::domMaterial_diffuseRef ref = new domGl_pipeline_settings::domMaterial_diffuse(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domMaterial_diffuse::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "material_diffuse" );
+ meta->registerClass(domGl_pipeline_settings::domMaterial_diffuse::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domMaterial_diffuse , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0.8 0.8 0.8 1.0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domMaterial_diffuse , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domMaterial_diffuse));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domMaterial_emission::create(DAE& dae)
+{
+ domGl_pipeline_settings::domMaterial_emissionRef ref = new domGl_pipeline_settings::domMaterial_emission(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domMaterial_emission::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "material_emission" );
+ meta->registerClass(domGl_pipeline_settings::domMaterial_emission::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domMaterial_emission , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 0 1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domMaterial_emission , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domMaterial_emission));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domMaterial_shininess::create(DAE& dae)
+{
+ domGl_pipeline_settings::domMaterial_shininessRef ref = new domGl_pipeline_settings::domMaterial_shininess(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domMaterial_shininess::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "material_shininess" );
+ meta->registerClass(domGl_pipeline_settings::domMaterial_shininess::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domMaterial_shininess , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domMaterial_shininess , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domMaterial_shininess));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domMaterial_specular::create(DAE& dae)
+{
+ domGl_pipeline_settings::domMaterial_specularRef ref = new domGl_pipeline_settings::domMaterial_specular(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domMaterial_specular::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "material_specular" );
+ meta->registerClass(domGl_pipeline_settings::domMaterial_specular::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domMaterial_specular , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 0 1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domMaterial_specular , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domMaterial_specular));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domModel_view_matrix::create(DAE& dae)
+{
+ domGl_pipeline_settings::domModel_view_matrixRef ref = new domGl_pipeline_settings::domModel_view_matrix(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domModel_view_matrix::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "model_view_matrix" );
+ meta->registerClass(domGl_pipeline_settings::domModel_view_matrix::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domModel_view_matrix , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domModel_view_matrix , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domModel_view_matrix));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domPoint_distance_attenuation::create(DAE& dae)
+{
+ domGl_pipeline_settings::domPoint_distance_attenuationRef ref = new domGl_pipeline_settings::domPoint_distance_attenuation(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domPoint_distance_attenuation::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "point_distance_attenuation" );
+ meta->registerClass(domGl_pipeline_settings::domPoint_distance_attenuation::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPoint_distance_attenuation , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1 0 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPoint_distance_attenuation , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domPoint_distance_attenuation));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domPoint_fade_threshold_size::create(DAE& dae)
+{
+ domGl_pipeline_settings::domPoint_fade_threshold_sizeRef ref = new domGl_pipeline_settings::domPoint_fade_threshold_size(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domPoint_fade_threshold_size::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "point_fade_threshold_size" );
+ meta->registerClass(domGl_pipeline_settings::domPoint_fade_threshold_size::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPoint_fade_threshold_size , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPoint_fade_threshold_size , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domPoint_fade_threshold_size));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domPoint_size::create(DAE& dae)
+{
+ domGl_pipeline_settings::domPoint_sizeRef ref = new domGl_pipeline_settings::domPoint_size(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domPoint_size::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "point_size" );
+ meta->registerClass(domGl_pipeline_settings::domPoint_size::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPoint_size , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPoint_size , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domPoint_size));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domPoint_size_min::create(DAE& dae)
+{
+ domGl_pipeline_settings::domPoint_size_minRef ref = new domGl_pipeline_settings::domPoint_size_min(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domPoint_size_min::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "point_size_min" );
+ meta->registerClass(domGl_pipeline_settings::domPoint_size_min::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPoint_size_min , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPoint_size_min , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domPoint_size_min));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domPoint_size_max::create(DAE& dae)
+{
+ domGl_pipeline_settings::domPoint_size_maxRef ref = new domGl_pipeline_settings::domPoint_size_max(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domPoint_size_max::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "point_size_max" );
+ meta->registerClass(domGl_pipeline_settings::domPoint_size_max::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPoint_size_max , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPoint_size_max , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domPoint_size_max));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domPolygon_offset::create(DAE& dae)
+{
+ domGl_pipeline_settings::domPolygon_offsetRef ref = new domGl_pipeline_settings::domPolygon_offset(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domPolygon_offset::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "polygon_offset" );
+ meta->registerClass(domGl_pipeline_settings::domPolygon_offset::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_offset , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_offset , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domPolygon_offset));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domProjection_matrix::create(DAE& dae)
+{
+ domGl_pipeline_settings::domProjection_matrixRef ref = new domGl_pipeline_settings::domProjection_matrix(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domProjection_matrix::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "projection_matrix" );
+ meta->registerClass(domGl_pipeline_settings::domProjection_matrix::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domProjection_matrix , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domProjection_matrix , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domProjection_matrix));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domScissor::create(DAE& dae)
+{
+ domGl_pipeline_settings::domScissorRef ref = new domGl_pipeline_settings::domScissor(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domScissor::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "scissor" );
+ meta->registerClass(domGl_pipeline_settings::domScissor::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Int4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domScissor , attrValue ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domScissor , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domScissor));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_mask::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_maskRef ref = new domGl_pipeline_settings::domStencil_mask(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_mask::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_mask" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_mask::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Int"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_mask , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "4294967295");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_mask , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_mask));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domAlpha_test_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domAlpha_test_enableRef ref = new domGl_pipeline_settings::domAlpha_test_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domAlpha_test_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "alpha_test_enable" );
+ meta->registerClass(domGl_pipeline_settings::domAlpha_test_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domAlpha_test_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domAlpha_test_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domAlpha_test_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domAuto_normal_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domAuto_normal_enableRef ref = new domGl_pipeline_settings::domAuto_normal_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domAuto_normal_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "auto_normal_enable" );
+ meta->registerClass(domGl_pipeline_settings::domAuto_normal_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domAuto_normal_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domAuto_normal_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domAuto_normal_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domBlend_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domBlend_enableRef ref = new domGl_pipeline_settings::domBlend_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domBlend_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "blend_enable" );
+ meta->registerClass(domGl_pipeline_settings::domBlend_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domBlend_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domColor_logic_op_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domColor_logic_op_enableRef ref = new domGl_pipeline_settings::domColor_logic_op_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domColor_logic_op_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "color_logic_op_enable" );
+ meta->registerClass(domGl_pipeline_settings::domColor_logic_op_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domColor_logic_op_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domColor_logic_op_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domColor_logic_op_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domColor_material_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domColor_material_enableRef ref = new domGl_pipeline_settings::domColor_material_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domColor_material_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "color_material_enable" );
+ meta->registerClass(domGl_pipeline_settings::domColor_material_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domColor_material_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "true");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domColor_material_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domColor_material_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domCull_face_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domCull_face_enableRef ref = new domGl_pipeline_settings::domCull_face_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domCull_face_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cull_face_enable" );
+ meta->registerClass(domGl_pipeline_settings::domCull_face_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domCull_face_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domCull_face_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domCull_face_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domDepth_bounds_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domDepth_bounds_enableRef ref = new domGl_pipeline_settings::domDepth_bounds_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domDepth_bounds_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "depth_bounds_enable" );
+ meta->registerClass(domGl_pipeline_settings::domDepth_bounds_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDepth_bounds_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDepth_bounds_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domDepth_bounds_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domDepth_clamp_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domDepth_clamp_enableRef ref = new domGl_pipeline_settings::domDepth_clamp_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domDepth_clamp_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "depth_clamp_enable" );
+ meta->registerClass(domGl_pipeline_settings::domDepth_clamp_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDepth_clamp_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDepth_clamp_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domDepth_clamp_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domDepth_test_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domDepth_test_enableRef ref = new domGl_pipeline_settings::domDepth_test_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domDepth_test_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "depth_test_enable" );
+ meta->registerClass(domGl_pipeline_settings::domDepth_test_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDepth_test_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDepth_test_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domDepth_test_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domDither_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domDither_enableRef ref = new domGl_pipeline_settings::domDither_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domDither_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "dither_enable" );
+ meta->registerClass(domGl_pipeline_settings::domDither_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDither_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "true");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDither_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domDither_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domFog_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domFog_enableRef ref = new domGl_pipeline_settings::domFog_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domFog_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fog_enable" );
+ meta->registerClass(domGl_pipeline_settings::domFog_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFog_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFog_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domFog_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLight_model_local_viewer_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLight_model_local_viewer_enableRef ref = new domGl_pipeline_settings::domLight_model_local_viewer_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLight_model_local_viewer_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_model_local_viewer_enable" );
+ meta->registerClass(domGl_pipeline_settings::domLight_model_local_viewer_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_model_local_viewer_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_model_local_viewer_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLight_model_local_viewer_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLight_model_two_side_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLight_model_two_side_enableRef ref = new domGl_pipeline_settings::domLight_model_two_side_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLight_model_two_side_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_model_two_side_enable" );
+ meta->registerClass(domGl_pipeline_settings::domLight_model_two_side_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_model_two_side_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_model_two_side_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLight_model_two_side_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLine_smooth_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLine_smooth_enableRef ref = new domGl_pipeline_settings::domLine_smooth_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLine_smooth_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "line_smooth_enable" );
+ meta->registerClass(domGl_pipeline_settings::domLine_smooth_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLine_smooth_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLine_smooth_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLine_smooth_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLine_stipple_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLine_stipple_enableRef ref = new domGl_pipeline_settings::domLine_stipple_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLine_stipple_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "line_stipple_enable" );
+ meta->registerClass(domGl_pipeline_settings::domLine_stipple_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLine_stipple_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLine_stipple_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLine_stipple_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLogic_op_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLogic_op_enableRef ref = new domGl_pipeline_settings::domLogic_op_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLogic_op_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "logic_op_enable" );
+ meta->registerClass(domGl_pipeline_settings::domLogic_op_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLogic_op_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLogic_op_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLogic_op_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domMultisample_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domMultisample_enableRef ref = new domGl_pipeline_settings::domMultisample_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domMultisample_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "multisample_enable" );
+ meta->registerClass(domGl_pipeline_settings::domMultisample_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domMultisample_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domMultisample_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domMultisample_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domNormalize_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domNormalize_enableRef ref = new domGl_pipeline_settings::domNormalize_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domNormalize_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "normalize_enable" );
+ meta->registerClass(domGl_pipeline_settings::domNormalize_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domNormalize_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domNormalize_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domNormalize_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domPoint_smooth_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domPoint_smooth_enableRef ref = new domGl_pipeline_settings::domPoint_smooth_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domPoint_smooth_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "point_smooth_enable" );
+ meta->registerClass(domGl_pipeline_settings::domPoint_smooth_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPoint_smooth_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPoint_smooth_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domPoint_smooth_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domPolygon_offset_fill_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domPolygon_offset_fill_enableRef ref = new domGl_pipeline_settings::domPolygon_offset_fill_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domPolygon_offset_fill_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "polygon_offset_fill_enable" );
+ meta->registerClass(domGl_pipeline_settings::domPolygon_offset_fill_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_offset_fill_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_offset_fill_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domPolygon_offset_fill_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domPolygon_offset_line_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domPolygon_offset_line_enableRef ref = new domGl_pipeline_settings::domPolygon_offset_line_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domPolygon_offset_line_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "polygon_offset_line_enable" );
+ meta->registerClass(domGl_pipeline_settings::domPolygon_offset_line_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_offset_line_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_offset_line_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domPolygon_offset_line_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domPolygon_offset_point_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domPolygon_offset_point_enableRef ref = new domGl_pipeline_settings::domPolygon_offset_point_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domPolygon_offset_point_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "polygon_offset_point_enable" );
+ meta->registerClass(domGl_pipeline_settings::domPolygon_offset_point_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_offset_point_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_offset_point_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domPolygon_offset_point_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domPolygon_smooth_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domPolygon_smooth_enableRef ref = new domGl_pipeline_settings::domPolygon_smooth_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domPolygon_smooth_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "polygon_smooth_enable" );
+ meta->registerClass(domGl_pipeline_settings::domPolygon_smooth_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_smooth_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_smooth_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domPolygon_smooth_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domPolygon_stipple_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domPolygon_stipple_enableRef ref = new domGl_pipeline_settings::domPolygon_stipple_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domPolygon_stipple_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "polygon_stipple_enable" );
+ meta->registerClass(domGl_pipeline_settings::domPolygon_stipple_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_stipple_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_stipple_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domPolygon_stipple_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domRescale_normal_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domRescale_normal_enableRef ref = new domGl_pipeline_settings::domRescale_normal_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domRescale_normal_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "rescale_normal_enable" );
+ meta->registerClass(domGl_pipeline_settings::domRescale_normal_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domRescale_normal_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domRescale_normal_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domRescale_normal_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domSample_alpha_to_coverage_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domSample_alpha_to_coverage_enableRef ref = new domGl_pipeline_settings::domSample_alpha_to_coverage_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domSample_alpha_to_coverage_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "sample_alpha_to_coverage_enable" );
+ meta->registerClass(domGl_pipeline_settings::domSample_alpha_to_coverage_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domSample_alpha_to_coverage_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domSample_alpha_to_coverage_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domSample_alpha_to_coverage_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domSample_alpha_to_one_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domSample_alpha_to_one_enableRef ref = new domGl_pipeline_settings::domSample_alpha_to_one_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domSample_alpha_to_one_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "sample_alpha_to_one_enable" );
+ meta->registerClass(domGl_pipeline_settings::domSample_alpha_to_one_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domSample_alpha_to_one_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domSample_alpha_to_one_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domSample_alpha_to_one_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domSample_coverage_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domSample_coverage_enableRef ref = new domGl_pipeline_settings::domSample_coverage_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domSample_coverage_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "sample_coverage_enable" );
+ meta->registerClass(domGl_pipeline_settings::domSample_coverage_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domSample_coverage_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domSample_coverage_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domSample_coverage_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domScissor_test_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domScissor_test_enableRef ref = new domGl_pipeline_settings::domScissor_test_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domScissor_test_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "scissor_test_enable" );
+ meta->registerClass(domGl_pipeline_settings::domScissor_test_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domScissor_test_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domScissor_test_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domScissor_test_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_test_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_test_enableRef ref = new domGl_pipeline_settings::domStencil_test_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_test_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_test_enable" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_test_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_test_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_test_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_test_enable));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domGl_sampler1D.cpp b/1.4.0/dom/src/1.4/dom/domGl_sampler1D.cpp
new file mode 100644
index 0000000..51c8bac
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domGl_sampler1D.cpp
@@ -0,0 +1,113 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domGl_sampler1D.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domGl_sampler1D::create(DAE& dae)
+{
+ domGl_sampler1DRef ref = new domGl_sampler1D(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_sampler1D::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gl_sampler1D" );
+ meta->registerClass(domGl_sampler1D::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "source" );
+ mea->setOffset( daeOffsetOf(domGl_sampler1D,elemSource) );
+ mea->setElementType( domSource::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "wrap_s" );
+ mea->setOffset( daeOffsetOf(domGl_sampler1D,elemWrap_s) );
+ mea->setElementType( domWrap_s::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "minfilter" );
+ mea->setOffset( daeOffsetOf(domGl_sampler1D,elemMinfilter) );
+ mea->setElementType( domMinfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "magfilter" );
+ mea->setOffset( daeOffsetOf(domGl_sampler1D,elemMagfilter) );
+ mea->setElementType( domMagfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "mipfilter" );
+ mea->setOffset( daeOffsetOf(domGl_sampler1D,elemMipfilter) );
+ mea->setElementType( domMipfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "border_color" );
+ mea->setOffset( daeOffsetOf(domGl_sampler1D,elemBorder_color) );
+ mea->setElementType( domBorder_color::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "mipmap_maxlevel" );
+ mea->setOffset( daeOffsetOf(domGl_sampler1D,elemMipmap_maxlevel) );
+ mea->setElementType( domMipmap_maxlevel::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 7, 0, 1 );
+ mea->setName( "mipmap_bias" );
+ mea->setOffset( daeOffsetOf(domGl_sampler1D,elemMipmap_bias) );
+ mea->setElementType( domMipmap_bias::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 8, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domGl_sampler1D,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 8 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 8 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGl_sampler1D));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domGl_sampler2D.cpp b/1.4.0/dom/src/1.4/dom/domGl_sampler2D.cpp
new file mode 100644
index 0000000..78568b1
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domGl_sampler2D.cpp
@@ -0,0 +1,119 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domGl_sampler2D.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domGl_sampler2D::create(DAE& dae)
+{
+ domGl_sampler2DRef ref = new domGl_sampler2D(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_sampler2D::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gl_sampler2D" );
+ meta->registerClass(domGl_sampler2D::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "source" );
+ mea->setOffset( daeOffsetOf(domGl_sampler2D,elemSource) );
+ mea->setElementType( domSource::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "wrap_s" );
+ mea->setOffset( daeOffsetOf(domGl_sampler2D,elemWrap_s) );
+ mea->setElementType( domWrap_s::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "wrap_t" );
+ mea->setOffset( daeOffsetOf(domGl_sampler2D,elemWrap_t) );
+ mea->setElementType( domWrap_t::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "minfilter" );
+ mea->setOffset( daeOffsetOf(domGl_sampler2D,elemMinfilter) );
+ mea->setElementType( domMinfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "magfilter" );
+ mea->setOffset( daeOffsetOf(domGl_sampler2D,elemMagfilter) );
+ mea->setElementType( domMagfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "mipfilter" );
+ mea->setOffset( daeOffsetOf(domGl_sampler2D,elemMipfilter) );
+ mea->setElementType( domMipfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "border_color" );
+ mea->setOffset( daeOffsetOf(domGl_sampler2D,elemBorder_color) );
+ mea->setElementType( domBorder_color::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 7, 0, 1 );
+ mea->setName( "mipmap_maxlevel" );
+ mea->setOffset( daeOffsetOf(domGl_sampler2D,elemMipmap_maxlevel) );
+ mea->setElementType( domMipmap_maxlevel::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 8, 0, 1 );
+ mea->setName( "mipmap_bias" );
+ mea->setOffset( daeOffsetOf(domGl_sampler2D,elemMipmap_bias) );
+ mea->setElementType( domMipmap_bias::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 9, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domGl_sampler2D,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 9 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 9 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGl_sampler2D));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domGl_sampler3D.cpp b/1.4.0/dom/src/1.4/dom/domGl_sampler3D.cpp
new file mode 100644
index 0000000..e72b43e
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domGl_sampler3D.cpp
@@ -0,0 +1,125 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domGl_sampler3D.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domGl_sampler3D::create(DAE& dae)
+{
+ domGl_sampler3DRef ref = new domGl_sampler3D(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_sampler3D::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gl_sampler3D" );
+ meta->registerClass(domGl_sampler3D::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "source" );
+ mea->setOffset( daeOffsetOf(domGl_sampler3D,elemSource) );
+ mea->setElementType( domSource::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "wrap_s" );
+ mea->setOffset( daeOffsetOf(domGl_sampler3D,elemWrap_s) );
+ mea->setElementType( domWrap_s::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "wrap_t" );
+ mea->setOffset( daeOffsetOf(domGl_sampler3D,elemWrap_t) );
+ mea->setElementType( domWrap_t::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "wrap_p" );
+ mea->setOffset( daeOffsetOf(domGl_sampler3D,elemWrap_p) );
+ mea->setElementType( domWrap_p::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "minfilter" );
+ mea->setOffset( daeOffsetOf(domGl_sampler3D,elemMinfilter) );
+ mea->setElementType( domMinfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "magfilter" );
+ mea->setOffset( daeOffsetOf(domGl_sampler3D,elemMagfilter) );
+ mea->setElementType( domMagfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "mipfilter" );
+ mea->setOffset( daeOffsetOf(domGl_sampler3D,elemMipfilter) );
+ mea->setElementType( domMipfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 7, 0, 1 );
+ mea->setName( "border_color" );
+ mea->setOffset( daeOffsetOf(domGl_sampler3D,elemBorder_color) );
+ mea->setElementType( domBorder_color::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 8, 0, 1 );
+ mea->setName( "mipmap_maxlevel" );
+ mea->setOffset( daeOffsetOf(domGl_sampler3D,elemMipmap_maxlevel) );
+ mea->setElementType( domMipmap_maxlevel::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 9, 0, 1 );
+ mea->setName( "mipmap_bias" );
+ mea->setOffset( daeOffsetOf(domGl_sampler3D,elemMipmap_bias) );
+ mea->setElementType( domMipmap_bias::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 10, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domGl_sampler3D,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 10 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 10 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGl_sampler3D));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domGl_samplerCUBE.cpp b/1.4.0/dom/src/1.4/dom/domGl_samplerCUBE.cpp
new file mode 100644
index 0000000..dbd8cbc
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domGl_samplerCUBE.cpp
@@ -0,0 +1,125 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domGl_samplerCUBE.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domGl_samplerCUBE::create(DAE& dae)
+{
+ domGl_samplerCUBERef ref = new domGl_samplerCUBE(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_samplerCUBE::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gl_samplerCUBE" );
+ meta->registerClass(domGl_samplerCUBE::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "source" );
+ mea->setOffset( daeOffsetOf(domGl_samplerCUBE,elemSource) );
+ mea->setElementType( domSource::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "wrap_s" );
+ mea->setOffset( daeOffsetOf(domGl_samplerCUBE,elemWrap_s) );
+ mea->setElementType( domWrap_s::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "wrap_t" );
+ mea->setOffset( daeOffsetOf(domGl_samplerCUBE,elemWrap_t) );
+ mea->setElementType( domWrap_t::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "wrap_p" );
+ mea->setOffset( daeOffsetOf(domGl_samplerCUBE,elemWrap_p) );
+ mea->setElementType( domWrap_p::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "minfilter" );
+ mea->setOffset( daeOffsetOf(domGl_samplerCUBE,elemMinfilter) );
+ mea->setElementType( domMinfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "magfilter" );
+ mea->setOffset( daeOffsetOf(domGl_samplerCUBE,elemMagfilter) );
+ mea->setElementType( domMagfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "mipfilter" );
+ mea->setOffset( daeOffsetOf(domGl_samplerCUBE,elemMipfilter) );
+ mea->setElementType( domMipfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 7, 0, 1 );
+ mea->setName( "border_color" );
+ mea->setOffset( daeOffsetOf(domGl_samplerCUBE,elemBorder_color) );
+ mea->setElementType( domBorder_color::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 8, 0, 1 );
+ mea->setName( "mipmap_maxlevel" );
+ mea->setOffset( daeOffsetOf(domGl_samplerCUBE,elemMipmap_maxlevel) );
+ mea->setElementType( domMipmap_maxlevel::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 9, 0, 1 );
+ mea->setName( "mipmap_bias" );
+ mea->setOffset( daeOffsetOf(domGl_samplerCUBE,elemMipmap_bias) );
+ mea->setElementType( domMipmap_bias::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 10, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domGl_samplerCUBE,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 10 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 10 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGl_samplerCUBE));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domGl_samplerDEPTH.cpp b/1.4.0/dom/src/1.4/dom/domGl_samplerDEPTH.cpp
new file mode 100644
index 0000000..de61c0e
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domGl_samplerDEPTH.cpp
@@ -0,0 +1,95 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domGl_samplerDEPTH.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domGl_samplerDEPTH::create(DAE& dae)
+{
+ domGl_samplerDEPTHRef ref = new domGl_samplerDEPTH(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_samplerDEPTH::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gl_samplerDEPTH" );
+ meta->registerClass(domGl_samplerDEPTH::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "source" );
+ mea->setOffset( daeOffsetOf(domGl_samplerDEPTH,elemSource) );
+ mea->setElementType( domSource::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "wrap_s" );
+ mea->setOffset( daeOffsetOf(domGl_samplerDEPTH,elemWrap_s) );
+ mea->setElementType( domWrap_s::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "wrap_t" );
+ mea->setOffset( daeOffsetOf(domGl_samplerDEPTH,elemWrap_t) );
+ mea->setElementType( domWrap_t::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "minfilter" );
+ mea->setOffset( daeOffsetOf(domGl_samplerDEPTH,elemMinfilter) );
+ mea->setElementType( domMinfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "magfilter" );
+ mea->setOffset( daeOffsetOf(domGl_samplerDEPTH,elemMagfilter) );
+ mea->setElementType( domMagfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 5, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domGl_samplerDEPTH,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 5 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 5 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGl_samplerDEPTH));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domGl_samplerRECT.cpp b/1.4.0/dom/src/1.4/dom/domGl_samplerRECT.cpp
new file mode 100644
index 0000000..f898fa8
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domGl_samplerRECT.cpp
@@ -0,0 +1,119 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domGl_samplerRECT.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domGl_samplerRECT::create(DAE& dae)
+{
+ domGl_samplerRECTRef ref = new domGl_samplerRECT(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_samplerRECT::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gl_samplerRECT" );
+ meta->registerClass(domGl_samplerRECT::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "source" );
+ mea->setOffset( daeOffsetOf(domGl_samplerRECT,elemSource) );
+ mea->setElementType( domSource::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "wrap_s" );
+ mea->setOffset( daeOffsetOf(domGl_samplerRECT,elemWrap_s) );
+ mea->setElementType( domWrap_s::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "wrap_t" );
+ mea->setOffset( daeOffsetOf(domGl_samplerRECT,elemWrap_t) );
+ mea->setElementType( domWrap_t::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "minfilter" );
+ mea->setOffset( daeOffsetOf(domGl_samplerRECT,elemMinfilter) );
+ mea->setElementType( domMinfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "magfilter" );
+ mea->setOffset( daeOffsetOf(domGl_samplerRECT,elemMagfilter) );
+ mea->setElementType( domMagfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "mipfilter" );
+ mea->setOffset( daeOffsetOf(domGl_samplerRECT,elemMipfilter) );
+ mea->setElementType( domMipfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "border_color" );
+ mea->setOffset( daeOffsetOf(domGl_samplerRECT,elemBorder_color) );
+ mea->setElementType( domBorder_color::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 7, 0, 1 );
+ mea->setName( "mipmap_maxlevel" );
+ mea->setOffset( daeOffsetOf(domGl_samplerRECT,elemMipmap_maxlevel) );
+ mea->setElementType( domMipmap_maxlevel::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 8, 0, 1 );
+ mea->setName( "mipmap_bias" );
+ mea->setOffset( daeOffsetOf(domGl_samplerRECT,elemMipmap_bias) );
+ mea->setElementType( domMipmap_bias::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 9, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domGl_samplerRECT,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 9 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 9 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGl_samplerRECT));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domGles_basic_type_common.cpp b/1.4.0/dom/src/1.4/dom/domGles_basic_type_common.cpp
new file mode 100644
index 0000000..31b32c4
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domGles_basic_type_common.cpp
@@ -0,0 +1,1300 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domGles_basic_type_common.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domGles_basic_type_common::create(DAE& dae)
+{
+ domGles_basic_type_commonRef ref = new domGles_basic_type_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_basic_type_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles_basic_type_common" );
+ meta->registerClass(domGles_basic_type_common::create);
+
+ meta->setIsTransparent( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool" );
+ mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemBool) );
+ mea->setElementType( domGles_basic_type_common::domBool::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool2" );
+ mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemBool2) );
+ mea->setElementType( domGles_basic_type_common::domBool2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool3" );
+ mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemBool3) );
+ mea->setElementType( domGles_basic_type_common::domBool3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool4" );
+ mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemBool4) );
+ mea->setElementType( domGles_basic_type_common::domBool4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int" );
+ mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemInt) );
+ mea->setElementType( domGles_basic_type_common::domInt::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int2" );
+ mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemInt2) );
+ mea->setElementType( domGles_basic_type_common::domInt2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int3" );
+ mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemInt3) );
+ mea->setElementType( domGles_basic_type_common::domInt3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int4" );
+ mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemInt4) );
+ mea->setElementType( domGles_basic_type_common::domInt4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float" );
+ mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemFloat) );
+ mea->setElementType( domGles_basic_type_common::domFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2" );
+ mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemFloat2) );
+ mea->setElementType( domGles_basic_type_common::domFloat2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3" );
+ mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemFloat3) );
+ mea->setElementType( domGles_basic_type_common::domFloat3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4" );
+ mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemFloat4) );
+ mea->setElementType( domGles_basic_type_common::domFloat4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float1x1" );
+ mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemFloat1x1) );
+ mea->setElementType( domGles_basic_type_common::domFloat1x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float1x2" );
+ mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemFloat1x2) );
+ mea->setElementType( domGles_basic_type_common::domFloat1x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float1x3" );
+ mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemFloat1x3) );
+ mea->setElementType( domGles_basic_type_common::domFloat1x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float1x4" );
+ mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemFloat1x4) );
+ mea->setElementType( domGles_basic_type_common::domFloat1x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x1" );
+ mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemFloat2x1) );
+ mea->setElementType( domGles_basic_type_common::domFloat2x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x2" );
+ mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemFloat2x2) );
+ mea->setElementType( domGles_basic_type_common::domFloat2x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x3" );
+ mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemFloat2x3) );
+ mea->setElementType( domGles_basic_type_common::domFloat2x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x4" );
+ mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemFloat2x4) );
+ mea->setElementType( domGles_basic_type_common::domFloat2x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x1" );
+ mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemFloat3x1) );
+ mea->setElementType( domGles_basic_type_common::domFloat3x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x2" );
+ mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemFloat3x2) );
+ mea->setElementType( domGles_basic_type_common::domFloat3x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x3" );
+ mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemFloat3x3) );
+ mea->setElementType( domGles_basic_type_common::domFloat3x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x4" );
+ mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemFloat3x4) );
+ mea->setElementType( domGles_basic_type_common::domFloat3x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x1" );
+ mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemFloat4x1) );
+ mea->setElementType( domGles_basic_type_common::domFloat4x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x2" );
+ mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemFloat4x2) );
+ mea->setElementType( domGles_basic_type_common::domFloat4x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x3" );
+ mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemFloat4x3) );
+ mea->setElementType( domGles_basic_type_common::domFloat4x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x4" );
+ mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemFloat4x4) );
+ mea->setElementType( domGles_basic_type_common::domFloat4x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "surface" );
+ mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemSurface) );
+ mea->setElementType( domFx_surface_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "texture_pipeline" );
+ mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemTexture_pipeline) );
+ mea->setElementType( domGles_texture_pipeline::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sampler_state" );
+ mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemSampler_state) );
+ mea->setElementType( domGles_sampler_state::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "texture_unit" );
+ mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemTexture_unit) );
+ mea->setElementType( domGles_texture_unit::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "enum" );
+ mea->setOffset( daeOffsetOf(domGles_basic_type_common,elemEnum) );
+ mea->setElementType( domGles_basic_type_common::domEnum::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGles_basic_type_common,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGles_basic_type_common,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGles_basic_type_common,_CMData), 1);
+ meta->setElementSize(sizeof(domGles_basic_type_common));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_basic_type_common::domBool::create(DAE& dae)
+{
+ domGles_basic_type_common::domBoolRef ref = new domGles_basic_type_common::domBool(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_basic_type_common::domBool::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool" );
+ meta->registerClass(domGles_basic_type_common::domBool::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGles_basic_type_common::domBool , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_basic_type_common::domBool));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_basic_type_common::domBool2::create(DAE& dae)
+{
+ domGles_basic_type_common::domBool2Ref ref = new domGles_basic_type_common::domBool2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_basic_type_common::domBool2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool2" );
+ meta->registerClass(domGles_basic_type_common::domBool2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool2"));
+ ma->setOffset( daeOffsetOf( domGles_basic_type_common::domBool2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_basic_type_common::domBool2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_basic_type_common::domBool3::create(DAE& dae)
+{
+ domGles_basic_type_common::domBool3Ref ref = new domGles_basic_type_common::domBool3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_basic_type_common::domBool3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool3" );
+ meta->registerClass(domGles_basic_type_common::domBool3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool3"));
+ ma->setOffset( daeOffsetOf( domGles_basic_type_common::domBool3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_basic_type_common::domBool3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_basic_type_common::domBool4::create(DAE& dae)
+{
+ domGles_basic_type_common::domBool4Ref ref = new domGles_basic_type_common::domBool4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_basic_type_common::domBool4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool4" );
+ meta->registerClass(domGles_basic_type_common::domBool4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool4"));
+ ma->setOffset( daeOffsetOf( domGles_basic_type_common::domBool4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_basic_type_common::domBool4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_basic_type_common::domInt::create(DAE& dae)
+{
+ domGles_basic_type_common::domIntRef ref = new domGles_basic_type_common::domInt(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_basic_type_common::domInt::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int" );
+ meta->registerClass(domGles_basic_type_common::domInt::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int"));
+ ma->setOffset( daeOffsetOf( domGles_basic_type_common::domInt , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_basic_type_common::domInt));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_basic_type_common::domInt2::create(DAE& dae)
+{
+ domGles_basic_type_common::domInt2Ref ref = new domGles_basic_type_common::domInt2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_basic_type_common::domInt2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int2" );
+ meta->registerClass(domGles_basic_type_common::domInt2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int2"));
+ ma->setOffset( daeOffsetOf( domGles_basic_type_common::domInt2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_basic_type_common::domInt2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_basic_type_common::domInt3::create(DAE& dae)
+{
+ domGles_basic_type_common::domInt3Ref ref = new domGles_basic_type_common::domInt3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_basic_type_common::domInt3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int3" );
+ meta->registerClass(domGles_basic_type_common::domInt3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int3"));
+ ma->setOffset( daeOffsetOf( domGles_basic_type_common::domInt3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_basic_type_common::domInt3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_basic_type_common::domInt4::create(DAE& dae)
+{
+ domGles_basic_type_common::domInt4Ref ref = new domGles_basic_type_common::domInt4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_basic_type_common::domInt4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int4" );
+ meta->registerClass(domGles_basic_type_common::domInt4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int4"));
+ ma->setOffset( daeOffsetOf( domGles_basic_type_common::domInt4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_basic_type_common::domInt4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_basic_type_common::domFloat::create(DAE& dae)
+{
+ domGles_basic_type_common::domFloatRef ref = new domGles_basic_type_common::domFloat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_basic_type_common::domFloat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float" );
+ meta->registerClass(domGles_basic_type_common::domFloat::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_basic_type_common::domFloat , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_basic_type_common::domFloat));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_basic_type_common::domFloat2::create(DAE& dae)
+{
+ domGles_basic_type_common::domFloat2Ref ref = new domGles_basic_type_common::domFloat2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_basic_type_common::domFloat2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2" );
+ meta->registerClass(domGles_basic_type_common::domFloat2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domGles_basic_type_common::domFloat2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_basic_type_common::domFloat2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_basic_type_common::domFloat3::create(DAE& dae)
+{
+ domGles_basic_type_common::domFloat3Ref ref = new domGles_basic_type_common::domFloat3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_basic_type_common::domFloat3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3" );
+ meta->registerClass(domGles_basic_type_common::domFloat3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domGles_basic_type_common::domFloat3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_basic_type_common::domFloat3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_basic_type_common::domFloat4::create(DAE& dae)
+{
+ domGles_basic_type_common::domFloat4Ref ref = new domGles_basic_type_common::domFloat4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_basic_type_common::domFloat4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4" );
+ meta->registerClass(domGles_basic_type_common::domFloat4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles_basic_type_common::domFloat4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_basic_type_common::domFloat4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_basic_type_common::domFloat1x1::create(DAE& dae)
+{
+ domGles_basic_type_common::domFloat1x1Ref ref = new domGles_basic_type_common::domFloat1x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_basic_type_common::domFloat1x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float1x1" );
+ meta->registerClass(domGles_basic_type_common::domFloat1x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_basic_type_common::domFloat1x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_basic_type_common::domFloat1x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_basic_type_common::domFloat1x2::create(DAE& dae)
+{
+ domGles_basic_type_common::domFloat1x2Ref ref = new domGles_basic_type_common::domFloat1x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_basic_type_common::domFloat1x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float1x2" );
+ meta->registerClass(domGles_basic_type_common::domFloat1x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domGles_basic_type_common::domFloat1x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_basic_type_common::domFloat1x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_basic_type_common::domFloat1x3::create(DAE& dae)
+{
+ domGles_basic_type_common::domFloat1x3Ref ref = new domGles_basic_type_common::domFloat1x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_basic_type_common::domFloat1x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float1x3" );
+ meta->registerClass(domGles_basic_type_common::domFloat1x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domGles_basic_type_common::domFloat1x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_basic_type_common::domFloat1x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_basic_type_common::domFloat1x4::create(DAE& dae)
+{
+ domGles_basic_type_common::domFloat1x4Ref ref = new domGles_basic_type_common::domFloat1x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_basic_type_common::domFloat1x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float1x4" );
+ meta->registerClass(domGles_basic_type_common::domFloat1x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles_basic_type_common::domFloat1x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_basic_type_common::domFloat1x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_basic_type_common::domFloat2x1::create(DAE& dae)
+{
+ domGles_basic_type_common::domFloat2x1Ref ref = new domGles_basic_type_common::domFloat2x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_basic_type_common::domFloat2x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x1" );
+ meta->registerClass(domGles_basic_type_common::domFloat2x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domGles_basic_type_common::domFloat2x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_basic_type_common::domFloat2x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_basic_type_common::domFloat2x2::create(DAE& dae)
+{
+ domGles_basic_type_common::domFloat2x2Ref ref = new domGles_basic_type_common::domFloat2x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_basic_type_common::domFloat2x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x2" );
+ meta->registerClass(domGles_basic_type_common::domFloat2x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x2"));
+ ma->setOffset( daeOffsetOf( domGles_basic_type_common::domFloat2x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_basic_type_common::domFloat2x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_basic_type_common::domFloat2x3::create(DAE& dae)
+{
+ domGles_basic_type_common::domFloat2x3Ref ref = new domGles_basic_type_common::domFloat2x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_basic_type_common::domFloat2x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x3" );
+ meta->registerClass(domGles_basic_type_common::domFloat2x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x3"));
+ ma->setOffset( daeOffsetOf( domGles_basic_type_common::domFloat2x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_basic_type_common::domFloat2x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_basic_type_common::domFloat2x4::create(DAE& dae)
+{
+ domGles_basic_type_common::domFloat2x4Ref ref = new domGles_basic_type_common::domFloat2x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_basic_type_common::domFloat2x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x4" );
+ meta->registerClass(domGles_basic_type_common::domFloat2x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x4"));
+ ma->setOffset( daeOffsetOf( domGles_basic_type_common::domFloat2x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_basic_type_common::domFloat2x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_basic_type_common::domFloat3x1::create(DAE& dae)
+{
+ domGles_basic_type_common::domFloat3x1Ref ref = new domGles_basic_type_common::domFloat3x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_basic_type_common::domFloat3x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x1" );
+ meta->registerClass(domGles_basic_type_common::domFloat3x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domGles_basic_type_common::domFloat3x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_basic_type_common::domFloat3x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_basic_type_common::domFloat3x2::create(DAE& dae)
+{
+ domGles_basic_type_common::domFloat3x2Ref ref = new domGles_basic_type_common::domFloat3x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_basic_type_common::domFloat3x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x2" );
+ meta->registerClass(domGles_basic_type_common::domFloat3x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x2"));
+ ma->setOffset( daeOffsetOf( domGles_basic_type_common::domFloat3x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_basic_type_common::domFloat3x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_basic_type_common::domFloat3x3::create(DAE& dae)
+{
+ domGles_basic_type_common::domFloat3x3Ref ref = new domGles_basic_type_common::domFloat3x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_basic_type_common::domFloat3x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x3" );
+ meta->registerClass(domGles_basic_type_common::domFloat3x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x3"));
+ ma->setOffset( daeOffsetOf( domGles_basic_type_common::domFloat3x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_basic_type_common::domFloat3x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_basic_type_common::domFloat3x4::create(DAE& dae)
+{
+ domGles_basic_type_common::domFloat3x4Ref ref = new domGles_basic_type_common::domFloat3x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_basic_type_common::domFloat3x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x4" );
+ meta->registerClass(domGles_basic_type_common::domFloat3x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x4"));
+ ma->setOffset( daeOffsetOf( domGles_basic_type_common::domFloat3x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_basic_type_common::domFloat3x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_basic_type_common::domFloat4x1::create(DAE& dae)
+{
+ domGles_basic_type_common::domFloat4x1Ref ref = new domGles_basic_type_common::domFloat4x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_basic_type_common::domFloat4x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x1" );
+ meta->registerClass(domGles_basic_type_common::domFloat4x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles_basic_type_common::domFloat4x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_basic_type_common::domFloat4x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_basic_type_common::domFloat4x2::create(DAE& dae)
+{
+ domGles_basic_type_common::domFloat4x2Ref ref = new domGles_basic_type_common::domFloat4x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_basic_type_common::domFloat4x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x2" );
+ meta->registerClass(domGles_basic_type_common::domFloat4x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x2"));
+ ma->setOffset( daeOffsetOf( domGles_basic_type_common::domFloat4x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_basic_type_common::domFloat4x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_basic_type_common::domFloat4x3::create(DAE& dae)
+{
+ domGles_basic_type_common::domFloat4x3Ref ref = new domGles_basic_type_common::domFloat4x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_basic_type_common::domFloat4x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x3" );
+ meta->registerClass(domGles_basic_type_common::domFloat4x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x3"));
+ ma->setOffset( daeOffsetOf( domGles_basic_type_common::domFloat4x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_basic_type_common::domFloat4x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_basic_type_common::domFloat4x4::create(DAE& dae)
+{
+ domGles_basic_type_common::domFloat4x4Ref ref = new domGles_basic_type_common::domFloat4x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_basic_type_common::domFloat4x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x4" );
+ meta->registerClass(domGles_basic_type_common::domFloat4x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x4"));
+ ma->setOffset( daeOffsetOf( domGles_basic_type_common::domFloat4x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_basic_type_common::domFloat4x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_basic_type_common::domEnum::create(DAE& dae)
+{
+ domGles_basic_type_common::domEnumRef ref = new domGles_basic_type_common::domEnum(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_basic_type_common::domEnum::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "enum" );
+ meta->registerClass(domGles_basic_type_common::domEnum::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Gles_enumeration"));
+ ma->setOffset( daeOffsetOf( domGles_basic_type_common::domEnum , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_basic_type_common::domEnum));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domGles_newparam.cpp b/1.4.0/dom/src/1.4/dom/domGles_newparam.cpp
new file mode 100644
index 0000000..b317e47
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domGles_newparam.cpp
@@ -0,0 +1,161 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domGles_newparam.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domGles_newparam::create(DAE& dae)
+{
+ domGles_newparamRef ref = new domGles_newparam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_newparam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles_newparam" );
+ meta->registerClass(domGles_newparam::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domGles_newparam,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "semantic" );
+ mea->setOffset( daeOffsetOf(domGles_newparam,elemSemantic) );
+ mea->setElementType( domGles_newparam::domSemantic::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "modifier" );
+ mea->setOffset( daeOffsetOf(domGles_newparam,elemModifier) );
+ mea->setElementType( domGles_newparam::domModifier::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 1, 1 );
+ mea->setName( "gles_basic_type_common" );
+ mea->setOffset( daeOffsetOf(domGles_newparam,elemGles_basic_type_common) );
+ mea->setElementType( domGles_basic_type_common::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 3, 1, 1 ) );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_newparam , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_newparam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_newparam::domSemantic::create(DAE& dae)
+{
+ domGles_newparam::domSemanticRef ref = new domGles_newparam::domSemantic(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_newparam::domSemantic::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "semantic" );
+ meta->registerClass(domGles_newparam::domSemantic::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_newparam::domSemantic , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_newparam::domSemantic));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_newparam::domModifier::create(DAE& dae)
+{
+ domGles_newparam::domModifierRef ref = new domGles_newparam::domModifier(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_newparam::domModifier::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "modifier" );
+ meta->registerClass(domGles_newparam::domModifier::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_modifier_enum_common"));
+ ma->setOffset( daeOffsetOf( domGles_newparam::domModifier , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_newparam::domModifier));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domGles_pipeline_settings.cpp b/1.4.0/dom/src/1.4/dom/domGles_pipeline_settings.cpp
new file mode 100644
index 0000000..60a6eb0
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domGles_pipeline_settings.cpp
@@ -0,0 +1,4944 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domGles_pipeline_settings.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domGles_pipeline_settings::create(DAE& dae)
+{
+ domGles_pipeline_settingsRef ref = new domGles_pipeline_settings(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles_pipeline_settings" );
+ meta->registerClass(domGles_pipeline_settings::create);
+
+ meta->setIsTransparent( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "alpha_func" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemAlpha_func) );
+ mea->setElementType( domGles_pipeline_settings::domAlpha_func::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "blend_func" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemBlend_func) );
+ mea->setElementType( domGles_pipeline_settings::domBlend_func::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "clear_color" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemClear_color) );
+ mea->setElementType( domGles_pipeline_settings::domClear_color::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "clear_stencil" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemClear_stencil) );
+ mea->setElementType( domGles_pipeline_settings::domClear_stencil::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "clear_depth" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemClear_depth) );
+ mea->setElementType( domGles_pipeline_settings::domClear_depth::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "clip_plane" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemClip_plane) );
+ mea->setElementType( domGles_pipeline_settings::domClip_plane::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "color_mask" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemColor_mask) );
+ mea->setElementType( domGles_pipeline_settings::domColor_mask::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "cull_face" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemCull_face) );
+ mea->setElementType( domGles_pipeline_settings::domCull_face::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "depth_func" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemDepth_func) );
+ mea->setElementType( domGles_pipeline_settings::domDepth_func::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "depth_mask" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemDepth_mask) );
+ mea->setElementType( domGles_pipeline_settings::domDepth_mask::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "depth_range" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemDepth_range) );
+ mea->setElementType( domGles_pipeline_settings::domDepth_range::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fog_color" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemFog_color) );
+ mea->setElementType( domGles_pipeline_settings::domFog_color::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fog_density" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemFog_density) );
+ mea->setElementType( domGles_pipeline_settings::domFog_density::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fog_mode" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemFog_mode) );
+ mea->setElementType( domGles_pipeline_settings::domFog_mode::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fog_start" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemFog_start) );
+ mea->setElementType( domGles_pipeline_settings::domFog_start::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fog_end" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemFog_end) );
+ mea->setElementType( domGles_pipeline_settings::domFog_end::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "front_face" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemFront_face) );
+ mea->setElementType( domGles_pipeline_settings::domFront_face::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "texture_pipeline" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemTexture_pipeline) );
+ mea->setElementType( domGles_pipeline_settings::domTexture_pipeline::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "logic_op" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLogic_op) );
+ mea->setElementType( domGles_pipeline_settings::domLogic_op::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_ambient" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_ambient) );
+ mea->setElementType( domGles_pipeline_settings::domLight_ambient::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_diffuse" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_diffuse) );
+ mea->setElementType( domGles_pipeline_settings::domLight_diffuse::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_specular" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_specular) );
+ mea->setElementType( domGles_pipeline_settings::domLight_specular::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_position" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_position) );
+ mea->setElementType( domGles_pipeline_settings::domLight_position::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_constant_attenuation" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_constant_attenuation) );
+ mea->setElementType( domGles_pipeline_settings::domLight_constant_attenuation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_linear_attenutation" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_linear_attenutation) );
+ mea->setElementType( domGles_pipeline_settings::domLight_linear_attenutation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_quadratic_attenuation" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_quadratic_attenuation) );
+ mea->setElementType( domGles_pipeline_settings::domLight_quadratic_attenuation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_spot_cutoff" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_spot_cutoff) );
+ mea->setElementType( domGles_pipeline_settings::domLight_spot_cutoff::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_spot_direction" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_spot_direction) );
+ mea->setElementType( domGles_pipeline_settings::domLight_spot_direction::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_spot_exponent" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_spot_exponent) );
+ mea->setElementType( domGles_pipeline_settings::domLight_spot_exponent::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_model_ambient" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_model_ambient) );
+ mea->setElementType( domGles_pipeline_settings::domLight_model_ambient::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "line_width" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLine_width) );
+ mea->setElementType( domGles_pipeline_settings::domLine_width::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "material_ambient" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemMaterial_ambient) );
+ mea->setElementType( domGles_pipeline_settings::domMaterial_ambient::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "material_diffuse" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemMaterial_diffuse) );
+ mea->setElementType( domGles_pipeline_settings::domMaterial_diffuse::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "material_emission" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemMaterial_emission) );
+ mea->setElementType( domGles_pipeline_settings::domMaterial_emission::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "material_shininess" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemMaterial_shininess) );
+ mea->setElementType( domGles_pipeline_settings::domMaterial_shininess::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "material_specular" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemMaterial_specular) );
+ mea->setElementType( domGles_pipeline_settings::domMaterial_specular::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "model_view_matrix" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemModel_view_matrix) );
+ mea->setElementType( domGles_pipeline_settings::domModel_view_matrix::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "point_distance_attenuation" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemPoint_distance_attenuation) );
+ mea->setElementType( domGles_pipeline_settings::domPoint_distance_attenuation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "point_fade_threshold_size" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemPoint_fade_threshold_size) );
+ mea->setElementType( domGles_pipeline_settings::domPoint_fade_threshold_size::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "point_size" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemPoint_size) );
+ mea->setElementType( domGles_pipeline_settings::domPoint_size::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "point_size_min" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemPoint_size_min) );
+ mea->setElementType( domGles_pipeline_settings::domPoint_size_min::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "point_size_max" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemPoint_size_max) );
+ mea->setElementType( domGles_pipeline_settings::domPoint_size_max::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "polygon_offset" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemPolygon_offset) );
+ mea->setElementType( domGles_pipeline_settings::domPolygon_offset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "projection_matrix" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemProjection_matrix) );
+ mea->setElementType( domGles_pipeline_settings::domProjection_matrix::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "scissor" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemScissor) );
+ mea->setElementType( domGles_pipeline_settings::domScissor::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "shade_model" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemShade_model) );
+ mea->setElementType( domGles_pipeline_settings::domShade_model::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_func" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemStencil_func) );
+ mea->setElementType( domGles_pipeline_settings::domStencil_func::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_mask" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemStencil_mask) );
+ mea->setElementType( domGles_pipeline_settings::domStencil_mask::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_op" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemStencil_op) );
+ mea->setElementType( domGles_pipeline_settings::domStencil_op::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "alpha_test_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemAlpha_test_enable) );
+ mea->setElementType( domGles_pipeline_settings::domAlpha_test_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "blend_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemBlend_enable) );
+ mea->setElementType( domGles_pipeline_settings::domBlend_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "clip_plane_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemClip_plane_enable) );
+ mea->setElementType( domGles_pipeline_settings::domClip_plane_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "color_logic_op_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemColor_logic_op_enable) );
+ mea->setElementType( domGles_pipeline_settings::domColor_logic_op_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "color_material_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemColor_material_enable) );
+ mea->setElementType( domGles_pipeline_settings::domColor_material_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "cull_face_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemCull_face_enable) );
+ mea->setElementType( domGles_pipeline_settings::domCull_face_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "depth_test_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemDepth_test_enable) );
+ mea->setElementType( domGles_pipeline_settings::domDepth_test_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "dither_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemDither_enable) );
+ mea->setElementType( domGles_pipeline_settings::domDither_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fog_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemFog_enable) );
+ mea->setElementType( domGles_pipeline_settings::domFog_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "texture_pipeline_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemTexture_pipeline_enable) );
+ mea->setElementType( domGles_pipeline_settings::domTexture_pipeline_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_enable) );
+ mea->setElementType( domGles_pipeline_settings::domLight_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "lighting_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLighting_enable) );
+ mea->setElementType( domGles_pipeline_settings::domLighting_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_model_two_side_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_model_two_side_enable) );
+ mea->setElementType( domGles_pipeline_settings::domLight_model_two_side_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "line_smooth_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLine_smooth_enable) );
+ mea->setElementType( domGles_pipeline_settings::domLine_smooth_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "multisample_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemMultisample_enable) );
+ mea->setElementType( domGles_pipeline_settings::domMultisample_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "normalize_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemNormalize_enable) );
+ mea->setElementType( domGles_pipeline_settings::domNormalize_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "point_smooth_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemPoint_smooth_enable) );
+ mea->setElementType( domGles_pipeline_settings::domPoint_smooth_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "polygon_offset_fill_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemPolygon_offset_fill_enable) );
+ mea->setElementType( domGles_pipeline_settings::domPolygon_offset_fill_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "rescale_normal_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemRescale_normal_enable) );
+ mea->setElementType( domGles_pipeline_settings::domRescale_normal_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sample_alpha_to_coverage_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemSample_alpha_to_coverage_enable) );
+ mea->setElementType( domGles_pipeline_settings::domSample_alpha_to_coverage_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sample_alpha_to_one_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemSample_alpha_to_one_enable) );
+ mea->setElementType( domGles_pipeline_settings::domSample_alpha_to_one_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sample_coverage_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemSample_coverage_enable) );
+ mea->setElementType( domGles_pipeline_settings::domSample_coverage_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "scissor_test_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemScissor_test_enable) );
+ mea->setElementType( domGles_pipeline_settings::domScissor_test_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_test_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemStencil_test_enable) );
+ mea->setElementType( domGles_pipeline_settings::domStencil_test_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGles_pipeline_settings,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGles_pipeline_settings,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGles_pipeline_settings,_CMData), 1);
+ meta->setElementSize(sizeof(domGles_pipeline_settings));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domAlpha_func::create(DAE& dae)
+{
+ domGles_pipeline_settings::domAlpha_funcRef ref = new domGles_pipeline_settings::domAlpha_func(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domAlpha_func::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "alpha_func" );
+ meta->registerClass(domGles_pipeline_settings::domAlpha_func::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "func" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings::domAlpha_func,elemFunc) );
+ mea->setElementType( domGles_pipeline_settings::domAlpha_func::domFunc::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "value" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings::domAlpha_func,elemValue) );
+ mea->setElementType( domGles_pipeline_settings::domAlpha_func::domValue::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domAlpha_func));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domAlpha_func::domFunc::create(DAE& dae)
+{
+ domGles_pipeline_settings::domAlpha_func::domFuncRef ref = new domGles_pipeline_settings::domAlpha_func::domFunc(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domAlpha_func::domFunc::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "func" );
+ meta->registerClass(domGles_pipeline_settings::domAlpha_func::domFunc::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_func_type"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domAlpha_func::domFunc , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ALWAYS");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domAlpha_func::domFunc , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domAlpha_func::domFunc));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domAlpha_func::domValue::create(DAE& dae)
+{
+ domGles_pipeline_settings::domAlpha_func::domValueRef ref = new domGles_pipeline_settings::domAlpha_func::domValue(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domAlpha_func::domValue::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "value" );
+ meta->registerClass(domGles_pipeline_settings::domAlpha_func::domValue::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_alpha_value_type"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domAlpha_func::domValue , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0.0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domAlpha_func::domValue , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domAlpha_func::domValue));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domBlend_func::create(DAE& dae)
+{
+ domGles_pipeline_settings::domBlend_funcRef ref = new domGles_pipeline_settings::domBlend_func(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domBlend_func::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "blend_func" );
+ meta->registerClass(domGles_pipeline_settings::domBlend_func::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "src" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings::domBlend_func,elemSrc) );
+ mea->setElementType( domGles_pipeline_settings::domBlend_func::domSrc::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "dest" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings::domBlend_func,elemDest) );
+ mea->setElementType( domGles_pipeline_settings::domBlend_func::domDest::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domBlend_func));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domBlend_func::domSrc::create(DAE& dae)
+{
+ domGles_pipeline_settings::domBlend_func::domSrcRef ref = new domGles_pipeline_settings::domBlend_func::domSrc(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domBlend_func::domSrc::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "src" );
+ meta->registerClass(domGles_pipeline_settings::domBlend_func::domSrc::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend_type"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domBlend_func::domSrc , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ONE");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domBlend_func::domSrc , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domBlend_func::domSrc));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domBlend_func::domDest::create(DAE& dae)
+{
+ domGles_pipeline_settings::domBlend_func::domDestRef ref = new domGles_pipeline_settings::domBlend_func::domDest(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domBlend_func::domDest::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "dest" );
+ meta->registerClass(domGles_pipeline_settings::domBlend_func::domDest::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend_type"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domBlend_func::domDest , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ZERO");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domBlend_func::domDest , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domBlend_func::domDest));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domClear_color::create(DAE& dae)
+{
+ domGles_pipeline_settings::domClear_colorRef ref = new domGles_pipeline_settings::domClear_color(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domClear_color::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "clear_color" );
+ meta->registerClass(domGles_pipeline_settings::domClear_color::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domClear_color , attrValue ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domClear_color , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domClear_color));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domClear_stencil::create(DAE& dae)
+{
+ domGles_pipeline_settings::domClear_stencilRef ref = new domGles_pipeline_settings::domClear_stencil(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domClear_stencil::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "clear_stencil" );
+ meta->registerClass(domGles_pipeline_settings::domClear_stencil::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Int"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domClear_stencil , attrValue ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domClear_stencil , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domClear_stencil));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domClear_depth::create(DAE& dae)
+{
+ domGles_pipeline_settings::domClear_depthRef ref = new domGles_pipeline_settings::domClear_depth(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domClear_depth::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "clear_depth" );
+ meta->registerClass(domGles_pipeline_settings::domClear_depth::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domClear_depth , attrValue ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domClear_depth , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domClear_depth));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domClip_plane::create(DAE& dae)
+{
+ domGles_pipeline_settings::domClip_planeRef ref = new domGles_pipeline_settings::domClip_plane(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domClip_plane::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "clip_plane" );
+ meta->registerClass(domGles_pipeline_settings::domClip_plane::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool4"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domClip_plane , attrValue ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domClip_plane , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("GLES_MAX_CLIP_PLANES_index"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domClip_plane , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domClip_plane));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domColor_mask::create(DAE& dae)
+{
+ domGles_pipeline_settings::domColor_maskRef ref = new domGles_pipeline_settings::domColor_mask(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domColor_mask::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "color_mask" );
+ meta->registerClass(domGles_pipeline_settings::domColor_mask::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool4"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domColor_mask , attrValue ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domColor_mask , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domColor_mask));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domCull_face::create(DAE& dae)
+{
+ domGles_pipeline_settings::domCull_faceRef ref = new domGles_pipeline_settings::domCull_face(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domCull_face::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cull_face" );
+ meta->registerClass(domGles_pipeline_settings::domCull_face::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_face_type"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domCull_face , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "BACK");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domCull_face , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domCull_face));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domDepth_func::create(DAE& dae)
+{
+ domGles_pipeline_settings::domDepth_funcRef ref = new domGles_pipeline_settings::domDepth_func(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domDepth_func::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "depth_func" );
+ meta->registerClass(domGles_pipeline_settings::domDepth_func::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_func_type"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domDepth_func , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ALWAYS");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domDepth_func , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domDepth_func));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domDepth_mask::create(DAE& dae)
+{
+ domGles_pipeline_settings::domDepth_maskRef ref = new domGles_pipeline_settings::domDepth_mask(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domDepth_mask::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "depth_mask" );
+ meta->registerClass(domGles_pipeline_settings::domDepth_mask::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domDepth_mask , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domDepth_mask , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domDepth_mask));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domDepth_range::create(DAE& dae)
+{
+ domGles_pipeline_settings::domDepth_rangeRef ref = new domGles_pipeline_settings::domDepth_range(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domDepth_range::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "depth_range" );
+ meta->registerClass(domGles_pipeline_settings::domDepth_range::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domDepth_range , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domDepth_range , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domDepth_range));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domFog_color::create(DAE& dae)
+{
+ domGles_pipeline_settings::domFog_colorRef ref = new domGles_pipeline_settings::domFog_color(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domFog_color::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fog_color" );
+ meta->registerClass(domGles_pipeline_settings::domFog_color::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domFog_color , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 0 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domFog_color , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domFog_color));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domFog_density::create(DAE& dae)
+{
+ domGles_pipeline_settings::domFog_densityRef ref = new domGles_pipeline_settings::domFog_density(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domFog_density::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fog_density" );
+ meta->registerClass(domGles_pipeline_settings::domFog_density::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domFog_density , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domFog_density , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domFog_density));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domFog_mode::create(DAE& dae)
+{
+ domGles_pipeline_settings::domFog_modeRef ref = new domGles_pipeline_settings::domFog_mode(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domFog_mode::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fog_mode" );
+ meta->registerClass(domGles_pipeline_settings::domFog_mode::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_fog_type"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domFog_mode , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "EXP");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domFog_mode , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domFog_mode));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domFog_start::create(DAE& dae)
+{
+ domGles_pipeline_settings::domFog_startRef ref = new domGles_pipeline_settings::domFog_start(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domFog_start::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fog_start" );
+ meta->registerClass(domGles_pipeline_settings::domFog_start::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domFog_start , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domFog_start , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domFog_start));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domFog_end::create(DAE& dae)
+{
+ domGles_pipeline_settings::domFog_endRef ref = new domGles_pipeline_settings::domFog_end(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domFog_end::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fog_end" );
+ meta->registerClass(domGles_pipeline_settings::domFog_end::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domFog_end , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domFog_end , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domFog_end));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domFront_face::create(DAE& dae)
+{
+ domGles_pipeline_settings::domFront_faceRef ref = new domGles_pipeline_settings::domFront_face(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domFront_face::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "front_face" );
+ meta->registerClass(domGles_pipeline_settings::domFront_face::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_front_face_type"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domFront_face , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "CCW");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domFront_face , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domFront_face));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domTexture_pipeline::create(DAE& dae)
+{
+ domGles_pipeline_settings::domTexture_pipelineRef ref = new domGles_pipeline_settings::domTexture_pipeline(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domTexture_pipeline::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "texture_pipeline" );
+ meta->registerClass(domGles_pipeline_settings::domTexture_pipeline::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "value" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings::domTexture_pipeline,elemValue) );
+ mea->setElementType( domGles_texture_pipeline::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domTexture_pipeline , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domTexture_pipeline));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLogic_op::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLogic_opRef ref = new domGles_pipeline_settings::domLogic_op(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLogic_op::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "logic_op" );
+ meta->registerClass(domGles_pipeline_settings::domLogic_op::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_logic_op_type"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLogic_op , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "COPY");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLogic_op , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLogic_op));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLight_ambient::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLight_ambientRef ref = new domGles_pipeline_settings::domLight_ambient(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLight_ambient::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_ambient" );
+ meta->registerClass(domGles_pipeline_settings::domLight_ambient::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_ambient , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 0 1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_ambient , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("GLES_MAX_LIGHTS_index"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_ambient , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLight_ambient));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLight_diffuse::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLight_diffuseRef ref = new domGles_pipeline_settings::domLight_diffuse(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLight_diffuse::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_diffuse" );
+ meta->registerClass(domGles_pipeline_settings::domLight_diffuse::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_diffuse , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 0 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_diffuse , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("GLES_MAX_LIGHTS_index"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_diffuse , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLight_diffuse));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLight_specular::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLight_specularRef ref = new domGles_pipeline_settings::domLight_specular(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLight_specular::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_specular" );
+ meta->registerClass(domGles_pipeline_settings::domLight_specular::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_specular , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 0 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_specular , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("GLES_MAX_LIGHTS_index"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_specular , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLight_specular));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLight_position::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLight_positionRef ref = new domGles_pipeline_settings::domLight_position(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLight_position::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_position" );
+ meta->registerClass(domGles_pipeline_settings::domLight_position::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_position , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 1 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_position , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("GLES_MAX_LIGHTS_index"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_position , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLight_position));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLight_constant_attenuation::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLight_constant_attenuationRef ref = new domGles_pipeline_settings::domLight_constant_attenuation(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLight_constant_attenuation::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_constant_attenuation" );
+ meta->registerClass(domGles_pipeline_settings::domLight_constant_attenuation::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_constant_attenuation , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_constant_attenuation , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("GLES_MAX_LIGHTS_index"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_constant_attenuation , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLight_constant_attenuation));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLight_linear_attenutation::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLight_linear_attenutationRef ref = new domGles_pipeline_settings::domLight_linear_attenutation(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLight_linear_attenutation::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_linear_attenutation" );
+ meta->registerClass(domGles_pipeline_settings::domLight_linear_attenutation::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_linear_attenutation , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_linear_attenutation , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("GLES_MAX_LIGHTS_index"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_linear_attenutation , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLight_linear_attenutation));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLight_quadratic_attenuation::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLight_quadratic_attenuationRef ref = new domGles_pipeline_settings::domLight_quadratic_attenuation(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLight_quadratic_attenuation::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_quadratic_attenuation" );
+ meta->registerClass(domGles_pipeline_settings::domLight_quadratic_attenuation::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_quadratic_attenuation , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_quadratic_attenuation , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("GLES_MAX_LIGHTS_index"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_quadratic_attenuation , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLight_quadratic_attenuation));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLight_spot_cutoff::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLight_spot_cutoffRef ref = new domGles_pipeline_settings::domLight_spot_cutoff(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLight_spot_cutoff::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_spot_cutoff" );
+ meta->registerClass(domGles_pipeline_settings::domLight_spot_cutoff::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_spot_cutoff , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "180");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_spot_cutoff , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("GLES_MAX_LIGHTS_index"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_spot_cutoff , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLight_spot_cutoff));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLight_spot_direction::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLight_spot_directionRef ref = new domGles_pipeline_settings::domLight_spot_direction(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLight_spot_direction::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_spot_direction" );
+ meta->registerClass(domGles_pipeline_settings::domLight_spot_direction::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_spot_direction , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 -1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_spot_direction , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("GLES_MAX_LIGHTS_index"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_spot_direction , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLight_spot_direction));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLight_spot_exponent::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLight_spot_exponentRef ref = new domGles_pipeline_settings::domLight_spot_exponent(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLight_spot_exponent::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_spot_exponent" );
+ meta->registerClass(domGles_pipeline_settings::domLight_spot_exponent::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_spot_exponent , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_spot_exponent , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("GLES_MAX_LIGHTS_index"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_spot_exponent , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLight_spot_exponent));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLight_model_ambient::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLight_model_ambientRef ref = new domGles_pipeline_settings::domLight_model_ambient(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLight_model_ambient::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_model_ambient" );
+ meta->registerClass(domGles_pipeline_settings::domLight_model_ambient::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_model_ambient , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0.2 0.2 0.2 1.0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_model_ambient , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLight_model_ambient));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLine_width::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLine_widthRef ref = new domGles_pipeline_settings::domLine_width(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLine_width::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "line_width" );
+ meta->registerClass(domGles_pipeline_settings::domLine_width::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLine_width , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLine_width , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLine_width));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domMaterial_ambient::create(DAE& dae)
+{
+ domGles_pipeline_settings::domMaterial_ambientRef ref = new domGles_pipeline_settings::domMaterial_ambient(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domMaterial_ambient::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "material_ambient" );
+ meta->registerClass(domGles_pipeline_settings::domMaterial_ambient::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domMaterial_ambient , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0.2 0.2 0.2 1.0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domMaterial_ambient , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domMaterial_ambient));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domMaterial_diffuse::create(DAE& dae)
+{
+ domGles_pipeline_settings::domMaterial_diffuseRef ref = new domGles_pipeline_settings::domMaterial_diffuse(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domMaterial_diffuse::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "material_diffuse" );
+ meta->registerClass(domGles_pipeline_settings::domMaterial_diffuse::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domMaterial_diffuse , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0.8 0.8 0.8 1.0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domMaterial_diffuse , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domMaterial_diffuse));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domMaterial_emission::create(DAE& dae)
+{
+ domGles_pipeline_settings::domMaterial_emissionRef ref = new domGles_pipeline_settings::domMaterial_emission(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domMaterial_emission::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "material_emission" );
+ meta->registerClass(domGles_pipeline_settings::domMaterial_emission::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domMaterial_emission , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 0 1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domMaterial_emission , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domMaterial_emission));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domMaterial_shininess::create(DAE& dae)
+{
+ domGles_pipeline_settings::domMaterial_shininessRef ref = new domGles_pipeline_settings::domMaterial_shininess(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domMaterial_shininess::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "material_shininess" );
+ meta->registerClass(domGles_pipeline_settings::domMaterial_shininess::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domMaterial_shininess , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domMaterial_shininess , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domMaterial_shininess));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domMaterial_specular::create(DAE& dae)
+{
+ domGles_pipeline_settings::domMaterial_specularRef ref = new domGles_pipeline_settings::domMaterial_specular(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domMaterial_specular::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "material_specular" );
+ meta->registerClass(domGles_pipeline_settings::domMaterial_specular::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domMaterial_specular , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 0 1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domMaterial_specular , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domMaterial_specular));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domModel_view_matrix::create(DAE& dae)
+{
+ domGles_pipeline_settings::domModel_view_matrixRef ref = new domGles_pipeline_settings::domModel_view_matrix(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domModel_view_matrix::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "model_view_matrix" );
+ meta->registerClass(domGles_pipeline_settings::domModel_view_matrix::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x4"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domModel_view_matrix , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domModel_view_matrix , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domModel_view_matrix));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domPoint_distance_attenuation::create(DAE& dae)
+{
+ domGles_pipeline_settings::domPoint_distance_attenuationRef ref = new domGles_pipeline_settings::domPoint_distance_attenuation(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domPoint_distance_attenuation::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "point_distance_attenuation" );
+ meta->registerClass(domGles_pipeline_settings::domPoint_distance_attenuation::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPoint_distance_attenuation , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1 0 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPoint_distance_attenuation , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domPoint_distance_attenuation));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domPoint_fade_threshold_size::create(DAE& dae)
+{
+ domGles_pipeline_settings::domPoint_fade_threshold_sizeRef ref = new domGles_pipeline_settings::domPoint_fade_threshold_size(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domPoint_fade_threshold_size::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "point_fade_threshold_size" );
+ meta->registerClass(domGles_pipeline_settings::domPoint_fade_threshold_size::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPoint_fade_threshold_size , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPoint_fade_threshold_size , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domPoint_fade_threshold_size));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domPoint_size::create(DAE& dae)
+{
+ domGles_pipeline_settings::domPoint_sizeRef ref = new domGles_pipeline_settings::domPoint_size(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domPoint_size::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "point_size" );
+ meta->registerClass(domGles_pipeline_settings::domPoint_size::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPoint_size , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPoint_size , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domPoint_size));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domPoint_size_min::create(DAE& dae)
+{
+ domGles_pipeline_settings::domPoint_size_minRef ref = new domGles_pipeline_settings::domPoint_size_min(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domPoint_size_min::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "point_size_min" );
+ meta->registerClass(domGles_pipeline_settings::domPoint_size_min::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPoint_size_min , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPoint_size_min , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domPoint_size_min));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domPoint_size_max::create(DAE& dae)
+{
+ domGles_pipeline_settings::domPoint_size_maxRef ref = new domGles_pipeline_settings::domPoint_size_max(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domPoint_size_max::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "point_size_max" );
+ meta->registerClass(domGles_pipeline_settings::domPoint_size_max::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPoint_size_max , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPoint_size_max , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domPoint_size_max));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domPolygon_offset::create(DAE& dae)
+{
+ domGles_pipeline_settings::domPolygon_offsetRef ref = new domGles_pipeline_settings::domPolygon_offset(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domPolygon_offset::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "polygon_offset" );
+ meta->registerClass(domGles_pipeline_settings::domPolygon_offset::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPolygon_offset , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPolygon_offset , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domPolygon_offset));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domProjection_matrix::create(DAE& dae)
+{
+ domGles_pipeline_settings::domProjection_matrixRef ref = new domGles_pipeline_settings::domProjection_matrix(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domProjection_matrix::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "projection_matrix" );
+ meta->registerClass(domGles_pipeline_settings::domProjection_matrix::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x4"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domProjection_matrix , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domProjection_matrix , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domProjection_matrix));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domScissor::create(DAE& dae)
+{
+ domGles_pipeline_settings::domScissorRef ref = new domGles_pipeline_settings::domScissor(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domScissor::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "scissor" );
+ meta->registerClass(domGles_pipeline_settings::domScissor::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Int4"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domScissor , attrValue ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domScissor , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domScissor));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domShade_model::create(DAE& dae)
+{
+ domGles_pipeline_settings::domShade_modelRef ref = new domGles_pipeline_settings::domShade_model(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domShade_model::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "shade_model" );
+ meta->registerClass(domGles_pipeline_settings::domShade_model::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_shade_model_type"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domShade_model , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "SMOOTH");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domShade_model , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domShade_model));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domStencil_func::create(DAE& dae)
+{
+ domGles_pipeline_settings::domStencil_funcRef ref = new domGles_pipeline_settings::domStencil_func(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domStencil_func::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_func" );
+ meta->registerClass(domGles_pipeline_settings::domStencil_func::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "func" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings::domStencil_func,elemFunc) );
+ mea->setElementType( domGles_pipeline_settings::domStencil_func::domFunc::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "ref" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings::domStencil_func,elemRef) );
+ mea->setElementType( domGles_pipeline_settings::domStencil_func::domRef::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "mask" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings::domStencil_func,elemMask) );
+ mea->setElementType( domGles_pipeline_settings::domStencil_func::domMask::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domStencil_func));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domStencil_func::domFunc::create(DAE& dae)
+{
+ domGles_pipeline_settings::domStencil_func::domFuncRef ref = new domGles_pipeline_settings::domStencil_func::domFunc(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domStencil_func::domFunc::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "func" );
+ meta->registerClass(domGles_pipeline_settings::domStencil_func::domFunc::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_func_type"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_func::domFunc , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ALWAYS");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_func::domFunc , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domStencil_func::domFunc));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domStencil_func::domRef::create(DAE& dae)
+{
+ domGles_pipeline_settings::domStencil_func::domRefRef ref = new domGles_pipeline_settings::domStencil_func::domRef(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domStencil_func::domRef::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "ref" );
+ meta->registerClass(domGles_pipeline_settings::domStencil_func::domRef::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedByte"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_func::domRef , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_func::domRef , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domStencil_func::domRef));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domStencil_func::domMask::create(DAE& dae)
+{
+ domGles_pipeline_settings::domStencil_func::domMaskRef ref = new domGles_pipeline_settings::domStencil_func::domMask(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domStencil_func::domMask::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mask" );
+ meta->registerClass(domGles_pipeline_settings::domStencil_func::domMask::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedByte"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_func::domMask , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "255");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_func::domMask , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domStencil_func::domMask));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domStencil_mask::create(DAE& dae)
+{
+ domGles_pipeline_settings::domStencil_maskRef ref = new domGles_pipeline_settings::domStencil_mask(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domStencil_mask::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_mask" );
+ meta->registerClass(domGles_pipeline_settings::domStencil_mask::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Int"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_mask , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "4294967295");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_mask , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domStencil_mask));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domStencil_op::create(DAE& dae)
+{
+ domGles_pipeline_settings::domStencil_opRef ref = new domGles_pipeline_settings::domStencil_op(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domStencil_op::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_op" );
+ meta->registerClass(domGles_pipeline_settings::domStencil_op::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fail" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings::domStencil_op,elemFail) );
+ mea->setElementType( domGles_pipeline_settings::domStencil_op::domFail::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "zfail" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings::domStencil_op,elemZfail) );
+ mea->setElementType( domGles_pipeline_settings::domStencil_op::domZfail::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "zpass" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings::domStencil_op,elemZpass) );
+ mea->setElementType( domGles_pipeline_settings::domStencil_op::domZpass::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domStencil_op));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domStencil_op::domFail::create(DAE& dae)
+{
+ domGles_pipeline_settings::domStencil_op::domFailRef ref = new domGles_pipeline_settings::domStencil_op::domFail(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domStencil_op::domFail::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fail" );
+ meta->registerClass(domGles_pipeline_settings::domStencil_op::domFail::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gles_stencil_op_type"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_op::domFail , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "KEEP");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_op::domFail , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domStencil_op::domFail));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domStencil_op::domZfail::create(DAE& dae)
+{
+ domGles_pipeline_settings::domStencil_op::domZfailRef ref = new domGles_pipeline_settings::domStencil_op::domZfail(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domStencil_op::domZfail::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "zfail" );
+ meta->registerClass(domGles_pipeline_settings::domStencil_op::domZfail::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gles_stencil_op_type"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_op::domZfail , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "KEEP");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_op::domZfail , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domStencil_op::domZfail));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domStencil_op::domZpass::create(DAE& dae)
+{
+ domGles_pipeline_settings::domStencil_op::domZpassRef ref = new domGles_pipeline_settings::domStencil_op::domZpass(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domStencil_op::domZpass::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "zpass" );
+ meta->registerClass(domGles_pipeline_settings::domStencil_op::domZpass::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gles_stencil_op_type"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_op::domZpass , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "KEEP");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_op::domZpass , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domStencil_op::domZpass));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domAlpha_test_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domAlpha_test_enableRef ref = new domGles_pipeline_settings::domAlpha_test_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domAlpha_test_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "alpha_test_enable" );
+ meta->registerClass(domGles_pipeline_settings::domAlpha_test_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domAlpha_test_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domAlpha_test_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domAlpha_test_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domBlend_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domBlend_enableRef ref = new domGles_pipeline_settings::domBlend_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domBlend_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "blend_enable" );
+ meta->registerClass(domGles_pipeline_settings::domBlend_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domBlend_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domBlend_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domBlend_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domClip_plane_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domClip_plane_enableRef ref = new domGles_pipeline_settings::domClip_plane_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domClip_plane_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "clip_plane_enable" );
+ meta->registerClass(domGles_pipeline_settings::domClip_plane_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domClip_plane_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domClip_plane_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("GLES_MAX_CLIP_PLANES_index"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domClip_plane_enable , attrIndex ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domClip_plane_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domColor_logic_op_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domColor_logic_op_enableRef ref = new domGles_pipeline_settings::domColor_logic_op_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domColor_logic_op_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "color_logic_op_enable" );
+ meta->registerClass(domGles_pipeline_settings::domColor_logic_op_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domColor_logic_op_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domColor_logic_op_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domColor_logic_op_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domColor_material_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domColor_material_enableRef ref = new domGles_pipeline_settings::domColor_material_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domColor_material_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "color_material_enable" );
+ meta->registerClass(domGles_pipeline_settings::domColor_material_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domColor_material_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "true");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domColor_material_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domColor_material_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domCull_face_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domCull_face_enableRef ref = new domGles_pipeline_settings::domCull_face_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domCull_face_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cull_face_enable" );
+ meta->registerClass(domGles_pipeline_settings::domCull_face_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domCull_face_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domCull_face_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domCull_face_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domDepth_test_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domDepth_test_enableRef ref = new domGles_pipeline_settings::domDepth_test_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domDepth_test_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "depth_test_enable" );
+ meta->registerClass(domGles_pipeline_settings::domDepth_test_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domDepth_test_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domDepth_test_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domDepth_test_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domDither_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domDither_enableRef ref = new domGles_pipeline_settings::domDither_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domDither_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "dither_enable" );
+ meta->registerClass(domGles_pipeline_settings::domDither_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domDither_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domDither_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domDither_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domFog_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domFog_enableRef ref = new domGles_pipeline_settings::domFog_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domFog_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fog_enable" );
+ meta->registerClass(domGles_pipeline_settings::domFog_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domFog_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domFog_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domFog_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domTexture_pipeline_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domTexture_pipeline_enableRef ref = new domGles_pipeline_settings::domTexture_pipeline_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domTexture_pipeline_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "texture_pipeline_enable" );
+ meta->registerClass(domGles_pipeline_settings::domTexture_pipeline_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domTexture_pipeline_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domTexture_pipeline_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domTexture_pipeline_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLight_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLight_enableRef ref = new domGles_pipeline_settings::domLight_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLight_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_enable" );
+ meta->registerClass(domGles_pipeline_settings::domLight_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("GLES_MAX_LIGHTS_index"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_enable , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLight_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLighting_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLighting_enableRef ref = new domGles_pipeline_settings::domLighting_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLighting_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "lighting_enable" );
+ meta->registerClass(domGles_pipeline_settings::domLighting_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLighting_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLighting_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLighting_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLight_model_two_side_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLight_model_two_side_enableRef ref = new domGles_pipeline_settings::domLight_model_two_side_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLight_model_two_side_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_model_two_side_enable" );
+ meta->registerClass(domGles_pipeline_settings::domLight_model_two_side_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_model_two_side_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_model_two_side_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLight_model_two_side_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLine_smooth_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLine_smooth_enableRef ref = new domGles_pipeline_settings::domLine_smooth_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLine_smooth_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "line_smooth_enable" );
+ meta->registerClass(domGles_pipeline_settings::domLine_smooth_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLine_smooth_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLine_smooth_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLine_smooth_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domMultisample_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domMultisample_enableRef ref = new domGles_pipeline_settings::domMultisample_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domMultisample_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "multisample_enable" );
+ meta->registerClass(domGles_pipeline_settings::domMultisample_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domMultisample_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domMultisample_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domMultisample_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domNormalize_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domNormalize_enableRef ref = new domGles_pipeline_settings::domNormalize_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domNormalize_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "normalize_enable" );
+ meta->registerClass(domGles_pipeline_settings::domNormalize_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domNormalize_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domNormalize_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domNormalize_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domPoint_smooth_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domPoint_smooth_enableRef ref = new domGles_pipeline_settings::domPoint_smooth_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domPoint_smooth_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "point_smooth_enable" );
+ meta->registerClass(domGles_pipeline_settings::domPoint_smooth_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPoint_smooth_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPoint_smooth_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domPoint_smooth_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domPolygon_offset_fill_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domPolygon_offset_fill_enableRef ref = new domGles_pipeline_settings::domPolygon_offset_fill_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domPolygon_offset_fill_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "polygon_offset_fill_enable" );
+ meta->registerClass(domGles_pipeline_settings::domPolygon_offset_fill_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPolygon_offset_fill_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPolygon_offset_fill_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domPolygon_offset_fill_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domRescale_normal_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domRescale_normal_enableRef ref = new domGles_pipeline_settings::domRescale_normal_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domRescale_normal_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "rescale_normal_enable" );
+ meta->registerClass(domGles_pipeline_settings::domRescale_normal_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domRescale_normal_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domRescale_normal_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domRescale_normal_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domSample_alpha_to_coverage_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domSample_alpha_to_coverage_enableRef ref = new domGles_pipeline_settings::domSample_alpha_to_coverage_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domSample_alpha_to_coverage_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "sample_alpha_to_coverage_enable" );
+ meta->registerClass(domGles_pipeline_settings::domSample_alpha_to_coverage_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domSample_alpha_to_coverage_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domSample_alpha_to_coverage_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domSample_alpha_to_coverage_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domSample_alpha_to_one_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domSample_alpha_to_one_enableRef ref = new domGles_pipeline_settings::domSample_alpha_to_one_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domSample_alpha_to_one_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "sample_alpha_to_one_enable" );
+ meta->registerClass(domGles_pipeline_settings::domSample_alpha_to_one_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domSample_alpha_to_one_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domSample_alpha_to_one_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domSample_alpha_to_one_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domSample_coverage_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domSample_coverage_enableRef ref = new domGles_pipeline_settings::domSample_coverage_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domSample_coverage_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "sample_coverage_enable" );
+ meta->registerClass(domGles_pipeline_settings::domSample_coverage_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domSample_coverage_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domSample_coverage_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domSample_coverage_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domScissor_test_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domScissor_test_enableRef ref = new domGles_pipeline_settings::domScissor_test_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domScissor_test_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "scissor_test_enable" );
+ meta->registerClass(domGles_pipeline_settings::domScissor_test_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domScissor_test_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domScissor_test_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domScissor_test_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domStencil_test_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domStencil_test_enableRef ref = new domGles_pipeline_settings::domStencil_test_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domStencil_test_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_test_enable" );
+ meta->registerClass(domGles_pipeline_settings::domStencil_test_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_test_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_test_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domStencil_test_enable));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domGles_sampler_state.cpp b/1.4.0/dom/src/1.4/dom/domGles_sampler_state.cpp
new file mode 100644
index 0000000..35cfd1b
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domGles_sampler_state.cpp
@@ -0,0 +1,364 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domGles_sampler_state.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domGles_sampler_state::create(DAE& dae)
+{
+ domGles_sampler_stateRef ref = new domGles_sampler_state(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_sampler_state::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles_sampler_state" );
+ meta->registerClass(domGles_sampler_state::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "wrap_s" );
+ mea->setOffset( daeOffsetOf(domGles_sampler_state,elemWrap_s) );
+ mea->setElementType( domGles_sampler_state::domWrap_s::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "wrap_t" );
+ mea->setOffset( daeOffsetOf(domGles_sampler_state,elemWrap_t) );
+ mea->setElementType( domGles_sampler_state::domWrap_t::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "minfilter" );
+ mea->setOffset( daeOffsetOf(domGles_sampler_state,elemMinfilter) );
+ mea->setElementType( domGles_sampler_state::domMinfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "magfilter" );
+ mea->setOffset( daeOffsetOf(domGles_sampler_state,elemMagfilter) );
+ mea->setElementType( domGles_sampler_state::domMagfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "mipfilter" );
+ mea->setOffset( daeOffsetOf(domGles_sampler_state,elemMipfilter) );
+ mea->setElementType( domGles_sampler_state::domMipfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "mipmap_maxlevel" );
+ mea->setOffset( daeOffsetOf(domGles_sampler_state,elemMipmap_maxlevel) );
+ mea->setElementType( domGles_sampler_state::domMipmap_maxlevel::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "mipmap_bias" );
+ mea->setOffset( daeOffsetOf(domGles_sampler_state,elemMipmap_bias) );
+ mea->setElementType( domGles_sampler_state::domMipmap_bias::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 7, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domGles_sampler_state,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 7 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_sampler_state , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_sampler_state));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_sampler_state::domWrap_s::create(DAE& dae)
+{
+ domGles_sampler_state::domWrap_sRef ref = new domGles_sampler_state::domWrap_s(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_sampler_state::domWrap_s::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "wrap_s" );
+ meta->registerClass(domGles_sampler_state::domWrap_s::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Gles_sampler_wrap"));
+ ma->setOffset( daeOffsetOf( domGles_sampler_state::domWrap_s , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_sampler_state::domWrap_s));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_sampler_state::domWrap_t::create(DAE& dae)
+{
+ domGles_sampler_state::domWrap_tRef ref = new domGles_sampler_state::domWrap_t(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_sampler_state::domWrap_t::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "wrap_t" );
+ meta->registerClass(domGles_sampler_state::domWrap_t::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Gles_sampler_wrap"));
+ ma->setOffset( daeOffsetOf( domGles_sampler_state::domWrap_t , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_sampler_state::domWrap_t));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_sampler_state::domMinfilter::create(DAE& dae)
+{
+ domGles_sampler_state::domMinfilterRef ref = new domGles_sampler_state::domMinfilter(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_sampler_state::domMinfilter::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "minfilter" );
+ meta->registerClass(domGles_sampler_state::domMinfilter::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_filter_common"));
+ ma->setOffset( daeOffsetOf( domGles_sampler_state::domMinfilter , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_sampler_state::domMinfilter));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_sampler_state::domMagfilter::create(DAE& dae)
+{
+ domGles_sampler_state::domMagfilterRef ref = new domGles_sampler_state::domMagfilter(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_sampler_state::domMagfilter::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "magfilter" );
+ meta->registerClass(domGles_sampler_state::domMagfilter::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_filter_common"));
+ ma->setOffset( daeOffsetOf( domGles_sampler_state::domMagfilter , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_sampler_state::domMagfilter));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_sampler_state::domMipfilter::create(DAE& dae)
+{
+ domGles_sampler_state::domMipfilterRef ref = new domGles_sampler_state::domMipfilter(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_sampler_state::domMipfilter::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mipfilter" );
+ meta->registerClass(domGles_sampler_state::domMipfilter::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_filter_common"));
+ ma->setOffset( daeOffsetOf( domGles_sampler_state::domMipfilter , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_sampler_state::domMipfilter));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_sampler_state::domMipmap_maxlevel::create(DAE& dae)
+{
+ domGles_sampler_state::domMipmap_maxlevelRef ref = new domGles_sampler_state::domMipmap_maxlevel(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_sampler_state::domMipmap_maxlevel::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mipmap_maxlevel" );
+ meta->registerClass(domGles_sampler_state::domMipmap_maxlevel::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedByte"));
+ ma->setOffset( daeOffsetOf( domGles_sampler_state::domMipmap_maxlevel , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_sampler_state::domMipmap_maxlevel));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_sampler_state::domMipmap_bias::create(DAE& dae)
+{
+ domGles_sampler_state::domMipmap_biasRef ref = new domGles_sampler_state::domMipmap_bias(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_sampler_state::domMipmap_bias::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mipmap_bias" );
+ meta->registerClass(domGles_sampler_state::domMipmap_bias::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsFloat"));
+ ma->setOffset( daeOffsetOf( domGles_sampler_state::domMipmap_bias , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_sampler_state::domMipmap_bias));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domGles_texcombiner_argumentAlpha_type.cpp b/1.4.0/dom/src/1.4/dom/domGles_texcombiner_argumentAlpha_type.cpp
new file mode 100644
index 0000000..ac360ce
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domGles_texcombiner_argumentAlpha_type.cpp
@@ -0,0 +1,82 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domGles_texcombiner_argumentAlpha_type.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domGles_texcombiner_argumentAlpha_type::create(DAE& dae)
+{
+ domGles_texcombiner_argumentAlpha_typeRef ref = new domGles_texcombiner_argumentAlpha_type(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_texcombiner_argumentAlpha_type::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles_texcombiner_argumentAlpha_type" );
+ meta->registerClass(domGles_texcombiner_argumentAlpha_type::create);
+
+
+ // Add attribute: source
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "source" );
+ ma->setType( dae.getAtomicTypes().get("Gles_texcombiner_source_enums"));
+ ma->setOffset( daeOffsetOf( domGles_texcombiner_argumentAlpha_type , attrSource ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: operand
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "operand" );
+ ma->setType( dae.getAtomicTypes().get("Gles_texcombiner_operandAlpha_enums"));
+ ma->setOffset( daeOffsetOf( domGles_texcombiner_argumentAlpha_type , attrOperand ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "SRC_ALPHA");
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: unit
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "unit" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_texcombiner_argumentAlpha_type , attrUnit ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_texcombiner_argumentAlpha_type));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domGles_texcombiner_argumentRGB_type.cpp b/1.4.0/dom/src/1.4/dom/domGles_texcombiner_argumentRGB_type.cpp
new file mode 100644
index 0000000..1656b81
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domGles_texcombiner_argumentRGB_type.cpp
@@ -0,0 +1,82 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domGles_texcombiner_argumentRGB_type.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domGles_texcombiner_argumentRGB_type::create(DAE& dae)
+{
+ domGles_texcombiner_argumentRGB_typeRef ref = new domGles_texcombiner_argumentRGB_type(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_texcombiner_argumentRGB_type::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles_texcombiner_argumentRGB_type" );
+ meta->registerClass(domGles_texcombiner_argumentRGB_type::create);
+
+
+ // Add attribute: source
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "source" );
+ ma->setType( dae.getAtomicTypes().get("Gles_texcombiner_source_enums"));
+ ma->setOffset( daeOffsetOf( domGles_texcombiner_argumentRGB_type , attrSource ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: operand
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "operand" );
+ ma->setType( dae.getAtomicTypes().get("Gles_texcombiner_operandRGB_enums"));
+ ma->setOffset( daeOffsetOf( domGles_texcombiner_argumentRGB_type , attrOperand ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "SRC_COLOR");
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: unit
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "unit" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_texcombiner_argumentRGB_type , attrUnit ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_texcombiner_argumentRGB_type));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domGles_texcombiner_commandAlpha_type.cpp b/1.4.0/dom/src/1.4/dom/domGles_texcombiner_commandAlpha_type.cpp
new file mode 100644
index 0000000..9dcfe9c
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domGles_texcombiner_commandAlpha_type.cpp
@@ -0,0 +1,82 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domGles_texcombiner_commandAlpha_type.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domGles_texcombiner_commandAlpha_type::create(DAE& dae)
+{
+ domGles_texcombiner_commandAlpha_typeRef ref = new domGles_texcombiner_commandAlpha_type(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_texcombiner_commandAlpha_type::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles_texcombiner_commandAlpha_type" );
+ meta->registerClass(domGles_texcombiner_commandAlpha_type::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 3 );
+ mea->setName( "argument" );
+ mea->setOffset( daeOffsetOf(domGles_texcombiner_commandAlpha_type,elemArgument_array) );
+ mea->setElementType( domGles_texcombiner_argumentAlpha_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: operator
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "operator" );
+ ma->setType( dae.getAtomicTypes().get("Gles_texcombiner_operatorAlpha_enums"));
+ ma->setOffset( daeOffsetOf( domGles_texcombiner_commandAlpha_type , attrOperator ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: scale
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "scale" );
+ ma->setType( dae.getAtomicTypes().get("xsFloat"));
+ ma->setOffset( daeOffsetOf( domGles_texcombiner_commandAlpha_type , attrScale ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_texcombiner_commandAlpha_type));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domGles_texcombiner_commandRGB_type.cpp b/1.4.0/dom/src/1.4/dom/domGles_texcombiner_commandRGB_type.cpp
new file mode 100644
index 0000000..98b9afb
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domGles_texcombiner_commandRGB_type.cpp
@@ -0,0 +1,82 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domGles_texcombiner_commandRGB_type.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domGles_texcombiner_commandRGB_type::create(DAE& dae)
+{
+ domGles_texcombiner_commandRGB_typeRef ref = new domGles_texcombiner_commandRGB_type(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_texcombiner_commandRGB_type::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles_texcombiner_commandRGB_type" );
+ meta->registerClass(domGles_texcombiner_commandRGB_type::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 3 );
+ mea->setName( "argument" );
+ mea->setOffset( daeOffsetOf(domGles_texcombiner_commandRGB_type,elemArgument_array) );
+ mea->setElementType( domGles_texcombiner_argumentRGB_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: operator
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "operator" );
+ ma->setType( dae.getAtomicTypes().get("Gles_texcombiner_operatorRGB_enums"));
+ ma->setOffset( daeOffsetOf( domGles_texcombiner_commandRGB_type , attrOperator ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: scale
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "scale" );
+ ma->setType( dae.getAtomicTypes().get("xsFloat"));
+ ma->setOffset( daeOffsetOf( domGles_texcombiner_commandRGB_type , attrScale ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_texcombiner_commandRGB_type));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domGles_texcombiner_command_type.cpp b/1.4.0/dom/src/1.4/dom/domGles_texcombiner_command_type.cpp
new file mode 100644
index 0000000..2d5dbe9
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domGles_texcombiner_command_type.cpp
@@ -0,0 +1,71 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domGles_texcombiner_command_type.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domGles_texcombiner_command_type::create(DAE& dae)
+{
+ domGles_texcombiner_command_typeRef ref = new domGles_texcombiner_command_type(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_texcombiner_command_type::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles_texcombiner_command_type" );
+ meta->registerClass(domGles_texcombiner_command_type::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "constant" );
+ mea->setOffset( daeOffsetOf(domGles_texcombiner_command_type,elemConstant) );
+ mea->setElementType( domGles_texture_constant_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "RGB" );
+ mea->setOffset( daeOffsetOf(domGles_texcombiner_command_type,elemRGB) );
+ mea->setElementType( domGles_texcombiner_commandRGB_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "alpha" );
+ mea->setOffset( daeOffsetOf(domGles_texcombiner_command_type,elemAlpha) );
+ mea->setElementType( domGles_texcombiner_commandAlpha_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGles_texcombiner_command_type));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domGles_texenv_command_type.cpp b/1.4.0/dom/src/1.4/dom/domGles_texenv_command_type.cpp
new file mode 100644
index 0000000..b48b5bd
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domGles_texenv_command_type.cpp
@@ -0,0 +1,81 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domGles_texenv_command_type.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domGles_texenv_command_type::create(DAE& dae)
+{
+ domGles_texenv_command_typeRef ref = new domGles_texenv_command_type(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_texenv_command_type::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles_texenv_command_type" );
+ meta->registerClass(domGles_texenv_command_type::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "constant" );
+ mea->setOffset( daeOffsetOf(domGles_texenv_command_type,elemConstant) );
+ mea->setElementType( domGles_texture_constant_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: operator
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "operator" );
+ ma->setType( dae.getAtomicTypes().get("Gles_texenv_mode_enums"));
+ ma->setOffset( daeOffsetOf( domGles_texenv_command_type , attrOperator ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: unit
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "unit" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_texenv_command_type , attrUnit ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_texenv_command_type));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domGles_texture_constant_type.cpp b/1.4.0/dom/src/1.4/dom/domGles_texture_constant_type.cpp
new file mode 100644
index 0000000..1ce7605
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domGles_texture_constant_type.cpp
@@ -0,0 +1,71 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domGles_texture_constant_type.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domGles_texture_constant_type::create(DAE& dae)
+{
+ domGles_texture_constant_typeRef ref = new domGles_texture_constant_type(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_texture_constant_type::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles_texture_constant_type" );
+ meta->registerClass(domGles_texture_constant_type::create);
+
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles_texture_constant_type , attrValue ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_texture_constant_type , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_texture_constant_type));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domGles_texture_pipeline.cpp b/1.4.0/dom/src/1.4/dom/domGles_texture_pipeline.cpp
new file mode 100644
index 0000000..1dfa130
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domGles_texture_pipeline.cpp
@@ -0,0 +1,86 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domGles_texture_pipeline.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domGles_texture_pipeline::create(DAE& dae)
+{
+ domGles_texture_pipelineRef ref = new domGles_texture_pipeline(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_texture_pipeline::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles_texture_pipeline" );
+ meta->registerClass(domGles_texture_pipeline::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "texcombiner" );
+ mea->setOffset( daeOffsetOf(domGles_texture_pipeline,elemTexcombiner_array) );
+ mea->setElementType( domGles_texcombiner_command_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "texenv" );
+ mea->setOffset( daeOffsetOf(domGles_texture_pipeline,elemTexenv_array) );
+ mea->setElementType( domGles_texenv_command_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domGles_texture_pipeline,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3000 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGles_texture_pipeline,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGles_texture_pipeline,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGles_texture_pipeline,_CMData), 1);
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_texture_pipeline , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_texture_pipeline));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domGles_texture_unit.cpp b/1.4.0/dom/src/1.4/dom/domGles_texture_unit.cpp
new file mode 100644
index 0000000..0b999c4
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domGles_texture_unit.cpp
@@ -0,0 +1,198 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domGles_texture_unit.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domGles_texture_unit::create(DAE& dae)
+{
+ domGles_texture_unitRef ref = new domGles_texture_unit(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_texture_unit::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles_texture_unit" );
+ meta->registerClass(domGles_texture_unit::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "surface" );
+ mea->setOffset( daeOffsetOf(domGles_texture_unit,elemSurface) );
+ mea->setElementType( domGles_texture_unit::domSurface::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "sampler_state" );
+ mea->setOffset( daeOffsetOf(domGles_texture_unit,elemSampler_state) );
+ mea->setElementType( domGles_texture_unit::domSampler_state::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "texcoord" );
+ mea->setOffset( daeOffsetOf(domGles_texture_unit,elemTexcoord) );
+ mea->setElementType( domGles_texture_unit::domTexcoord::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domGles_texture_unit,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_texture_unit , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_texture_unit));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_texture_unit::domSurface::create(DAE& dae)
+{
+ domGles_texture_unit::domSurfaceRef ref = new domGles_texture_unit::domSurface(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_texture_unit::domSurface::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "surface" );
+ meta->registerClass(domGles_texture_unit::domSurface::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_texture_unit::domSurface , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_texture_unit::domSurface));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_texture_unit::domSampler_state::create(DAE& dae)
+{
+ domGles_texture_unit::domSampler_stateRef ref = new domGles_texture_unit::domSampler_state(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_texture_unit::domSampler_state::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "sampler_state" );
+ meta->registerClass(domGles_texture_unit::domSampler_state::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_texture_unit::domSampler_state , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_texture_unit::domSampler_state));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_texture_unit::domTexcoord::create(DAE& dae)
+{
+ domGles_texture_unit::domTexcoordRef ref = new domGles_texture_unit::domTexcoord(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_texture_unit::domTexcoord::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "texcoord" );
+ meta->registerClass(domGles_texture_unit::domTexcoord::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: semantic
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "semantic" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_texture_unit::domTexcoord , attrSemantic ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_texture_unit::domTexcoord));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domGlsl_newarray_type.cpp b/1.4.0/dom/src/1.4/dom/domGlsl_newarray_type.cpp
new file mode 100644
index 0000000..a680be7
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domGlsl_newarray_type.cpp
@@ -0,0 +1,81 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domGlsl_newarray_type.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domGlsl_newarray_type::create(DAE& dae)
+{
+ domGlsl_newarray_typeRef ref = new domGlsl_newarray_type(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_newarray_type::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "glsl_newarray_type" );
+ meta->registerClass(domGlsl_newarray_type::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "glsl_param_type" );
+ mea->setOffset( daeOffsetOf(domGlsl_newarray_type,elemGlsl_param_type_array) );
+ mea->setElementType( domGlsl_param_type::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 1, 1 ) );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "array" );
+ mea->setOffset( daeOffsetOf(domGlsl_newarray_type,elemArray_array) );
+ mea->setElementType( domGlsl_newarray_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3000 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGlsl_newarray_type,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGlsl_newarray_type,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGlsl_newarray_type,_CMData), 1);
+ // Add attribute: length
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "length" );
+ ma->setType( dae.getAtomicTypes().get("xsPositiveInteger"));
+ ma->setOffset( daeOffsetOf( domGlsl_newarray_type , attrLength ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_newarray_type));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domGlsl_newparam.cpp b/1.4.0/dom/src/1.4/dom/domGlsl_newparam.cpp
new file mode 100644
index 0000000..1f4a2cf
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domGlsl_newparam.cpp
@@ -0,0 +1,177 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domGlsl_newparam.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domGlsl_newparam::create(DAE& dae)
+{
+ domGlsl_newparamRef ref = new domGlsl_newparam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_newparam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "glsl_newparam" );
+ meta->registerClass(domGlsl_newparam::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domGlsl_newparam,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "semantic" );
+ mea->setOffset( daeOffsetOf(domGlsl_newparam,elemSemantic) );
+ mea->setElementType( domGlsl_newparam::domSemantic::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "modifier" );
+ mea->setOffset( daeOffsetOf(domGlsl_newparam,elemModifier) );
+ mea->setElementType( domGlsl_newparam::domModifier::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 3, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "glsl_param_type" );
+ mea->setOffset( daeOffsetOf(domGlsl_newparam,elemGlsl_param_type) );
+ mea->setElementType( domGlsl_param_type::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 1, 1 ) );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "array" );
+ mea->setOffset( daeOffsetOf(domGlsl_newparam,elemArray) );
+ mea->setElementType( domGlsl_newarray_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGlsl_newparam,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGlsl_newparam,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGlsl_newparam,_CMData), 1);
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Glsl_identifier"));
+ ma->setOffset( daeOffsetOf( domGlsl_newparam , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_newparam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_newparam::domSemantic::create(DAE& dae)
+{
+ domGlsl_newparam::domSemanticRef ref = new domGlsl_newparam::domSemantic(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_newparam::domSemantic::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "semantic" );
+ meta->registerClass(domGlsl_newparam::domSemantic::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGlsl_newparam::domSemantic , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_newparam::domSemantic));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_newparam::domModifier::create(DAE& dae)
+{
+ domGlsl_newparam::domModifierRef ref = new domGlsl_newparam::domModifier(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_newparam::domModifier::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "modifier" );
+ meta->registerClass(domGlsl_newparam::domModifier::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_modifier_enum_common"));
+ ma->setOffset( daeOffsetOf( domGlsl_newparam::domModifier , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_newparam::domModifier));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domGlsl_param_type.cpp b/1.4.0/dom/src/1.4/dom/domGlsl_param_type.cpp
new file mode 100644
index 0000000..af7c205
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domGlsl_param_type.cpp
@@ -0,0 +1,772 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domGlsl_param_type.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domGlsl_param_type::create(DAE& dae)
+{
+ domGlsl_param_typeRef ref = new domGlsl_param_type(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_param_type::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "glsl_param_type" );
+ meta->registerClass(domGlsl_param_type::create);
+
+ meta->setIsTransparent( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool" );
+ mea->setOffset( daeOffsetOf(domGlsl_param_type,elemBool) );
+ mea->setElementType( domGlsl_param_type::domBool::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool2" );
+ mea->setOffset( daeOffsetOf(domGlsl_param_type,elemBool2) );
+ mea->setElementType( domGlsl_param_type::domBool2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool3" );
+ mea->setOffset( daeOffsetOf(domGlsl_param_type,elemBool3) );
+ mea->setElementType( domGlsl_param_type::domBool3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool4" );
+ mea->setOffset( daeOffsetOf(domGlsl_param_type,elemBool4) );
+ mea->setElementType( domGlsl_param_type::domBool4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float" );
+ mea->setOffset( daeOffsetOf(domGlsl_param_type,elemFloat) );
+ mea->setElementType( domGlsl_param_type::domFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2" );
+ mea->setOffset( daeOffsetOf(domGlsl_param_type,elemFloat2) );
+ mea->setElementType( domGlsl_param_type::domFloat2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3" );
+ mea->setOffset( daeOffsetOf(domGlsl_param_type,elemFloat3) );
+ mea->setElementType( domGlsl_param_type::domFloat3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4" );
+ mea->setOffset( daeOffsetOf(domGlsl_param_type,elemFloat4) );
+ mea->setElementType( domGlsl_param_type::domFloat4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x2" );
+ mea->setOffset( daeOffsetOf(domGlsl_param_type,elemFloat2x2) );
+ mea->setElementType( domGlsl_param_type::domFloat2x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x3" );
+ mea->setOffset( daeOffsetOf(domGlsl_param_type,elemFloat3x3) );
+ mea->setElementType( domGlsl_param_type::domFloat3x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x4" );
+ mea->setOffset( daeOffsetOf(domGlsl_param_type,elemFloat4x4) );
+ mea->setElementType( domGlsl_param_type::domFloat4x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int" );
+ mea->setOffset( daeOffsetOf(domGlsl_param_type,elemInt) );
+ mea->setElementType( domGlsl_param_type::domInt::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int2" );
+ mea->setOffset( daeOffsetOf(domGlsl_param_type,elemInt2) );
+ mea->setElementType( domGlsl_param_type::domInt2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int3" );
+ mea->setOffset( daeOffsetOf(domGlsl_param_type,elemInt3) );
+ mea->setElementType( domGlsl_param_type::domInt3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int4" );
+ mea->setOffset( daeOffsetOf(domGlsl_param_type,elemInt4) );
+ mea->setElementType( domGlsl_param_type::domInt4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "surface" );
+ mea->setOffset( daeOffsetOf(domGlsl_param_type,elemSurface) );
+ mea->setElementType( domGlsl_surface_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sampler1D" );
+ mea->setOffset( daeOffsetOf(domGlsl_param_type,elemSampler1D) );
+ mea->setElementType( domGl_sampler1D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sampler2D" );
+ mea->setOffset( daeOffsetOf(domGlsl_param_type,elemSampler2D) );
+ mea->setElementType( domGl_sampler2D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sampler3D" );
+ mea->setOffset( daeOffsetOf(domGlsl_param_type,elemSampler3D) );
+ mea->setElementType( domGl_sampler3D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "samplerCUBE" );
+ mea->setOffset( daeOffsetOf(domGlsl_param_type,elemSamplerCUBE) );
+ mea->setElementType( domGl_samplerCUBE::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "samplerRECT" );
+ mea->setOffset( daeOffsetOf(domGlsl_param_type,elemSamplerRECT) );
+ mea->setElementType( domGl_samplerRECT::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "samplerDEPTH" );
+ mea->setOffset( daeOffsetOf(domGlsl_param_type,elemSamplerDEPTH) );
+ mea->setElementType( domGl_samplerDEPTH::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "enum" );
+ mea->setOffset( daeOffsetOf(domGlsl_param_type,elemEnum) );
+ mea->setElementType( domGlsl_param_type::domEnum::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGlsl_param_type,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGlsl_param_type,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGlsl_param_type,_CMData), 1);
+ meta->setElementSize(sizeof(domGlsl_param_type));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_param_type::domBool::create(DAE& dae)
+{
+ domGlsl_param_type::domBoolRef ref = new domGlsl_param_type::domBool(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_param_type::domBool::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool" );
+ meta->registerClass(domGlsl_param_type::domBool::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Glsl_bool"));
+ ma->setOffset( daeOffsetOf( domGlsl_param_type::domBool , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_param_type::domBool));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_param_type::domBool2::create(DAE& dae)
+{
+ domGlsl_param_type::domBool2Ref ref = new domGlsl_param_type::domBool2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_param_type::domBool2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool2" );
+ meta->registerClass(domGlsl_param_type::domBool2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Glsl_bool2"));
+ ma->setOffset( daeOffsetOf( domGlsl_param_type::domBool2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_param_type::domBool2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_param_type::domBool3::create(DAE& dae)
+{
+ domGlsl_param_type::domBool3Ref ref = new domGlsl_param_type::domBool3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_param_type::domBool3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool3" );
+ meta->registerClass(domGlsl_param_type::domBool3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Glsl_bool3"));
+ ma->setOffset( daeOffsetOf( domGlsl_param_type::domBool3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_param_type::domBool3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_param_type::domBool4::create(DAE& dae)
+{
+ domGlsl_param_type::domBool4Ref ref = new domGlsl_param_type::domBool4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_param_type::domBool4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool4" );
+ meta->registerClass(domGlsl_param_type::domBool4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Glsl_bool4"));
+ ma->setOffset( daeOffsetOf( domGlsl_param_type::domBool4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_param_type::domBool4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_param_type::domFloat::create(DAE& dae)
+{
+ domGlsl_param_type::domFloatRef ref = new domGlsl_param_type::domFloat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_param_type::domFloat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float" );
+ meta->registerClass(domGlsl_param_type::domFloat::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Glsl_float"));
+ ma->setOffset( daeOffsetOf( domGlsl_param_type::domFloat , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_param_type::domFloat));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_param_type::domFloat2::create(DAE& dae)
+{
+ domGlsl_param_type::domFloat2Ref ref = new domGlsl_param_type::domFloat2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_param_type::domFloat2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2" );
+ meta->registerClass(domGlsl_param_type::domFloat2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Glsl_float2"));
+ ma->setOffset( daeOffsetOf( domGlsl_param_type::domFloat2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_param_type::domFloat2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_param_type::domFloat3::create(DAE& dae)
+{
+ domGlsl_param_type::domFloat3Ref ref = new domGlsl_param_type::domFloat3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_param_type::domFloat3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3" );
+ meta->registerClass(domGlsl_param_type::domFloat3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Glsl_float3"));
+ ma->setOffset( daeOffsetOf( domGlsl_param_type::domFloat3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_param_type::domFloat3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_param_type::domFloat4::create(DAE& dae)
+{
+ domGlsl_param_type::domFloat4Ref ref = new domGlsl_param_type::domFloat4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_param_type::domFloat4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4" );
+ meta->registerClass(domGlsl_param_type::domFloat4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Glsl_float4"));
+ ma->setOffset( daeOffsetOf( domGlsl_param_type::domFloat4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_param_type::domFloat4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_param_type::domFloat2x2::create(DAE& dae)
+{
+ domGlsl_param_type::domFloat2x2Ref ref = new domGlsl_param_type::domFloat2x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_param_type::domFloat2x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x2" );
+ meta->registerClass(domGlsl_param_type::domFloat2x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Glsl_float2x2"));
+ ma->setOffset( daeOffsetOf( domGlsl_param_type::domFloat2x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_param_type::domFloat2x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_param_type::domFloat3x3::create(DAE& dae)
+{
+ domGlsl_param_type::domFloat3x3Ref ref = new domGlsl_param_type::domFloat3x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_param_type::domFloat3x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x3" );
+ meta->registerClass(domGlsl_param_type::domFloat3x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Glsl_float3x3"));
+ ma->setOffset( daeOffsetOf( domGlsl_param_type::domFloat3x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_param_type::domFloat3x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_param_type::domFloat4x4::create(DAE& dae)
+{
+ domGlsl_param_type::domFloat4x4Ref ref = new domGlsl_param_type::domFloat4x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_param_type::domFloat4x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x4" );
+ meta->registerClass(domGlsl_param_type::domFloat4x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Glsl_float4x4"));
+ ma->setOffset( daeOffsetOf( domGlsl_param_type::domFloat4x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_param_type::domFloat4x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_param_type::domInt::create(DAE& dae)
+{
+ domGlsl_param_type::domIntRef ref = new domGlsl_param_type::domInt(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_param_type::domInt::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int" );
+ meta->registerClass(domGlsl_param_type::domInt::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Glsl_int"));
+ ma->setOffset( daeOffsetOf( domGlsl_param_type::domInt , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_param_type::domInt));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_param_type::domInt2::create(DAE& dae)
+{
+ domGlsl_param_type::domInt2Ref ref = new domGlsl_param_type::domInt2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_param_type::domInt2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int2" );
+ meta->registerClass(domGlsl_param_type::domInt2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Glsl_int2"));
+ ma->setOffset( daeOffsetOf( domGlsl_param_type::domInt2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_param_type::domInt2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_param_type::domInt3::create(DAE& dae)
+{
+ domGlsl_param_type::domInt3Ref ref = new domGlsl_param_type::domInt3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_param_type::domInt3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int3" );
+ meta->registerClass(domGlsl_param_type::domInt3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Glsl_int3"));
+ ma->setOffset( daeOffsetOf( domGlsl_param_type::domInt3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_param_type::domInt3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_param_type::domInt4::create(DAE& dae)
+{
+ domGlsl_param_type::domInt4Ref ref = new domGlsl_param_type::domInt4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_param_type::domInt4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int4" );
+ meta->registerClass(domGlsl_param_type::domInt4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Glsl_int4"));
+ ma->setOffset( daeOffsetOf( domGlsl_param_type::domInt4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_param_type::domInt4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_param_type::domEnum::create(DAE& dae)
+{
+ domGlsl_param_type::domEnumRef ref = new domGlsl_param_type::domEnum(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_param_type::domEnum::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "enum" );
+ meta->registerClass(domGlsl_param_type::domEnum::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_enumeration"));
+ ma->setOffset( daeOffsetOf( domGlsl_param_type::domEnum , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_param_type::domEnum));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domGlsl_setarray_type.cpp b/1.4.0/dom/src/1.4/dom/domGlsl_setarray_type.cpp
new file mode 100644
index 0000000..6d96a42
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domGlsl_setarray_type.cpp
@@ -0,0 +1,81 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domGlsl_setarray_type.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domGlsl_setarray_type::create(DAE& dae)
+{
+ domGlsl_setarray_typeRef ref = new domGlsl_setarray_type(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_setarray_type::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "glsl_setarray_type" );
+ meta->registerClass(domGlsl_setarray_type::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "glsl_param_type" );
+ mea->setOffset( daeOffsetOf(domGlsl_setarray_type,elemGlsl_param_type_array) );
+ mea->setElementType( domGlsl_param_type::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 1, 1 ) );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "array" );
+ mea->setOffset( daeOffsetOf(domGlsl_setarray_type,elemArray_array) );
+ mea->setElementType( domGlsl_setarray_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3000 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGlsl_setarray_type,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGlsl_setarray_type,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGlsl_setarray_type,_CMData), 1);
+ // Add attribute: length
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "length" );
+ ma->setType( dae.getAtomicTypes().get("xsPositiveInteger"));
+ ma->setOffset( daeOffsetOf( domGlsl_setarray_type , attrLength ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_setarray_type));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domGlsl_setparam.cpp b/1.4.0/dom/src/1.4/dom/domGlsl_setparam.cpp
new file mode 100644
index 0000000..c73c8a4
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domGlsl_setparam.cpp
@@ -0,0 +1,104 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domGlsl_setparam.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domGlsl_setparam::create(DAE& dae)
+{
+ domGlsl_setparamRef ref = new domGlsl_setparam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_setparam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "glsl_setparam" );
+ meta->registerClass(domGlsl_setparam::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domGlsl_setparam,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "glsl_param_type" );
+ mea->setOffset( daeOffsetOf(domGlsl_setparam,elemGlsl_param_type) );
+ mea->setElementType( domGlsl_param_type::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 1, 1 ) );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "array" );
+ mea->setOffset( daeOffsetOf(domGlsl_setparam,elemArray) );
+ mea->setElementType( domGlsl_setarray_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGlsl_setparam,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGlsl_setparam,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGlsl_setparam,_CMData), 1);
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("Glsl_identifier"));
+ ma->setOffset( daeOffsetOf( domGlsl_setparam , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: program
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "program" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGlsl_setparam , attrProgram ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_setparam));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domGlsl_setparam_simple.cpp b/1.4.0/dom/src/1.4/dom/domGlsl_setparam_simple.cpp
new file mode 100644
index 0000000..1c674de
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domGlsl_setparam_simple.cpp
@@ -0,0 +1,77 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domGlsl_setparam_simple.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domGlsl_setparam_simple::create(DAE& dae)
+{
+ domGlsl_setparam_simpleRef ref = new domGlsl_setparam_simple(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_setparam_simple::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "glsl_setparam_simple" );
+ meta->registerClass(domGlsl_setparam_simple::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domGlsl_setparam_simple,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "glsl_param_type" );
+ mea->setOffset( daeOffsetOf(domGlsl_setparam_simple,elemGlsl_param_type) );
+ mea->setElementType( domGlsl_param_type::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 1, 1, 1 ) );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("Glsl_identifier"));
+ ma->setOffset( daeOffsetOf( domGlsl_setparam_simple , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_setparam_simple));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domGlsl_surface_type.cpp b/1.4.0/dom/src/1.4/dom/domGlsl_surface_type.cpp
new file mode 100644
index 0000000..70e8ddb
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domGlsl_surface_type.cpp
@@ -0,0 +1,262 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domGlsl_surface_type.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domGlsl_surface_type::create(DAE& dae)
+{
+ domGlsl_surface_typeRef ref = new domGlsl_surface_type(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_surface_type::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "glsl_surface_type" );
+ meta->registerClass(domGlsl_surface_type::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "fx_surface_init_common" );
+ mea->setOffset( daeOffsetOf(domGlsl_surface_type,elemFx_surface_init_common) );
+ mea->setElementType( domFx_surface_init_common::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 0, 1 ) );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "format" );
+ mea->setOffset( daeOffsetOf(domGlsl_surface_type,elemFormat) );
+ mea->setElementType( domFormat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "format_hint" );
+ mea->setOffset( daeOffsetOf(domGlsl_surface_type,elemFormat_hint) );
+ mea->setElementType( domFx_surface_format_hint_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 3, 0, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "size" );
+ mea->setOffset( daeOffsetOf(domGlsl_surface_type,elemSize) );
+ mea->setElementType( domSize::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "viewport_ratio" );
+ mea->setOffset( daeOffsetOf(domGlsl_surface_type,elemViewport_ratio) );
+ mea->setElementType( domViewport_ratio::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "mip_levels" );
+ mea->setOffset( daeOffsetOf(domGlsl_surface_type,elemMip_levels) );
+ mea->setElementType( domMip_levels::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "mipmap_generate" );
+ mea->setOffset( daeOffsetOf(domGlsl_surface_type,elemMipmap_generate) );
+ mea->setElementType( domMipmap_generate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 6, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domGlsl_surface_type,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 6 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm = new daeMetaSequence( meta, cm, 7, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "generator" );
+ mea->setOffset( daeOffsetOf(domGlsl_surface_type,elemGenerator) );
+ mea->setElementType( domGenerator::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 7 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGlsl_surface_type,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGlsl_surface_type,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGlsl_surface_type,_CMData), 1);
+ // Add attribute: type
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "type" );
+ ma->setType( dae.getAtomicTypes().get("Fx_surface_type_enum"));
+ ma->setOffset( daeOffsetOf( domGlsl_surface_type , attrType ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_surface_type));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_surface_type::domGenerator::create(DAE& dae)
+{
+ domGlsl_surface_type::domGeneratorRef ref = new domGlsl_surface_type::domGenerator(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_surface_type::domGenerator::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "generator" );
+ meta->registerClass(domGlsl_surface_type::domGenerator::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domGlsl_surface_type::domGenerator,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 1, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "code" );
+ mea->setOffset( daeOffsetOf(domGlsl_surface_type::domGenerator,elemCode_array) );
+ mea->setElementType( domFx_code_profile::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "include" );
+ mea->setOffset( daeOffsetOf(domGlsl_surface_type::domGenerator,elemInclude_array) );
+ mea->setElementType( domFx_include_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementAttribute( meta, cm, 3002, 1, 1 );
+ mea->setName( "name" );
+ mea->setOffset( daeOffsetOf(domGlsl_surface_type::domGenerator,elemName) );
+ mea->setElementType( domGlsl_surface_type::domGenerator::domName::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3003, 0, -1 );
+ mea->setName( "setparam" );
+ mea->setOffset( daeOffsetOf(domGlsl_surface_type::domGenerator,elemSetparam_array) );
+ mea->setElementType( domGlsl_setparam_simple::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3003 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGlsl_surface_type::domGenerator,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGlsl_surface_type::domGenerator,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGlsl_surface_type::domGenerator,_CMData), 1);
+ meta->setElementSize(sizeof(domGlsl_surface_type::domGenerator));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_surface_type::domGenerator::domName::create(DAE& dae)
+{
+ domGlsl_surface_type::domGenerator::domNameRef ref = new domGlsl_surface_type::domGenerator::domName(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_surface_type::domGenerator::domName::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "name" );
+ meta->registerClass(domGlsl_surface_type::domGenerator::domName::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGlsl_surface_type::domGenerator::domName , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: source
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "source" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGlsl_surface_type::domGenerator::domName , attrSource ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_surface_type::domGenerator::domName));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domIDREF_array.cpp b/1.4.0/dom/src/1.4/dom/domIDREF_array.cpp
new file mode 100644
index 0000000..b80d145
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domIDREF_array.cpp
@@ -0,0 +1,90 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domIDREF_array.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domIDREF_array::create(DAE& dae)
+{
+ domIDREF_arrayRef ref = new domIDREF_array(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domIDREF_array::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "IDREF_array" );
+ meta->registerClass(domIDREF_array::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsIDREFS"));
+ ma->setOffset( daeOffsetOf( domIDREF_array , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domIDREF_array , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domIDREF_array , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domIDREF_array , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domIDREF_array));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domImage.cpp b/1.4.0/dom/src/1.4/dom/domImage.cpp
new file mode 100644
index 0000000..707bd09
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domImage.cpp
@@ -0,0 +1,226 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domImage.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domImage::create(DAE& dae)
+{
+ domImageRef ref = new domImage(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "image" );
+ meta->registerClass(domImage::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domImage,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "data" );
+ mea->setOffset( daeOffsetOf(domImage,elemData) );
+ mea->setElementType( domImage::domData::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "init_from" );
+ mea->setOffset( daeOffsetOf(domImage,elemInit_from) );
+ mea->setElementType( domImage::domInit_from::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domImage,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domImage,_contents));
+ meta->addContentsOrder(daeOffsetOf(domImage,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domImage,_CMData), 1);
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domImage , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domImage , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: format
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "format" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domImage , attrFormat ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: height
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "height" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domImage , attrHeight ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: width
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "width" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domImage , attrWidth ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: depth
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "depth" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domImage , attrDepth ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domData::create(DAE& dae)
+{
+ domImage::domDataRef ref = new domImage::domData(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domData::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "data" );
+ meta->registerClass(domImage::domData::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("ListOfHexBinary"));
+ ma->setOffset( daeOffsetOf( domImage::domData , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage::domData));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domInit_from::create(DAE& dae)
+{
+ domImage::domInit_fromRef ref = new domImage::domInit_from(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domInit_from::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "init_from" );
+ meta->registerClass(domImage::domInit_from::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domImage::domInit_from , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage::domInit_from));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domInputGlobal.cpp b/1.4.0/dom/src/1.4/dom/domInputGlobal.cpp
new file mode 100644
index 0000000..fc88570
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domInputGlobal.cpp
@@ -0,0 +1,71 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domInputGlobal.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domInputGlobal::create(DAE& dae)
+{
+ domInputGlobalRef ref = new domInputGlobal(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInputGlobal::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "InputGlobal" );
+ meta->registerClass(domInputGlobal::create);
+
+
+ // Add attribute: semantic
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "semantic" );
+ ma->setType( dae.getAtomicTypes().get("xsNMTOKEN"));
+ ma->setOffset( daeOffsetOf( domInputGlobal , attrSemantic ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: source
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "source" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInputGlobal , attrSource ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInputGlobal));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domInputLocal.cpp b/1.4.0/dom/src/1.4/dom/domInputLocal.cpp
new file mode 100644
index 0000000..6f7b68a
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domInputLocal.cpp
@@ -0,0 +1,71 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domInputLocal.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domInputLocal::create(DAE& dae)
+{
+ domInputLocalRef ref = new domInputLocal(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInputLocal::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "InputLocal" );
+ meta->registerClass(domInputLocal::create);
+
+
+ // Add attribute: semantic
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "semantic" );
+ ma->setType( dae.getAtomicTypes().get("xsNMTOKEN"));
+ ma->setOffset( daeOffsetOf( domInputLocal , attrSemantic ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: source
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "source" );
+ ma->setType( dae.getAtomicTypes().get("URIFragmentType"));
+ ma->setOffset( daeOffsetOf( domInputLocal , attrSource ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInputLocal));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domInputLocalOffset.cpp b/1.4.0/dom/src/1.4/dom/domInputLocalOffset.cpp
new file mode 100644
index 0000000..b529a63
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domInputLocalOffset.cpp
@@ -0,0 +1,94 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domInputLocalOffset.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domInputLocalOffset::create(DAE& dae)
+{
+ domInputLocalOffsetRef ref = new domInputLocalOffset(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInputLocalOffset::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "InputLocalOffset" );
+ meta->registerClass(domInputLocalOffset::create);
+
+
+ // Add attribute: offset
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "offset" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domInputLocalOffset , attrOffset ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: semantic
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "semantic" );
+ ma->setType( dae.getAtomicTypes().get("xsNMTOKEN"));
+ ma->setOffset( daeOffsetOf( domInputLocalOffset , attrSemantic ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: source
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "source" );
+ ma->setType( dae.getAtomicTypes().get("URIFragmentType"));
+ ma->setOffset( daeOffsetOf( domInputLocalOffset , attrSource ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: set
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "set" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domInputLocalOffset , attrSet ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInputLocalOffset));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domInstanceWithExtra.cpp b/1.4.0/dom/src/1.4/dom/domInstanceWithExtra.cpp
new file mode 100644
index 0000000..1f045b3
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domInstanceWithExtra.cpp
@@ -0,0 +1,93 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domInstanceWithExtra.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domInstanceWithExtra::create(DAE& dae)
+{
+ domInstanceWithExtraRef ref = new domInstanceWithExtra(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstanceWithExtra::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "InstanceWithExtra" );
+ meta->registerClass(domInstanceWithExtra::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstanceWithExtra,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstanceWithExtra , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstanceWithExtra , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstanceWithExtra , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstanceWithExtra));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domInstance_camera.cpp b/1.4.0/dom/src/1.4/dom/domInstance_camera.cpp
new file mode 100644
index 0000000..9c083cd
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domInstance_camera.cpp
@@ -0,0 +1,93 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domInstance_camera.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domInstance_camera::create(DAE& dae)
+{
+ domInstance_cameraRef ref = new domInstance_camera(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_camera::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_camera" );
+ meta->registerClass(domInstance_camera::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_camera,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_camera , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_camera , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_camera , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_camera));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domInstance_controller.cpp b/1.4.0/dom/src/1.4/dom/domInstance_controller.cpp
new file mode 100644
index 0000000..6aff381
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domInstance_controller.cpp
@@ -0,0 +1,141 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domInstance_controller.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domInstance_controller::create(DAE& dae)
+{
+ domInstance_controllerRef ref = new domInstance_controller(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_controller::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_controller" );
+ meta->registerClass(domInstance_controller::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "skeleton" );
+ mea->setOffset( daeOffsetOf(domInstance_controller,elemSkeleton_array) );
+ mea->setElementType( domInstance_controller::domSkeleton::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "bind_material" );
+ mea->setOffset( daeOffsetOf(domInstance_controller,elemBind_material) );
+ mea->setElementType( domBind_material::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_controller,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_controller , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_controller , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_controller , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_controller));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domInstance_controller::domSkeleton::create(DAE& dae)
+{
+ domInstance_controller::domSkeletonRef ref = new domInstance_controller::domSkeleton(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_controller::domSkeleton::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "skeleton" );
+ meta->registerClass(domInstance_controller::domSkeleton::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_controller::domSkeleton , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_controller::domSkeleton));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domInstance_effect.cpp b/1.4.0/dom/src/1.4/dom/domInstance_effect.cpp
new file mode 100644
index 0000000..900294b
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domInstance_effect.cpp
@@ -0,0 +1,219 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domInstance_effect.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domInstance_effect::create(DAE& dae)
+{
+ domInstance_effectRef ref = new domInstance_effect(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_effect::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_effect" );
+ meta->registerClass(domInstance_effect::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "technique_hint" );
+ mea->setOffset( daeOffsetOf(domInstance_effect,elemTechnique_hint_array) );
+ mea->setElementType( domInstance_effect::domTechnique_hint::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "setparam" );
+ mea->setOffset( daeOffsetOf(domInstance_effect,elemSetparam_array) );
+ mea->setElementType( domInstance_effect::domSetparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_effect,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_effect , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_effect , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_effect , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_effect));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domInstance_effect::domTechnique_hint::create(DAE& dae)
+{
+ domInstance_effect::domTechnique_hintRef ref = new domInstance_effect::domTechnique_hint(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_effect::domTechnique_hint::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique_hint" );
+ meta->registerClass(domInstance_effect::domTechnique_hint::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: platform
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "platform" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_effect::domTechnique_hint , attrPlatform ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: profile
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "profile" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_effect::domTechnique_hint , attrProfile ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_effect::domTechnique_hint , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_effect::domTechnique_hint));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domInstance_effect::domSetparam::create(DAE& dae)
+{
+ domInstance_effect::domSetparamRef ref = new domInstance_effect::domSetparam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_effect::domSetparam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "setparam" );
+ meta->registerClass(domInstance_effect::domSetparam::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fx_basic_type_common" );
+ mea->setOffset( daeOffsetOf(domInstance_effect::domSetparam,elemFx_basic_type_common) );
+ mea->setElementType( domFx_basic_type_common::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 1, 1 ) );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domInstance_effect::domSetparam , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_effect::domSetparam));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domInstance_force_field.cpp b/1.4.0/dom/src/1.4/dom/domInstance_force_field.cpp
new file mode 100644
index 0000000..42fe120
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domInstance_force_field.cpp
@@ -0,0 +1,93 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domInstance_force_field.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domInstance_force_field::create(DAE& dae)
+{
+ domInstance_force_fieldRef ref = new domInstance_force_field(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_force_field::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_force_field" );
+ meta->registerClass(domInstance_force_field::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_force_field,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_force_field , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_force_field , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_force_field , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_force_field));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domInstance_geometry.cpp b/1.4.0/dom/src/1.4/dom/domInstance_geometry.cpp
new file mode 100644
index 0000000..5480205
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domInstance_geometry.cpp
@@ -0,0 +1,99 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domInstance_geometry.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domInstance_geometry::create(DAE& dae)
+{
+ domInstance_geometryRef ref = new domInstance_geometry(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_geometry::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_geometry" );
+ meta->registerClass(domInstance_geometry::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "bind_material" );
+ mea->setOffset( daeOffsetOf(domInstance_geometry,elemBind_material) );
+ mea->setElementType( domBind_material::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_geometry,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_geometry , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_geometry , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_geometry , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_geometry));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domInstance_light.cpp b/1.4.0/dom/src/1.4/dom/domInstance_light.cpp
new file mode 100644
index 0000000..0d7073a
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domInstance_light.cpp
@@ -0,0 +1,93 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domInstance_light.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domInstance_light::create(DAE& dae)
+{
+ domInstance_lightRef ref = new domInstance_light(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_light::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_light" );
+ meta->registerClass(domInstance_light::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_light,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_light , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_light , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_light , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_light));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domInstance_material.cpp b/1.4.0/dom/src/1.4/dom/domInstance_material.cpp
new file mode 100644
index 0000000..7bd0bed
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domInstance_material.cpp
@@ -0,0 +1,230 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domInstance_material.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domInstance_material::create(DAE& dae)
+{
+ domInstance_materialRef ref = new domInstance_material(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_material::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_material" );
+ meta->registerClass(domInstance_material::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "bind" );
+ mea->setOffset( daeOffsetOf(domInstance_material,elemBind_array) );
+ mea->setElementType( domInstance_material::domBind::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "bind_vertex_input" );
+ mea->setOffset( daeOffsetOf(domInstance_material,elemBind_vertex_input_array) );
+ mea->setElementType( domInstance_material::domBind_vertex_input::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_material,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: symbol
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "symbol" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_material , attrSymbol ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: target
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "target" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_material , attrTarget ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_material , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_material , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_material));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domInstance_material::domBind::create(DAE& dae)
+{
+ domInstance_material::domBindRef ref = new domInstance_material::domBind(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_material::domBind::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bind" );
+ meta->registerClass(domInstance_material::domBind::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: semantic
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "semantic" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_material::domBind , attrSemantic ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: target
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "target" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domInstance_material::domBind , attrTarget ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_material::domBind));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domInstance_material::domBind_vertex_input::create(DAE& dae)
+{
+ domInstance_material::domBind_vertex_inputRef ref = new domInstance_material::domBind_vertex_input(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_material::domBind_vertex_input::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bind_vertex_input" );
+ meta->registerClass(domInstance_material::domBind_vertex_input::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: semantic
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "semantic" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_material::domBind_vertex_input , attrSemantic ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: input_semantic
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "input_semantic" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_material::domBind_vertex_input , attrInput_semantic ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: input_set
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "input_set" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domInstance_material::domBind_vertex_input , attrInput_set ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_material::domBind_vertex_input));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domInstance_node.cpp b/1.4.0/dom/src/1.4/dom/domInstance_node.cpp
new file mode 100644
index 0000000..1521467
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domInstance_node.cpp
@@ -0,0 +1,93 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domInstance_node.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domInstance_node::create(DAE& dae)
+{
+ domInstance_nodeRef ref = new domInstance_node(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_node::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_node" );
+ meta->registerClass(domInstance_node::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_node,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_node , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_node , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_node , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_node));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domInstance_physics_material.cpp b/1.4.0/dom/src/1.4/dom/domInstance_physics_material.cpp
new file mode 100644
index 0000000..56e360e
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domInstance_physics_material.cpp
@@ -0,0 +1,93 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domInstance_physics_material.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domInstance_physics_material::create(DAE& dae)
+{
+ domInstance_physics_materialRef ref = new domInstance_physics_material(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_physics_material::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_physics_material" );
+ meta->registerClass(domInstance_physics_material::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_physics_material,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_physics_material , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_physics_material , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_physics_material , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_physics_material));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domInstance_physics_model.cpp b/1.4.0/dom/src/1.4/dom/domInstance_physics_model.cpp
new file mode 100644
index 0000000..c13969e
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domInstance_physics_model.cpp
@@ -0,0 +1,122 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domInstance_physics_model.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domInstance_physics_model::create(DAE& dae)
+{
+ domInstance_physics_modelRef ref = new domInstance_physics_model(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_physics_model::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_physics_model" );
+ meta->registerClass(domInstance_physics_model::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "instance_force_field" );
+ mea->setOffset( daeOffsetOf(domInstance_physics_model,elemInstance_force_field_array) );
+ mea->setElementType( domInstance_force_field::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "instance_rigid_body" );
+ mea->setOffset( daeOffsetOf(domInstance_physics_model,elemInstance_rigid_body_array) );
+ mea->setElementType( domInstance_rigid_body::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "instance_rigid_constraint" );
+ mea->setOffset( daeOffsetOf(domInstance_physics_model,elemInstance_rigid_constraint_array) );
+ mea->setElementType( domInstance_rigid_constraint::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_physics_model,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_physics_model , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_physics_model , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_physics_model , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: parent
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "parent" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_physics_model , attrParent ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_physics_model));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domInstance_rigid_body.cpp b/1.4.0/dom/src/1.4/dom/domInstance_rigid_body.cpp
new file mode 100644
index 0000000..f9e3e1c
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domInstance_rigid_body.cpp
@@ -0,0 +1,580 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domInstance_rigid_body.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domInstance_rigid_body::create(DAE& dae)
+{
+ domInstance_rigid_bodyRef ref = new domInstance_rigid_body(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_rigid_body::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_rigid_body" );
+ meta->registerClass(domInstance_rigid_body::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "technique_common" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body,elemTechnique_common) );
+ mea->setElementType( domInstance_rigid_body::domTechnique_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body,elemTechnique_array) );
+ mea->setElementType( domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: body
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "body" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_rigid_body , attrBody ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_rigid_body , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_rigid_body , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: target
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "target" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_rigid_body , attrTarget ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_rigid_body));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domInstance_rigid_body::domTechnique_common::create(DAE& dae)
+{
+ domInstance_rigid_body::domTechnique_commonRef ref = new domInstance_rigid_body::domTechnique_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_rigid_body::domTechnique_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique_common" );
+ meta->registerClass(domInstance_rigid_body::domTechnique_common::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "angular_velocity" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemAngular_velocity) );
+ mea->setElementType( domInstance_rigid_body::domTechnique_common::domAngular_velocity::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "velocity" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemVelocity) );
+ mea->setElementType( domInstance_rigid_body::domTechnique_common::domVelocity::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "dynamic" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemDynamic) );
+ mea->setElementType( domInstance_rigid_body::domTechnique_common::domDynamic::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "mass" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemMass) );
+ mea->setElementType( domTargetableFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "mass_frame" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemMass_frame) );
+ mea->setElementType( domInstance_rigid_body::domTechnique_common::domMass_frame::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "inertia" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemInertia) );
+ mea->setElementType( domTargetableFloat3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 6, 0, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "instance_physics_material" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemInstance_physics_material) );
+ mea->setElementType( domInstance_physics_material::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "physics_material" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemPhysics_material) );
+ mea->setElementType( domPhysics_material::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 7, 0, -1 );
+ mea->setName( "shape" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemShape_array) );
+ mea->setElementType( domInstance_rigid_body::domTechnique_common::domShape::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 7 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domInstance_rigid_body::domTechnique_common,_contents));
+ meta->addContentsOrder(daeOffsetOf(domInstance_rigid_body::domTechnique_common,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domInstance_rigid_body::domTechnique_common,_CMData), 1);
+ meta->setElementSize(sizeof(domInstance_rigid_body::domTechnique_common));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domInstance_rigid_body::domTechnique_common::domAngular_velocity::create(DAE& dae)
+{
+ domInstance_rigid_body::domTechnique_common::domAngular_velocityRef ref = new domInstance_rigid_body::domTechnique_common::domAngular_velocity(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_rigid_body::domTechnique_common::domAngular_velocity::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "angular_velocity" );
+ meta->registerClass(domInstance_rigid_body::domTechnique_common::domAngular_velocity::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domInstance_rigid_body::domTechnique_common::domAngular_velocity , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_rigid_body::domTechnique_common::domAngular_velocity));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domInstance_rigid_body::domTechnique_common::domVelocity::create(DAE& dae)
+{
+ domInstance_rigid_body::domTechnique_common::domVelocityRef ref = new domInstance_rigid_body::domTechnique_common::domVelocity(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_rigid_body::domTechnique_common::domVelocity::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "velocity" );
+ meta->registerClass(domInstance_rigid_body::domTechnique_common::domVelocity::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domInstance_rigid_body::domTechnique_common::domVelocity , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_rigid_body::domTechnique_common::domVelocity));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domInstance_rigid_body::domTechnique_common::domDynamic::create(DAE& dae)
+{
+ domInstance_rigid_body::domTechnique_common::domDynamicRef ref = new domInstance_rigid_body::domTechnique_common::domDynamic(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_rigid_body::domTechnique_common::domDynamic::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "dynamic" );
+ meta->registerClass(domInstance_rigid_body::domTechnique_common::domDynamic::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domInstance_rigid_body::domTechnique_common::domDynamic , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_rigid_body::domTechnique_common::domDynamic , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_rigid_body::domTechnique_common::domDynamic));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domInstance_rigid_body::domTechnique_common::domMass_frame::create(DAE& dae)
+{
+ domInstance_rigid_body::domTechnique_common::domMass_frameRef ref = new domInstance_rigid_body::domTechnique_common::domMass_frame(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_rigid_body::domTechnique_common::domMass_frame::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mass_frame" );
+ meta->registerClass(domInstance_rigid_body::domTechnique_common::domMass_frame::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "translate" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domMass_frame,elemTranslate_array) );
+ mea->setElementType( domTranslate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "rotate" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domMass_frame,elemRotate_array) );
+ mea->setElementType( domRotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3000 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domInstance_rigid_body::domTechnique_common::domMass_frame,_contents));
+ meta->addContentsOrder(daeOffsetOf(domInstance_rigid_body::domTechnique_common::domMass_frame,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domInstance_rigid_body::domTechnique_common::domMass_frame,_CMData), 1);
+ meta->setElementSize(sizeof(domInstance_rigid_body::domTechnique_common::domMass_frame));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domInstance_rigid_body::domTechnique_common::domShape::create(DAE& dae)
+{
+ domInstance_rigid_body::domTechnique_common::domShapeRef ref = new domInstance_rigid_body::domTechnique_common::domShape(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_rigid_body::domTechnique_common::domShape::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "shape" );
+ meta->registerClass(domInstance_rigid_body::domTechnique_common::domShape::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "hollow" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemHollow) );
+ mea->setElementType( domInstance_rigid_body::domTechnique_common::domShape::domHollow::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "mass" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemMass) );
+ mea->setElementType( domTargetableFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "density" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemDensity) );
+ mea->setElementType( domTargetableFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 3, 0, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "instance_physics_material" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemInstance_physics_material) );
+ mea->setElementType( domInstance_physics_material::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "physics_material" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemPhysics_material) );
+ mea->setElementType( domPhysics_material::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm = new daeMetaChoice( meta, cm, 1, 4, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "instance_geometry" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemInstance_geometry) );
+ mea->setElementType( domInstance_geometry::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "plane" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemPlane) );
+ mea->setElementType( domPlane::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "box" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemBox) );
+ mea->setElementType( domBox::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sphere" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemSphere) );
+ mea->setElementType( domSphere::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "cylinder" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemCylinder) );
+ mea->setElementType( domCylinder::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "tapered_cylinder" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemTapered_cylinder) );
+ mea->setElementType( domTapered_cylinder::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "capsule" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemCapsule) );
+ mea->setElementType( domCapsule::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "tapered_capsule" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemTapered_capsule) );
+ mea->setElementType( domTapered_capsule::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm = new daeMetaChoice( meta, cm, 2, 5, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "translate" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemTranslate_array) );
+ mea->setElementType( domTranslate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "rotate" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemRotate_array) );
+ mea->setElementType( domRotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3006, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3006 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,_contents));
+ meta->addContentsOrder(daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,_CMData), 3);
+ meta->setElementSize(sizeof(domInstance_rigid_body::domTechnique_common::domShape));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domInstance_rigid_body::domTechnique_common::domShape::domHollow::create(DAE& dae)
+{
+ domInstance_rigid_body::domTechnique_common::domShape::domHollowRef ref = new domInstance_rigid_body::domTechnique_common::domShape::domHollow(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_rigid_body::domTechnique_common::domShape::domHollow::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "hollow" );
+ meta->registerClass(domInstance_rigid_body::domTechnique_common::domShape::domHollow::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domInstance_rigid_body::domTechnique_common::domShape::domHollow , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_rigid_body::domTechnique_common::domShape::domHollow , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_rigid_body::domTechnique_common::domShape::domHollow));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domInstance_rigid_constraint.cpp b/1.4.0/dom/src/1.4/dom/domInstance_rigid_constraint.cpp
new file mode 100644
index 0000000..06ec22c
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domInstance_rigid_constraint.cpp
@@ -0,0 +1,93 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domInstance_rigid_constraint.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domInstance_rigid_constraint::create(DAE& dae)
+{
+ domInstance_rigid_constraintRef ref = new domInstance_rigid_constraint(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_rigid_constraint::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_rigid_constraint" );
+ meta->registerClass(domInstance_rigid_constraint::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_constraint,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: constraint
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "constraint" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_rigid_constraint , attrConstraint ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_rigid_constraint , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_rigid_constraint , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_rigid_constraint));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domInt_array.cpp b/1.4.0/dom/src/1.4/dom/domInt_array.cpp
new file mode 100644
index 0000000..db57dca
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domInt_array.cpp
@@ -0,0 +1,114 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domInt_array.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domInt_array::create(DAE& dae)
+{
+ domInt_arrayRef ref = new domInt_array(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInt_array::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int_array" );
+ meta->registerClass(domInt_array::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("ListOfInts"));
+ ma->setOffset( daeOffsetOf( domInt_array , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domInt_array , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInt_array , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domInt_array , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: minInclusive
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "minInclusive" );
+ ma->setType( dae.getAtomicTypes().get("xsInteger"));
+ ma->setOffset( daeOffsetOf( domInt_array , attrMinInclusive ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "-2147483648");
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: maxInclusive
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "maxInclusive" );
+ ma->setType( dae.getAtomicTypes().get("xsInteger"));
+ ma->setOffset( daeOffsetOf( domInt_array , attrMaxInclusive ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "2147483647");
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInt_array));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domLibrary_animation_clips.cpp b/1.4.0/dom/src/1.4/dom/domLibrary_animation_clips.cpp
new file mode 100644
index 0000000..ded717d
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domLibrary_animation_clips.cpp
@@ -0,0 +1,93 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domLibrary_animation_clips.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domLibrary_animation_clips::create(DAE& dae)
+{
+ domLibrary_animation_clipsRef ref = new domLibrary_animation_clips(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_animation_clips::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_animation_clips" );
+ meta->registerClass(domLibrary_animation_clips::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_animation_clips,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "animation_clip" );
+ mea->setOffset( daeOffsetOf(domLibrary_animation_clips,elemAnimation_clip_array) );
+ mea->setElementType( domAnimation_clip::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_animation_clips,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_animation_clips , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domLibrary_animation_clips , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_animation_clips));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domLibrary_animations.cpp b/1.4.0/dom/src/1.4/dom/domLibrary_animations.cpp
new file mode 100644
index 0000000..d58e4c8
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domLibrary_animations.cpp
@@ -0,0 +1,93 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domLibrary_animations.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domLibrary_animations::create(DAE& dae)
+{
+ domLibrary_animationsRef ref = new domLibrary_animations(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_animations::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_animations" );
+ meta->registerClass(domLibrary_animations::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_animations,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "animation" );
+ mea->setOffset( daeOffsetOf(domLibrary_animations,elemAnimation_array) );
+ mea->setElementType( domAnimation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_animations,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_animations , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domLibrary_animations , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_animations));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domLibrary_cameras.cpp b/1.4.0/dom/src/1.4/dom/domLibrary_cameras.cpp
new file mode 100644
index 0000000..cfdf0d6
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domLibrary_cameras.cpp
@@ -0,0 +1,93 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domLibrary_cameras.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domLibrary_cameras::create(DAE& dae)
+{
+ domLibrary_camerasRef ref = new domLibrary_cameras(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_cameras::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_cameras" );
+ meta->registerClass(domLibrary_cameras::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_cameras,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "camera" );
+ mea->setOffset( daeOffsetOf(domLibrary_cameras,elemCamera_array) );
+ mea->setElementType( domCamera::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_cameras,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_cameras , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domLibrary_cameras , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_cameras));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domLibrary_controllers.cpp b/1.4.0/dom/src/1.4/dom/domLibrary_controllers.cpp
new file mode 100644
index 0000000..87f7aaa
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domLibrary_controllers.cpp
@@ -0,0 +1,93 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domLibrary_controllers.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domLibrary_controllers::create(DAE& dae)
+{
+ domLibrary_controllersRef ref = new domLibrary_controllers(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_controllers::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_controllers" );
+ meta->registerClass(domLibrary_controllers::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_controllers,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "controller" );
+ mea->setOffset( daeOffsetOf(domLibrary_controllers,elemController_array) );
+ mea->setElementType( domController::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_controllers,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_controllers , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domLibrary_controllers , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_controllers));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domLibrary_effects.cpp b/1.4.0/dom/src/1.4/dom/domLibrary_effects.cpp
new file mode 100644
index 0000000..084ed7a
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domLibrary_effects.cpp
@@ -0,0 +1,93 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domLibrary_effects.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domLibrary_effects::create(DAE& dae)
+{
+ domLibrary_effectsRef ref = new domLibrary_effects(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_effects::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_effects" );
+ meta->registerClass(domLibrary_effects::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_effects,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "effect" );
+ mea->setOffset( daeOffsetOf(domLibrary_effects,elemEffect_array) );
+ mea->setElementType( domEffect::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_effects,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_effects , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domLibrary_effects , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_effects));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domLibrary_force_fields.cpp b/1.4.0/dom/src/1.4/dom/domLibrary_force_fields.cpp
new file mode 100644
index 0000000..6b9c250
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domLibrary_force_fields.cpp
@@ -0,0 +1,93 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domLibrary_force_fields.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domLibrary_force_fields::create(DAE& dae)
+{
+ domLibrary_force_fieldsRef ref = new domLibrary_force_fields(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_force_fields::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_force_fields" );
+ meta->registerClass(domLibrary_force_fields::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_force_fields,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "force_field" );
+ mea->setOffset( daeOffsetOf(domLibrary_force_fields,elemForce_field_array) );
+ mea->setElementType( domForce_field::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_force_fields,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_force_fields , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domLibrary_force_fields , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_force_fields));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domLibrary_geometries.cpp b/1.4.0/dom/src/1.4/dom/domLibrary_geometries.cpp
new file mode 100644
index 0000000..119faa8
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domLibrary_geometries.cpp
@@ -0,0 +1,93 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domLibrary_geometries.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domLibrary_geometries::create(DAE& dae)
+{
+ domLibrary_geometriesRef ref = new domLibrary_geometries(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_geometries::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_geometries" );
+ meta->registerClass(domLibrary_geometries::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_geometries,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "geometry" );
+ mea->setOffset( daeOffsetOf(domLibrary_geometries,elemGeometry_array) );
+ mea->setElementType( domGeometry::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_geometries,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_geometries , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domLibrary_geometries , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_geometries));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domLibrary_images.cpp b/1.4.0/dom/src/1.4/dom/domLibrary_images.cpp
new file mode 100644
index 0000000..5208d21
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domLibrary_images.cpp
@@ -0,0 +1,93 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domLibrary_images.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domLibrary_images::create(DAE& dae)
+{
+ domLibrary_imagesRef ref = new domLibrary_images(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_images::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_images" );
+ meta->registerClass(domLibrary_images::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_images,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "image" );
+ mea->setOffset( daeOffsetOf(domLibrary_images,elemImage_array) );
+ mea->setElementType( domImage::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_images,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_images , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domLibrary_images , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_images));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domLibrary_lights.cpp b/1.4.0/dom/src/1.4/dom/domLibrary_lights.cpp
new file mode 100644
index 0000000..7d9c81f
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domLibrary_lights.cpp
@@ -0,0 +1,93 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domLibrary_lights.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domLibrary_lights::create(DAE& dae)
+{
+ domLibrary_lightsRef ref = new domLibrary_lights(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_lights::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_lights" );
+ meta->registerClass(domLibrary_lights::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_lights,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "light" );
+ mea->setOffset( daeOffsetOf(domLibrary_lights,elemLight_array) );
+ mea->setElementType( domLight::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_lights,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_lights , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domLibrary_lights , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_lights));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domLibrary_materials.cpp b/1.4.0/dom/src/1.4/dom/domLibrary_materials.cpp
new file mode 100644
index 0000000..89a5f21
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domLibrary_materials.cpp
@@ -0,0 +1,93 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domLibrary_materials.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domLibrary_materials::create(DAE& dae)
+{
+ domLibrary_materialsRef ref = new domLibrary_materials(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_materials::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_materials" );
+ meta->registerClass(domLibrary_materials::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_materials,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "material" );
+ mea->setOffset( daeOffsetOf(domLibrary_materials,elemMaterial_array) );
+ mea->setElementType( domMaterial::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_materials,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_materials , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domLibrary_materials , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_materials));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domLibrary_nodes.cpp b/1.4.0/dom/src/1.4/dom/domLibrary_nodes.cpp
new file mode 100644
index 0000000..382070a
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domLibrary_nodes.cpp
@@ -0,0 +1,93 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domLibrary_nodes.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domLibrary_nodes::create(DAE& dae)
+{
+ domLibrary_nodesRef ref = new domLibrary_nodes(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_nodes::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_nodes" );
+ meta->registerClass(domLibrary_nodes::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_nodes,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "node" );
+ mea->setOffset( daeOffsetOf(domLibrary_nodes,elemNode_array) );
+ mea->setElementType( domNode::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_nodes,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_nodes , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domLibrary_nodes , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_nodes));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domLibrary_physics_materials.cpp b/1.4.0/dom/src/1.4/dom/domLibrary_physics_materials.cpp
new file mode 100644
index 0000000..ca72d97
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domLibrary_physics_materials.cpp
@@ -0,0 +1,93 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domLibrary_physics_materials.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domLibrary_physics_materials::create(DAE& dae)
+{
+ domLibrary_physics_materialsRef ref = new domLibrary_physics_materials(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_physics_materials::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_physics_materials" );
+ meta->registerClass(domLibrary_physics_materials::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_physics_materials,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "physics_material" );
+ mea->setOffset( daeOffsetOf(domLibrary_physics_materials,elemPhysics_material_array) );
+ mea->setElementType( domPhysics_material::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_physics_materials,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_physics_materials , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domLibrary_physics_materials , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_physics_materials));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domLibrary_physics_models.cpp b/1.4.0/dom/src/1.4/dom/domLibrary_physics_models.cpp
new file mode 100644
index 0000000..0b3af71
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domLibrary_physics_models.cpp
@@ -0,0 +1,93 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domLibrary_physics_models.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domLibrary_physics_models::create(DAE& dae)
+{
+ domLibrary_physics_modelsRef ref = new domLibrary_physics_models(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_physics_models::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_physics_models" );
+ meta->registerClass(domLibrary_physics_models::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_physics_models,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "physics_model" );
+ mea->setOffset( daeOffsetOf(domLibrary_physics_models,elemPhysics_model_array) );
+ mea->setElementType( domPhysics_model::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_physics_models,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_physics_models , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domLibrary_physics_models , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_physics_models));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domLibrary_physics_scenes.cpp b/1.4.0/dom/src/1.4/dom/domLibrary_physics_scenes.cpp
new file mode 100644
index 0000000..678011f
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domLibrary_physics_scenes.cpp
@@ -0,0 +1,93 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domLibrary_physics_scenes.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domLibrary_physics_scenes::create(DAE& dae)
+{
+ domLibrary_physics_scenesRef ref = new domLibrary_physics_scenes(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_physics_scenes::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_physics_scenes" );
+ meta->registerClass(domLibrary_physics_scenes::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_physics_scenes,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "physics_scene" );
+ mea->setOffset( daeOffsetOf(domLibrary_physics_scenes,elemPhysics_scene_array) );
+ mea->setElementType( domPhysics_scene::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_physics_scenes,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_physics_scenes , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domLibrary_physics_scenes , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_physics_scenes));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domLibrary_visual_scenes.cpp b/1.4.0/dom/src/1.4/dom/domLibrary_visual_scenes.cpp
new file mode 100644
index 0000000..eff702c
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domLibrary_visual_scenes.cpp
@@ -0,0 +1,93 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domLibrary_visual_scenes.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domLibrary_visual_scenes::create(DAE& dae)
+{
+ domLibrary_visual_scenesRef ref = new domLibrary_visual_scenes(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_visual_scenes::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_visual_scenes" );
+ meta->registerClass(domLibrary_visual_scenes::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_visual_scenes,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "visual_scene" );
+ mea->setOffset( daeOffsetOf(domLibrary_visual_scenes,elemVisual_scene_array) );
+ mea->setElementType( domVisual_scene::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_visual_scenes,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_visual_scenes , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domLibrary_visual_scenes , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_visual_scenes));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domLight.cpp b/1.4.0/dom/src/1.4/dom/domLight.cpp
new file mode 100644
index 0000000..f777725
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domLight.cpp
@@ -0,0 +1,364 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domLight.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domLight::create(DAE& dae)
+{
+ domLightRef ref = new domLight(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLight::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light" );
+ meta->registerClass(domLight::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLight,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "technique_common" );
+ mea->setOffset( daeOffsetOf(domLight,elemTechnique_common) );
+ mea->setElementType( domLight::domTechnique_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domLight,elemTechnique_array) );
+ mea->setElementType( domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLight,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLight , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domLight , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLight));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domLight::domTechnique_common::create(DAE& dae)
+{
+ domLight::domTechnique_commonRef ref = new domLight::domTechnique_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLight::domTechnique_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique_common" );
+ meta->registerClass(domLight::domTechnique_common::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "ambient" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common,elemAmbient) );
+ mea->setElementType( domLight::domTechnique_common::domAmbient::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "directional" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common,elemDirectional) );
+ mea->setElementType( domLight::domTechnique_common::domDirectional::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "point" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common,elemPoint) );
+ mea->setElementType( domLight::domTechnique_common::domPoint::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "spot" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common,elemSpot) );
+ mea->setElementType( domLight::domTechnique_common::domSpot::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domLight::domTechnique_common,_contents));
+ meta->addContentsOrder(daeOffsetOf(domLight::domTechnique_common,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domLight::domTechnique_common,_CMData), 1);
+ meta->setElementSize(sizeof(domLight::domTechnique_common));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domLight::domTechnique_common::domAmbient::create(DAE& dae)
+{
+ domLight::domTechnique_common::domAmbientRef ref = new domLight::domTechnique_common::domAmbient(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLight::domTechnique_common::domAmbient::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "ambient" );
+ meta->registerClass(domLight::domTechnique_common::domAmbient::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "color" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domAmbient,elemColor) );
+ mea->setElementType( domTargetableFloat3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domLight::domTechnique_common::domAmbient));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domLight::domTechnique_common::domDirectional::create(DAE& dae)
+{
+ domLight::domTechnique_common::domDirectionalRef ref = new domLight::domTechnique_common::domDirectional(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLight::domTechnique_common::domDirectional::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "directional" );
+ meta->registerClass(domLight::domTechnique_common::domDirectional::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "color" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domDirectional,elemColor) );
+ mea->setElementType( domTargetableFloat3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domLight::domTechnique_common::domDirectional));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domLight::domTechnique_common::domPoint::create(DAE& dae)
+{
+ domLight::domTechnique_common::domPointRef ref = new domLight::domTechnique_common::domPoint(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLight::domTechnique_common::domPoint::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "point" );
+ meta->registerClass(domLight::domTechnique_common::domPoint::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "color" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domPoint,elemColor) );
+ mea->setElementType( domTargetableFloat3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "constant_attenuation" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domPoint,elemConstant_attenuation) );
+ mea->setElementType( domTargetableFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "linear_attenuation" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domPoint,elemLinear_attenuation) );
+ mea->setElementType( domTargetableFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "quadratic_attenuation" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domPoint,elemQuadratic_attenuation) );
+ mea->setElementType( domTargetableFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domLight::domTechnique_common::domPoint));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domLight::domTechnique_common::domSpot::create(DAE& dae)
+{
+ domLight::domTechnique_common::domSpotRef ref = new domLight::domTechnique_common::domSpot(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLight::domTechnique_common::domSpot::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "spot" );
+ meta->registerClass(domLight::domTechnique_common::domSpot::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "color" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domSpot,elemColor) );
+ mea->setElementType( domTargetableFloat3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "constant_attenuation" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domSpot,elemConstant_attenuation) );
+ mea->setElementType( domTargetableFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "linear_attenuation" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domSpot,elemLinear_attenuation) );
+ mea->setElementType( domTargetableFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "quadratic_attenuation" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domSpot,elemQuadratic_attenuation) );
+ mea->setElementType( domTargetableFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "falloff_angle" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domSpot,elemFalloff_angle) );
+ mea->setElementType( domTargetableFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "falloff_exponent" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domSpot,elemFalloff_exponent) );
+ mea->setElementType( domTargetableFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 5 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domLight::domTechnique_common::domSpot));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domLines.cpp b/1.4.0/dom/src/1.4/dom/domLines.cpp
new file mode 100644
index 0000000..33934a8
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domLines.cpp
@@ -0,0 +1,105 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domLines.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domLines::create(DAE& dae)
+{
+ domLinesRef ref = new domLines(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLines::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "lines" );
+ meta->registerClass(domLines::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domLines,elemInput_array) );
+ mea->setElementType( domInputLocalOffset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "p" );
+ mea->setOffset( daeOffsetOf(domLines,elemP) );
+ mea->setElementType( domP::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLines,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domLines , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domLines , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: material
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "material" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domLines , attrMaterial ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLines));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domLinestrips.cpp b/1.4.0/dom/src/1.4/dom/domLinestrips.cpp
new file mode 100644
index 0000000..a058d7d
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domLinestrips.cpp
@@ -0,0 +1,105 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domLinestrips.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domLinestrips::create(DAE& dae)
+{
+ domLinestripsRef ref = new domLinestrips(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLinestrips::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "linestrips" );
+ meta->registerClass(domLinestrips::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domLinestrips,elemInput_array) );
+ mea->setElementType( domInputLocalOffset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "p" );
+ mea->setOffset( daeOffsetOf(domLinestrips,elemP_array) );
+ mea->setElementType( domP::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLinestrips,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domLinestrips , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domLinestrips , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: material
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "material" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domLinestrips , attrMaterial ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLinestrips));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domLookat.cpp b/1.4.0/dom/src/1.4/dom/domLookat.cpp
new file mode 100644
index 0000000..345cf1b
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domLookat.cpp
@@ -0,0 +1,67 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domLookat.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domLookat::create(DAE& dae)
+{
+ domLookatRef ref = new domLookat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLookat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "lookat" );
+ meta->registerClass(domLookat::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x3"));
+ ma->setOffset( daeOffsetOf( domLookat , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domLookat , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLookat));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domMaterial.cpp b/1.4.0/dom/src/1.4/dom/domMaterial.cpp
new file mode 100644
index 0000000..1cde142
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domMaterial.cpp
@@ -0,0 +1,93 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domMaterial.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domMaterial::create(DAE& dae)
+{
+ domMaterialRef ref = new domMaterial(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domMaterial::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "material" );
+ meta->registerClass(domMaterial::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domMaterial,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "instance_effect" );
+ mea->setOffset( daeOffsetOf(domMaterial,elemInstance_effect) );
+ mea->setElementType( domInstance_effect::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domMaterial,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domMaterial , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domMaterial , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domMaterial));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domMatrix.cpp b/1.4.0/dom/src/1.4/dom/domMatrix.cpp
new file mode 100644
index 0000000..f269a2b
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domMatrix.cpp
@@ -0,0 +1,67 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domMatrix.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domMatrix::create(DAE& dae)
+{
+ domMatrixRef ref = new domMatrix(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domMatrix::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "matrix" );
+ meta->registerClass(domMatrix::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x4"));
+ ma->setOffset( daeOffsetOf( domMatrix , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domMatrix , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domMatrix));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domMesh.cpp b/1.4.0/dom/src/1.4/dom/domMesh.cpp
new file mode 100644
index 0000000..a8b593e
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domMesh.cpp
@@ -0,0 +1,123 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domMesh.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domMesh::create(DAE& dae)
+{
+ domMeshRef ref = new domMesh(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domMesh::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mesh" );
+ meta->registerClass(domMesh::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "source" );
+ mea->setOffset( daeOffsetOf(domMesh,elemSource_array) );
+ mea->setElementType( domSource::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "vertices" );
+ mea->setOffset( daeOffsetOf(domMesh,elemVertices) );
+ mea->setElementType( domVertices::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 2, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "lines" );
+ mea->setOffset( daeOffsetOf(domMesh,elemLines_array) );
+ mea->setElementType( domLines::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "linestrips" );
+ mea->setOffset( daeOffsetOf(domMesh,elemLinestrips_array) );
+ mea->setElementType( domLinestrips::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "polygons" );
+ mea->setOffset( daeOffsetOf(domMesh,elemPolygons_array) );
+ mea->setElementType( domPolygons::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "polylist" );
+ mea->setOffset( daeOffsetOf(domMesh,elemPolylist_array) );
+ mea->setElementType( domPolylist::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "triangles" );
+ mea->setOffset( daeOffsetOf(domMesh,elemTriangles_array) );
+ mea->setElementType( domTriangles::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "trifans" );
+ mea->setOffset( daeOffsetOf(domMesh,elemTrifans_array) );
+ mea->setElementType( domTrifans::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "tristrips" );
+ mea->setOffset( daeOffsetOf(domMesh,elemTristrips_array) );
+ mea->setElementType( domTristrips::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3003, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domMesh,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3003 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domMesh,_contents));
+ meta->addContentsOrder(daeOffsetOf(domMesh,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domMesh,_CMData), 1);
+ meta->setElementSize(sizeof(domMesh));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domMorph.cpp b/1.4.0/dom/src/1.4/dom/domMorph.cpp
new file mode 100644
index 0000000..cccd055
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domMorph.cpp
@@ -0,0 +1,140 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domMorph.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domMorph::create(DAE& dae)
+{
+ domMorphRef ref = new domMorph(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domMorph::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "morph" );
+ meta->registerClass(domMorph::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 2, -1 );
+ mea->setName( "source" );
+ mea->setOffset( daeOffsetOf(domMorph,elemSource_array) );
+ mea->setElementType( domSource::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "targets" );
+ mea->setOffset( daeOffsetOf(domMorph,elemTargets) );
+ mea->setElementType( domMorph::domTargets::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domMorph,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: method
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "method" );
+ ma->setType( dae.getAtomicTypes().get("MorphMethodType"));
+ ma->setOffset( daeOffsetOf( domMorph , attrMethod ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "NORMALIZED");
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: source
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "source" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domMorph , attrSource ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domMorph));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domMorph::domTargets::create(DAE& dae)
+{
+ domMorph::domTargetsRef ref = new domMorph::domTargets(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domMorph::domTargets::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "targets" );
+ meta->registerClass(domMorph::domTargets::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 2, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domMorph::domTargets,elemInput_array) );
+ mea->setElementType( domInputLocal::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domMorph::domTargets,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domMorph::domTargets));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domName_array.cpp b/1.4.0/dom/src/1.4/dom/domName_array.cpp
new file mode 100644
index 0000000..5d7efe7
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domName_array.cpp
@@ -0,0 +1,90 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domName_array.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domName_array::create(DAE& dae)
+{
+ domName_arrayRef ref = new domName_array(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domName_array::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "Name_array" );
+ meta->registerClass(domName_array::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("ListOfNames"));
+ ma->setOffset( daeOffsetOf( domName_array , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domName_array , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domName_array , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domName_array , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domName_array));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domNode.cpp b/1.4.0/dom/src/1.4/dom/domNode.cpp
new file mode 100644
index 0000000..bc71d8a
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domNode.cpp
@@ -0,0 +1,203 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domNode.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domNode::create(DAE& dae)
+{
+ domNodeRef ref = new domNode(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domNode::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "node" );
+ meta->registerClass(domNode::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domNode,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "lookat" );
+ mea->setOffset( daeOffsetOf(domNode,elemLookat_array) );
+ mea->setElementType( domLookat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "matrix" );
+ mea->setOffset( daeOffsetOf(domNode,elemMatrix_array) );
+ mea->setElementType( domMatrix::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "rotate" );
+ mea->setOffset( daeOffsetOf(domNode,elemRotate_array) );
+ mea->setElementType( domRotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "scale" );
+ mea->setOffset( daeOffsetOf(domNode,elemScale_array) );
+ mea->setElementType( domScale::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "skew" );
+ mea->setOffset( daeOffsetOf(domNode,elemSkew_array) );
+ mea->setElementType( domSkew::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "translate" );
+ mea->setOffset( daeOffsetOf(domNode,elemTranslate_array) );
+ mea->setElementType( domTranslate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3002, 0, -1 );
+ mea->setName( "instance_camera" );
+ mea->setOffset( daeOffsetOf(domNode,elemInstance_camera_array) );
+ mea->setElementType( domInstance_camera::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3003, 0, -1 );
+ mea->setName( "instance_controller" );
+ mea->setOffset( daeOffsetOf(domNode,elemInstance_controller_array) );
+ mea->setElementType( domInstance_controller::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3004, 0, -1 );
+ mea->setName( "instance_geometry" );
+ mea->setOffset( daeOffsetOf(domNode,elemInstance_geometry_array) );
+ mea->setElementType( domInstance_geometry::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3005, 0, -1 );
+ mea->setName( "instance_light" );
+ mea->setOffset( daeOffsetOf(domNode,elemInstance_light_array) );
+ mea->setElementType( domInstance_light::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3006, 0, -1 );
+ mea->setName( "instance_node" );
+ mea->setOffset( daeOffsetOf(domNode,elemInstance_node_array) );
+ mea->setElementType( domInstance_node::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3007, 0, -1 );
+ mea->setName( "node" );
+ mea->setOffset( daeOffsetOf(domNode,elemNode_array) );
+ mea->setElementType( domNode::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3008, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domNode,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3008 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domNode,_contents));
+ meta->addContentsOrder(daeOffsetOf(domNode,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domNode,_CMData), 1);
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domNode , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domNode , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domNode , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: type
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "type" );
+ ma->setType( dae.getAtomicTypes().get("NodeType"));
+ ma->setOffset( daeOffsetOf( domNode , attrType ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "NODE");
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: layer
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "layer" );
+ ma->setType( dae.getAtomicTypes().get("ListOfNames"));
+ ma->setOffset( daeOffsetOf( domNode , attrLayer ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domNode));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domP.cpp b/1.4.0/dom/src/1.4/dom/domP.cpp
new file mode 100644
index 0000000..4d4353f
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domP.cpp
@@ -0,0 +1,56 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domP.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domP::create(DAE& dae)
+{
+ domPRef ref = new domP(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domP::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "p" );
+ meta->registerClass(domP::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("ListOfUInts"));
+ ma->setOffset( daeOffsetOf( domP , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domP));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domParam.cpp b/1.4.0/dom/src/1.4/dom/domParam.cpp
new file mode 100644
index 0000000..f838e0a
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domParam.cpp
@@ -0,0 +1,101 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domParam.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domParam::create(DAE& dae)
+{
+ domParamRef ref = new domParam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domParam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "param" );
+ meta->registerClass(domParam::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domParam , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domParam , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domParam , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: semantic
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "semantic" );
+ ma->setType( dae.getAtomicTypes().get("xsNMTOKEN"));
+ ma->setOffset( daeOffsetOf( domParam , attrSemantic ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: type
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "type" );
+ ma->setType( dae.getAtomicTypes().get("xsNMTOKEN"));
+ ma->setOffset( daeOffsetOf( domParam , attrType ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domParam));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domPhysics_material.cpp b/1.4.0/dom/src/1.4/dom/domPhysics_material.cpp
new file mode 100644
index 0000000..cfd572d
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domPhysics_material.cpp
@@ -0,0 +1,150 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domPhysics_material.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domPhysics_material::create(DAE& dae)
+{
+ domPhysics_materialRef ref = new domPhysics_material(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domPhysics_material::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "physics_material" );
+ meta->registerClass(domPhysics_material::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domPhysics_material,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "technique_common" );
+ mea->setOffset( daeOffsetOf(domPhysics_material,elemTechnique_common) );
+ mea->setElementType( domPhysics_material::domTechnique_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domPhysics_material,elemTechnique_array) );
+ mea->setElementType( domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domPhysics_material,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domPhysics_material , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domPhysics_material , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domPhysics_material));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domPhysics_material::domTechnique_common::create(DAE& dae)
+{
+ domPhysics_material::domTechnique_commonRef ref = new domPhysics_material::domTechnique_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domPhysics_material::domTechnique_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique_common" );
+ meta->registerClass(domPhysics_material::domTechnique_common::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "dynamic_friction" );
+ mea->setOffset( daeOffsetOf(domPhysics_material::domTechnique_common,elemDynamic_friction) );
+ mea->setElementType( domTargetableFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "restitution" );
+ mea->setOffset( daeOffsetOf(domPhysics_material::domTechnique_common,elemRestitution) );
+ mea->setElementType( domTargetableFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "static_friction" );
+ mea->setOffset( daeOffsetOf(domPhysics_material::domTechnique_common,elemStatic_friction) );
+ mea->setElementType( domTargetableFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domPhysics_material::domTechnique_common));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domPhysics_model.cpp b/1.4.0/dom/src/1.4/dom/domPhysics_model.cpp
new file mode 100644
index 0000000..426fc04
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domPhysics_model.cpp
@@ -0,0 +1,105 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domPhysics_model.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domPhysics_model::create(DAE& dae)
+{
+ domPhysics_modelRef ref = new domPhysics_model(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domPhysics_model::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "physics_model" );
+ meta->registerClass(domPhysics_model::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domPhysics_model,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "rigid_body" );
+ mea->setOffset( daeOffsetOf(domPhysics_model,elemRigid_body_array) );
+ mea->setElementType( domRigid_body::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "rigid_constraint" );
+ mea->setOffset( daeOffsetOf(domPhysics_model,elemRigid_constraint_array) );
+ mea->setElementType( domRigid_constraint::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "instance_physics_model" );
+ mea->setOffset( daeOffsetOf(domPhysics_model,elemInstance_physics_model_array) );
+ mea->setElementType( domInstance_physics_model::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 4, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domPhysics_model,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 4 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domPhysics_model , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domPhysics_model , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domPhysics_model));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domPhysics_scene.cpp b/1.4.0/dom/src/1.4/dom/domPhysics_scene.cpp
new file mode 100644
index 0000000..50a651d
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domPhysics_scene.cpp
@@ -0,0 +1,156 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domPhysics_scene.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domPhysics_scene::create(DAE& dae)
+{
+ domPhysics_sceneRef ref = new domPhysics_scene(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domPhysics_scene::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "physics_scene" );
+ meta->registerClass(domPhysics_scene::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domPhysics_scene,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "instance_force_field" );
+ mea->setOffset( daeOffsetOf(domPhysics_scene,elemInstance_force_field_array) );
+ mea->setElementType( domInstance_force_field::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "instance_physics_model" );
+ mea->setOffset( daeOffsetOf(domPhysics_scene,elemInstance_physics_model_array) );
+ mea->setElementType( domInstance_physics_model::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 1, 1 );
+ mea->setName( "technique_common" );
+ mea->setOffset( daeOffsetOf(domPhysics_scene,elemTechnique_common) );
+ mea->setElementType( domPhysics_scene::domTechnique_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 4, 0, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domPhysics_scene,elemTechnique_array) );
+ mea->setElementType( domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 5, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domPhysics_scene,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 5 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domPhysics_scene , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domPhysics_scene , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domPhysics_scene));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domPhysics_scene::domTechnique_common::create(DAE& dae)
+{
+ domPhysics_scene::domTechnique_commonRef ref = new domPhysics_scene::domTechnique_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domPhysics_scene::domTechnique_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique_common" );
+ meta->registerClass(domPhysics_scene::domTechnique_common::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "gravity" );
+ mea->setOffset( daeOffsetOf(domPhysics_scene::domTechnique_common,elemGravity) );
+ mea->setElementType( domTargetableFloat3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "time_step" );
+ mea->setOffset( daeOffsetOf(domPhysics_scene::domTechnique_common,elemTime_step) );
+ mea->setElementType( domTargetableFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domPhysics_scene::domTechnique_common));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domPlane.cpp b/1.4.0/dom/src/1.4/dom/domPlane.cpp
new file mode 100644
index 0000000..d5a244c
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domPlane.cpp
@@ -0,0 +1,101 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domPlane.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domPlane::create(DAE& dae)
+{
+ domPlaneRef ref = new domPlane(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domPlane::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "plane" );
+ meta->registerClass(domPlane::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "equation" );
+ mea->setOffset( daeOffsetOf(domPlane,elemEquation) );
+ mea->setElementType( domPlane::domEquation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domPlane,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domPlane));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domPlane::domEquation::create(DAE& dae)
+{
+ domPlane::domEquationRef ref = new domPlane::domEquation(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domPlane::domEquation::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "equation" );
+ meta->registerClass(domPlane::domEquation::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domPlane::domEquation , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domPlane::domEquation));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domPolygons.cpp b/1.4.0/dom/src/1.4/dom/domPolygons.cpp
new file mode 100644
index 0000000..754a006
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domPolygons.cpp
@@ -0,0 +1,202 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domPolygons.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domPolygons::create(DAE& dae)
+{
+ domPolygonsRef ref = new domPolygons(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domPolygons::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "polygons" );
+ meta->registerClass(domPolygons::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domPolygons,elemInput_array) );
+ mea->setElementType( domInputLocalOffset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "p" );
+ mea->setOffset( daeOffsetOf(domPolygons,elemP_array) );
+ mea->setElementType( domP::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "ph" );
+ mea->setOffset( daeOffsetOf(domPolygons,elemPh_array) );
+ mea->setElementType( domPolygons::domPh::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3002, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domPolygons,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3002 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domPolygons,_contents));
+ meta->addContentsOrder(daeOffsetOf(domPolygons,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domPolygons,_CMData), 1);
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domPolygons , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domPolygons , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: material
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "material" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domPolygons , attrMaterial ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domPolygons));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domPolygons::domPh::create(DAE& dae)
+{
+ domPolygons::domPhRef ref = new domPolygons::domPh(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domPolygons::domPh::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "ph" );
+ meta->registerClass(domPolygons::domPh::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "p" );
+ mea->setOffset( daeOffsetOf(domPolygons::domPh,elemP) );
+ mea->setElementType( domP::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "h" );
+ mea->setOffset( daeOffsetOf(domPolygons::domPh,elemH_array) );
+ mea->setElementType( domPolygons::domPh::domH::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domPolygons::domPh));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domPolygons::domPh::domH::create(DAE& dae)
+{
+ domPolygons::domPh::domHRef ref = new domPolygons::domPh::domH(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domPolygons::domPh::domH::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "h" );
+ meta->registerClass(domPolygons::domPh::domH::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("ListOfUInts"));
+ ma->setOffset( daeOffsetOf( domPolygons::domPh::domH , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domPolygons::domPh::domH));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domPolylist.cpp b/1.4.0/dom/src/1.4/dom/domPolylist.cpp
new file mode 100644
index 0000000..a09ee2c
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domPolylist.cpp
@@ -0,0 +1,147 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domPolylist.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domPolylist::create(DAE& dae)
+{
+ domPolylistRef ref = new domPolylist(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domPolylist::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "polylist" );
+ meta->registerClass(domPolylist::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domPolylist,elemInput_array) );
+ mea->setElementType( domInputLocalOffset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "vcount" );
+ mea->setOffset( daeOffsetOf(domPolylist,elemVcount) );
+ mea->setElementType( domPolylist::domVcount::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "p" );
+ mea->setOffset( daeOffsetOf(domPolylist,elemP) );
+ mea->setElementType( domP::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domPolylist,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domPolylist , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domPolylist , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: material
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "material" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domPolylist , attrMaterial ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domPolylist));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domPolylist::domVcount::create(DAE& dae)
+{
+ domPolylist::domVcountRef ref = new domPolylist::domVcount(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domPolylist::domVcount::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "vcount" );
+ meta->registerClass(domPolylist::domVcount::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("ListOfUInts"));
+ ma->setOffset( daeOffsetOf( domPolylist::domVcount , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domPolylist::domVcount));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domProfile_CG.cpp b/1.4.0/dom/src/1.4/dom/domProfile_CG.cpp
new file mode 100644
index 0000000..942c3a7
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domProfile_CG.cpp
@@ -0,0 +1,719 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domProfile_CG.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domProfile_CG::create(DAE& dae)
+{
+ domProfile_CGRef ref = new domProfile_CG(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_CG::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "profile_CG" );
+ meta->registerClass(domProfile_CG::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domProfile_CG,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "code" );
+ mea->setOffset( daeOffsetOf(domProfile_CG,elemCode_array) );
+ mea->setElementType( domFx_code_profile::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "include" );
+ mea->setOffset( daeOffsetOf(domProfile_CG,elemInclude_array) );
+ mea->setElementType( domFx_include_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm = new daeMetaChoice( meta, cm, 1, 3002, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "image" );
+ mea->setOffset( daeOffsetOf(domProfile_CG,elemImage_array) );
+ mea->setElementType( domImage::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "newparam" );
+ mea->setOffset( daeOffsetOf(domProfile_CG,elemNewparam_array) );
+ mea->setElementType( domCg_newparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 6003, 1, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domProfile_CG,elemTechnique_array) );
+ mea->setElementType( domProfile_CG::domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 6004, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domProfile_CG,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 6004 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domProfile_CG,_contents));
+ meta->addContentsOrder(daeOffsetOf(domProfile_CG,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domProfile_CG,_CMData), 2);
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domProfile_CG , attrId ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: platform
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "platform" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domProfile_CG , attrPlatform ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "PC");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_CG));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_CG::domTechnique::create(DAE& dae)
+{
+ domProfile_CG::domTechniqueRef ref = new domProfile_CG::domTechnique(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_CG::domTechnique::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique" );
+ meta->registerClass(domProfile_CG::domTechnique::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 2, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "code" );
+ mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique,elemCode_array) );
+ mea->setElementType( domFx_code_profile::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "include" );
+ mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique,elemInclude_array) );
+ mea->setElementType( domFx_include_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm = new daeMetaChoice( meta, cm, 1, 3003, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "image" );
+ mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique,elemImage_array) );
+ mea->setElementType( domImage::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "newparam" );
+ mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique,elemNewparam_array) );
+ mea->setElementType( domCg_newparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "setparam" );
+ mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique,elemSetparam_array) );
+ mea->setElementType( domCg_setparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 6004, 1, -1 );
+ mea->setName( "pass" );
+ mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique,elemPass_array) );
+ mea->setElementType( domProfile_CG::domTechnique::domPass::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 6005, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 6005 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domProfile_CG::domTechnique,_contents));
+ meta->addContentsOrder(daeOffsetOf(domProfile_CG::domTechnique,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domProfile_CG::domTechnique,_CMData), 2);
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domProfile_CG::domTechnique , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domProfile_CG::domTechnique , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_CG::domTechnique));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_CG::domTechnique::domPass::create(DAE& dae)
+{
+ domProfile_CG::domTechnique::domPassRef ref = new domProfile_CG::domTechnique::domPass(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_CG::domTechnique::domPass::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "pass" );
+ meta->registerClass(domProfile_CG::domTechnique::domPass::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique::domPass,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "color_target" );
+ mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique::domPass,elemColor_target_array) );
+ mea->setElementType( domFx_colortarget_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "depth_target" );
+ mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique::domPass,elemDepth_target_array) );
+ mea->setElementType( domFx_depthtarget_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "stencil_target" );
+ mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique::domPass,elemStencil_target_array) );
+ mea->setElementType( domFx_stenciltarget_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 4, 0, -1 );
+ mea->setName( "color_clear" );
+ mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique::domPass,elemColor_clear_array) );
+ mea->setElementType( domFx_clearcolor_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 5, 0, -1 );
+ mea->setName( "depth_clear" );
+ mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique::domPass,elemDepth_clear_array) );
+ mea->setElementType( domFx_cleardepth_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 6, 0, -1 );
+ mea->setName( "stencil_clear" );
+ mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique::domPass,elemStencil_clear_array) );
+ mea->setElementType( domFx_clearstencil_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 7, 0, 1 );
+ mea->setName( "draw" );
+ mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique::domPass,elemDraw) );
+ mea->setElementType( domProfile_CG::domTechnique::domPass::domDraw::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 8, 1, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "gl_pipeline_settings" );
+ mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique::domPass,elemGl_pipeline_settings_array) );
+ mea->setElementType( domGl_pipeline_settings::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 1, 1 ) );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "shader" );
+ mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique::domPass,elemShader_array) );
+ mea->setElementType( domProfile_CG::domTechnique::domPass::domShader::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3009, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique::domPass,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3009 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domProfile_CG::domTechnique::domPass,_contents));
+ meta->addContentsOrder(daeOffsetOf(domProfile_CG::domTechnique::domPass,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domProfile_CG::domTechnique::domPass,_CMData), 1);
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domProfile_CG::domTechnique::domPass , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_CG::domTechnique::domPass));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_CG::domTechnique::domPass::domDraw::create(DAE& dae)
+{
+ domProfile_CG::domTechnique::domPass::domDrawRef ref = new domProfile_CG::domTechnique::domPass::domDraw(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_CG::domTechnique::domPass::domDraw::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "draw" );
+ meta->registerClass(domProfile_CG::domTechnique::domPass::domDraw::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_draw_common"));
+ ma->setOffset( daeOffsetOf( domProfile_CG::domTechnique::domPass::domDraw , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_CG::domTechnique::domPass::domDraw));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_CG::domTechnique::domPass::domShader::create(DAE& dae)
+{
+ domProfile_CG::domTechnique::domPass::domShaderRef ref = new domProfile_CG::domTechnique::domPass::domShader(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_CG::domTechnique::domPass::domShader::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "shader" );
+ meta->registerClass(domProfile_CG::domTechnique::domPass::domShader::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique::domPass::domShader,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaSequence( meta, cm, 1, 0, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "compiler_target" );
+ mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique::domPass::domShader,elemCompiler_target) );
+ mea->setElementType( domProfile_CG::domTechnique::domPass::domShader::domCompiler_target::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "compiler_options" );
+ mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique::domPass::domShader,elemCompiler_options) );
+ mea->setElementType( domProfile_CG::domTechnique::domPass::domShader::domCompiler_options::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 1, 1 );
+ mea->setName( "name" );
+ mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique::domPass::domShader,elemName) );
+ mea->setElementType( domProfile_CG::domTechnique::domPass::domShader::domName::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 4, 0, -1 );
+ mea->setName( "bind" );
+ mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique::domPass::domShader,elemBind_array) );
+ mea->setElementType( domProfile_CG::domTechnique::domPass::domShader::domBind::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 4 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: stage
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "stage" );
+ ma->setType( dae.getAtomicTypes().get("Cg_pipeline_stage"));
+ ma->setOffset( daeOffsetOf( domProfile_CG::domTechnique::domPass::domShader , attrStage ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_CG::domTechnique::domPass::domShader));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_CG::domTechnique::domPass::domShader::domCompiler_target::create(DAE& dae)
+{
+ domProfile_CG::domTechnique::domPass::domShader::domCompiler_targetRef ref = new domProfile_CG::domTechnique::domPass::domShader::domCompiler_target(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_CG::domTechnique::domPass::domShader::domCompiler_target::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "compiler_target" );
+ meta->registerClass(domProfile_CG::domTechnique::domPass::domShader::domCompiler_target::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNMTOKEN"));
+ ma->setOffset( daeOffsetOf( domProfile_CG::domTechnique::domPass::domShader::domCompiler_target , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_CG::domTechnique::domPass::domShader::domCompiler_target));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_CG::domTechnique::domPass::domShader::domCompiler_options::create(DAE& dae)
+{
+ domProfile_CG::domTechnique::domPass::domShader::domCompiler_optionsRef ref = new domProfile_CG::domTechnique::domPass::domShader::domCompiler_options(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_CG::domTechnique::domPass::domShader::domCompiler_options::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "compiler_options" );
+ meta->registerClass(domProfile_CG::domTechnique::domPass::domShader::domCompiler_options::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domProfile_CG::domTechnique::domPass::domShader::domCompiler_options , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_CG::domTechnique::domPass::domShader::domCompiler_options));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_CG::domTechnique::domPass::domShader::domName::create(DAE& dae)
+{
+ domProfile_CG::domTechnique::domPass::domShader::domNameRef ref = new domProfile_CG::domTechnique::domPass::domShader::domName(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_CG::domTechnique::domPass::domShader::domName::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "name" );
+ meta->registerClass(domProfile_CG::domTechnique::domPass::domShader::domName::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domProfile_CG::domTechnique::domPass::domShader::domName , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: source
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "source" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domProfile_CG::domTechnique::domPass::domShader::domName , attrSource ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_CG::domTechnique::domPass::domShader::domName));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_CG::domTechnique::domPass::domShader::domBind::create(DAE& dae)
+{
+ domProfile_CG::domTechnique::domPass::domShader::domBindRef ref = new domProfile_CG::domTechnique::domPass::domShader::domBind(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_CG::domTechnique::domPass::domShader::domBind::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bind" );
+ meta->registerClass(domProfile_CG::domTechnique::domPass::domShader::domBind::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "cg_param_type" );
+ mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique::domPass::domShader::domBind,elemCg_param_type) );
+ mea->setElementType( domCg_param_type::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 1, 1 ) );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domProfile_CG::domTechnique::domPass::domShader::domBind,elemParam) );
+ mea->setElementType( domProfile_CG::domTechnique::domPass::domShader::domBind::domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domProfile_CG::domTechnique::domPass::domShader::domBind,_contents));
+ meta->addContentsOrder(daeOffsetOf(domProfile_CG::domTechnique::domPass::domShader::domBind,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domProfile_CG::domTechnique::domPass::domShader::domBind,_CMData), 1);
+ // Add attribute: symbol
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "symbol" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domProfile_CG::domTechnique::domPass::domShader::domBind , attrSymbol ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_CG::domTechnique::domPass::domShader::domBind));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_CG::domTechnique::domPass::domShader::domBind::domParam::create(DAE& dae)
+{
+ domProfile_CG::domTechnique::domPass::domShader::domBind::domParamRef ref = new domProfile_CG::domTechnique::domPass::domShader::domBind::domParam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_CG::domTechnique::domPass::domShader::domBind::domParam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "param" );
+ meta->registerClass(domProfile_CG::domTechnique::domPass::domShader::domBind::domParam::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domProfile_CG::domTechnique::domPass::domShader::domBind::domParam , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_CG::domTechnique::domPass::domShader::domBind::domParam));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domProfile_COMMON.cpp b/1.4.0/dom/src/1.4/dom/domProfile_COMMON.cpp
new file mode 100644
index 0000000..1c32ca2
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domProfile_COMMON.cpp
@@ -0,0 +1,561 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domProfile_COMMON.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domProfile_COMMON::create(DAE& dae)
+{
+ domProfile_COMMONRef ref = new domProfile_COMMON(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_COMMON::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "profile_COMMON" );
+ meta->registerClass(domProfile_COMMON::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "image" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON,elemImage_array) );
+ mea->setElementType( domImage::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "newparam" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON,elemNewparam_array) );
+ mea->setElementType( domCommon_newparam_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementAttribute( meta, cm, 3002, 1, 1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON,elemTechnique) );
+ mea->setElementType( domProfile_COMMON::domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3003, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3003 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domProfile_COMMON,_contents));
+ meta->addContentsOrder(daeOffsetOf(domProfile_COMMON,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domProfile_COMMON,_CMData), 1);
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domProfile_COMMON , attrId ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_COMMON));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_COMMON::domTechnique::create(DAE& dae)
+{
+ domProfile_COMMON::domTechniqueRef ref = new domProfile_COMMON::domTechnique(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_COMMON::domTechnique::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique" );
+ meta->registerClass(domProfile_COMMON::domTechnique::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "image" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique,elemImage_array) );
+ mea->setElementType( domImage::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "newparam" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique,elemNewparam_array) );
+ mea->setElementType( domCommon_newparam_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm = new daeMetaChoice( meta, cm, 1, 3002, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "constant" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique,elemConstant) );
+ mea->setElementType( domProfile_COMMON::domTechnique::domConstant::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "lambert" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique,elemLambert) );
+ mea->setElementType( domProfile_COMMON::domTechnique::domLambert::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "phong" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique,elemPhong) );
+ mea->setElementType( domProfile_COMMON::domTechnique::domPhong::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "blinn" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique,elemBlinn) );
+ mea->setElementType( domProfile_COMMON::domTechnique::domBlinn::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3003, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3003 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domProfile_COMMON::domTechnique,_contents));
+ meta->addContentsOrder(daeOffsetOf(domProfile_COMMON::domTechnique,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domProfile_COMMON::domTechnique,_CMData), 2);
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domProfile_COMMON::domTechnique , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domProfile_COMMON::domTechnique , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_COMMON::domTechnique));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_COMMON::domTechnique::domConstant::create(DAE& dae)
+{
+ domProfile_COMMON::domTechnique::domConstantRef ref = new domProfile_COMMON::domTechnique::domConstant(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_COMMON::domTechnique::domConstant::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "constant" );
+ meta->registerClass(domProfile_COMMON::domTechnique::domConstant::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "emission" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domConstant,elemEmission) );
+ mea->setElementType( domCommon_color_or_texture_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "reflective" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domConstant,elemReflective) );
+ mea->setElementType( domCommon_color_or_texture_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "reflectivity" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domConstant,elemReflectivity) );
+ mea->setElementType( domCommon_float_or_param_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "transparent" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domConstant,elemTransparent) );
+ mea->setElementType( domCommon_transparent_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "transparency" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domConstant,elemTransparency) );
+ mea->setElementType( domCommon_float_or_param_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "index_of_refraction" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domConstant,elemIndex_of_refraction) );
+ mea->setElementType( domCommon_float_or_param_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 5 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domProfile_COMMON::domTechnique::domConstant));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_COMMON::domTechnique::domLambert::create(DAE& dae)
+{
+ domProfile_COMMON::domTechnique::domLambertRef ref = new domProfile_COMMON::domTechnique::domLambert(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_COMMON::domTechnique::domLambert::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "lambert" );
+ meta->registerClass(domProfile_COMMON::domTechnique::domLambert::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "emission" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domLambert,elemEmission) );
+ mea->setElementType( domCommon_color_or_texture_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "ambient" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domLambert,elemAmbient) );
+ mea->setElementType( domCommon_color_or_texture_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "diffuse" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domLambert,elemDiffuse) );
+ mea->setElementType( domCommon_color_or_texture_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "reflective" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domLambert,elemReflective) );
+ mea->setElementType( domCommon_color_or_texture_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "reflectivity" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domLambert,elemReflectivity) );
+ mea->setElementType( domCommon_float_or_param_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "transparent" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domLambert,elemTransparent) );
+ mea->setElementType( domCommon_transparent_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "transparency" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domLambert,elemTransparency) );
+ mea->setElementType( domCommon_float_or_param_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 7, 0, 1 );
+ mea->setName( "index_of_refraction" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domLambert,elemIndex_of_refraction) );
+ mea->setElementType( domCommon_float_or_param_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 7 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domProfile_COMMON::domTechnique::domLambert));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_COMMON::domTechnique::domPhong::create(DAE& dae)
+{
+ domProfile_COMMON::domTechnique::domPhongRef ref = new domProfile_COMMON::domTechnique::domPhong(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_COMMON::domTechnique::domPhong::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "phong" );
+ meta->registerClass(domProfile_COMMON::domTechnique::domPhong::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "emission" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domPhong,elemEmission) );
+ mea->setElementType( domCommon_color_or_texture_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "ambient" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domPhong,elemAmbient) );
+ mea->setElementType( domCommon_color_or_texture_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "diffuse" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domPhong,elemDiffuse) );
+ mea->setElementType( domCommon_color_or_texture_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "specular" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domPhong,elemSpecular) );
+ mea->setElementType( domCommon_color_or_texture_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "shininess" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domPhong,elemShininess) );
+ mea->setElementType( domCommon_float_or_param_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "reflective" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domPhong,elemReflective) );
+ mea->setElementType( domCommon_color_or_texture_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "reflectivity" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domPhong,elemReflectivity) );
+ mea->setElementType( domCommon_float_or_param_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 7, 0, 1 );
+ mea->setName( "transparent" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domPhong,elemTransparent) );
+ mea->setElementType( domCommon_transparent_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 8, 0, 1 );
+ mea->setName( "transparency" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domPhong,elemTransparency) );
+ mea->setElementType( domCommon_float_or_param_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 9, 0, 1 );
+ mea->setName( "index_of_refraction" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domPhong,elemIndex_of_refraction) );
+ mea->setElementType( domCommon_float_or_param_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 9 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domProfile_COMMON::domTechnique::domPhong));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_COMMON::domTechnique::domBlinn::create(DAE& dae)
+{
+ domProfile_COMMON::domTechnique::domBlinnRef ref = new domProfile_COMMON::domTechnique::domBlinn(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_COMMON::domTechnique::domBlinn::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "blinn" );
+ meta->registerClass(domProfile_COMMON::domTechnique::domBlinn::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "emission" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domBlinn,elemEmission) );
+ mea->setElementType( domCommon_color_or_texture_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "ambient" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domBlinn,elemAmbient) );
+ mea->setElementType( domCommon_color_or_texture_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "diffuse" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domBlinn,elemDiffuse) );
+ mea->setElementType( domCommon_color_or_texture_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "specular" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domBlinn,elemSpecular) );
+ mea->setElementType( domCommon_color_or_texture_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "shininess" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domBlinn,elemShininess) );
+ mea->setElementType( domCommon_float_or_param_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "reflective" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domBlinn,elemReflective) );
+ mea->setElementType( domCommon_color_or_texture_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "reflectivity" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domBlinn,elemReflectivity) );
+ mea->setElementType( domCommon_float_or_param_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 7, 0, 1 );
+ mea->setName( "transparent" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domBlinn,elemTransparent) );
+ mea->setElementType( domCommon_transparent_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 8, 0, 1 );
+ mea->setName( "transparency" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domBlinn,elemTransparency) );
+ mea->setElementType( domCommon_float_or_param_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 9, 0, 1 );
+ mea->setName( "index_of_refraction" );
+ mea->setOffset( daeOffsetOf(domProfile_COMMON::domTechnique::domBlinn,elemIndex_of_refraction) );
+ mea->setElementType( domCommon_float_or_param_type::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 9 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domProfile_COMMON::domTechnique::domBlinn));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domProfile_GLES.cpp b/1.4.0/dom/src/1.4/dom/domProfile_GLES.cpp
new file mode 100644
index 0000000..ae4c1af
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domProfile_GLES.cpp
@@ -0,0 +1,650 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domProfile_GLES.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domProfile_GLES::create(DAE& dae)
+{
+ domProfile_GLESRef ref = new domProfile_GLES(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_GLES::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "profile_GLES" );
+ meta->registerClass(domProfile_GLES::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domProfile_GLES,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "image" );
+ mea->setOffset( daeOffsetOf(domProfile_GLES,elemImage_array) );
+ mea->setElementType( domImage::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "newparam" );
+ mea->setOffset( daeOffsetOf(domProfile_GLES,elemNewparam_array) );
+ mea->setElementType( domGles_newparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3002, 1, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domProfile_GLES,elemTechnique_array) );
+ mea->setElementType( domProfile_GLES::domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3003, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domProfile_GLES,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3003 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domProfile_GLES,_contents));
+ meta->addContentsOrder(daeOffsetOf(domProfile_GLES,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domProfile_GLES,_CMData), 1);
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domProfile_GLES , attrId ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: platform
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "platform" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domProfile_GLES , attrPlatform ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "PC");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_GLES));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_GLES::domTechnique::create(DAE& dae)
+{
+ domProfile_GLES::domTechniqueRef ref = new domProfile_GLES::domTechnique(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_GLES::domTechnique::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique" );
+ meta->registerClass(domProfile_GLES::domTechnique::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 2, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "image" );
+ mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique,elemImage_array) );
+ mea->setElementType( domImage::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "newparam" );
+ mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique,elemNewparam_array) );
+ mea->setElementType( domGles_newparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "setparam" );
+ mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique,elemSetparam_array) );
+ mea->setElementType( domProfile_GLES::domTechnique::domSetparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3003, 1, -1 );
+ mea->setName( "pass" );
+ mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique,elemPass_array) );
+ mea->setElementType( domProfile_GLES::domTechnique::domPass::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3004, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3004 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domProfile_GLES::domTechnique,_contents));
+ meta->addContentsOrder(daeOffsetOf(domProfile_GLES::domTechnique,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domProfile_GLES::domTechnique,_CMData), 1);
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domProfile_GLES::domTechnique , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domProfile_GLES::domTechnique , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_GLES::domTechnique));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_GLES::domTechnique::domSetparam::create(DAE& dae)
+{
+ domProfile_GLES::domTechnique::domSetparamRef ref = new domProfile_GLES::domTechnique::domSetparam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_GLES::domTechnique::domSetparam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "setparam" );
+ meta->registerClass(domProfile_GLES::domTechnique::domSetparam::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique::domSetparam,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "gles_basic_type_common" );
+ mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique::domSetparam,elemGles_basic_type_common) );
+ mea->setElementType( domGles_basic_type_common::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 1, 1, 1 ) );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domProfile_GLES::domTechnique::domSetparam , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_GLES::domTechnique::domSetparam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_GLES::domTechnique::domPass::create(DAE& dae)
+{
+ domProfile_GLES::domTechnique::domPassRef ref = new domProfile_GLES::domTechnique::domPass(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_GLES::domTechnique::domPass::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "pass" );
+ meta->registerClass(domProfile_GLES::domTechnique::domPass::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique::domPass,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "color_target" );
+ mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique::domPass,elemColor_target) );
+ mea->setElementType( domProfile_GLES::domTechnique::domPass::domColor_target::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "depth_target" );
+ mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique::domPass,elemDepth_target) );
+ mea->setElementType( domProfile_GLES::domTechnique::domPass::domDepth_target::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "stencil_target" );
+ mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique::domPass,elemStencil_target) );
+ mea->setElementType( domProfile_GLES::domTechnique::domPass::domStencil_target::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "color_clear" );
+ mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique::domPass,elemColor_clear) );
+ mea->setElementType( domProfile_GLES::domTechnique::domPass::domColor_clear::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "depth_clear" );
+ mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique::domPass,elemDepth_clear) );
+ mea->setElementType( domProfile_GLES::domTechnique::domPass::domDepth_clear::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "stencil_clear" );
+ mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique::domPass,elemStencil_clear) );
+ mea->setElementType( domProfile_GLES::domTechnique::domPass::domStencil_clear::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 7, 0, 1 );
+ mea->setName( "draw" );
+ mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique::domPass,elemDraw) );
+ mea->setElementType( domProfile_GLES::domTechnique::domPass::domDraw::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 8, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "gles_pipeline_settings" );
+ mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique::domPass,elemGles_pipeline_settings_array) );
+ mea->setElementType( domGles_pipeline_settings::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 1, 1 ) );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3009, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique::domPass,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3009 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domProfile_GLES::domTechnique::domPass,_contents));
+ meta->addContentsOrder(daeOffsetOf(domProfile_GLES::domTechnique::domPass,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domProfile_GLES::domTechnique::domPass,_CMData), 1);
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domProfile_GLES::domTechnique::domPass , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_GLES::domTechnique::domPass));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_GLES::domTechnique::domPass::domColor_target::create(DAE& dae)
+{
+ domProfile_GLES::domTechnique::domPass::domColor_targetRef ref = new domProfile_GLES::domTechnique::domPass::domColor_target(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_GLES::domTechnique::domPass::domColor_target::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "color_target" );
+ meta->registerClass(domProfile_GLES::domTechnique::domPass::domColor_target::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Gles_rendertarget_common"));
+ ma->setOffset( daeOffsetOf( domProfile_GLES::domTechnique::domPass::domColor_target , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_GLES::domTechnique::domPass::domColor_target));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_GLES::domTechnique::domPass::domDepth_target::create(DAE& dae)
+{
+ domProfile_GLES::domTechnique::domPass::domDepth_targetRef ref = new domProfile_GLES::domTechnique::domPass::domDepth_target(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_GLES::domTechnique::domPass::domDepth_target::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "depth_target" );
+ meta->registerClass(domProfile_GLES::domTechnique::domPass::domDepth_target::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Gles_rendertarget_common"));
+ ma->setOffset( daeOffsetOf( domProfile_GLES::domTechnique::domPass::domDepth_target , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_GLES::domTechnique::domPass::domDepth_target));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_GLES::domTechnique::domPass::domStencil_target::create(DAE& dae)
+{
+ domProfile_GLES::domTechnique::domPass::domStencil_targetRef ref = new domProfile_GLES::domTechnique::domPass::domStencil_target(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_GLES::domTechnique::domPass::domStencil_target::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_target" );
+ meta->registerClass(domProfile_GLES::domTechnique::domPass::domStencil_target::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Gles_rendertarget_common"));
+ ma->setOffset( daeOffsetOf( domProfile_GLES::domTechnique::domPass::domStencil_target , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_GLES::domTechnique::domPass::domStencil_target));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_GLES::domTechnique::domPass::domColor_clear::create(DAE& dae)
+{
+ domProfile_GLES::domTechnique::domPass::domColor_clearRef ref = new domProfile_GLES::domTechnique::domPass::domColor_clear(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_GLES::domTechnique::domPass::domColor_clear::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "color_clear" );
+ meta->registerClass(domProfile_GLES::domTechnique::domPass::domColor_clear::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_color_common"));
+ ma->setOffset( daeOffsetOf( domProfile_GLES::domTechnique::domPass::domColor_clear , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_GLES::domTechnique::domPass::domColor_clear));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_GLES::domTechnique::domPass::domDepth_clear::create(DAE& dae)
+{
+ domProfile_GLES::domTechnique::domPass::domDepth_clearRef ref = new domProfile_GLES::domTechnique::domPass::domDepth_clear(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_GLES::domTechnique::domPass::domDepth_clear::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "depth_clear" );
+ meta->registerClass(domProfile_GLES::domTechnique::domPass::domDepth_clear::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domProfile_GLES::domTechnique::domPass::domDepth_clear , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_GLES::domTechnique::domPass::domDepth_clear));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_GLES::domTechnique::domPass::domStencil_clear::create(DAE& dae)
+{
+ domProfile_GLES::domTechnique::domPass::domStencil_clearRef ref = new domProfile_GLES::domTechnique::domPass::domStencil_clear(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_GLES::domTechnique::domPass::domStencil_clear::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_clear" );
+ meta->registerClass(domProfile_GLES::domTechnique::domPass::domStencil_clear::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsByte"));
+ ma->setOffset( daeOffsetOf( domProfile_GLES::domTechnique::domPass::domStencil_clear , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_GLES::domTechnique::domPass::domStencil_clear));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_GLES::domTechnique::domPass::domDraw::create(DAE& dae)
+{
+ domProfile_GLES::domTechnique::domPass::domDrawRef ref = new domProfile_GLES::domTechnique::domPass::domDraw(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_GLES::domTechnique::domPass::domDraw::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "draw" );
+ meta->registerClass(domProfile_GLES::domTechnique::domPass::domDraw::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_draw_common"));
+ ma->setOffset( daeOffsetOf( domProfile_GLES::domTechnique::domPass::domDraw , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_GLES::domTechnique::domPass::domDraw));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domProfile_GLSL.cpp b/1.4.0/dom/src/1.4/dom/domProfile_GLSL.cpp
new file mode 100644
index 0000000..6a52c2a
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domProfile_GLSL.cpp
@@ -0,0 +1,700 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domProfile_GLSL.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domProfile_GLSL::create(DAE& dae)
+{
+ domProfile_GLSLRef ref = new domProfile_GLSL(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_GLSL::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "profile_GLSL" );
+ meta->registerClass(domProfile_GLSL::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domProfile_GLSL,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "code" );
+ mea->setOffset( daeOffsetOf(domProfile_GLSL,elemCode_array) );
+ mea->setElementType( domFx_code_profile::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "include" );
+ mea->setOffset( daeOffsetOf(domProfile_GLSL,elemInclude_array) );
+ mea->setElementType( domFx_include_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm = new daeMetaChoice( meta, cm, 1, 3002, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "image" );
+ mea->setOffset( daeOffsetOf(domProfile_GLSL,elemImage_array) );
+ mea->setElementType( domImage::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "newparam" );
+ mea->setOffset( daeOffsetOf(domProfile_GLSL,elemNewparam_array) );
+ mea->setElementType( domGlsl_newparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 6003, 1, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domProfile_GLSL,elemTechnique_array) );
+ mea->setElementType( domProfile_GLSL::domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 6004, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domProfile_GLSL,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 6004 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domProfile_GLSL,_contents));
+ meta->addContentsOrder(daeOffsetOf(domProfile_GLSL,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domProfile_GLSL,_CMData), 2);
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domProfile_GLSL , attrId ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_GLSL));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_GLSL::domTechnique::create(DAE& dae)
+{
+ domProfile_GLSL::domTechniqueRef ref = new domProfile_GLSL::domTechnique(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_GLSL::domTechnique::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique" );
+ meta->registerClass(domProfile_GLSL::domTechnique::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "code" );
+ mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique,elemCode_array) );
+ mea->setElementType( domFx_code_profile::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "include" );
+ mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique,elemInclude_array) );
+ mea->setElementType( domFx_include_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm = new daeMetaChoice( meta, cm, 1, 3002, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "image" );
+ mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique,elemImage_array) );
+ mea->setElementType( domImage::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "newparam" );
+ mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique,elemNewparam_array) );
+ mea->setElementType( domGlsl_newparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "setparam" );
+ mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique,elemSetparam_array) );
+ mea->setElementType( domGlsl_setparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 6003, 1, -1 );
+ mea->setName( "pass" );
+ mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique,elemPass_array) );
+ mea->setElementType( domProfile_GLSL::domTechnique::domPass::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 6004, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 6004 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domProfile_GLSL::domTechnique,_contents));
+ meta->addContentsOrder(daeOffsetOf(domProfile_GLSL::domTechnique,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domProfile_GLSL::domTechnique,_CMData), 2);
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domProfile_GLSL::domTechnique , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domProfile_GLSL::domTechnique , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_GLSL::domTechnique));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_GLSL::domTechnique::domPass::create(DAE& dae)
+{
+ domProfile_GLSL::domTechnique::domPassRef ref = new domProfile_GLSL::domTechnique::domPass(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_GLSL::domTechnique::domPass::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "pass" );
+ meta->registerClass(domProfile_GLSL::domTechnique::domPass::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique::domPass,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "color_target" );
+ mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique::domPass,elemColor_target_array) );
+ mea->setElementType( domFx_colortarget_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "depth_target" );
+ mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique::domPass,elemDepth_target_array) );
+ mea->setElementType( domFx_depthtarget_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "stencil_target" );
+ mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique::domPass,elemStencil_target_array) );
+ mea->setElementType( domFx_stenciltarget_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 4, 0, -1 );
+ mea->setName( "color_clear" );
+ mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique::domPass,elemColor_clear_array) );
+ mea->setElementType( domFx_clearcolor_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 5, 0, -1 );
+ mea->setName( "depth_clear" );
+ mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique::domPass,elemDepth_clear_array) );
+ mea->setElementType( domFx_cleardepth_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 6, 0, -1 );
+ mea->setName( "stencil_clear" );
+ mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique::domPass,elemStencil_clear_array) );
+ mea->setElementType( domFx_clearstencil_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 7, 0, 1 );
+ mea->setName( "draw" );
+ mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique::domPass,elemDraw) );
+ mea->setElementType( domProfile_GLSL::domTechnique::domPass::domDraw::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 8, 1, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "gl_pipeline_settings" );
+ mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique::domPass,elemGl_pipeline_settings_array) );
+ mea->setElementType( domGl_pipeline_settings::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 1, 1 ) );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "shader" );
+ mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique::domPass,elemShader_array) );
+ mea->setElementType( domProfile_GLSL::domTechnique::domPass::domShader::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3009, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique::domPass,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3009 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domProfile_GLSL::domTechnique::domPass,_contents));
+ meta->addContentsOrder(daeOffsetOf(domProfile_GLSL::domTechnique::domPass,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domProfile_GLSL::domTechnique::domPass,_CMData), 1);
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domProfile_GLSL::domTechnique::domPass , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_GLSL::domTechnique::domPass));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_GLSL::domTechnique::domPass::domDraw::create(DAE& dae)
+{
+ domProfile_GLSL::domTechnique::domPass::domDrawRef ref = new domProfile_GLSL::domTechnique::domPass::domDraw(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_GLSL::domTechnique::domPass::domDraw::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "draw" );
+ meta->registerClass(domProfile_GLSL::domTechnique::domPass::domDraw::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_draw_common"));
+ ma->setOffset( daeOffsetOf( domProfile_GLSL::domTechnique::domPass::domDraw , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_GLSL::domTechnique::domPass::domDraw));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_GLSL::domTechnique::domPass::domShader::create(DAE& dae)
+{
+ domProfile_GLSL::domTechnique::domPass::domShaderRef ref = new domProfile_GLSL::domTechnique::domPass::domShader(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_GLSL::domTechnique::domPass::domShader::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "shader" );
+ meta->registerClass(domProfile_GLSL::domTechnique::domPass::domShader::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique::domPass::domShader,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaSequence( meta, cm, 1, 0, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "compiler_target" );
+ mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique::domPass::domShader,elemCompiler_target) );
+ mea->setElementType( domProfile_GLSL::domTechnique::domPass::domShader::domCompiler_target::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "compiler_options" );
+ mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique::domPass::domShader,elemCompiler_options) );
+ mea->setElementType( domProfile_GLSL::domTechnique::domPass::domShader::domCompiler_options::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 1, 1 );
+ mea->setName( "name" );
+ mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique::domPass::domShader,elemName) );
+ mea->setElementType( domProfile_GLSL::domTechnique::domPass::domShader::domName::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 4, 0, -1 );
+ mea->setName( "bind" );
+ mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique::domPass::domShader,elemBind_array) );
+ mea->setElementType( domProfile_GLSL::domTechnique::domPass::domShader::domBind::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 4 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: stage
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "stage" );
+ ma->setType( dae.getAtomicTypes().get("Glsl_pipeline_stage"));
+ ma->setOffset( daeOffsetOf( domProfile_GLSL::domTechnique::domPass::domShader , attrStage ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_GLSL::domTechnique::domPass::domShader));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_GLSL::domTechnique::domPass::domShader::domCompiler_target::create(DAE& dae)
+{
+ domProfile_GLSL::domTechnique::domPass::domShader::domCompiler_targetRef ref = new domProfile_GLSL::domTechnique::domPass::domShader::domCompiler_target(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_GLSL::domTechnique::domPass::domShader::domCompiler_target::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "compiler_target" );
+ meta->registerClass(domProfile_GLSL::domTechnique::domPass::domShader::domCompiler_target::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNMTOKEN"));
+ ma->setOffset( daeOffsetOf( domProfile_GLSL::domTechnique::domPass::domShader::domCompiler_target , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_GLSL::domTechnique::domPass::domShader::domCompiler_target));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_GLSL::domTechnique::domPass::domShader::domCompiler_options::create(DAE& dae)
+{
+ domProfile_GLSL::domTechnique::domPass::domShader::domCompiler_optionsRef ref = new domProfile_GLSL::domTechnique::domPass::domShader::domCompiler_options(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_GLSL::domTechnique::domPass::domShader::domCompiler_options::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "compiler_options" );
+ meta->registerClass(domProfile_GLSL::domTechnique::domPass::domShader::domCompiler_options::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domProfile_GLSL::domTechnique::domPass::domShader::domCompiler_options , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_GLSL::domTechnique::domPass::domShader::domCompiler_options));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_GLSL::domTechnique::domPass::domShader::domName::create(DAE& dae)
+{
+ domProfile_GLSL::domTechnique::domPass::domShader::domNameRef ref = new domProfile_GLSL::domTechnique::domPass::domShader::domName(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_GLSL::domTechnique::domPass::domShader::domName::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "name" );
+ meta->registerClass(domProfile_GLSL::domTechnique::domPass::domShader::domName::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domProfile_GLSL::domTechnique::domPass::domShader::domName , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: source
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "source" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domProfile_GLSL::domTechnique::domPass::domShader::domName , attrSource ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_GLSL::domTechnique::domPass::domShader::domName));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_GLSL::domTechnique::domPass::domShader::domBind::create(DAE& dae)
+{
+ domProfile_GLSL::domTechnique::domPass::domShader::domBindRef ref = new domProfile_GLSL::domTechnique::domPass::domShader::domBind(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_GLSL::domTechnique::domPass::domShader::domBind::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bind" );
+ meta->registerClass(domProfile_GLSL::domTechnique::domPass::domShader::domBind::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "glsl_param_type" );
+ mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique::domPass::domShader::domBind,elemGlsl_param_type) );
+ mea->setElementType( domGlsl_param_type::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 1, 1 ) );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domProfile_GLSL::domTechnique::domPass::domShader::domBind,elemParam) );
+ mea->setElementType( domProfile_GLSL::domTechnique::domPass::domShader::domBind::domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domProfile_GLSL::domTechnique::domPass::domShader::domBind,_contents));
+ meta->addContentsOrder(daeOffsetOf(domProfile_GLSL::domTechnique::domPass::domShader::domBind,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domProfile_GLSL::domTechnique::domPass::domShader::domBind,_CMData), 1);
+ // Add attribute: symbol
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "symbol" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domProfile_GLSL::domTechnique::domPass::domShader::domBind , attrSymbol ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_GLSL::domTechnique::domPass::domShader::domBind));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_GLSL::domTechnique::domPass::domShader::domBind::domParam::create(DAE& dae)
+{
+ domProfile_GLSL::domTechnique::domPass::domShader::domBind::domParamRef ref = new domProfile_GLSL::domTechnique::domPass::domShader::domBind::domParam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_GLSL::domTechnique::domPass::domShader::domBind::domParam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "param" );
+ meta->registerClass(domProfile_GLSL::domTechnique::domPass::domShader::domBind::domParam::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domProfile_GLSL::domTechnique::domPass::domShader::domBind::domParam , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_GLSL::domTechnique::domPass::domShader::domBind::domParam));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domRigid_body.cpp b/1.4.0/dom/src/1.4/dom/domRigid_body.cpp
new file mode 100644
index 0000000..ef9fada
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domRigid_body.cpp
@@ -0,0 +1,473 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domRigid_body.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domRigid_body::create(DAE& dae)
+{
+ domRigid_bodyRef ref = new domRigid_body(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_body::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "rigid_body" );
+ meta->registerClass(domRigid_body::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "technique_common" );
+ mea->setOffset( daeOffsetOf(domRigid_body,elemTechnique_common) );
+ mea->setElementType( domRigid_body::domTechnique_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domRigid_body,elemTechnique_array) );
+ mea->setElementType( domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domRigid_body,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domRigid_body , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domRigid_body , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domRigid_body));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_body::domTechnique_common::create(DAE& dae)
+{
+ domRigid_body::domTechnique_commonRef ref = new domRigid_body::domTechnique_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_body::domTechnique_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique_common" );
+ meta->registerClass(domRigid_body::domTechnique_common::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "dynamic" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common,elemDynamic) );
+ mea->setElementType( domRigid_body::domTechnique_common::domDynamic::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "mass" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common,elemMass) );
+ mea->setElementType( domTargetableFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "mass_frame" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common,elemMass_frame) );
+ mea->setElementType( domRigid_body::domTechnique_common::domMass_frame::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "inertia" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common,elemInertia) );
+ mea->setElementType( domTargetableFloat3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 4, 0, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "instance_physics_material" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common,elemInstance_physics_material) );
+ mea->setElementType( domInstance_physics_material::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "physics_material" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common,elemPhysics_material) );
+ mea->setElementType( domPhysics_material::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 5, 1, -1 );
+ mea->setName( "shape" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common,elemShape_array) );
+ mea->setElementType( domRigid_body::domTechnique_common::domShape::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 5 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domRigid_body::domTechnique_common,_contents));
+ meta->addContentsOrder(daeOffsetOf(domRigid_body::domTechnique_common,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domRigid_body::domTechnique_common,_CMData), 1);
+ meta->setElementSize(sizeof(domRigid_body::domTechnique_common));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_body::domTechnique_common::domDynamic::create(DAE& dae)
+{
+ domRigid_body::domTechnique_common::domDynamicRef ref = new domRigid_body::domTechnique_common::domDynamic(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_body::domTechnique_common::domDynamic::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "dynamic" );
+ meta->registerClass(domRigid_body::domTechnique_common::domDynamic::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domRigid_body::domTechnique_common::domDynamic , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domRigid_body::domTechnique_common::domDynamic , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domRigid_body::domTechnique_common::domDynamic));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_body::domTechnique_common::domMass_frame::create(DAE& dae)
+{
+ domRigid_body::domTechnique_common::domMass_frameRef ref = new domRigid_body::domTechnique_common::domMass_frame(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_body::domTechnique_common::domMass_frame::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mass_frame" );
+ meta->registerClass(domRigid_body::domTechnique_common::domMass_frame::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "translate" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domMass_frame,elemTranslate_array) );
+ mea->setElementType( domTranslate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "rotate" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domMass_frame,elemRotate_array) );
+ mea->setElementType( domRotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3000 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domRigid_body::domTechnique_common::domMass_frame,_contents));
+ meta->addContentsOrder(daeOffsetOf(domRigid_body::domTechnique_common::domMass_frame,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domRigid_body::domTechnique_common::domMass_frame,_CMData), 1);
+ meta->setElementSize(sizeof(domRigid_body::domTechnique_common::domMass_frame));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_body::domTechnique_common::domShape::create(DAE& dae)
+{
+ domRigid_body::domTechnique_common::domShapeRef ref = new domRigid_body::domTechnique_common::domShape(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_body::domTechnique_common::domShape::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "shape" );
+ meta->registerClass(domRigid_body::domTechnique_common::domShape::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "hollow" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemHollow) );
+ mea->setElementType( domRigid_body::domTechnique_common::domShape::domHollow::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "mass" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemMass) );
+ mea->setElementType( domTargetableFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "density" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemDensity) );
+ mea->setElementType( domTargetableFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 3, 0, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "instance_physics_material" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemInstance_physics_material) );
+ mea->setElementType( domInstance_physics_material::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "physics_material" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemPhysics_material) );
+ mea->setElementType( domPhysics_material::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm = new daeMetaChoice( meta, cm, 1, 4, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "instance_geometry" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemInstance_geometry) );
+ mea->setElementType( domInstance_geometry::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "plane" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemPlane) );
+ mea->setElementType( domPlane::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "box" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemBox) );
+ mea->setElementType( domBox::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sphere" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemSphere) );
+ mea->setElementType( domSphere::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "cylinder" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemCylinder) );
+ mea->setElementType( domCylinder::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "tapered_cylinder" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemTapered_cylinder) );
+ mea->setElementType( domTapered_cylinder::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "capsule" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemCapsule) );
+ mea->setElementType( domCapsule::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "tapered_capsule" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemTapered_capsule) );
+ mea->setElementType( domTapered_capsule::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm = new daeMetaChoice( meta, cm, 2, 5, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "translate" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemTranslate_array) );
+ mea->setElementType( domTranslate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "rotate" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemRotate_array) );
+ mea->setElementType( domRotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3006, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3006 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domRigid_body::domTechnique_common::domShape,_contents));
+ meta->addContentsOrder(daeOffsetOf(domRigid_body::domTechnique_common::domShape,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domRigid_body::domTechnique_common::domShape,_CMData), 3);
+ meta->setElementSize(sizeof(domRigid_body::domTechnique_common::domShape));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_body::domTechnique_common::domShape::domHollow::create(DAE& dae)
+{
+ domRigid_body::domTechnique_common::domShape::domHollowRef ref = new domRigid_body::domTechnique_common::domShape::domHollow(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_body::domTechnique_common::domShape::domHollow::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "hollow" );
+ meta->registerClass(domRigid_body::domTechnique_common::domShape::domHollow::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domRigid_body::domTechnique_common::domShape::domHollow , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domRigid_body::domTechnique_common::domShape::domHollow , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domRigid_body::domTechnique_common::domShape::domHollow));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domRigid_constraint.cpp b/1.4.0/dom/src/1.4/dom/domRigid_constraint.cpp
new file mode 100644
index 0000000..f76eb32
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domRigid_constraint.cpp
@@ -0,0 +1,671 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domRigid_constraint.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domRigid_constraint::create(DAE& dae)
+{
+ domRigid_constraintRef ref = new domRigid_constraint(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_constraint::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "rigid_constraint" );
+ meta->registerClass(domRigid_constraint::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "ref_attachment" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint,elemRef_attachment) );
+ mea->setElementType( domRigid_constraint::domRef_attachment::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "attachment" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint,elemAttachment) );
+ mea->setElementType( domRigid_constraint::domAttachment::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "technique_common" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint,elemTechnique_common) );
+ mea->setElementType( domRigid_constraint::domTechnique_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint,elemTechnique_array) );
+ mea->setElementType( domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 4, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 4 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domRigid_constraint , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domRigid_constraint , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domRigid_constraint));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_constraint::domRef_attachment::create(DAE& dae)
+{
+ domRigid_constraint::domRef_attachmentRef ref = new domRigid_constraint::domRef_attachment(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_constraint::domRef_attachment::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "ref_attachment" );
+ meta->registerClass(domRigid_constraint::domRef_attachment::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "translate" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domRef_attachment,elemTranslate_array) );
+ mea->setElementType( domTranslate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "rotate" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domRef_attachment,elemRotate_array) );
+ mea->setElementType( domRotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domRef_attachment,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3000 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domRigid_constraint::domRef_attachment,_contents));
+ meta->addContentsOrder(daeOffsetOf(domRigid_constraint::domRef_attachment,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domRigid_constraint::domRef_attachment,_CMData), 1);
+ // Add attribute: rigid_body
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "rigid_body" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domRigid_constraint::domRef_attachment , attrRigid_body ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domRigid_constraint::domRef_attachment));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_constraint::domAttachment::create(DAE& dae)
+{
+ domRigid_constraint::domAttachmentRef ref = new domRigid_constraint::domAttachment(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_constraint::domAttachment::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "attachment" );
+ meta->registerClass(domRigid_constraint::domAttachment::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "translate" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domAttachment,elemTranslate_array) );
+ mea->setElementType( domTranslate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "rotate" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domAttachment,elemRotate_array) );
+ mea->setElementType( domRotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domAttachment,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3000 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domRigid_constraint::domAttachment,_contents));
+ meta->addContentsOrder(daeOffsetOf(domRigid_constraint::domAttachment,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domRigid_constraint::domAttachment,_CMData), 1);
+ // Add attribute: rigid_body
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "rigid_body" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domRigid_constraint::domAttachment , attrRigid_body ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domRigid_constraint::domAttachment));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_constraint::domTechnique_common::create(DAE& dae)
+{
+ domRigid_constraint::domTechnique_commonRef ref = new domRigid_constraint::domTechnique_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_constraint::domTechnique_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique_common" );
+ meta->registerClass(domRigid_constraint::domTechnique_common::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "enabled" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common,elemEnabled) );
+ mea->setElementType( domRigid_constraint::domTechnique_common::domEnabled::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "interpenetrate" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common,elemInterpenetrate) );
+ mea->setElementType( domRigid_constraint::domTechnique_common::domInterpenetrate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "limits" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common,elemLimits) );
+ mea->setElementType( domRigid_constraint::domTechnique_common::domLimits::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "spring" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common,elemSpring) );
+ mea->setElementType( domRigid_constraint::domTechnique_common::domSpring::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domRigid_constraint::domTechnique_common));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_constraint::domTechnique_common::domEnabled::create(DAE& dae)
+{
+ domRigid_constraint::domTechnique_common::domEnabledRef ref = new domRigid_constraint::domTechnique_common::domEnabled(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_constraint::domTechnique_common::domEnabled::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "enabled" );
+ meta->registerClass(domRigid_constraint::domTechnique_common::domEnabled::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domRigid_constraint::domTechnique_common::domEnabled , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domRigid_constraint::domTechnique_common::domEnabled , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domRigid_constraint::domTechnique_common::domEnabled));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_constraint::domTechnique_common::domInterpenetrate::create(DAE& dae)
+{
+ domRigid_constraint::domTechnique_common::domInterpenetrateRef ref = new domRigid_constraint::domTechnique_common::domInterpenetrate(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_constraint::domTechnique_common::domInterpenetrate::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "interpenetrate" );
+ meta->registerClass(domRigid_constraint::domTechnique_common::domInterpenetrate::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domRigid_constraint::domTechnique_common::domInterpenetrate , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domRigid_constraint::domTechnique_common::domInterpenetrate , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domRigid_constraint::domTechnique_common::domInterpenetrate));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_constraint::domTechnique_common::domLimits::create(DAE& dae)
+{
+ domRigid_constraint::domTechnique_common::domLimitsRef ref = new domRigid_constraint::domTechnique_common::domLimits(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_constraint::domTechnique_common::domLimits::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "limits" );
+ meta->registerClass(domRigid_constraint::domTechnique_common::domLimits::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "swing_cone_and_twist" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domLimits,elemSwing_cone_and_twist) );
+ mea->setElementType( domRigid_constraint::domTechnique_common::domLimits::domSwing_cone_and_twist::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "linear" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domLimits,elemLinear) );
+ mea->setElementType( domRigid_constraint::domTechnique_common::domLimits::domLinear::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domRigid_constraint::domTechnique_common::domLimits));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_constraint::domTechnique_common::domLimits::domSwing_cone_and_twist::create(DAE& dae)
+{
+ domRigid_constraint::domTechnique_common::domLimits::domSwing_cone_and_twistRef ref = new domRigid_constraint::domTechnique_common::domLimits::domSwing_cone_and_twist(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_constraint::domTechnique_common::domLimits::domSwing_cone_and_twist::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "swing_cone_and_twist" );
+ meta->registerClass(domRigid_constraint::domTechnique_common::domLimits::domSwing_cone_and_twist::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "min" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domLimits::domSwing_cone_and_twist,elemMin) );
+ mea->setElementType( domTargetableFloat3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "max" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domLimits::domSwing_cone_and_twist,elemMax) );
+ mea->setElementType( domTargetableFloat3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domRigid_constraint::domTechnique_common::domLimits::domSwing_cone_and_twist));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_constraint::domTechnique_common::domLimits::domLinear::create(DAE& dae)
+{
+ domRigid_constraint::domTechnique_common::domLimits::domLinearRef ref = new domRigid_constraint::domTechnique_common::domLimits::domLinear(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_constraint::domTechnique_common::domLimits::domLinear::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "linear" );
+ meta->registerClass(domRigid_constraint::domTechnique_common::domLimits::domLinear::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "min" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domLimits::domLinear,elemMin) );
+ mea->setElementType( domTargetableFloat3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "max" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domLimits::domLinear,elemMax) );
+ mea->setElementType( domTargetableFloat3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domRigid_constraint::domTechnique_common::domLimits::domLinear));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_constraint::domTechnique_common::domSpring::create(DAE& dae)
+{
+ domRigid_constraint::domTechnique_common::domSpringRef ref = new domRigid_constraint::domTechnique_common::domSpring(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_constraint::domTechnique_common::domSpring::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "spring" );
+ meta->registerClass(domRigid_constraint::domTechnique_common::domSpring::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "angular" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domSpring,elemAngular) );
+ mea->setElementType( domRigid_constraint::domTechnique_common::domSpring::domAngular::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "linear" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domSpring,elemLinear) );
+ mea->setElementType( domRigid_constraint::domTechnique_common::domSpring::domLinear::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domRigid_constraint::domTechnique_common::domSpring));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_constraint::domTechnique_common::domSpring::domAngular::create(DAE& dae)
+{
+ domRigid_constraint::domTechnique_common::domSpring::domAngularRef ref = new domRigid_constraint::domTechnique_common::domSpring::domAngular(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_constraint::domTechnique_common::domSpring::domAngular::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "angular" );
+ meta->registerClass(domRigid_constraint::domTechnique_common::domSpring::domAngular::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "stiffness" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domSpring::domAngular,elemStiffness) );
+ mea->setElementType( domTargetableFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "damping" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domSpring::domAngular,elemDamping) );
+ mea->setElementType( domTargetableFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "target_value" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domSpring::domAngular,elemTarget_value) );
+ mea->setElementType( domTargetableFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domRigid_constraint::domTechnique_common::domSpring::domAngular));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_constraint::domTechnique_common::domSpring::domLinear::create(DAE& dae)
+{
+ domRigid_constraint::domTechnique_common::domSpring::domLinearRef ref = new domRigid_constraint::domTechnique_common::domSpring::domLinear(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_constraint::domTechnique_common::domSpring::domLinear::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "linear" );
+ meta->registerClass(domRigid_constraint::domTechnique_common::domSpring::domLinear::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "stiffness" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domSpring::domLinear,elemStiffness) );
+ mea->setElementType( domTargetableFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "damping" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domSpring::domLinear,elemDamping) );
+ mea->setElementType( domTargetableFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "target_value" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domSpring::domLinear,elemTarget_value) );
+ mea->setElementType( domTargetableFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domRigid_constraint::domTechnique_common::domSpring::domLinear));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domRotate.cpp b/1.4.0/dom/src/1.4/dom/domRotate.cpp
new file mode 100644
index 0000000..6e2ff7c
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domRotate.cpp
@@ -0,0 +1,67 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domRotate.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domRotate::create(DAE& dae)
+{
+ domRotateRef ref = new domRotate(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRotate::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "rotate" );
+ meta->registerClass(domRotate::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domRotate , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domRotate , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domRotate));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domSampler.cpp b/1.4.0/dom/src/1.4/dom/domSampler.cpp
new file mode 100644
index 0000000..8cb0cbd
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domSampler.cpp
@@ -0,0 +1,70 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domSampler.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domSampler::create(DAE& dae)
+{
+ domSamplerRef ref = new domSampler(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSampler::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "sampler" );
+ meta->registerClass(domSampler::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domSampler,elemInput_array) );
+ mea->setElementType( domInputLocal::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domSampler , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domSampler));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domScale.cpp b/1.4.0/dom/src/1.4/dom/domScale.cpp
new file mode 100644
index 0000000..97b5ac2
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domScale.cpp
@@ -0,0 +1,67 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domScale.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domScale::create(DAE& dae)
+{
+ domScaleRef ref = new domScale(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domScale::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "scale" );
+ meta->registerClass(domScale::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domScale , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domScale , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domScale));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domSkew.cpp b/1.4.0/dom/src/1.4/dom/domSkew.cpp
new file mode 100644
index 0000000..6e81741
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domSkew.cpp
@@ -0,0 +1,67 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domSkew.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domSkew::create(DAE& dae)
+{
+ domSkewRef ref = new domSkew(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSkew::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "skew" );
+ meta->registerClass(domSkew::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float7"));
+ ma->setOffset( daeOffsetOf( domSkew , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domSkew , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domSkew));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domSkin.cpp b/1.4.0/dom/src/1.4/dom/domSkin.cpp
new file mode 100644
index 0000000..df5e2ed
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domSkin.cpp
@@ -0,0 +1,317 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domSkin.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domSkin::create(DAE& dae)
+{
+ domSkinRef ref = new domSkin(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSkin::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "skin" );
+ meta->registerClass(domSkin::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "bind_shape_matrix" );
+ mea->setOffset( daeOffsetOf(domSkin,elemBind_shape_matrix) );
+ mea->setElementType( domSkin::domBind_shape_matrix::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 3, -1 );
+ mea->setName( "source" );
+ mea->setOffset( daeOffsetOf(domSkin,elemSource_array) );
+ mea->setElementType( domSource::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "joints" );
+ mea->setOffset( daeOffsetOf(domSkin,elemJoints) );
+ mea->setElementType( domSkin::domJoints::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 1, 1 );
+ mea->setName( "vertex_weights" );
+ mea->setOffset( daeOffsetOf(domSkin,elemVertex_weights) );
+ mea->setElementType( domSkin::domVertex_weights::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 4, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domSkin,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 4 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: source
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "source" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domSkin , attrSource ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domSkin));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domSkin::domBind_shape_matrix::create(DAE& dae)
+{
+ domSkin::domBind_shape_matrixRef ref = new domSkin::domBind_shape_matrix(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSkin::domBind_shape_matrix::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bind_shape_matrix" );
+ meta->registerClass(domSkin::domBind_shape_matrix::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x4"));
+ ma->setOffset( daeOffsetOf( domSkin::domBind_shape_matrix , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domSkin::domBind_shape_matrix));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domSkin::domJoints::create(DAE& dae)
+{
+ domSkin::domJointsRef ref = new domSkin::domJoints(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSkin::domJoints::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "joints" );
+ meta->registerClass(domSkin::domJoints::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 2, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domSkin::domJoints,elemInput_array) );
+ mea->setElementType( domInputLocal::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domSkin::domJoints,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domSkin::domJoints));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domSkin::domVertex_weights::create(DAE& dae)
+{
+ domSkin::domVertex_weightsRef ref = new domSkin::domVertex_weights(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSkin::domVertex_weights::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "vertex_weights" );
+ meta->registerClass(domSkin::domVertex_weights::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 2, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domSkin::domVertex_weights,elemInput_array) );
+ mea->setElementType( domInputLocalOffset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "vcount" );
+ mea->setOffset( daeOffsetOf(domSkin::domVertex_weights,elemVcount) );
+ mea->setElementType( domSkin::domVertex_weights::domVcount::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "v" );
+ mea->setOffset( daeOffsetOf(domSkin::domVertex_weights,elemV) );
+ mea->setElementType( domSkin::domVertex_weights::domV::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domSkin::domVertex_weights,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domSkin::domVertex_weights , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domSkin::domVertex_weights));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domSkin::domVertex_weights::domVcount::create(DAE& dae)
+{
+ domSkin::domVertex_weights::domVcountRef ref = new domSkin::domVertex_weights::domVcount(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSkin::domVertex_weights::domVcount::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "vcount" );
+ meta->registerClass(domSkin::domVertex_weights::domVcount::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("ListOfUInts"));
+ ma->setOffset( daeOffsetOf( domSkin::domVertex_weights::domVcount , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domSkin::domVertex_weights::domVcount));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domSkin::domVertex_weights::domV::create(DAE& dae)
+{
+ domSkin::domVertex_weights::domVRef ref = new domSkin::domVertex_weights::domV(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSkin::domVertex_weights::domV::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "v" );
+ meta->registerClass(domSkin::domVertex_weights::domV::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("ListOfInts"));
+ ma->setOffset( daeOffsetOf( domSkin::domVertex_weights::domV , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domSkin::domVertex_weights::domV));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domSource.cpp b/1.4.0/dom/src/1.4/dom/domSource.cpp
new file mode 100644
index 0000000..ddaac72
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domSource.cpp
@@ -0,0 +1,173 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domSource.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domSource::create(DAE& dae)
+{
+ domSourceRef ref = new domSource(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSource::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "source" );
+ meta->registerClass(domSource::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domSource,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 0, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "IDREF_array" );
+ mea->setOffset( daeOffsetOf(domSource,elemIDREF_array) );
+ mea->setElementType( domIDREF_array::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "Name_array" );
+ mea->setOffset( daeOffsetOf(domSource,elemName_array) );
+ mea->setElementType( domName_array::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool_array" );
+ mea->setOffset( daeOffsetOf(domSource,elemBool_array) );
+ mea->setElementType( domBool_array::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float_array" );
+ mea->setOffset( daeOffsetOf(domSource,elemFloat_array) );
+ mea->setElementType( domFloat_array::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int_array" );
+ mea->setOffset( daeOffsetOf(domSource,elemInt_array) );
+ mea->setElementType( domInt_array::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "technique_common" );
+ mea->setOffset( daeOffsetOf(domSource,elemTechnique_common) );
+ mea->setElementType( domSource::domTechnique_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domSource,elemTechnique_array) );
+ mea->setElementType( domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domSource,_contents));
+ meta->addContentsOrder(daeOffsetOf(domSource,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domSource,_CMData), 1);
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domSource , attrId ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domSource , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domSource));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domSource::domTechnique_common::create(DAE& dae)
+{
+ domSource::domTechnique_commonRef ref = new domSource::domTechnique_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSource::domTechnique_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique_common" );
+ meta->registerClass(domSource::domTechnique_common::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "accessor" );
+ mea->setOffset( daeOffsetOf(domSource::domTechnique_common,elemAccessor) );
+ mea->setElementType( domAccessor::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domSource::domTechnique_common));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domSphere.cpp b/1.4.0/dom/src/1.4/dom/domSphere.cpp
new file mode 100644
index 0000000..53df9f0
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domSphere.cpp
@@ -0,0 +1,101 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domSphere.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domSphere::create(DAE& dae)
+{
+ domSphereRef ref = new domSphere(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSphere::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "sphere" );
+ meta->registerClass(domSphere::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "radius" );
+ mea->setOffset( daeOffsetOf(domSphere,elemRadius) );
+ mea->setElementType( domSphere::domRadius::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domSphere,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domSphere));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domSphere::domRadius::create(DAE& dae)
+{
+ domSphere::domRadiusRef ref = new domSphere::domRadius(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSphere::domRadius::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "radius" );
+ meta->registerClass(domSphere::domRadius::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domSphere::domRadius , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domSphere::domRadius));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domSpline.cpp b/1.4.0/dom/src/1.4/dom/domSpline.cpp
new file mode 100644
index 0000000..b56f899
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domSpline.cpp
@@ -0,0 +1,128 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domSpline.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domSpline::create(DAE& dae)
+{
+ domSplineRef ref = new domSpline(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSpline::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "spline" );
+ meta->registerClass(domSpline::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "source" );
+ mea->setOffset( daeOffsetOf(domSpline,elemSource_array) );
+ mea->setElementType( domSource::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "control_vertices" );
+ mea->setOffset( daeOffsetOf(domSpline,elemControl_vertices) );
+ mea->setElementType( domSpline::domControl_vertices::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domSpline,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: closed
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "closed" );
+ ma->setType( dae.getAtomicTypes().get("Bool"));
+ ma->setOffset( daeOffsetOf( domSpline , attrClosed ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domSpline));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domSpline::domControl_vertices::create(DAE& dae)
+{
+ domSpline::domControl_verticesRef ref = new domSpline::domControl_vertices(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSpline::domControl_vertices::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "control_vertices" );
+ meta->registerClass(domSpline::domControl_vertices::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domSpline::domControl_vertices,elemInput_array) );
+ mea->setElementType( domInputLocal::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domSpline::domControl_vertices,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domSpline::domControl_vertices));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domTapered_capsule.cpp b/1.4.0/dom/src/1.4/dom/domTapered_capsule.cpp
new file mode 100644
index 0000000..a641391
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domTapered_capsule.cpp
@@ -0,0 +1,185 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domTapered_capsule.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domTapered_capsule::create(DAE& dae)
+{
+ domTapered_capsuleRef ref = new domTapered_capsule(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domTapered_capsule::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "tapered_capsule" );
+ meta->registerClass(domTapered_capsule::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "height" );
+ mea->setOffset( daeOffsetOf(domTapered_capsule,elemHeight) );
+ mea->setElementType( domTapered_capsule::domHeight::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "radius1" );
+ mea->setOffset( daeOffsetOf(domTapered_capsule,elemRadius1) );
+ mea->setElementType( domTapered_capsule::domRadius1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "radius2" );
+ mea->setOffset( daeOffsetOf(domTapered_capsule,elemRadius2) );
+ mea->setElementType( domTapered_capsule::domRadius2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domTapered_capsule,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domTapered_capsule));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domTapered_capsule::domHeight::create(DAE& dae)
+{
+ domTapered_capsule::domHeightRef ref = new domTapered_capsule::domHeight(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domTapered_capsule::domHeight::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "height" );
+ meta->registerClass(domTapered_capsule::domHeight::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domTapered_capsule::domHeight , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domTapered_capsule::domHeight));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domTapered_capsule::domRadius1::create(DAE& dae)
+{
+ domTapered_capsule::domRadius1Ref ref = new domTapered_capsule::domRadius1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domTapered_capsule::domRadius1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "radius1" );
+ meta->registerClass(domTapered_capsule::domRadius1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domTapered_capsule::domRadius1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domTapered_capsule::domRadius1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domTapered_capsule::domRadius2::create(DAE& dae)
+{
+ domTapered_capsule::domRadius2Ref ref = new domTapered_capsule::domRadius2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domTapered_capsule::domRadius2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "radius2" );
+ meta->registerClass(domTapered_capsule::domRadius2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domTapered_capsule::domRadius2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domTapered_capsule::domRadius2));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domTapered_cylinder.cpp b/1.4.0/dom/src/1.4/dom/domTapered_cylinder.cpp
new file mode 100644
index 0000000..5e8757e
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domTapered_cylinder.cpp
@@ -0,0 +1,185 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domTapered_cylinder.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domTapered_cylinder::create(DAE& dae)
+{
+ domTapered_cylinderRef ref = new domTapered_cylinder(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domTapered_cylinder::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "tapered_cylinder" );
+ meta->registerClass(domTapered_cylinder::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "height" );
+ mea->setOffset( daeOffsetOf(domTapered_cylinder,elemHeight) );
+ mea->setElementType( domTapered_cylinder::domHeight::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "radius1" );
+ mea->setOffset( daeOffsetOf(domTapered_cylinder,elemRadius1) );
+ mea->setElementType( domTapered_cylinder::domRadius1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "radius2" );
+ mea->setOffset( daeOffsetOf(domTapered_cylinder,elemRadius2) );
+ mea->setElementType( domTapered_cylinder::domRadius2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domTapered_cylinder,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domTapered_cylinder));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domTapered_cylinder::domHeight::create(DAE& dae)
+{
+ domTapered_cylinder::domHeightRef ref = new domTapered_cylinder::domHeight(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domTapered_cylinder::domHeight::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "height" );
+ meta->registerClass(domTapered_cylinder::domHeight::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domTapered_cylinder::domHeight , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domTapered_cylinder::domHeight));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domTapered_cylinder::domRadius1::create(DAE& dae)
+{
+ domTapered_cylinder::domRadius1Ref ref = new domTapered_cylinder::domRadius1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domTapered_cylinder::domRadius1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "radius1" );
+ meta->registerClass(domTapered_cylinder::domRadius1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domTapered_cylinder::domRadius1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domTapered_cylinder::domRadius1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domTapered_cylinder::domRadius2::create(DAE& dae)
+{
+ domTapered_cylinder::domRadius2Ref ref = new domTapered_cylinder::domRadius2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domTapered_cylinder::domRadius2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "radius2" );
+ meta->registerClass(domTapered_cylinder::domRadius2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domTapered_cylinder::domRadius2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domTapered_cylinder::domRadius2));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domTargetableFloat.cpp b/1.4.0/dom/src/1.4/dom/domTargetableFloat.cpp
new file mode 100644
index 0000000..db259c4
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domTargetableFloat.cpp
@@ -0,0 +1,67 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domTargetableFloat.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domTargetableFloat::create(DAE& dae)
+{
+ domTargetableFloatRef ref = new domTargetableFloat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domTargetableFloat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "TargetableFloat" );
+ meta->registerClass(domTargetableFloat::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domTargetableFloat , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domTargetableFloat , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domTargetableFloat));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domTargetableFloat3.cpp b/1.4.0/dom/src/1.4/dom/domTargetableFloat3.cpp
new file mode 100644
index 0000000..a181895
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domTargetableFloat3.cpp
@@ -0,0 +1,67 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domTargetableFloat3.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domTargetableFloat3::create(DAE& dae)
+{
+ domTargetableFloat3Ref ref = new domTargetableFloat3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domTargetableFloat3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "TargetableFloat3" );
+ meta->registerClass(domTargetableFloat3::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domTargetableFloat3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domTargetableFloat3 , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domTargetableFloat3));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domTechnique.cpp b/1.4.0/dom/src/1.4/dom/domTechnique.cpp
new file mode 100644
index 0000000..6a2762a
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domTechnique.cpp
@@ -0,0 +1,85 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domTechnique.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domTechnique::create(DAE& dae)
+{
+ domTechniqueRef ref = new domTechnique(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domTechnique::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique" );
+ meta->registerClass(domTechnique::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaAny( meta, cm, 0, 0, -1 );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ meta->setAllowsAny( true );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domTechnique,_contents));
+ meta->addContentsOrder(daeOffsetOf(domTechnique,_contentsOrder));
+
+ // Add attribute: xmlns
+ {
+ daeMetaAttribute* ma = new daeMetaAttribute;
+ ma->setName( "xmlns" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domTechnique , attrXmlns ));
+ ma->setContainer( meta );
+ //ma->setIsRequired( true );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: profile
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "profile" );
+ ma->setType( dae.getAtomicTypes().get("xsNMTOKEN"));
+ ma->setOffset( daeOffsetOf( domTechnique , attrProfile ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domTechnique));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domTranslate.cpp b/1.4.0/dom/src/1.4/dom/domTranslate.cpp
new file mode 100644
index 0000000..90b968b
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domTranslate.cpp
@@ -0,0 +1,67 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domTranslate.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domTranslate::create(DAE& dae)
+{
+ domTranslateRef ref = new domTranslate(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domTranslate::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "translate" );
+ meta->registerClass(domTranslate::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domTranslate , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domTranslate , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domTranslate));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domTriangles.cpp b/1.4.0/dom/src/1.4/dom/domTriangles.cpp
new file mode 100644
index 0000000..b4005f3
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domTriangles.cpp
@@ -0,0 +1,105 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domTriangles.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domTriangles::create(DAE& dae)
+{
+ domTrianglesRef ref = new domTriangles(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domTriangles::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "triangles" );
+ meta->registerClass(domTriangles::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domTriangles,elemInput_array) );
+ mea->setElementType( domInputLocalOffset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "p" );
+ mea->setOffset( daeOffsetOf(domTriangles,elemP) );
+ mea->setElementType( domP::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domTriangles,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domTriangles , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domTriangles , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: material
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "material" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domTriangles , attrMaterial ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domTriangles));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domTrifans.cpp b/1.4.0/dom/src/1.4/dom/domTrifans.cpp
new file mode 100644
index 0000000..240d855
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domTrifans.cpp
@@ -0,0 +1,105 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domTrifans.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domTrifans::create(DAE& dae)
+{
+ domTrifansRef ref = new domTrifans(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domTrifans::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "trifans" );
+ meta->registerClass(domTrifans::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domTrifans,elemInput_array) );
+ mea->setElementType( domInputLocalOffset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "p" );
+ mea->setOffset( daeOffsetOf(domTrifans,elemP_array) );
+ mea->setElementType( domP::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domTrifans,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domTrifans , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domTrifans , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: material
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "material" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domTrifans , attrMaterial ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domTrifans));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domTristrips.cpp b/1.4.0/dom/src/1.4/dom/domTristrips.cpp
new file mode 100644
index 0000000..4acfdf9
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domTristrips.cpp
@@ -0,0 +1,105 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domTristrips.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domTristrips::create(DAE& dae)
+{
+ domTristripsRef ref = new domTristrips(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domTristrips::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "tristrips" );
+ meta->registerClass(domTristrips::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domTristrips,elemInput_array) );
+ mea->setElementType( domInputLocalOffset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "p" );
+ mea->setOffset( daeOffsetOf(domTristrips,elemP_array) );
+ mea->setElementType( domP::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domTristrips,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domTristrips , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domTristrips , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: material
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "material" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domTristrips , attrMaterial ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domTristrips));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domTypes.cpp b/1.4.0/dom/src/1.4/dom/domTypes.cpp
new file mode 100644
index 0000000..175e697
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domTypes.cpp
@@ -0,0 +1,2940 @@
+/*
+ * Copyright 2006 Sony Computer Entertainment Inc.
+ *
+ * Licensed under the MIT Open Source License, for details please see license.txt or the website
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ */
+
+#include <dae.h>
+#include <1.4/dom/domTypes.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domCOLLADA.h>
+
+namespace ColladaDOM141 {
+
+void registerDomTypes(DAE& dae)
+{
+ daeAtomicType* type = NULL;
+ daeAtomicTypeList& atomicTypes = dae.getAtomicTypes();
+
+ // TYPEDEF: Bool //check if this type has an existing base
+ type = atomicTypes.get("xsBoolean");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Bool");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Bool");
+ }
+
+ // TYPEDEF: DateTime //check if this type has an existing base
+ type = atomicTypes.get("xsDateTime");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("DateTime");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("DateTime");
+ }
+
+ // TYPEDEF: Float //check if this type has an existing base
+ type = atomicTypes.get("xsDouble");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Float");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Float");
+ }
+
+ // TYPEDEF: Int //check if this type has an existing base
+ type = atomicTypes.get("xsLong");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Int");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Int");
+ }
+
+ // TYPEDEF: Name //check if this type has an existing base
+ type = atomicTypes.get("xsName");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Name");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Name");
+ }
+
+ // TYPEDEF: String //check if this type has an existing base
+ type = atomicTypes.get("xsString");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("String");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("String");
+ }
+
+ // TYPEDEF: Token //check if this type has an existing base
+ type = atomicTypes.get("xsToken");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Token");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Token");
+ }
+
+ // TYPEDEF: Uint //check if this type has an existing base
+ type = atomicTypes.get("xsUnsignedLong");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Uint");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Uint");
+ }
+
+ // TYPEDEF: ListOfBools //check if this type has an existing base
+ type = atomicTypes.get("Bool");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("ListOfBools");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("ListOfBools");
+ }
+
+ // TYPEDEF: ListOfFloats //check if this type has an existing base
+ type = atomicTypes.get("Float");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("ListOfFloats");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("ListOfFloats");
+ }
+
+ // TYPEDEF: ListOfHexBinary //check if this type has an existing base
+ type = atomicTypes.get("xsHexBinary");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("ListOfHexBinary");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("ListOfHexBinary");
+ }
+
+ // TYPEDEF: ListOfInts //check if this type has an existing base
+ type = atomicTypes.get("Int");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("ListOfInts");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("ListOfInts");
+ }
+
+ // TYPEDEF: ListOfNames //check if this type has an existing base
+ type = atomicTypes.get("Name");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("ListOfNames");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("ListOfNames");
+ }
+
+ // TYPEDEF: ListOfTokens //check if this type has an existing base
+ type = atomicTypes.get("Token");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("ListOfTokens");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("ListOfTokens");
+ }
+
+ // TYPEDEF: ListOfUInts //check if this type has an existing base
+ type = atomicTypes.get("Uint");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("ListOfUInts");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("ListOfUInts");
+ }
+
+ // TYPEDEF: Bool2 //check if this type has an existing base
+ type = atomicTypes.get("ListOfBools");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Bool2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Bool2");
+ }
+
+ // TYPEDEF: Bool3 //check if this type has an existing base
+ type = atomicTypes.get("ListOfBools");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Bool3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Bool3");
+ }
+
+ // TYPEDEF: Bool4 //check if this type has an existing base
+ type = atomicTypes.get("ListOfBools");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Bool4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Bool4");
+ }
+
+ // TYPEDEF: Float2 //check if this type has an existing base
+ type = atomicTypes.get("ListOfFloats");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Float2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Float2");
+ }
+
+ // TYPEDEF: Float3 //check if this type has an existing base
+ type = atomicTypes.get("ListOfFloats");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Float3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Float3");
+ }
+
+ // TYPEDEF: Float4 //check if this type has an existing base
+ type = atomicTypes.get("ListOfFloats");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Float4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Float4");
+ }
+
+ // TYPEDEF: Float7 //check if this type has an existing base
+ type = atomicTypes.get("ListOfFloats");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Float7");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Float7");
+ }
+
+ // TYPEDEF: Float2x2 //check if this type has an existing base
+ type = atomicTypes.get("ListOfFloats");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Float2x2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Float2x2");
+ }
+
+ // TYPEDEF: Float3x3 //check if this type has an existing base
+ type = atomicTypes.get("ListOfFloats");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Float3x3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Float3x3");
+ }
+
+ // TYPEDEF: Float4x4 //check if this type has an existing base
+ type = atomicTypes.get("ListOfFloats");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Float4x4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Float4x4");
+ }
+
+ // TYPEDEF: Float2x3 //check if this type has an existing base
+ type = atomicTypes.get("ListOfFloats");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Float2x3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Float2x3");
+ }
+
+ // TYPEDEF: Float2x4 //check if this type has an existing base
+ type = atomicTypes.get("ListOfFloats");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Float2x4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Float2x4");
+ }
+
+ // TYPEDEF: Float3x2 //check if this type has an existing base
+ type = atomicTypes.get("ListOfFloats");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Float3x2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Float3x2");
+ }
+
+ // TYPEDEF: Float3x4 //check if this type has an existing base
+ type = atomicTypes.get("ListOfFloats");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Float3x4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Float3x4");
+ }
+
+ // TYPEDEF: Float4x2 //check if this type has an existing base
+ type = atomicTypes.get("ListOfFloats");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Float4x2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Float4x2");
+ }
+
+ // TYPEDEF: Float4x3 //check if this type has an existing base
+ type = atomicTypes.get("ListOfFloats");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Float4x3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Float4x3");
+ }
+
+ // TYPEDEF: Int2 //check if this type has an existing base
+ type = atomicTypes.get("ListOfInts");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Int2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Int2");
+ }
+
+ // TYPEDEF: Int3 //check if this type has an existing base
+ type = atomicTypes.get("ListOfInts");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Int3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Int3");
+ }
+
+ // TYPEDEF: Int4 //check if this type has an existing base
+ type = atomicTypes.get("ListOfInts");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Int4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Int4");
+ }
+
+ // TYPEDEF: Int2x2 //check if this type has an existing base
+ type = atomicTypes.get("ListOfInts");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Int2x2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Int2x2");
+ }
+
+ // TYPEDEF: Int3x3 //check if this type has an existing base
+ type = atomicTypes.get("ListOfInts");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Int3x3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Int3x3");
+ }
+
+ // TYPEDEF: Int4x4 //check if this type has an existing base
+ type = atomicTypes.get("ListOfInts");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Int4x4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Int4x4");
+ }
+
+ // ENUM: MorphMethodType
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("MorphMethodType");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("NORMALIZED");
+ ((daeEnumType*)type)->_values->append(MORPHMETHODTYPE_NORMALIZED);
+ ((daeEnumType*)type)->_strings->append("RELATIVE");
+ ((daeEnumType*)type)->_values->append(MORPHMETHODTYPE_RELATIVE);
+ atomicTypes.append( type );
+
+ // ENUM: NodeType
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("NodeType");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("JOINT");
+ ((daeEnumType*)type)->_values->append(NODETYPE_JOINT);
+ ((daeEnumType*)type)->_strings->append("NODE");
+ ((daeEnumType*)type)->_values->append(NODETYPE_NODE);
+ atomicTypes.append( type );
+
+ // TYPEDEF: URIFragmentType //check if this type has an existing base
+ type = atomicTypes.get("xsAnyURI");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("URIFragmentType");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("URIFragmentType");
+ }
+
+ // ENUM: UpAxisType
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("UpAxisType");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("X_UP");
+ ((daeEnumType*)type)->_values->append(UPAXISTYPE_X_UP);
+ ((daeEnumType*)type)->_strings->append("Y_UP");
+ ((daeEnumType*)type)->_values->append(UPAXISTYPE_Y_UP);
+ ((daeEnumType*)type)->_strings->append("Z_UP");
+ ((daeEnumType*)type)->_values->append(UPAXISTYPE_Z_UP);
+ atomicTypes.append( type );
+
+ // ENUM: VersionType
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("VersionType");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("1.4.0");
+ ((daeEnumType*)type)->_values->append(VERSIONTYPE_1_4_0);
+ ((daeEnumType*)type)->_strings->append("1.4.1");
+ ((daeEnumType*)type)->_values->append(VERSIONTYPE_1_4_1);
+ atomicTypes.append( type );
+
+ // TYPEDEF: Fx_color_common //check if this type has an existing base
+ type = atomicTypes.get("Float4");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Fx_color_common");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Fx_color_common");
+ }
+
+ // ENUM: Fx_opaque_enum
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Fx_opaque_enum");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("A_ONE");
+ ((daeEnumType*)type)->_values->append(FX_OPAQUE_ENUM_A_ONE);
+ ((daeEnumType*)type)->_strings->append("RGB_ZERO");
+ ((daeEnumType*)type)->_values->append(FX_OPAQUE_ENUM_RGB_ZERO);
+ atomicTypes.append( type );
+
+ // ENUM: Fx_surface_type_enum
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Fx_surface_type_enum");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("UNTYPED");
+ ((daeEnumType*)type)->_values->append(FX_SURFACE_TYPE_ENUM_UNTYPED);
+ ((daeEnumType*)type)->_strings->append("1D");
+ ((daeEnumType*)type)->_values->append(FX_SURFACE_TYPE_ENUM_1D);
+ ((daeEnumType*)type)->_strings->append("2D");
+ ((daeEnumType*)type)->_values->append(FX_SURFACE_TYPE_ENUM_2D);
+ ((daeEnumType*)type)->_strings->append("3D");
+ ((daeEnumType*)type)->_values->append(FX_SURFACE_TYPE_ENUM_3D);
+ ((daeEnumType*)type)->_strings->append("RECT");
+ ((daeEnumType*)type)->_values->append(FX_SURFACE_TYPE_ENUM_RECT);
+ ((daeEnumType*)type)->_strings->append("CUBE");
+ ((daeEnumType*)type)->_values->append(FX_SURFACE_TYPE_ENUM_CUBE);
+ ((daeEnumType*)type)->_strings->append("DEPTH");
+ ((daeEnumType*)type)->_values->append(FX_SURFACE_TYPE_ENUM_DEPTH);
+ atomicTypes.append( type );
+
+ // ENUM: Fx_surface_face_enum
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Fx_surface_face_enum");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("POSITIVE_X");
+ ((daeEnumType*)type)->_values->append(FX_SURFACE_FACE_ENUM_POSITIVE_X);
+ ((daeEnumType*)type)->_strings->append("NEGATIVE_X");
+ ((daeEnumType*)type)->_values->append(FX_SURFACE_FACE_ENUM_NEGATIVE_X);
+ ((daeEnumType*)type)->_strings->append("POSITIVE_Y");
+ ((daeEnumType*)type)->_values->append(FX_SURFACE_FACE_ENUM_POSITIVE_Y);
+ ((daeEnumType*)type)->_strings->append("NEGATIVE_Y");
+ ((daeEnumType*)type)->_values->append(FX_SURFACE_FACE_ENUM_NEGATIVE_Y);
+ ((daeEnumType*)type)->_strings->append("POSITIVE_Z");
+ ((daeEnumType*)type)->_values->append(FX_SURFACE_FACE_ENUM_POSITIVE_Z);
+ ((daeEnumType*)type)->_strings->append("NEGATIVE_Z");
+ ((daeEnumType*)type)->_values->append(FX_SURFACE_FACE_ENUM_NEGATIVE_Z);
+ atomicTypes.append( type );
+
+ // ENUM: Fx_surface_format_hint_channels_enum
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Fx_surface_format_hint_channels_enum");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("RGB");
+ ((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_CHANNELS_ENUM_RGB);
+ ((daeEnumType*)type)->_strings->append("RGBA");
+ ((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_CHANNELS_ENUM_RGBA);
+ ((daeEnumType*)type)->_strings->append("L");
+ ((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_CHANNELS_ENUM_L);
+ ((daeEnumType*)type)->_strings->append("LA");
+ ((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_CHANNELS_ENUM_LA);
+ ((daeEnumType*)type)->_strings->append("D");
+ ((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_CHANNELS_ENUM_D);
+ ((daeEnumType*)type)->_strings->append("XYZ");
+ ((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_CHANNELS_ENUM_XYZ);
+ ((daeEnumType*)type)->_strings->append("XYZW");
+ ((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_CHANNELS_ENUM_XYZW);
+ atomicTypes.append( type );
+
+ // ENUM: Fx_surface_format_hint_precision_enum
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Fx_surface_format_hint_precision_enum");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("LOW");
+ ((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_PRECISION_ENUM_LOW);
+ ((daeEnumType*)type)->_strings->append("MID");
+ ((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_PRECISION_ENUM_MID);
+ ((daeEnumType*)type)->_strings->append("HIGH");
+ ((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_PRECISION_ENUM_HIGH);
+ atomicTypes.append( type );
+
+ // ENUM: Fx_surface_format_hint_range_enum
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Fx_surface_format_hint_range_enum");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("SNORM");
+ ((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_RANGE_ENUM_SNORM);
+ ((daeEnumType*)type)->_strings->append("UNORM");
+ ((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_RANGE_ENUM_UNORM);
+ ((daeEnumType*)type)->_strings->append("SINT");
+ ((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_RANGE_ENUM_SINT);
+ ((daeEnumType*)type)->_strings->append("UINT");
+ ((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_RANGE_ENUM_UINT);
+ ((daeEnumType*)type)->_strings->append("FLOAT");
+ ((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_RANGE_ENUM_FLOAT);
+ atomicTypes.append( type );
+
+ // ENUM: Fx_surface_format_hint_option_enum
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Fx_surface_format_hint_option_enum");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("SRGB_GAMMA");
+ ((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_OPTION_ENUM_SRGB_GAMMA);
+ ((daeEnumType*)type)->_strings->append("NORMALIZED3");
+ ((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_OPTION_ENUM_NORMALIZED3);
+ ((daeEnumType*)type)->_strings->append("NORMALIZED4");
+ ((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_OPTION_ENUM_NORMALIZED4);
+ ((daeEnumType*)type)->_strings->append("COMPRESSABLE");
+ ((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_OPTION_ENUM_COMPRESSABLE);
+ atomicTypes.append( type );
+
+ // ENUM: Fx_sampler_wrap_common
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Fx_sampler_wrap_common");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("NONE");
+ ((daeEnumType*)type)->_values->append(FX_SAMPLER_WRAP_COMMON_NONE);
+ ((daeEnumType*)type)->_strings->append("WRAP");
+ ((daeEnumType*)type)->_values->append(FX_SAMPLER_WRAP_COMMON_WRAP);
+ ((daeEnumType*)type)->_strings->append("MIRROR");
+ ((daeEnumType*)type)->_values->append(FX_SAMPLER_WRAP_COMMON_MIRROR);
+ ((daeEnumType*)type)->_strings->append("CLAMP");
+ ((daeEnumType*)type)->_values->append(FX_SAMPLER_WRAP_COMMON_CLAMP);
+ ((daeEnumType*)type)->_strings->append("BORDER");
+ ((daeEnumType*)type)->_values->append(FX_SAMPLER_WRAP_COMMON_BORDER);
+ atomicTypes.append( type );
+
+ // ENUM: Fx_sampler_filter_common
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Fx_sampler_filter_common");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("NONE");
+ ((daeEnumType*)type)->_values->append(FX_SAMPLER_FILTER_COMMON_NONE);
+ ((daeEnumType*)type)->_strings->append("NEAREST");
+ ((daeEnumType*)type)->_values->append(FX_SAMPLER_FILTER_COMMON_NEAREST);
+ ((daeEnumType*)type)->_strings->append("LINEAR");
+ ((daeEnumType*)type)->_values->append(FX_SAMPLER_FILTER_COMMON_LINEAR);
+ ((daeEnumType*)type)->_strings->append("NEAREST_MIPMAP_NEAREST");
+ ((daeEnumType*)type)->_values->append(FX_SAMPLER_FILTER_COMMON_NEAREST_MIPMAP_NEAREST);
+ ((daeEnumType*)type)->_strings->append("LINEAR_MIPMAP_NEAREST");
+ ((daeEnumType*)type)->_values->append(FX_SAMPLER_FILTER_COMMON_LINEAR_MIPMAP_NEAREST);
+ ((daeEnumType*)type)->_strings->append("NEAREST_MIPMAP_LINEAR");
+ ((daeEnumType*)type)->_values->append(FX_SAMPLER_FILTER_COMMON_NEAREST_MIPMAP_LINEAR);
+ ((daeEnumType*)type)->_strings->append("LINEAR_MIPMAP_LINEAR");
+ ((daeEnumType*)type)->_values->append(FX_SAMPLER_FILTER_COMMON_LINEAR_MIPMAP_LINEAR);
+ atomicTypes.append( type );
+
+ // ENUM: Fx_modifier_enum_common
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Fx_modifier_enum_common");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("CONST");
+ ((daeEnumType*)type)->_values->append(FX_MODIFIER_ENUM_COMMON_CONST);
+ ((daeEnumType*)type)->_strings->append("UNIFORM");
+ ((daeEnumType*)type)->_values->append(FX_MODIFIER_ENUM_COMMON_UNIFORM);
+ ((daeEnumType*)type)->_strings->append("VARYING");
+ ((daeEnumType*)type)->_values->append(FX_MODIFIER_ENUM_COMMON_VARYING);
+ ((daeEnumType*)type)->_strings->append("STATIC");
+ ((daeEnumType*)type)->_values->append(FX_MODIFIER_ENUM_COMMON_STATIC);
+ ((daeEnumType*)type)->_strings->append("VOLATILE");
+ ((daeEnumType*)type)->_values->append(FX_MODIFIER_ENUM_COMMON_VOLATILE);
+ ((daeEnumType*)type)->_strings->append("EXTERN");
+ ((daeEnumType*)type)->_values->append(FX_MODIFIER_ENUM_COMMON_EXTERN);
+ ((daeEnumType*)type)->_strings->append("SHARED");
+ ((daeEnumType*)type)->_values->append(FX_MODIFIER_ENUM_COMMON_SHARED);
+ atomicTypes.append( type );
+
+ // TYPEDEF: Fx_draw_common //check if this type has an existing base
+ type = atomicTypes.get("xsString");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Fx_draw_common");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Fx_draw_common");
+ }
+
+ // ENUM: Fx_pipeline_stage_common
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Fx_pipeline_stage_common");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("VERTEXPROGRAM");
+ ((daeEnumType*)type)->_values->append(FX_PIPELINE_STAGE_COMMON_VERTEXPROGRAM);
+ ((daeEnumType*)type)->_strings->append("FRAGMENTPROGRAM");
+ ((daeEnumType*)type)->_values->append(FX_PIPELINE_STAGE_COMMON_FRAGMENTPROGRAM);
+ ((daeEnumType*)type)->_strings->append("VERTEXSHADER");
+ ((daeEnumType*)type)->_values->append(FX_PIPELINE_STAGE_COMMON_VERTEXSHADER);
+ ((daeEnumType*)type)->_strings->append("PIXELSHADER");
+ ((daeEnumType*)type)->_values->append(FX_PIPELINE_STAGE_COMMON_PIXELSHADER);
+ atomicTypes.append( type );
+
+ // TYPEDEF: GL_MAX_LIGHTS_index //check if this type has an existing base
+ type = atomicTypes.get("xsNonNegativeInteger");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("GL_MAX_LIGHTS_index");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("GL_MAX_LIGHTS_index");
+ }
+
+ // TYPEDEF: GL_MAX_CLIP_PLANES_index //check if this type has an existing base
+ type = atomicTypes.get("xsNonNegativeInteger");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("GL_MAX_CLIP_PLANES_index");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("GL_MAX_CLIP_PLANES_index");
+ }
+
+ // TYPEDEF: GL_MAX_TEXTURE_IMAGE_UNITS_index //check if this type has an existing base
+ type = atomicTypes.get("xsNonNegativeInteger");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("GL_MAX_TEXTURE_IMAGE_UNITS_index");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("GL_MAX_TEXTURE_IMAGE_UNITS_index");
+ }
+
+ // ENUM: Gl_blend_type
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gl_blend_type");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("ZERO");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_TYPE_ZERO);
+ ((daeEnumType*)type)->_strings->append("ONE");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_TYPE_ONE);
+ ((daeEnumType*)type)->_strings->append("SRC_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_TYPE_SRC_COLOR);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_SRC_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_TYPE_ONE_MINUS_SRC_COLOR);
+ ((daeEnumType*)type)->_strings->append("DEST_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_TYPE_DEST_COLOR);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_DEST_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_TYPE_ONE_MINUS_DEST_COLOR);
+ ((daeEnumType*)type)->_strings->append("SRC_ALPHA");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_TYPE_SRC_ALPHA);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_SRC_ALPHA");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_TYPE_ONE_MINUS_SRC_ALPHA);
+ ((daeEnumType*)type)->_strings->append("DST_ALPHA");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_TYPE_DST_ALPHA);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_DST_ALPHA");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_TYPE_ONE_MINUS_DST_ALPHA);
+ ((daeEnumType*)type)->_strings->append("CONSTANT_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_TYPE_CONSTANT_COLOR);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_CONSTANT_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_TYPE_ONE_MINUS_CONSTANT_COLOR);
+ ((daeEnumType*)type)->_strings->append("CONSTANT_ALPHA");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_TYPE_CONSTANT_ALPHA);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_CONSTANT_ALPHA");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_TYPE_ONE_MINUS_CONSTANT_ALPHA);
+ ((daeEnumType*)type)->_strings->append("SRC_ALPHA_SATURATE");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_TYPE_SRC_ALPHA_SATURATE);
+ atomicTypes.append( type );
+
+ // ENUM: Gl_face_type
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gl_face_type");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("FRONT");
+ ((daeEnumType*)type)->_values->append(GL_FACE_TYPE_FRONT);
+ ((daeEnumType*)type)->_strings->append("BACK");
+ ((daeEnumType*)type)->_values->append(GL_FACE_TYPE_BACK);
+ ((daeEnumType*)type)->_strings->append("FRONT_AND_BACK");
+ ((daeEnumType*)type)->_values->append(GL_FACE_TYPE_FRONT_AND_BACK);
+ atomicTypes.append( type );
+
+ // ENUM: Gl_blend_equation_type
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gl_blend_equation_type");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("FUNC_ADD");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_EQUATION_TYPE_FUNC_ADD);
+ ((daeEnumType*)type)->_strings->append("FUNC_SUBTRACT");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_EQUATION_TYPE_FUNC_SUBTRACT);
+ ((daeEnumType*)type)->_strings->append("FUNC_REVERSE_SUBTRACT");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_EQUATION_TYPE_FUNC_REVERSE_SUBTRACT);
+ ((daeEnumType*)type)->_strings->append("MIN");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_EQUATION_TYPE_MIN);
+ ((daeEnumType*)type)->_strings->append("MAX");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_EQUATION_TYPE_MAX);
+ atomicTypes.append( type );
+
+ // ENUM: Gl_func_type
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gl_func_type");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("NEVER");
+ ((daeEnumType*)type)->_values->append(GL_FUNC_TYPE_NEVER);
+ ((daeEnumType*)type)->_strings->append("LESS");
+ ((daeEnumType*)type)->_values->append(GL_FUNC_TYPE_LESS);
+ ((daeEnumType*)type)->_strings->append("LEQUAL");
+ ((daeEnumType*)type)->_values->append(GL_FUNC_TYPE_LEQUAL);
+ ((daeEnumType*)type)->_strings->append("EQUAL");
+ ((daeEnumType*)type)->_values->append(GL_FUNC_TYPE_EQUAL);
+ ((daeEnumType*)type)->_strings->append("GREATER");
+ ((daeEnumType*)type)->_values->append(GL_FUNC_TYPE_GREATER);
+ ((daeEnumType*)type)->_strings->append("NOTEQUAL");
+ ((daeEnumType*)type)->_values->append(GL_FUNC_TYPE_NOTEQUAL);
+ ((daeEnumType*)type)->_strings->append("GEQUAL");
+ ((daeEnumType*)type)->_values->append(GL_FUNC_TYPE_GEQUAL);
+ ((daeEnumType*)type)->_strings->append("ALWAYS");
+ ((daeEnumType*)type)->_values->append(GL_FUNC_TYPE_ALWAYS);
+ atomicTypes.append( type );
+
+ // ENUM: Gl_stencil_op_type
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gl_stencil_op_type");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("KEEP");
+ ((daeEnumType*)type)->_values->append(GL_STENCIL_OP_TYPE_KEEP);
+ ((daeEnumType*)type)->_strings->append("ZERO");
+ ((daeEnumType*)type)->_values->append(GL_STENCIL_OP_TYPE_ZERO);
+ ((daeEnumType*)type)->_strings->append("REPLACE");
+ ((daeEnumType*)type)->_values->append(GL_STENCIL_OP_TYPE_REPLACE);
+ ((daeEnumType*)type)->_strings->append("INCR");
+ ((daeEnumType*)type)->_values->append(GL_STENCIL_OP_TYPE_INCR);
+ ((daeEnumType*)type)->_strings->append("DECR");
+ ((daeEnumType*)type)->_values->append(GL_STENCIL_OP_TYPE_DECR);
+ ((daeEnumType*)type)->_strings->append("INVERT");
+ ((daeEnumType*)type)->_values->append(GL_STENCIL_OP_TYPE_INVERT);
+ ((daeEnumType*)type)->_strings->append("INCR_WRAP");
+ ((daeEnumType*)type)->_values->append(GL_STENCIL_OP_TYPE_INCR_WRAP);
+ ((daeEnumType*)type)->_strings->append("DECR_WRAP");
+ ((daeEnumType*)type)->_values->append(GL_STENCIL_OP_TYPE_DECR_WRAP);
+ atomicTypes.append( type );
+
+ // ENUM: Gl_material_type
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gl_material_type");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("EMISSION");
+ ((daeEnumType*)type)->_values->append(GL_MATERIAL_TYPE_EMISSION);
+ ((daeEnumType*)type)->_strings->append("AMBIENT");
+ ((daeEnumType*)type)->_values->append(GL_MATERIAL_TYPE_AMBIENT);
+ ((daeEnumType*)type)->_strings->append("DIFFUSE");
+ ((daeEnumType*)type)->_values->append(GL_MATERIAL_TYPE_DIFFUSE);
+ ((daeEnumType*)type)->_strings->append("SPECULAR");
+ ((daeEnumType*)type)->_values->append(GL_MATERIAL_TYPE_SPECULAR);
+ ((daeEnumType*)type)->_strings->append("AMBIENT_AND_DIFFUSE");
+ ((daeEnumType*)type)->_values->append(GL_MATERIAL_TYPE_AMBIENT_AND_DIFFUSE);
+ atomicTypes.append( type );
+
+ // ENUM: Gl_fog_type
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gl_fog_type");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("LINEAR");
+ ((daeEnumType*)type)->_values->append(GL_FOG_TYPE_LINEAR);
+ ((daeEnumType*)type)->_strings->append("EXP");
+ ((daeEnumType*)type)->_values->append(GL_FOG_TYPE_EXP);
+ ((daeEnumType*)type)->_strings->append("EXP2");
+ ((daeEnumType*)type)->_values->append(GL_FOG_TYPE_EXP2);
+ atomicTypes.append( type );
+
+ // ENUM: Gl_fog_coord_src_type
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gl_fog_coord_src_type");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("FOG_COORDINATE");
+ ((daeEnumType*)type)->_values->append(GL_FOG_COORD_SRC_TYPE_FOG_COORDINATE);
+ ((daeEnumType*)type)->_strings->append("FRAGMENT_DEPTH");
+ ((daeEnumType*)type)->_values->append(GL_FOG_COORD_SRC_TYPE_FRAGMENT_DEPTH);
+ atomicTypes.append( type );
+
+ // ENUM: Gl_front_face_type
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gl_front_face_type");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("CW");
+ ((daeEnumType*)type)->_values->append(GL_FRONT_FACE_TYPE_CW);
+ ((daeEnumType*)type)->_strings->append("CCW");
+ ((daeEnumType*)type)->_values->append(GL_FRONT_FACE_TYPE_CCW);
+ atomicTypes.append( type );
+
+ // ENUM: Gl_light_model_color_control_type
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gl_light_model_color_control_type");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("SINGLE_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_LIGHT_MODEL_COLOR_CONTROL_TYPE_SINGLE_COLOR);
+ ((daeEnumType*)type)->_strings->append("SEPARATE_SPECULAR_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_LIGHT_MODEL_COLOR_CONTROL_TYPE_SEPARATE_SPECULAR_COLOR);
+ atomicTypes.append( type );
+
+ // ENUM: Gl_logic_op_type
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gl_logic_op_type");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("CLEAR");
+ ((daeEnumType*)type)->_values->append(GL_LOGIC_OP_TYPE_CLEAR);
+ ((daeEnumType*)type)->_strings->append("AND");
+ ((daeEnumType*)type)->_values->append(GL_LOGIC_OP_TYPE_AND);
+ ((daeEnumType*)type)->_strings->append("AND_REVERSE");
+ ((daeEnumType*)type)->_values->append(GL_LOGIC_OP_TYPE_AND_REVERSE);
+ ((daeEnumType*)type)->_strings->append("COPY");
+ ((daeEnumType*)type)->_values->append(GL_LOGIC_OP_TYPE_COPY);
+ ((daeEnumType*)type)->_strings->append("AND_INVERTED");
+ ((daeEnumType*)type)->_values->append(GL_LOGIC_OP_TYPE_AND_INVERTED);
+ ((daeEnumType*)type)->_strings->append("NOOP");
+ ((daeEnumType*)type)->_values->append(GL_LOGIC_OP_TYPE_NOOP);
+ ((daeEnumType*)type)->_strings->append("XOR");
+ ((daeEnumType*)type)->_values->append(GL_LOGIC_OP_TYPE_XOR);
+ ((daeEnumType*)type)->_strings->append("OR");
+ ((daeEnumType*)type)->_values->append(GL_LOGIC_OP_TYPE_OR);
+ ((daeEnumType*)type)->_strings->append("NOR");
+ ((daeEnumType*)type)->_values->append(GL_LOGIC_OP_TYPE_NOR);
+ ((daeEnumType*)type)->_strings->append("EQUIV");
+ ((daeEnumType*)type)->_values->append(GL_LOGIC_OP_TYPE_EQUIV);
+ ((daeEnumType*)type)->_strings->append("INVERT");
+ ((daeEnumType*)type)->_values->append(GL_LOGIC_OP_TYPE_INVERT);
+ ((daeEnumType*)type)->_strings->append("OR_REVERSE");
+ ((daeEnumType*)type)->_values->append(GL_LOGIC_OP_TYPE_OR_REVERSE);
+ ((daeEnumType*)type)->_strings->append("COPY_INVERTED");
+ ((daeEnumType*)type)->_values->append(GL_LOGIC_OP_TYPE_COPY_INVERTED);
+ ((daeEnumType*)type)->_strings->append("NAND");
+ ((daeEnumType*)type)->_values->append(GL_LOGIC_OP_TYPE_NAND);
+ ((daeEnumType*)type)->_strings->append("SET");
+ ((daeEnumType*)type)->_values->append(GL_LOGIC_OP_TYPE_SET);
+ atomicTypes.append( type );
+
+ // ENUM: Gl_polygon_mode_type
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gl_polygon_mode_type");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("POINT");
+ ((daeEnumType*)type)->_values->append(GL_POLYGON_MODE_TYPE_POINT);
+ ((daeEnumType*)type)->_strings->append("LINE");
+ ((daeEnumType*)type)->_values->append(GL_POLYGON_MODE_TYPE_LINE);
+ ((daeEnumType*)type)->_strings->append("FILL");
+ ((daeEnumType*)type)->_values->append(GL_POLYGON_MODE_TYPE_FILL);
+ atomicTypes.append( type );
+
+ // ENUM: Gl_shade_model_type
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gl_shade_model_type");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("FLAT");
+ ((daeEnumType*)type)->_values->append(GL_SHADE_MODEL_TYPE_FLAT);
+ ((daeEnumType*)type)->_strings->append("SMOOTH");
+ ((daeEnumType*)type)->_values->append(GL_SHADE_MODEL_TYPE_SMOOTH);
+ atomicTypes.append( type );
+
+ // TYPEDEF: Gl_alpha_value_type //check if this type has an existing base
+ type = atomicTypes.get("xsFloat");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Gl_alpha_value_type");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Gl_alpha_value_type");
+ }
+
+ // ENUM: Gl_enumeration
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gl_enumeration");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("ZERO");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_ZERO);
+ ((daeEnumType*)type)->_strings->append("ONE");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_ONE);
+ ((daeEnumType*)type)->_strings->append("SRC_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_SRC_COLOR);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_SRC_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_ONE_MINUS_SRC_COLOR);
+ ((daeEnumType*)type)->_strings->append("DEST_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_DEST_COLOR);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_DEST_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_ONE_MINUS_DEST_COLOR);
+ ((daeEnumType*)type)->_strings->append("SRC_ALPHA");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_SRC_ALPHA);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_SRC_ALPHA");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_ONE_MINUS_SRC_ALPHA);
+ ((daeEnumType*)type)->_strings->append("DST_ALPHA");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_DST_ALPHA);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_DST_ALPHA");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_ONE_MINUS_DST_ALPHA);
+ ((daeEnumType*)type)->_strings->append("CONSTANT_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_CONSTANT_COLOR);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_CONSTANT_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_ONE_MINUS_CONSTANT_COLOR);
+ ((daeEnumType*)type)->_strings->append("CONSTANT_ALPHA");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_CONSTANT_ALPHA);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_CONSTANT_ALPHA");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_ONE_MINUS_CONSTANT_ALPHA);
+ ((daeEnumType*)type)->_strings->append("SRC_ALPHA_SATURATE");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_SRC_ALPHA_SATURATE);
+ ((daeEnumType*)type)->_strings->append("FRONT");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_FRONT);
+ ((daeEnumType*)type)->_strings->append("BACK");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_BACK);
+ ((daeEnumType*)type)->_strings->append("FRONT_AND_BACK");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_FRONT_AND_BACK);
+ ((daeEnumType*)type)->_strings->append("FUNC_ADD");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_FUNC_ADD);
+ ((daeEnumType*)type)->_strings->append("FUNC_SUBTRACT");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_FUNC_SUBTRACT);
+ ((daeEnumType*)type)->_strings->append("FUNC_REVERSE_SUBTRACT");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_FUNC_REVERSE_SUBTRACT);
+ ((daeEnumType*)type)->_strings->append("MIN");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_MIN);
+ ((daeEnumType*)type)->_strings->append("MAX");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_MAX);
+ ((daeEnumType*)type)->_strings->append("NEVER");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_NEVER);
+ ((daeEnumType*)type)->_strings->append("LESS");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_LESS);
+ ((daeEnumType*)type)->_strings->append("LEQUAL");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_LEQUAL);
+ ((daeEnumType*)type)->_strings->append("EQUAL");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_EQUAL);
+ ((daeEnumType*)type)->_strings->append("GREATER");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_GREATER);
+ ((daeEnumType*)type)->_strings->append("NOTEQUAL");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_NOTEQUAL);
+ ((daeEnumType*)type)->_strings->append("GEQUAL");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_GEQUAL);
+ ((daeEnumType*)type)->_strings->append("ALWAYS");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_ALWAYS);
+ ((daeEnumType*)type)->_strings->append("KEEP");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_KEEP);
+ ((daeEnumType*)type)->_strings->append("REPLACE");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_REPLACE);
+ ((daeEnumType*)type)->_strings->append("INCR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_INCR);
+ ((daeEnumType*)type)->_strings->append("DECR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_DECR);
+ ((daeEnumType*)type)->_strings->append("INVERT");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_INVERT);
+ ((daeEnumType*)type)->_strings->append("INCR_WRAP");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_INCR_WRAP);
+ ((daeEnumType*)type)->_strings->append("DECR_WRAP");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_DECR_WRAP);
+ ((daeEnumType*)type)->_strings->append("EMISSION");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_EMISSION);
+ ((daeEnumType*)type)->_strings->append("AMBIENT");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_AMBIENT);
+ ((daeEnumType*)type)->_strings->append("DIFFUSE");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_DIFFUSE);
+ ((daeEnumType*)type)->_strings->append("SPECULAR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_SPECULAR);
+ ((daeEnumType*)type)->_strings->append("AMBIENT_AND_DIFFUSE");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_AMBIENT_AND_DIFFUSE);
+ ((daeEnumType*)type)->_strings->append("LINEAR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_LINEAR);
+ ((daeEnumType*)type)->_strings->append("EXP");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_EXP);
+ ((daeEnumType*)type)->_strings->append("EXP2");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_EXP2);
+ ((daeEnumType*)type)->_strings->append("FOG_COORDINATE");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_FOG_COORDINATE);
+ ((daeEnumType*)type)->_strings->append("FRAGMENT_DEPTH");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_FRAGMENT_DEPTH);
+ ((daeEnumType*)type)->_strings->append("CW");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_CW);
+ ((daeEnumType*)type)->_strings->append("CCW");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_CCW);
+ ((daeEnumType*)type)->_strings->append("SINGLE_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_SINGLE_COLOR);
+ ((daeEnumType*)type)->_strings->append("SEPARATE_SPECULAR_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_SEPARATE_SPECULAR_COLOR);
+ ((daeEnumType*)type)->_strings->append("CLEAR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_CLEAR);
+ ((daeEnumType*)type)->_strings->append("AND");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_AND);
+ ((daeEnumType*)type)->_strings->append("AND_REVERSE");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_AND_REVERSE);
+ ((daeEnumType*)type)->_strings->append("COPY");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_COPY);
+ ((daeEnumType*)type)->_strings->append("AND_INVERTED");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_AND_INVERTED);
+ ((daeEnumType*)type)->_strings->append("NOOP");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_NOOP);
+ ((daeEnumType*)type)->_strings->append("XOR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_XOR);
+ ((daeEnumType*)type)->_strings->append("OR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_OR);
+ ((daeEnumType*)type)->_strings->append("NOR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_NOR);
+ ((daeEnumType*)type)->_strings->append("EQUIV");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_EQUIV);
+ ((daeEnumType*)type)->_strings->append("OR_REVERSE");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_OR_REVERSE);
+ ((daeEnumType*)type)->_strings->append("COPY_INVERTED");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_COPY_INVERTED);
+ ((daeEnumType*)type)->_strings->append("NAND");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_NAND);
+ ((daeEnumType*)type)->_strings->append("SET");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_SET);
+ ((daeEnumType*)type)->_strings->append("POINT");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_POINT);
+ ((daeEnumType*)type)->_strings->append("LINE");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_LINE);
+ ((daeEnumType*)type)->_strings->append("FILL");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_FILL);
+ ((daeEnumType*)type)->_strings->append("FLAT");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_FLAT);
+ ((daeEnumType*)type)->_strings->append("SMOOTH");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_SMOOTH);
+ atomicTypes.append( type );
+
+ // TYPEDEF: Glsl_float //check if this type has an existing base
+ type = atomicTypes.get("xsFloat");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Glsl_float");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Glsl_float");
+ }
+
+ // TYPEDEF: Glsl_int //check if this type has an existing base
+ type = atomicTypes.get("xsInt");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Glsl_int");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Glsl_int");
+ }
+
+ // TYPEDEF: Glsl_bool //check if this type has an existing base
+ type = atomicTypes.get("xsBoolean");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Glsl_bool");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Glsl_bool");
+ }
+
+ // TYPEDEF: Glsl_ListOfBool //check if this type has an existing base
+ type = atomicTypes.get("Glsl_bool");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Glsl_ListOfBool");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Glsl_ListOfBool");
+ }
+
+ // TYPEDEF: Glsl_ListOfFloat //check if this type has an existing base
+ type = atomicTypes.get("Glsl_float");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Glsl_ListOfFloat");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Glsl_ListOfFloat");
+ }
+
+ // TYPEDEF: Glsl_ListOfInt //check if this type has an existing base
+ type = atomicTypes.get("Glsl_int");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Glsl_ListOfInt");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Glsl_ListOfInt");
+ }
+
+ // TYPEDEF: Glsl_bool2 //check if this type has an existing base
+ type = atomicTypes.get("Glsl_ListOfBool");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Glsl_bool2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Glsl_bool2");
+ }
+
+ // TYPEDEF: Glsl_bool3 //check if this type has an existing base
+ type = atomicTypes.get("Glsl_ListOfBool");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Glsl_bool3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Glsl_bool3");
+ }
+
+ // TYPEDEF: Glsl_bool4 //check if this type has an existing base
+ type = atomicTypes.get("Glsl_ListOfBool");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Glsl_bool4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Glsl_bool4");
+ }
+
+ // TYPEDEF: Glsl_float2 //check if this type has an existing base
+ type = atomicTypes.get("Glsl_ListOfFloat");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Glsl_float2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Glsl_float2");
+ }
+
+ // TYPEDEF: Glsl_float3 //check if this type has an existing base
+ type = atomicTypes.get("Glsl_ListOfFloat");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Glsl_float3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Glsl_float3");
+ }
+
+ // TYPEDEF: Glsl_float4 //check if this type has an existing base
+ type = atomicTypes.get("Glsl_ListOfFloat");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Glsl_float4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Glsl_float4");
+ }
+
+ // TYPEDEF: Glsl_float2x2 //check if this type has an existing base
+ type = atomicTypes.get("Glsl_ListOfFloat");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Glsl_float2x2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Glsl_float2x2");
+ }
+
+ // TYPEDEF: Glsl_float3x3 //check if this type has an existing base
+ type = atomicTypes.get("Glsl_ListOfFloat");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Glsl_float3x3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Glsl_float3x3");
+ }
+
+ // TYPEDEF: Glsl_float4x4 //check if this type has an existing base
+ type = atomicTypes.get("Glsl_ListOfFloat");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Glsl_float4x4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Glsl_float4x4");
+ }
+
+ // TYPEDEF: Glsl_int2 //check if this type has an existing base
+ type = atomicTypes.get("Glsl_ListOfInt");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Glsl_int2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Glsl_int2");
+ }
+
+ // TYPEDEF: Glsl_int3 //check if this type has an existing base
+ type = atomicTypes.get("Glsl_ListOfInt");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Glsl_int3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Glsl_int3");
+ }
+
+ // TYPEDEF: Glsl_int4 //check if this type has an existing base
+ type = atomicTypes.get("Glsl_ListOfInt");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Glsl_int4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Glsl_int4");
+ }
+
+ // ENUM: Glsl_pipeline_stage
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Glsl_pipeline_stage");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("VERTEXPROGRAM");
+ ((daeEnumType*)type)->_values->append(GLSL_PIPELINE_STAGE_VERTEXPROGRAM);
+ ((daeEnumType*)type)->_strings->append("FRAGMENTPROGRAM");
+ ((daeEnumType*)type)->_values->append(GLSL_PIPELINE_STAGE_FRAGMENTPROGRAM);
+ atomicTypes.append( type );
+
+ // TYPEDEF: Glsl_identifier //check if this type has an existing base
+ type = atomicTypes.get("xsToken");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Glsl_identifier");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Glsl_identifier");
+ }
+
+ // TYPEDEF: Cg_bool //check if this type has an existing base
+ type = atomicTypes.get("xsBoolean");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_bool");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_bool");
+ }
+
+ // TYPEDEF: Cg_float //check if this type has an existing base
+ type = atomicTypes.get("xsFloat");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_float");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_float");
+ }
+
+ // TYPEDEF: Cg_int //check if this type has an existing base
+ type = atomicTypes.get("xsInt");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_int");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_int");
+ }
+
+ // TYPEDEF: Cg_half //check if this type has an existing base
+ type = atomicTypes.get("xsFloat");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_half");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_half");
+ }
+
+ // TYPEDEF: Cg_fixed //check if this type has an existing base
+ type = atomicTypes.get("xsFloat");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_fixed");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_fixed");
+ }
+
+ // TYPEDEF: Cg_bool1 //check if this type has an existing base
+ type = atomicTypes.get("xsBoolean");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_bool1");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_bool1");
+ }
+
+ // TYPEDEF: Cg_float1 //check if this type has an existing base
+ type = atomicTypes.get("xsFloat");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_float1");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_float1");
+ }
+
+ // TYPEDEF: Cg_int1 //check if this type has an existing base
+ type = atomicTypes.get("xsInt");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_int1");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_int1");
+ }
+
+ // TYPEDEF: Cg_half1 //check if this type has an existing base
+ type = atomicTypes.get("xsFloat");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_half1");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_half1");
+ }
+
+ // TYPEDEF: Cg_fixed1 //check if this type has an existing base
+ type = atomicTypes.get("xsFloat");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_fixed1");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_fixed1");
+ }
+
+ // TYPEDEF: Cg_ListOfBool //check if this type has an existing base
+ type = atomicTypes.get("Cg_bool");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_ListOfBool");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_ListOfBool");
+ }
+
+ // TYPEDEF: Cg_ListOfFloat //check if this type has an existing base
+ type = atomicTypes.get("Cg_float");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_ListOfFloat");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_ListOfFloat");
+ }
+
+ // TYPEDEF: Cg_ListOfInt //check if this type has an existing base
+ type = atomicTypes.get("Cg_int");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_ListOfInt");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_ListOfInt");
+ }
+
+ // TYPEDEF: Cg_ListOfHalf //check if this type has an existing base
+ type = atomicTypes.get("Cg_half");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_ListOfHalf");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_ListOfHalf");
+ }
+
+ // TYPEDEF: Cg_ListOfFixed //check if this type has an existing base
+ type = atomicTypes.get("Cg_fixed");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_ListOfFixed");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_ListOfFixed");
+ }
+
+ // TYPEDEF: Cg_bool2 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfBool");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_bool2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_bool2");
+ }
+
+ // TYPEDEF: Cg_bool3 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfBool");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_bool3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_bool3");
+ }
+
+ // TYPEDEF: Cg_bool4 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfBool");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_bool4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_bool4");
+ }
+
+ // TYPEDEF: Cg_bool1x1 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfBool");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_bool1x1");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_bool1x1");
+ }
+
+ // TYPEDEF: Cg_bool1x2 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfBool");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_bool1x2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_bool1x2");
+ }
+
+ // TYPEDEF: Cg_bool1x3 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfBool");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_bool1x3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_bool1x3");
+ }
+
+ // TYPEDEF: Cg_bool1x4 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfBool");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_bool1x4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_bool1x4");
+ }
+
+ // TYPEDEF: Cg_bool2x1 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfBool");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_bool2x1");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_bool2x1");
+ }
+
+ // TYPEDEF: Cg_bool2x2 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfBool");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_bool2x2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_bool2x2");
+ }
+
+ // TYPEDEF: Cg_bool2x3 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfBool");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_bool2x3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_bool2x3");
+ }
+
+ // TYPEDEF: Cg_bool2x4 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfBool");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_bool2x4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_bool2x4");
+ }
+
+ // TYPEDEF: Cg_bool3x1 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfBool");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_bool3x1");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_bool3x1");
+ }
+
+ // TYPEDEF: Cg_bool3x2 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfBool");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_bool3x2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_bool3x2");
+ }
+
+ // TYPEDEF: Cg_bool3x3 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfBool");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_bool3x3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_bool3x3");
+ }
+
+ // TYPEDEF: Cg_bool3x4 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfBool");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_bool3x4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_bool3x4");
+ }
+
+ // TYPEDEF: Cg_bool4x1 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfBool");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_bool4x1");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_bool4x1");
+ }
+
+ // TYPEDEF: Cg_bool4x2 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfBool");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_bool4x2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_bool4x2");
+ }
+
+ // TYPEDEF: Cg_bool4x3 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfBool");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_bool4x3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_bool4x3");
+ }
+
+ // TYPEDEF: Cg_bool4x4 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfBool");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_bool4x4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_bool4x4");
+ }
+
+ // TYPEDEF: Cg_float2 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfFloat");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_float2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_float2");
+ }
+
+ // TYPEDEF: Cg_float3 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfFloat");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_float3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_float3");
+ }
+
+ // TYPEDEF: Cg_float4 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfFloat");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_float4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_float4");
+ }
+
+ // TYPEDEF: Cg_float1x1 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfFloat");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_float1x1");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_float1x1");
+ }
+
+ // TYPEDEF: Cg_float1x2 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfFloat");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_float1x2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_float1x2");
+ }
+
+ // TYPEDEF: Cg_float1x3 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfFloat");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_float1x3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_float1x3");
+ }
+
+ // TYPEDEF: Cg_float1x4 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfFloat");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_float1x4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_float1x4");
+ }
+
+ // TYPEDEF: Cg_float2x1 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfFloat");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_float2x1");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_float2x1");
+ }
+
+ // TYPEDEF: Cg_float2x2 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfFloat");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_float2x2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_float2x2");
+ }
+
+ // TYPEDEF: Cg_float2x3 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfFloat");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_float2x3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_float2x3");
+ }
+
+ // TYPEDEF: Cg_float2x4 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfFloat");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_float2x4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_float2x4");
+ }
+
+ // TYPEDEF: Cg_float3x1 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfFloat");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_float3x1");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_float3x1");
+ }
+
+ // TYPEDEF: Cg_float3x2 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfFloat");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_float3x2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_float3x2");
+ }
+
+ // TYPEDEF: Cg_float3x3 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfFloat");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_float3x3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_float3x3");
+ }
+
+ // TYPEDEF: Cg_float3x4 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfFloat");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_float3x4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_float3x4");
+ }
+
+ // TYPEDEF: Cg_float4x1 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfFloat");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_float4x1");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_float4x1");
+ }
+
+ // TYPEDEF: Cg_float4x2 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfFloat");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_float4x2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_float4x2");
+ }
+
+ // TYPEDEF: Cg_float4x3 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfFloat");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_float4x3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_float4x3");
+ }
+
+ // TYPEDEF: Cg_float4x4 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfFloat");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_float4x4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_float4x4");
+ }
+
+ // TYPEDEF: Cg_int2 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfInt");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_int2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_int2");
+ }
+
+ // TYPEDEF: Cg_int3 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfInt");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_int3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_int3");
+ }
+
+ // TYPEDEF: Cg_int4 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfInt");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_int4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_int4");
+ }
+
+ // TYPEDEF: Cg_int1x1 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfInt");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_int1x1");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_int1x1");
+ }
+
+ // TYPEDEF: Cg_int1x2 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfInt");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_int1x2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_int1x2");
+ }
+
+ // TYPEDEF: Cg_int1x3 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfInt");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_int1x3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_int1x3");
+ }
+
+ // TYPEDEF: Cg_int1x4 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfInt");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_int1x4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_int1x4");
+ }
+
+ // TYPEDEF: Cg_int2x1 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfInt");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_int2x1");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_int2x1");
+ }
+
+ // TYPEDEF: Cg_int2x2 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfInt");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_int2x2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_int2x2");
+ }
+
+ // TYPEDEF: Cg_int2x3 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfInt");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_int2x3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_int2x3");
+ }
+
+ // TYPEDEF: Cg_int2x4 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfInt");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_int2x4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_int2x4");
+ }
+
+ // TYPEDEF: Cg_int3x1 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfInt");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_int3x1");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_int3x1");
+ }
+
+ // TYPEDEF: Cg_int3x2 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfInt");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_int3x2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_int3x2");
+ }
+
+ // TYPEDEF: Cg_int3x3 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfInt");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_int3x3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_int3x3");
+ }
+
+ // TYPEDEF: Cg_int3x4 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfInt");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_int3x4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_int3x4");
+ }
+
+ // TYPEDEF: Cg_int4x1 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfInt");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_int4x1");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_int4x1");
+ }
+
+ // TYPEDEF: Cg_int4x2 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfInt");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_int4x2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_int4x2");
+ }
+
+ // TYPEDEF: Cg_int4x3 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfInt");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_int4x3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_int4x3");
+ }
+
+ // TYPEDEF: Cg_int4x4 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfInt");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_int4x4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_int4x4");
+ }
+
+ // TYPEDEF: Cg_half2 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfHalf");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_half2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_half2");
+ }
+
+ // TYPEDEF: Cg_half3 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfHalf");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_half3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_half3");
+ }
+
+ // TYPEDEF: Cg_half4 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfHalf");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_half4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_half4");
+ }
+
+ // TYPEDEF: Cg_half1x1 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfHalf");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_half1x1");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_half1x1");
+ }
+
+ // TYPEDEF: Cg_half1x2 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfHalf");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_half1x2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_half1x2");
+ }
+
+ // TYPEDEF: Cg_half1x3 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfHalf");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_half1x3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_half1x3");
+ }
+
+ // TYPEDEF: Cg_half1x4 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfHalf");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_half1x4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_half1x4");
+ }
+
+ // TYPEDEF: Cg_half2x1 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfHalf");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_half2x1");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_half2x1");
+ }
+
+ // TYPEDEF: Cg_half2x2 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfHalf");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_half2x2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_half2x2");
+ }
+
+ // TYPEDEF: Cg_half2x3 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfHalf");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_half2x3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_half2x3");
+ }
+
+ // TYPEDEF: Cg_half2x4 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfHalf");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_half2x4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_half2x4");
+ }
+
+ // TYPEDEF: Cg_half3x1 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfHalf");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_half3x1");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_half3x1");
+ }
+
+ // TYPEDEF: Cg_half3x2 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfHalf");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_half3x2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_half3x2");
+ }
+
+ // TYPEDEF: Cg_half3x3 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfHalf");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_half3x3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_half3x3");
+ }
+
+ // TYPEDEF: Cg_half3x4 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfHalf");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_half3x4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_half3x4");
+ }
+
+ // TYPEDEF: Cg_half4x1 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfHalf");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_half4x1");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_half4x1");
+ }
+
+ // TYPEDEF: Cg_half4x2 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfHalf");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_half4x2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_half4x2");
+ }
+
+ // TYPEDEF: Cg_half4x3 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfHalf");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_half4x3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_half4x3");
+ }
+
+ // TYPEDEF: Cg_half4x4 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfHalf");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_half4x4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_half4x4");
+ }
+
+ // TYPEDEF: Cg_fixed2 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfFixed");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_fixed2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_fixed2");
+ }
+
+ // TYPEDEF: Cg_fixed3 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfFixed");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_fixed3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_fixed3");
+ }
+
+ // TYPEDEF: Cg_fixed4 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfFixed");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_fixed4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_fixed4");
+ }
+
+ // TYPEDEF: Cg_fixed1x1 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfFixed");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_fixed1x1");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_fixed1x1");
+ }
+
+ // TYPEDEF: Cg_fixed1x2 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfFixed");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_fixed1x2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_fixed1x2");
+ }
+
+ // TYPEDEF: Cg_fixed1x3 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfFixed");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_fixed1x3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_fixed1x3");
+ }
+
+ // TYPEDEF: Cg_fixed1x4 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfFixed");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_fixed1x4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_fixed1x4");
+ }
+
+ // TYPEDEF: Cg_fixed2x1 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfFixed");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_fixed2x1");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_fixed2x1");
+ }
+
+ // TYPEDEF: Cg_fixed2x2 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfFixed");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_fixed2x2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_fixed2x2");
+ }
+
+ // TYPEDEF: Cg_fixed2x3 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfFixed");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_fixed2x3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_fixed2x3");
+ }
+
+ // TYPEDEF: Cg_fixed2x4 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfFixed");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_fixed2x4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_fixed2x4");
+ }
+
+ // TYPEDEF: Cg_fixed3x1 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfFixed");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_fixed3x1");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_fixed3x1");
+ }
+
+ // TYPEDEF: Cg_fixed3x2 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfFixed");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_fixed3x2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_fixed3x2");
+ }
+
+ // TYPEDEF: Cg_fixed3x3 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfFixed");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_fixed3x3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_fixed3x3");
+ }
+
+ // TYPEDEF: Cg_fixed3x4 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfFixed");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_fixed3x4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_fixed3x4");
+ }
+
+ // TYPEDEF: Cg_fixed4x1 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfFixed");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_fixed4x1");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_fixed4x1");
+ }
+
+ // TYPEDEF: Cg_fixed4x2 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfFixed");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_fixed4x2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_fixed4x2");
+ }
+
+ // TYPEDEF: Cg_fixed4x3 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfFixed");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_fixed4x3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_fixed4x3");
+ }
+
+ // TYPEDEF: Cg_fixed4x4 //check if this type has an existing base
+ type = atomicTypes.get("Cg_ListOfFixed");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_fixed4x4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_fixed4x4");
+ }
+
+ // ENUM: Cg_pipeline_stage
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Cg_pipeline_stage");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("VERTEX");
+ ((daeEnumType*)type)->_values->append(CG_PIPELINE_STAGE_VERTEX);
+ ((daeEnumType*)type)->_strings->append("FRAGMENT");
+ ((daeEnumType*)type)->_values->append(CG_PIPELINE_STAGE_FRAGMENT);
+ atomicTypes.append( type );
+
+ // TYPEDEF: Cg_identifier //check if this type has an existing base
+ type = atomicTypes.get("xsToken");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Cg_identifier");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Cg_identifier");
+ }
+
+ // TYPEDEF: GLES_MAX_LIGHTS_index //check if this type has an existing base
+ type = atomicTypes.get("xsNonNegativeInteger");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("GLES_MAX_LIGHTS_index");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("GLES_MAX_LIGHTS_index");
+ }
+
+ // TYPEDEF: GLES_MAX_CLIP_PLANES_index //check if this type has an existing base
+ type = atomicTypes.get("xsNonNegativeInteger");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("GLES_MAX_CLIP_PLANES_index");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("GLES_MAX_CLIP_PLANES_index");
+ }
+
+ // TYPEDEF: GLES_MAX_TEXTURE_COORDS_index //check if this type has an existing base
+ type = atomicTypes.get("xsNonNegativeInteger");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("GLES_MAX_TEXTURE_COORDS_index");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("GLES_MAX_TEXTURE_COORDS_index");
+ }
+
+ // TYPEDEF: GLES_MAX_TEXTURE_IMAGE_UNITS_index //check if this type has an existing base
+ type = atomicTypes.get("xsNonNegativeInteger");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("GLES_MAX_TEXTURE_IMAGE_UNITS_index");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("GLES_MAX_TEXTURE_IMAGE_UNITS_index");
+ }
+
+ // ENUM: Gles_texenv_mode_enums
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gles_texenv_mode_enums");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("REPLACE");
+ ((daeEnumType*)type)->_values->append(GLES_TEXENV_MODE_ENUMS_REPLACE);
+ ((daeEnumType*)type)->_strings->append("MODULATE");
+ ((daeEnumType*)type)->_values->append(GLES_TEXENV_MODE_ENUMS_MODULATE);
+ ((daeEnumType*)type)->_strings->append("DECAL");
+ ((daeEnumType*)type)->_values->append(GLES_TEXENV_MODE_ENUMS_DECAL);
+ ((daeEnumType*)type)->_strings->append("BLEND");
+ ((daeEnumType*)type)->_values->append(GLES_TEXENV_MODE_ENUMS_BLEND);
+ ((daeEnumType*)type)->_strings->append("ADD");
+ ((daeEnumType*)type)->_values->append(GLES_TEXENV_MODE_ENUMS_ADD);
+ atomicTypes.append( type );
+
+ // ENUM: Gles_texcombiner_operatorRGB_enums
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gles_texcombiner_operatorRGB_enums");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("REPLACE");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATORRGB_ENUMS_REPLACE);
+ ((daeEnumType*)type)->_strings->append("MODULATE");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATORRGB_ENUMS_MODULATE);
+ ((daeEnumType*)type)->_strings->append("ADD");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATORRGB_ENUMS_ADD);
+ ((daeEnumType*)type)->_strings->append("ADD_SIGNED");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATORRGB_ENUMS_ADD_SIGNED);
+ ((daeEnumType*)type)->_strings->append("INTERPOLATE");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATORRGB_ENUMS_INTERPOLATE);
+ ((daeEnumType*)type)->_strings->append("SUBTRACT");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATORRGB_ENUMS_SUBTRACT);
+ ((daeEnumType*)type)->_strings->append("DOT3_RGB");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATORRGB_ENUMS_DOT3_RGB);
+ ((daeEnumType*)type)->_strings->append("DOT3_RGBA");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATORRGB_ENUMS_DOT3_RGBA);
+ atomicTypes.append( type );
+
+ // ENUM: Gles_texcombiner_operatorAlpha_enums
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gles_texcombiner_operatorAlpha_enums");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("REPLACE");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATORALPHA_ENUMS_REPLACE);
+ ((daeEnumType*)type)->_strings->append("MODULATE");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATORALPHA_ENUMS_MODULATE);
+ ((daeEnumType*)type)->_strings->append("ADD");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATORALPHA_ENUMS_ADD);
+ ((daeEnumType*)type)->_strings->append("ADD_SIGNED");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATORALPHA_ENUMS_ADD_SIGNED);
+ ((daeEnumType*)type)->_strings->append("INTERPOLATE");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATORALPHA_ENUMS_INTERPOLATE);
+ ((daeEnumType*)type)->_strings->append("SUBTRACT");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATORALPHA_ENUMS_SUBTRACT);
+ atomicTypes.append( type );
+
+ // ENUM: Gles_texcombiner_source_enums
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gles_texcombiner_source_enums");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("TEXTURE");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_SOURCE_ENUMS_TEXTURE);
+ ((daeEnumType*)type)->_strings->append("CONSTANT");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_SOURCE_ENUMS_CONSTANT);
+ ((daeEnumType*)type)->_strings->append("PRIMARY");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_SOURCE_ENUMS_PRIMARY);
+ ((daeEnumType*)type)->_strings->append("PREVIOUS");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_SOURCE_ENUMS_PREVIOUS);
+ atomicTypes.append( type );
+
+ // ENUM: Gles_texcombiner_operandRGB_enums
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gles_texcombiner_operandRGB_enums");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("SRC_COLOR");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERANDRGB_ENUMS_SRC_COLOR);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_SRC_COLOR");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERANDRGB_ENUMS_ONE_MINUS_SRC_COLOR);
+ ((daeEnumType*)type)->_strings->append("SRC_ALPHA");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERANDRGB_ENUMS_SRC_ALPHA);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_SRC_ALPHA");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERANDRGB_ENUMS_ONE_MINUS_SRC_ALPHA);
+ atomicTypes.append( type );
+
+ // ENUM: Gles_texcombiner_operandAlpha_enums
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gles_texcombiner_operandAlpha_enums");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("SRC_ALPHA");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERANDALPHA_ENUMS_SRC_ALPHA);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_SRC_ALPHA");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERANDALPHA_ENUMS_ONE_MINUS_SRC_ALPHA);
+ atomicTypes.append( type );
+
+ // TYPEDEF: Gles_texcombiner_argument_index_type //check if this type has an existing base
+ type = atomicTypes.get("xsNonNegativeInteger");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Gles_texcombiner_argument_index_type");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Gles_texcombiner_argument_index_type");
+ }
+
+ // ENUM: Gles_sampler_wrap
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gles_sampler_wrap");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("REPEAT");
+ ((daeEnumType*)type)->_values->append(GLES_SAMPLER_WRAP_REPEAT);
+ ((daeEnumType*)type)->_strings->append("CLAMP");
+ ((daeEnumType*)type)->_values->append(GLES_SAMPLER_WRAP_CLAMP);
+ ((daeEnumType*)type)->_strings->append("CLAMP_TO_EDGE");
+ ((daeEnumType*)type)->_values->append(GLES_SAMPLER_WRAP_CLAMP_TO_EDGE);
+ ((daeEnumType*)type)->_strings->append("MIRRORED_REPEAT");
+ ((daeEnumType*)type)->_values->append(GLES_SAMPLER_WRAP_MIRRORED_REPEAT);
+ atomicTypes.append( type );
+
+ // ENUM: Gles_stencil_op_type
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gles_stencil_op_type");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("KEEP");
+ ((daeEnumType*)type)->_values->append(GLES_STENCIL_OP_TYPE_KEEP);
+ ((daeEnumType*)type)->_strings->append("ZERO");
+ ((daeEnumType*)type)->_values->append(GLES_STENCIL_OP_TYPE_ZERO);
+ ((daeEnumType*)type)->_strings->append("REPLACE");
+ ((daeEnumType*)type)->_values->append(GLES_STENCIL_OP_TYPE_REPLACE);
+ ((daeEnumType*)type)->_strings->append("INCR");
+ ((daeEnumType*)type)->_values->append(GLES_STENCIL_OP_TYPE_INCR);
+ ((daeEnumType*)type)->_strings->append("DECR");
+ ((daeEnumType*)type)->_values->append(GLES_STENCIL_OP_TYPE_DECR);
+ ((daeEnumType*)type)->_strings->append("INVERT");
+ ((daeEnumType*)type)->_values->append(GLES_STENCIL_OP_TYPE_INVERT);
+ atomicTypes.append( type );
+
+ // ENUM: Gles_enumeration
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gles_enumeration");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("ZERO");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_ZERO);
+ ((daeEnumType*)type)->_strings->append("ONE");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_ONE);
+ ((daeEnumType*)type)->_strings->append("SRC_COLOR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_SRC_COLOR);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_SRC_COLOR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_ONE_MINUS_SRC_COLOR);
+ ((daeEnumType*)type)->_strings->append("DEST_COLOR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_DEST_COLOR);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_DEST_COLOR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_ONE_MINUS_DEST_COLOR);
+ ((daeEnumType*)type)->_strings->append("SRC_ALPHA");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_SRC_ALPHA);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_SRC_ALPHA");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_ONE_MINUS_SRC_ALPHA);
+ ((daeEnumType*)type)->_strings->append("DST_ALPHA");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_DST_ALPHA);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_DST_ALPHA");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_ONE_MINUS_DST_ALPHA);
+ ((daeEnumType*)type)->_strings->append("CONSTANT_COLOR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_CONSTANT_COLOR);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_CONSTANT_COLOR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_ONE_MINUS_CONSTANT_COLOR);
+ ((daeEnumType*)type)->_strings->append("CONSTANT_ALPHA");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_CONSTANT_ALPHA);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_CONSTANT_ALPHA");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_ONE_MINUS_CONSTANT_ALPHA);
+ ((daeEnumType*)type)->_strings->append("SRC_ALPHA_SATURATE");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_SRC_ALPHA_SATURATE);
+ ((daeEnumType*)type)->_strings->append("FRONT");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_FRONT);
+ ((daeEnumType*)type)->_strings->append("BACK");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_BACK);
+ ((daeEnumType*)type)->_strings->append("FRONT_AND_BACK");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_FRONT_AND_BACK);
+ ((daeEnumType*)type)->_strings->append("NEVER");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_NEVER);
+ ((daeEnumType*)type)->_strings->append("LESS");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_LESS);
+ ((daeEnumType*)type)->_strings->append("LEQUAL");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_LEQUAL);
+ ((daeEnumType*)type)->_strings->append("EQUAL");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_EQUAL);
+ ((daeEnumType*)type)->_strings->append("GREATER");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_GREATER);
+ ((daeEnumType*)type)->_strings->append("NOTEQUAL");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_NOTEQUAL);
+ ((daeEnumType*)type)->_strings->append("GEQUAL");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_GEQUAL);
+ ((daeEnumType*)type)->_strings->append("ALWAYS");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_ALWAYS);
+ ((daeEnumType*)type)->_strings->append("KEEP");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_KEEP);
+ ((daeEnumType*)type)->_strings->append("REPLACE");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_REPLACE);
+ ((daeEnumType*)type)->_strings->append("INCR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_INCR);
+ ((daeEnumType*)type)->_strings->append("DECR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_DECR);
+ ((daeEnumType*)type)->_strings->append("INVERT");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_INVERT);
+ ((daeEnumType*)type)->_strings->append("INCR_WRAP");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_INCR_WRAP);
+ ((daeEnumType*)type)->_strings->append("DECR_WRAP");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_DECR_WRAP);
+ ((daeEnumType*)type)->_strings->append("EMISSION");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_EMISSION);
+ ((daeEnumType*)type)->_strings->append("AMBIENT");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_AMBIENT);
+ ((daeEnumType*)type)->_strings->append("DIFFUSE");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_DIFFUSE);
+ ((daeEnumType*)type)->_strings->append("SPECULAR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_SPECULAR);
+ ((daeEnumType*)type)->_strings->append("AMBIENT_AND_DIFFUSE");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_AMBIENT_AND_DIFFUSE);
+ ((daeEnumType*)type)->_strings->append("LINEAR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_LINEAR);
+ ((daeEnumType*)type)->_strings->append("EXP");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_EXP);
+ ((daeEnumType*)type)->_strings->append("EXP2");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_EXP2);
+ ((daeEnumType*)type)->_strings->append("CW");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_CW);
+ ((daeEnumType*)type)->_strings->append("CCW");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_CCW);
+ ((daeEnumType*)type)->_strings->append("SINGLE_COLOR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_SINGLE_COLOR);
+ ((daeEnumType*)type)->_strings->append("SEPARATE_SPECULAR_COLOR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_SEPARATE_SPECULAR_COLOR);
+ ((daeEnumType*)type)->_strings->append("CLEAR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_CLEAR);
+ ((daeEnumType*)type)->_strings->append("AND");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_AND);
+ ((daeEnumType*)type)->_strings->append("AND_REVERSE");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_AND_REVERSE);
+ ((daeEnumType*)type)->_strings->append("COPY");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_COPY);
+ ((daeEnumType*)type)->_strings->append("AND_INVERTED");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_AND_INVERTED);
+ ((daeEnumType*)type)->_strings->append("NOOP");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_NOOP);
+ ((daeEnumType*)type)->_strings->append("XOR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_XOR);
+ ((daeEnumType*)type)->_strings->append("OR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_OR);
+ ((daeEnumType*)type)->_strings->append("NOR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_NOR);
+ ((daeEnumType*)type)->_strings->append("EQUIV");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_EQUIV);
+ ((daeEnumType*)type)->_strings->append("OR_REVERSE");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_OR_REVERSE);
+ ((daeEnumType*)type)->_strings->append("COPY_INVERTED");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_COPY_INVERTED);
+ ((daeEnumType*)type)->_strings->append("NAND");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_NAND);
+ ((daeEnumType*)type)->_strings->append("SET");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_SET);
+ ((daeEnumType*)type)->_strings->append("POINT");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_POINT);
+ ((daeEnumType*)type)->_strings->append("LINE");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_LINE);
+ ((daeEnumType*)type)->_strings->append("FILL");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_FILL);
+ ((daeEnumType*)type)->_strings->append("FLAT");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_FLAT);
+ ((daeEnumType*)type)->_strings->append("SMOOTH");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_SMOOTH);
+ atomicTypes.append( type );
+
+ // TYPEDEF: Gles_rendertarget_common //check if this type has an existing base
+ type = atomicTypes.get("xsNCName");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Gles_rendertarget_common");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Gles_rendertarget_common");
+ }
+
+ // ENUM: SpringType
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("SpringType");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("LINEAR");
+ ((daeEnumType*)type)->_values->append(SPRINGTYPE_LINEAR);
+ ((daeEnumType*)type)->_strings->append("ANGULAR");
+ ((daeEnumType*)type)->_values->append(SPRINGTYPE_ANGULAR);
+ atomicTypes.append( type );
+
+}
+
+daeMetaElement* registerDomElements(DAE& dae)
+{
+ daeMetaElement* meta = domCOLLADA::registerElement(dae);
+ // Enable tracking of top level object by default
+ meta->setIsTrackableForQueries(true);
+ return meta;
+}
+
+daeInt colladaTypeCount() {
+ return 815;
+}
+
+}
diff --git a/1.4.0/dom/src/1.4/dom/domVertices.cpp b/1.4.0/dom/src/1.4/dom/domVertices.cpp
new file mode 100644
index 0000000..b14ba87
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domVertices.cpp
@@ -0,0 +1,88 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domVertices.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domVertices::create(DAE& dae)
+{
+ domVerticesRef ref = new domVertices(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domVertices::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "vertices" );
+ meta->registerClass(domVertices::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domVertices,elemInput_array) );
+ mea->setElementType( domInputLocal::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domVertices,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domVertices , attrId ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domVertices , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domVertices));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.4/dom/domVisual_scene.cpp b/1.4.0/dom/src/1.4/dom/domVisual_scene.cpp
new file mode 100644
index 0000000..eb3caac
--- /dev/null
+++ b/1.4.0/dom/src/1.4/dom/domVisual_scene.cpp
@@ -0,0 +1,243 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.4/dom/domVisual_scene.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM141 {
+daeElementRef
+domVisual_scene::create(DAE& dae)
+{
+ domVisual_sceneRef ref = new domVisual_scene(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domVisual_scene::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "visual_scene" );
+ meta->registerClass(domVisual_scene::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domVisual_scene,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "node" );
+ mea->setOffset( daeOffsetOf(domVisual_scene,elemNode_array) );
+ mea->setElementType( domNode::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "evaluate_scene" );
+ mea->setOffset( daeOffsetOf(domVisual_scene,elemEvaluate_scene_array) );
+ mea->setElementType( domVisual_scene::domEvaluate_scene::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domVisual_scene,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domVisual_scene , attrId ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domVisual_scene , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domVisual_scene));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domVisual_scene::domEvaluate_scene::create(DAE& dae)
+{
+ domVisual_scene::domEvaluate_sceneRef ref = new domVisual_scene::domEvaluate_scene(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domVisual_scene::domEvaluate_scene::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "evaluate_scene" );
+ meta->registerClass(domVisual_scene::domEvaluate_scene::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "render" );
+ mea->setOffset( daeOffsetOf(domVisual_scene::domEvaluate_scene,elemRender_array) );
+ mea->setElementType( domVisual_scene::domEvaluate_scene::domRender::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domVisual_scene::domEvaluate_scene , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domVisual_scene::domEvaluate_scene));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domVisual_scene::domEvaluate_scene::domRender::create(DAE& dae)
+{
+ domVisual_scene::domEvaluate_scene::domRenderRef ref = new domVisual_scene::domEvaluate_scene::domRender(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domVisual_scene::domEvaluate_scene::domRender::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "render" );
+ meta->registerClass(domVisual_scene::domEvaluate_scene::domRender::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "layer" );
+ mea->setOffset( daeOffsetOf(domVisual_scene::domEvaluate_scene::domRender,elemLayer_array) );
+ mea->setElementType( domVisual_scene::domEvaluate_scene::domRender::domLayer::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "instance_effect" );
+ mea->setOffset( daeOffsetOf(domVisual_scene::domEvaluate_scene::domRender,elemInstance_effect) );
+ mea->setElementType( domInstance_effect::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: camera_node
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "camera_node" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domVisual_scene::domEvaluate_scene::domRender , attrCamera_node ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domVisual_scene::domEvaluate_scene::domRender));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domVisual_scene::domEvaluate_scene::domRender::domLayer::create(DAE& dae)
+{
+ domVisual_scene::domEvaluate_scene::domRender::domLayerRef ref = new domVisual_scene::domEvaluate_scene::domRender::domLayer(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domVisual_scene::domEvaluate_scene::domRender::domLayer::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "layer" );
+ meta->registerClass(domVisual_scene::domEvaluate_scene::domRender::domLayer::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domVisual_scene::domEvaluate_scene::domRender::domLayer , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domVisual_scene::domEvaluate_scene::domRender::domLayer));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM141
diff --git a/1.4.0/dom/src/1.5/CMakeLists.txt b/1.4.0/dom/src/1.5/CMakeLists.txt
new file mode 100644
index 0000000..ae4308c
--- /dev/null
+++ b/1.4.0/dom/src/1.5/CMakeLists.txt
@@ -0,0 +1,3 @@
+file(GLOB dom_files ${CMAKE_CURRENT_SOURCE_DIR}/dom/*.cpp)
+add_library(colladadom150 STATIC ${dom_files})
+set_target_properties(colladadom150 PROPERTIES COMPILE_FLAGS "${COLLADA_COMPILE_FLAGS}" LINK_FLAGS "${libpcrecpp_LDFLAGS_OTHERS}")
diff --git a/1.4.0/dom/src/1.5/dom/domAccessor.cpp b/1.4.0/dom/src/1.5/dom/domAccessor.cpp
new file mode 100644
index 0000000..b9c6fef
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domAccessor.cpp
@@ -0,0 +1,100 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domAccessor.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domAccessor::create(DAE& dae)
+{
+ domAccessorRef ref = new domAccessor(dae);
+ ref->attrSource.setContainer( (domAccessor*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domAccessor::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "accessor" );
+ meta->registerClass(domAccessor::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domAccessor,elemParam_array) );
+ mea->setElementType( domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domAccessor , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: offset
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "offset" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domAccessor , attrOffset ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: source
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "source" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domAccessor , attrSource ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: stride
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "stride" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domAccessor , attrStride ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAccessor));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domAnimation.cpp b/1.4.0/dom/src/1.5/dom/domAnimation.cpp
new file mode 100644
index 0000000..8a8ad12
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domAnimation.cpp
@@ -0,0 +1,167 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domAnimation.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domAnimation::create(DAE& dae)
+{
+ domAnimationRef ref = new domAnimation(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAnimation::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "animation" );
+ meta->registerClass(domAnimation::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domAnimation,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "source" );
+ mea->setOffset( daeOffsetOf(domAnimation,elemSource_array) );
+ mea->setElementType( domSource::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 1, 1, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "sampler" );
+ mea->setOffset( daeOffsetOf(domAnimation,elemSampler_array) );
+ mea->setElementType( domSampler::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "channel" );
+ mea->setOffset( daeOffsetOf(domAnimation,elemChannel_array) );
+ mea->setElementType( domChannel::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "animation" );
+ mea->setOffset( daeOffsetOf(domAnimation,elemAnimation_array) );
+ mea->setElementType( domAnimation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 1, -1 );
+ mea->setName( "animation" );
+ mea->setOffset( daeOffsetOf(domAnimation,elemAnimation_array) );
+ mea->setElementType( domAnimation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 1 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm = new daeMetaSequence( meta, cm, 2, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "sampler" );
+ mea->setOffset( daeOffsetOf(domAnimation,elemSampler_array) );
+ mea->setElementType( domSampler::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "channel" );
+ mea->setOffset( daeOffsetOf(domAnimation,elemChannel_array) );
+ mea->setElementType( domChannel::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "animation" );
+ mea->setOffset( daeOffsetOf(domAnimation,elemAnimation_array) );
+ mea->setElementType( domAnimation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 5, 1, -1 );
+ mea->setName( "animation" );
+ mea->setOffset( daeOffsetOf(domAnimation,elemAnimation_array) );
+ mea->setElementType( domAnimation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 4 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domAnimation,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domAnimation,_contents));
+ meta->addContentsOrder(daeOffsetOf(domAnimation,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domAnimation,_CMData), 2);
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domAnimation , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domAnimation , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAnimation));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domAnimation_clip.cpp b/1.4.0/dom/src/1.5/dom/domAnimation_clip.cpp
new file mode 100644
index 0000000..b6803c9
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domAnimation_clip.cpp
@@ -0,0 +1,114 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domAnimation_clip.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domAnimation_clip::create(DAE& dae)
+{
+ domAnimation_clipRef ref = new domAnimation_clip(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAnimation_clip::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "animation_clip" );
+ meta->registerClass(domAnimation_clip::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domAnimation_clip,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "instance_animation" );
+ mea->setOffset( daeOffsetOf(domAnimation_clip,elemInstance_animation_array) );
+ mea->setElementType( domInstance_with_extra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "instance_formula" );
+ mea->setOffset( daeOffsetOf(domAnimation_clip,elemInstance_formula_array) );
+ mea->setElementType( domInstance_formula::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domAnimation_clip,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domAnimation_clip , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domAnimation_clip , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: start
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "start" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domAnimation_clip , attrStart ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0.0");
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: end
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "end" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domAnimation_clip , attrEnd ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAnimation_clip));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domAny.cpp b/1.4.0/dom/src/1.5/dom/domAny.cpp
new file mode 100644
index 0000000..b85bc08
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domAny.cpp
@@ -0,0 +1,108 @@
+/*
+ * Copyright 2006 Sony Computer Entertainment Inc.
+ *
+ * Licensed under the MIT Open Source License, for details please see license.txt or the website
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ */
+
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domAny.h>
+#include <dae/daeMetaAttribute.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+#include <dae/daeErrorHandler.h>
+
+namespace ColladaDOM150 {
+daeElementRef
+domAny::create(DAE& dae)
+{
+ domAnyRef ref = new domAny;
+ return ref;
+}
+
+
+daeMetaElement *
+domAny::registerElement(DAE& dae)
+{
+ daeMetaElement *_Meta = new daeMetaElement(dae);
+ _Meta->setName( "any" );
+ _Meta->registerClass(domAny::create);
+ _Meta->setIsInnerClass( true );
+
+ daeMetaCMPolicy *cm = NULL;
+ cm = new daeMetaSequence( _Meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaAny( _Meta, cm, 0, 0, -1 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 0 );
+ _Meta->setCMRoot( cm );
+ _Meta->setAllowsAny( true );
+
+ _Meta->addContents(daeOffsetOf(domAny,_contents));
+ _Meta->addContentsOrder(daeOffsetOf(domAny,_contentsOrder));
+
+ //VALUE
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domAny, _value ));
+ ma->setContainer( _Meta );
+ _Meta->appendAttribute(ma);
+ }
+
+ _Meta->setElementSize(sizeof(domAny));
+ _Meta->validate();
+
+ return _Meta;
+}
+
+domAny::~domAny() {
+ // domAny objects own their corresponding daeMetaElement
+ delete _meta;
+}
+
+// Implementation of daeMetaAttribute that understands how domAny works
+class domAnyAttribute : public daeMetaAttribute {
+public:
+ virtual daeChar* getWritableMemory(daeElement* e) {
+ return (daeChar*)&((domAny*)e)->attrs[_offset];
+ }
+};
+
+daeBool domAny::setAttribute(daeString attrName, daeString attrValue) {
+ if (_meta == NULL)
+ return false;
+
+ //if the attribute already exists set it.
+ if (daeElement::setAttribute(attrName, attrValue))
+ return true;
+
+ //else register it and then set it.
+ attrs.append("");
+ daeMetaAttribute *ma = new domAnyAttribute;
+ ma->setName( attrName );
+ ma->setType( getDAE()->getAtomicTypes().get("xsString"));
+ ma->setOffset((daeInt)attrs.getCount()-1);
+ ma->setContainer( _meta );
+ if (ma->getType()) {
+ _meta->appendAttribute(ma);
+ _validAttributeArray.append( true );
+ ma->stringToMemory(this, attrValue);
+ return true;
+ }
+
+ delete ma;
+ return false;
+}
+
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domArticulated_system.cpp b/1.4.0/dom/src/1.5/dom/domArticulated_system.cpp
new file mode 100644
index 0000000..6999885
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domArticulated_system.cpp
@@ -0,0 +1,101 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domArticulated_system.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domArticulated_system::create(DAE& dae)
+{
+ domArticulated_systemRef ref = new domArticulated_system(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domArticulated_system::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "articulated_system" );
+ meta->registerClass(domArticulated_system::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domArticulated_system,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "kinematics" );
+ mea->setOffset( daeOffsetOf(domArticulated_system,elemKinematics) );
+ mea->setElementType( domKinematics::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "motion" );
+ mea->setOffset( daeOffsetOf(domArticulated_system,elemMotion) );
+ mea->setElementType( domMotion::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domArticulated_system,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domArticulated_system,_contents));
+ meta->addContentsOrder(daeOffsetOf(domArticulated_system,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domArticulated_system,_CMData), 1);
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domArticulated_system , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domArticulated_system , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domArticulated_system));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domAsset.cpp b/1.4.0/dom/src/1.5/dom/domAsset.cpp
new file mode 100644
index 0000000..9bfa79b
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domAsset.cpp
@@ -0,0 +1,953 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domAsset.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domAsset::create(DAE& dae)
+{
+ domAssetRef ref = new domAsset(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "asset" );
+ meta->registerClass(domAsset::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "contributor" );
+ mea->setOffset( daeOffsetOf(domAsset,elemContributor_array) );
+ mea->setElementType( domAsset::domContributor::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "coverage" );
+ mea->setOffset( daeOffsetOf(domAsset,elemCoverage) );
+ mea->setElementType( domAsset::domCoverage::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "created" );
+ mea->setOffset( daeOffsetOf(domAsset,elemCreated) );
+ mea->setElementType( domAsset::domCreated::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "keywords" );
+ mea->setOffset( daeOffsetOf(domAsset,elemKeywords) );
+ mea->setElementType( domAsset::domKeywords::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 1, 1 );
+ mea->setName( "modified" );
+ mea->setOffset( daeOffsetOf(domAsset,elemModified) );
+ mea->setElementType( domAsset::domModified::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "revision" );
+ mea->setOffset( daeOffsetOf(domAsset,elemRevision) );
+ mea->setElementType( domAsset::domRevision::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "subject" );
+ mea->setOffset( daeOffsetOf(domAsset,elemSubject) );
+ mea->setElementType( domAsset::domSubject::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 7, 0, 1 );
+ mea->setName( "title" );
+ mea->setOffset( daeOffsetOf(domAsset,elemTitle) );
+ mea->setElementType( domAsset::domTitle::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 8, 0, 1 );
+ mea->setName( "unit" );
+ mea->setOffset( daeOffsetOf(domAsset,elemUnit) );
+ mea->setElementType( domAsset::domUnit::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 9, 0, 1 );
+ mea->setName( "up_axis" );
+ mea->setOffset( daeOffsetOf(domAsset,elemUp_axis) );
+ mea->setElementType( domAsset::domUp_axis::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 10, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domAsset,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 10 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domAsset));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domContributor::create(DAE& dae)
+{
+ domAsset::domContributorRef ref = new domAsset::domContributor(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domContributor::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "contributor" );
+ meta->registerClass(domAsset::domContributor::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "author" );
+ mea->setOffset( daeOffsetOf(domAsset::domContributor,elemAuthor) );
+ mea->setElementType( domAsset::domContributor::domAuthor::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "author_email" );
+ mea->setOffset( daeOffsetOf(domAsset::domContributor,elemAuthor_email) );
+ mea->setElementType( domAsset::domContributor::domAuthor_email::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "author_website" );
+ mea->setOffset( daeOffsetOf(domAsset::domContributor,elemAuthor_website) );
+ mea->setElementType( domAsset::domContributor::domAuthor_website::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "authoring_tool" );
+ mea->setOffset( daeOffsetOf(domAsset::domContributor,elemAuthoring_tool) );
+ mea->setElementType( domAsset::domContributor::domAuthoring_tool::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "comments" );
+ mea->setOffset( daeOffsetOf(domAsset::domContributor,elemComments) );
+ mea->setElementType( domAsset::domContributor::domComments::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "copyright" );
+ mea->setOffset( daeOffsetOf(domAsset::domContributor,elemCopyright) );
+ mea->setElementType( domAsset::domContributor::domCopyright::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "source_data" );
+ mea->setOffset( daeOffsetOf(domAsset::domContributor,elemSource_data) );
+ mea->setElementType( domAsset::domContributor::domSource_data::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 6 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domAsset::domContributor));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domContributor::domAuthor::create(DAE& dae)
+{
+ domAsset::domContributor::domAuthorRef ref = new domAsset::domContributor::domAuthor(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domContributor::domAuthor::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "author" );
+ meta->registerClass(domAsset::domContributor::domAuthor::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domAsset::domContributor::domAuthor , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domContributor::domAuthor));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domContributor::domAuthor_email::create(DAE& dae)
+{
+ domAsset::domContributor::domAuthor_emailRef ref = new domAsset::domContributor::domAuthor_email(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domContributor::domAuthor_email::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "author_email" );
+ meta->registerClass(domAsset::domContributor::domAuthor_email::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domAsset::domContributor::domAuthor_email , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domContributor::domAuthor_email));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domContributor::domAuthor_website::create(DAE& dae)
+{
+ domAsset::domContributor::domAuthor_websiteRef ref = new domAsset::domContributor::domAuthor_website(dae);
+ ref->_value.setContainer( (domAsset::domContributor::domAuthor_website*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domContributor::domAuthor_website::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "author_website" );
+ meta->registerClass(domAsset::domContributor::domAuthor_website::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domAsset::domContributor::domAuthor_website , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domContributor::domAuthor_website));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domContributor::domAuthoring_tool::create(DAE& dae)
+{
+ domAsset::domContributor::domAuthoring_toolRef ref = new domAsset::domContributor::domAuthoring_tool(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domContributor::domAuthoring_tool::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "authoring_tool" );
+ meta->registerClass(domAsset::domContributor::domAuthoring_tool::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domAsset::domContributor::domAuthoring_tool , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domContributor::domAuthoring_tool));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domContributor::domComments::create(DAE& dae)
+{
+ domAsset::domContributor::domCommentsRef ref = new domAsset::domContributor::domComments(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domContributor::domComments::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "comments" );
+ meta->registerClass(domAsset::domContributor::domComments::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domAsset::domContributor::domComments , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domContributor::domComments));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domContributor::domCopyright::create(DAE& dae)
+{
+ domAsset::domContributor::domCopyrightRef ref = new domAsset::domContributor::domCopyright(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domContributor::domCopyright::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "copyright" );
+ meta->registerClass(domAsset::domContributor::domCopyright::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domAsset::domContributor::domCopyright , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domContributor::domCopyright));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domContributor::domSource_data::create(DAE& dae)
+{
+ domAsset::domContributor::domSource_dataRef ref = new domAsset::domContributor::domSource_data(dae);
+ ref->_value.setContainer( (domAsset::domContributor::domSource_data*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domContributor::domSource_data::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "source_data" );
+ meta->registerClass(domAsset::domContributor::domSource_data::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domAsset::domContributor::domSource_data , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domContributor::domSource_data));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domCoverage::create(DAE& dae)
+{
+ domAsset::domCoverageRef ref = new domAsset::domCoverage(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domCoverage::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "coverage" );
+ meta->registerClass(domAsset::domCoverage::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "geographic_location" );
+ mea->setOffset( daeOffsetOf(domAsset::domCoverage,elemGeographic_location) );
+ mea->setElementType( domAsset::domCoverage::domGeographic_location::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domAsset::domCoverage));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domCoverage::domGeographic_location::create(DAE& dae)
+{
+ domAsset::domCoverage::domGeographic_locationRef ref = new domAsset::domCoverage::domGeographic_location(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domCoverage::domGeographic_location::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "geographic_location" );
+ meta->registerClass(domAsset::domCoverage::domGeographic_location::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "longitude" );
+ mea->setOffset( daeOffsetOf(domAsset::domCoverage::domGeographic_location,elemLongitude) );
+ mea->setElementType( domAsset::domCoverage::domGeographic_location::domLongitude::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "latitude" );
+ mea->setOffset( daeOffsetOf(domAsset::domCoverage::domGeographic_location,elemLatitude) );
+ mea->setElementType( domAsset::domCoverage::domGeographic_location::domLatitude::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "altitude" );
+ mea->setOffset( daeOffsetOf(domAsset::domCoverage::domGeographic_location,elemAltitude) );
+ mea->setElementType( domAsset::domCoverage::domGeographic_location::domAltitude::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domAsset::domCoverage::domGeographic_location));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domCoverage::domGeographic_location::domLongitude::create(DAE& dae)
+{
+ domAsset::domCoverage::domGeographic_location::domLongitudeRef ref = new domAsset::domCoverage::domGeographic_location::domLongitude(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domCoverage::domGeographic_location::domLongitude::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "longitude" );
+ meta->registerClass(domAsset::domCoverage::domGeographic_location::domLongitude::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsFloat"));
+ ma->setOffset( daeOffsetOf( domAsset::domCoverage::domGeographic_location::domLongitude , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domCoverage::domGeographic_location::domLongitude));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domCoverage::domGeographic_location::domLatitude::create(DAE& dae)
+{
+ domAsset::domCoverage::domGeographic_location::domLatitudeRef ref = new domAsset::domCoverage::domGeographic_location::domLatitude(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domCoverage::domGeographic_location::domLatitude::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "latitude" );
+ meta->registerClass(domAsset::domCoverage::domGeographic_location::domLatitude::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsFloat"));
+ ma->setOffset( daeOffsetOf( domAsset::domCoverage::domGeographic_location::domLatitude , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domCoverage::domGeographic_location::domLatitude));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domCoverage::domGeographic_location::domAltitude::create(DAE& dae)
+{
+ domAsset::domCoverage::domGeographic_location::domAltitudeRef ref = new domAsset::domCoverage::domGeographic_location::domAltitude(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domCoverage::domGeographic_location::domAltitude::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "altitude" );
+ meta->registerClass(domAsset::domCoverage::domGeographic_location::domAltitude::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsFloat"));
+ ma->setOffset( daeOffsetOf( domAsset::domCoverage::domGeographic_location::domAltitude , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: mode
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "mode" );
+ ma->setType( dae.getAtomicTypes().get("Altitude_mode"));
+ ma->setOffset( daeOffsetOf( domAsset::domCoverage::domGeographic_location::domAltitude , attrMode ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "relativeToGround");
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domCoverage::domGeographic_location::domAltitude));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domCreated::create(DAE& dae)
+{
+ domAsset::domCreatedRef ref = new domAsset::domCreated(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domCreated::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "created" );
+ meta->registerClass(domAsset::domCreated::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsDateTime"));
+ ma->setOffset( daeOffsetOf( domAsset::domCreated , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domCreated));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domKeywords::create(DAE& dae)
+{
+ domAsset::domKeywordsRef ref = new domAsset::domKeywords(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domKeywords::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "keywords" );
+ meta->registerClass(domAsset::domKeywords::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domAsset::domKeywords , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domKeywords));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domModified::create(DAE& dae)
+{
+ domAsset::domModifiedRef ref = new domAsset::domModified(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domModified::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "modified" );
+ meta->registerClass(domAsset::domModified::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsDateTime"));
+ ma->setOffset( daeOffsetOf( domAsset::domModified , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domModified));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domRevision::create(DAE& dae)
+{
+ domAsset::domRevisionRef ref = new domAsset::domRevision(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domRevision::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "revision" );
+ meta->registerClass(domAsset::domRevision::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domAsset::domRevision , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domRevision));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domSubject::create(DAE& dae)
+{
+ domAsset::domSubjectRef ref = new domAsset::domSubject(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domSubject::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "subject" );
+ meta->registerClass(domAsset::domSubject::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domAsset::domSubject , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domSubject));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domTitle::create(DAE& dae)
+{
+ domAsset::domTitleRef ref = new domAsset::domTitle(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domTitle::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "title" );
+ meta->registerClass(domAsset::domTitle::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domAsset::domTitle , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domTitle));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domUnit::create(DAE& dae)
+{
+ domAsset::domUnitRef ref = new domAsset::domUnit(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domUnit::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "unit" );
+ meta->registerClass(domAsset::domUnit::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: meter
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "meter" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domAsset::domUnit , attrMeter ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1.0");
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsNMTOKEN"));
+ ma->setOffset( daeOffsetOf( domAsset::domUnit , attrName ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "meter");
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domUnit));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domAsset::domUp_axis::create(DAE& dae)
+{
+ domAsset::domUp_axisRef ref = new domAsset::domUp_axis(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAsset::domUp_axis::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "up_axis" );
+ meta->registerClass(domAsset::domUp_axis::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Up_axis"));
+ ma->setOffset( daeOffsetOf( domAsset::domUp_axis , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAsset::domUp_axis));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domAxis.cpp b/1.4.0/dom/src/1.5/dom/domAxis.cpp
new file mode 100644
index 0000000..79ed7b2
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domAxis.cpp
@@ -0,0 +1,70 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domAxis.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domAxis::create(DAE& dae)
+{
+ domAxisRef ref = new domAxis(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAxis::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "axis" );
+ meta->registerClass(domAxis::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domAxis , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domAxis , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domAxis , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAxis));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domAxis_constraint.cpp b/1.4.0/dom/src/1.5/dom/domAxis_constraint.cpp
new file mode 100644
index 0000000..d7f62be
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domAxis_constraint.cpp
@@ -0,0 +1,68 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domAxis_constraint.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domAxis_constraint::create(DAE& dae)
+{
+ domAxis_constraintRef ref = new domAxis_constraint(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domAxis_constraint::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "axis_constraint" );
+ meta->registerClass(domAxis_constraint::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "axis" );
+ mea->setOffset( daeOffsetOf(domAxis_constraint,elemAxis) );
+ mea->setElementType( domAxis::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "limits" );
+ mea->setOffset( daeOffsetOf(domAxis_constraint,elemLimits) );
+ mea->setElementType( domJoint_limits::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domAxis_constraint , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domAxis_constraint));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domBind_joint_axis.cpp b/1.4.0/dom/src/1.5/dom/domBind_joint_axis.cpp
new file mode 100644
index 0000000..f07032f
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domBind_joint_axis.cpp
@@ -0,0 +1,68 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domBind_joint_axis.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domBind_joint_axis::create(DAE& dae)
+{
+ domBind_joint_axisRef ref = new domBind_joint_axis(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domBind_joint_axis::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bind_joint_axis" );
+ meta->registerClass(domBind_joint_axis::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "axis" );
+ mea->setOffset( daeOffsetOf(domBind_joint_axis,elemAxis) );
+ mea->setElementType( domCommon_sidref_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "value" );
+ mea->setOffset( daeOffsetOf(domBind_joint_axis,elemValue) );
+ mea->setElementType( domCommon_float_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: target
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "target" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domBind_joint_axis , attrTarget ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domBind_joint_axis));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domBind_kinematics_model.cpp b/1.4.0/dom/src/1.5/dom/domBind_kinematics_model.cpp
new file mode 100644
index 0000000..b4c679a
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domBind_kinematics_model.cpp
@@ -0,0 +1,78 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domBind_kinematics_model.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domBind_kinematics_model::create(DAE& dae)
+{
+ domBind_kinematics_modelRef ref = new domBind_kinematics_model(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domBind_kinematics_model::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bind_kinematics_model" );
+ meta->registerClass(domBind_kinematics_model::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "SIDREF" );
+ mea->setOffset( daeOffsetOf(domBind_kinematics_model,elemSIDREF) );
+ mea->setElementType( domSIDREF::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domBind_kinematics_model,elemParam) );
+ mea->setElementType( domCommon_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domBind_kinematics_model,_contents));
+ meta->addContentsOrder(daeOffsetOf(domBind_kinematics_model,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domBind_kinematics_model,_CMData), 1);
+ // Add attribute: node
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "node" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domBind_kinematics_model , attrNode ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domBind_kinematics_model));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domBind_material.cpp b/1.4.0/dom/src/1.5/dom/domBind_material.cpp
new file mode 100644
index 0000000..7f720c9
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domBind_material.cpp
@@ -0,0 +1,108 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domBind_material.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domBind_material::create(DAE& dae)
+{
+ domBind_materialRef ref = new domBind_material(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domBind_material::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bind_material" );
+ meta->registerClass(domBind_material::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domBind_material,elemParam_array) );
+ mea->setElementType( domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "technique_common" );
+ mea->setOffset( daeOffsetOf(domBind_material,elemTechnique_common) );
+ mea->setElementType( domBind_material::domTechnique_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domBind_material,elemTechnique_array) );
+ mea->setElementType( domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domBind_material,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domBind_material));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domBind_material::domTechnique_common::create(DAE& dae)
+{
+ domBind_material::domTechnique_commonRef ref = new domBind_material::domTechnique_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domBind_material::domTechnique_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique_common" );
+ meta->registerClass(domBind_material::domTechnique_common::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "instance_material" );
+ mea->setOffset( daeOffsetOf(domBind_material::domTechnique_common,elemInstance_material_array) );
+ mea->setElementType( domInstance_material::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domBind_material::domTechnique_common));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domBool_array.cpp b/1.4.0/dom/src/1.5/dom/domBool_array.cpp
new file mode 100644
index 0000000..958691a
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domBool_array.cpp
@@ -0,0 +1,82 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domBool_array.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domBool_array::create(DAE& dae)
+{
+ domBool_arrayRef ref = new domBool_array(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domBool_array::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool_array" );
+ meta->registerClass(domBool_array::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("List_of_bools"));
+ ma->setOffset( daeOffsetOf( domBool_array , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domBool_array , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domBool_array , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domBool_array , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domBool_array));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domBox.cpp b/1.4.0/dom/src/1.5/dom/domBox.cpp
new file mode 100644
index 0000000..96f0c9f
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domBox.cpp
@@ -0,0 +1,93 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domBox.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domBox::create(DAE& dae)
+{
+ domBoxRef ref = new domBox(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domBox::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "box" );
+ meta->registerClass(domBox::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half_extents" );
+ mea->setOffset( daeOffsetOf(domBox,elemHalf_extents) );
+ mea->setElementType( domBox::domHalf_extents::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domBox,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domBox));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domBox::domHalf_extents::create(DAE& dae)
+{
+ domBox::domHalf_extentsRef ref = new domBox::domHalf_extents(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domBox::domHalf_extents::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half_extents" );
+ meta->registerClass(domBox::domHalf_extents::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domBox::domHalf_extents , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domBox::domHalf_extents));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domBrep.cpp b/1.4.0/dom/src/1.5/dom/domBrep.cpp
new file mode 100644
index 0000000..50f7923
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domBrep.cpp
@@ -0,0 +1,117 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domBrep.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domBrep::create(DAE& dae)
+{
+ domBrepRef ref = new domBrep(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domBrep::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "brep" );
+ meta->registerClass(domBrep::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "curves" );
+ mea->setOffset( daeOffsetOf(domBrep,elemCurves) );
+ mea->setElementType( domCurves::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "surface_curves" );
+ mea->setOffset( daeOffsetOf(domBrep,elemSurface_curves) );
+ mea->setElementType( domSurface_curves::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "surfaces" );
+ mea->setOffset( daeOffsetOf(domBrep,elemSurfaces) );
+ mea->setElementType( domSurfaces::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 1, -1 );
+ mea->setName( "source" );
+ mea->setOffset( daeOffsetOf(domBrep,elemSource_array) );
+ mea->setElementType( domSource::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 1, 1 );
+ mea->setName( "vertices" );
+ mea->setOffset( daeOffsetOf(domBrep,elemVertices) );
+ mea->setElementType( domVertices::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "edges" );
+ mea->setOffset( daeOffsetOf(domBrep,elemEdges) );
+ mea->setElementType( domEdges::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "wires" );
+ mea->setOffset( daeOffsetOf(domBrep,elemWires) );
+ mea->setElementType( domWires::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 7, 0, 1 );
+ mea->setName( "faces" );
+ mea->setOffset( daeOffsetOf(domBrep,elemFaces) );
+ mea->setElementType( domFaces::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 8, 0, 1 );
+ mea->setName( "pcurves" );
+ mea->setOffset( daeOffsetOf(domBrep,elemPcurves) );
+ mea->setElementType( domPcurves::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 9, 0, 1 );
+ mea->setName( "shells" );
+ mea->setOffset( daeOffsetOf(domBrep,elemShells) );
+ mea->setElementType( domShells::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 10, 0, 1 );
+ mea->setName( "solids" );
+ mea->setOffset( daeOffsetOf(domBrep,elemSolids) );
+ mea->setElementType( domSolids::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 11, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domBrep,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 11 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domBrep));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domCOLLADA.cpp b/1.4.0/dom/src/1.5/dom/domCOLLADA.cpp
new file mode 100644
index 0000000..a974028
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domCOLLADA.cpp
@@ -0,0 +1,291 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domCOLLADA.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+namespace ColladaDOM150 {
+extern daeString COLLADA_VERSION;
+extern daeString COLLADA_NAMESPACE;
+
+daeElementRef
+domCOLLADA::create(DAE& dae)
+{
+ domCOLLADARef ref = new domCOLLADA(dae);
+ ref->attrXmlns.setContainer( (domCOLLADA*)ref );
+ ref->attrXml_base.setContainer( (domCOLLADA*)ref );
+ ref->_meta = dae.getMeta(domCOLLADA::ID());
+ ref->setAttribute("version", COLLADA_VERSION );
+ ref->setAttribute("xmlns", COLLADA_NAMESPACE );
+ ref->_meta = NULL;
+ return ref;
+}
+
+
+daeMetaElement *
+domCOLLADA::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "COLLADA" );
+ meta->registerClass(domCOLLADA::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_animations" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_animations_array) );
+ mea->setElementType( domLibrary_animations::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_animation_clips" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_animation_clips_array) );
+ mea->setElementType( domLibrary_animation_clips::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_cameras" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_cameras_array) );
+ mea->setElementType( domLibrary_cameras::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_controllers" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_controllers_array) );
+ mea->setElementType( domLibrary_controllers::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_geometries" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_geometries_array) );
+ mea->setElementType( domLibrary_geometries::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_effects" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_effects_array) );
+ mea->setElementType( domLibrary_effects::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_force_fields" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_force_fields_array) );
+ mea->setElementType( domLibrary_force_fields::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_images" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_images_array) );
+ mea->setElementType( domLibrary_images::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_lights" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_lights_array) );
+ mea->setElementType( domLibrary_lights::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_materials" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_materials_array) );
+ mea->setElementType( domLibrary_materials::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_nodes" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_nodes_array) );
+ mea->setElementType( domLibrary_nodes::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_physics_materials" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_physics_materials_array) );
+ mea->setElementType( domLibrary_physics_materials::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_physics_models" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_physics_models_array) );
+ mea->setElementType( domLibrary_physics_models::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_physics_scenes" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_physics_scenes_array) );
+ mea->setElementType( domLibrary_physics_scenes::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_visual_scenes" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_visual_scenes_array) );
+ mea->setElementType( domLibrary_visual_scenes::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_joints" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_joints_array) );
+ mea->setElementType( domLibrary_joints::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_kinematics_models" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_kinematics_models_array) );
+ mea->setElementType( domLibrary_kinematics_models::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_articulated_systems" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_articulated_systems_array) );
+ mea->setElementType( domLibrary_articulated_systems::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_kinematics_scenes" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_kinematics_scenes_array) );
+ mea->setElementType( domLibrary_kinematics_scenes::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "library_formulas" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemLibrary_formulas_array) );
+ mea->setElementType( domLibrary_formulas::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementAttribute( meta, cm, 3002, 0, 1 );
+ mea->setName( "scene" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemScene) );
+ mea->setElementType( domCOLLADA::domScene::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3003, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domCOLLADA,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3003 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domCOLLADA,_contents));
+ meta->addContentsOrder(daeOffsetOf(domCOLLADA,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domCOLLADA,_CMData), 1); // Add attribute: xmlns
+ {
+ daeMetaAttribute* ma = new daeMetaAttribute;
+ ma->setName( "xmlns" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domCOLLADA, attrXmlns ));
+ ma->setContainer( meta );
+ //ma->setIsRequired( true );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: version
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "version" );
+ ma->setType( dae.getAtomicTypes().get("Version"));
+ ma->setOffset( daeOffsetOf( domCOLLADA, attrVersion ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: xml_base
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "xml_base" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domCOLLADA, attrXml_base ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCOLLADA));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCOLLADA::domScene::create(DAE& dae)
+{
+ domCOLLADA::domSceneRef ref = new domCOLLADA::domScene(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCOLLADA::domScene::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "scene" );
+ meta->registerClass(domCOLLADA::domScene::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "instance_physics_scene" );
+ mea->setOffset( daeOffsetOf(domCOLLADA::domScene,elemInstance_physics_scene_array) );
+ mea->setElementType( domInstance_with_extra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "instance_visual_scene" );
+ mea->setOffset( daeOffsetOf(domCOLLADA::domScene,elemInstance_visual_scene) );
+ mea->setElementType( domInstance_with_extra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "instance_kinematics_scene" );
+ mea->setOffset( daeOffsetOf(domCOLLADA::domScene,elemInstance_kinematics_scene_array) );
+ mea->setElementType( domInstance_kinematics_scene::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domCOLLADA::domScene,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domCOLLADA::domScene));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domCamera.cpp b/1.4.0/dom/src/1.5/dom/domCamera.cpp
new file mode 100644
index 0000000..efc8e4e
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domCamera.cpp
@@ -0,0 +1,442 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domCamera.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domCamera::create(DAE& dae)
+{
+ domCameraRef ref = new domCamera(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCamera::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "camera" );
+ meta->registerClass(domCamera::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domCamera,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "optics" );
+ mea->setOffset( daeOffsetOf(domCamera,elemOptics) );
+ mea->setElementType( domCamera::domOptics::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "imager" );
+ mea->setOffset( daeOffsetOf(domCamera,elemImager) );
+ mea->setElementType( domCamera::domImager::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domCamera,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domCamera , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domCamera , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCamera));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCamera::domOptics::create(DAE& dae)
+{
+ domCamera::domOpticsRef ref = new domCamera::domOptics(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCamera::domOptics::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "optics" );
+ meta->registerClass(domCamera::domOptics::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "technique_common" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics,elemTechnique_common) );
+ mea->setElementType( domCamera::domOptics::domTechnique_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics,elemTechnique_array) );
+ mea->setElementType( domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domCamera::domOptics));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCamera::domOptics::domTechnique_common::create(DAE& dae)
+{
+ domCamera::domOptics::domTechnique_commonRef ref = new domCamera::domOptics::domTechnique_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCamera::domOptics::domTechnique_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique_common" );
+ meta->registerClass(domCamera::domOptics::domTechnique_common::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "orthographic" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common,elemOrthographic) );
+ mea->setElementType( domCamera::domOptics::domTechnique_common::domOrthographic::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "perspective" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common,elemPerspective) );
+ mea->setElementType( domCamera::domOptics::domTechnique_common::domPerspective::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domCamera::domOptics::domTechnique_common,_contents));
+ meta->addContentsOrder(daeOffsetOf(domCamera::domOptics::domTechnique_common,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domCamera::domOptics::domTechnique_common,_CMData), 1);
+ meta->setElementSize(sizeof(domCamera::domOptics::domTechnique_common));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCamera::domOptics::domTechnique_common::domOrthographic::create(DAE& dae)
+{
+ domCamera::domOptics::domTechnique_common::domOrthographicRef ref = new domCamera::domOptics::domTechnique_common::domOrthographic(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCamera::domOptics::domTechnique_common::domOrthographic::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "orthographic" );
+ meta->registerClass(domCamera::domOptics::domTechnique_common::domOrthographic::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "xmag" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domOrthographic,elemXmag) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 1, 1, 0, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "ymag" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domOrthographic,elemYmag) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "aspect_ratio" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domOrthographic,elemAspect_ratio) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 1 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm = new daeMetaSequence( meta, cm, 2, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "ymag" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domOrthographic,elemYmag) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "aspect_ratio" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domOrthographic,elemAspect_ratio) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 3 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "znear" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domOrthographic,elemZnear) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "zfar" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domOrthographic,elemZfar) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domCamera::domOptics::domTechnique_common::domOrthographic,_contents));
+ meta->addContentsOrder(daeOffsetOf(domCamera::domOptics::domTechnique_common::domOrthographic,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domCamera::domOptics::domTechnique_common::domOrthographic,_CMData), 2);
+ meta->setElementSize(sizeof(domCamera::domOptics::domTechnique_common::domOrthographic));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCamera::domOptics::domTechnique_common::domPerspective::create(DAE& dae)
+{
+ domCamera::domOptics::domTechnique_common::domPerspectiveRef ref = new domCamera::domOptics::domTechnique_common::domPerspective(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCamera::domOptics::domTechnique_common::domPerspective::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "perspective" );
+ meta->registerClass(domCamera::domOptics::domTechnique_common::domPerspective::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "xfov" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domPerspective,elemXfov) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 1, 1, 0, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "yfov" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domPerspective,elemYfov) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "aspect_ratio" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domPerspective,elemAspect_ratio) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 1 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "yfov" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domPerspective,elemYfov) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "aspect_ratio" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domPerspective,elemAspect_ratio) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 3 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "znear" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domPerspective,elemZnear) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "zfar" );
+ mea->setOffset( daeOffsetOf(domCamera::domOptics::domTechnique_common::domPerspective,elemZfar) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domCamera::domOptics::domTechnique_common::domPerspective,_contents));
+ meta->addContentsOrder(daeOffsetOf(domCamera::domOptics::domTechnique_common::domPerspective,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domCamera::domOptics::domTechnique_common::domPerspective,_CMData), 2);
+ meta->setElementSize(sizeof(domCamera::domOptics::domTechnique_common::domPerspective));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCamera::domImager::create(DAE& dae)
+{
+ domCamera::domImagerRef ref = new domCamera::domImager(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCamera::domImager::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "imager" );
+ meta->registerClass(domCamera::domImager::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domCamera::domImager,elemTechnique_array) );
+ mea->setElementType( domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domCamera::domImager,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domCamera::domImager));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domCapsule.cpp b/1.4.0/dom/src/1.5/dom/domCapsule.cpp
new file mode 100644
index 0000000..c64ff17
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domCapsule.cpp
@@ -0,0 +1,135 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domCapsule.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domCapsule::create(DAE& dae)
+{
+ domCapsuleRef ref = new domCapsule(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCapsule::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "capsule" );
+ meta->registerClass(domCapsule::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "height" );
+ mea->setOffset( daeOffsetOf(domCapsule,elemHeight) );
+ mea->setElementType( domCapsule::domHeight::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "radius" );
+ mea->setOffset( daeOffsetOf(domCapsule,elemRadius) );
+ mea->setElementType( domCapsule::domRadius::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domCapsule,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domCapsule));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCapsule::domHeight::create(DAE& dae)
+{
+ domCapsule::domHeightRef ref = new domCapsule::domHeight(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCapsule::domHeight::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "height" );
+ meta->registerClass(domCapsule::domHeight::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domCapsule::domHeight , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCapsule::domHeight));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCapsule::domRadius::create(DAE& dae)
+{
+ domCapsule::domRadiusRef ref = new domCapsule::domRadius(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCapsule::domRadius::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "radius" );
+ meta->registerClass(domCapsule::domRadius::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domCapsule::domRadius , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCapsule::domRadius));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domCg_array.cpp b/1.4.0/dom/src/1.5/dom/domCg_array.cpp
new file mode 100644
index 0000000..08d275c
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domCg_array.cpp
@@ -0,0 +1,76 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domCg_array.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domCg_array::create(DAE& dae)
+{
+ domCg_arrayRef ref = new domCg_array(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_array::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cg_array" );
+ meta->registerClass(domCg_array::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "cg_param" );
+ mea->setOffset( daeOffsetOf(domCg_array,elemCg_param_array) );
+ mea->setElementType( domCg_param::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 1, -1 ) );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: length
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "length" );
+ ma->setType( dae.getAtomicTypes().get("xsPositiveInteger"));
+ ma->setOffset( daeOffsetOf( domCg_array , attrLength ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: resizable
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "resizable" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domCg_array , attrResizable ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_array));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domCg_newparam.cpp b/1.4.0/dom/src/1.5/dom/domCg_newparam.cpp
new file mode 100644
index 0000000..fd09ad4
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domCg_newparam.cpp
@@ -0,0 +1,153 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domCg_newparam.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domCg_newparam::create(DAE& dae)
+{
+ domCg_newparamRef ref = new domCg_newparam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_newparam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cg_newparam" );
+ meta->registerClass(domCg_newparam::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domCg_newparam,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "semantic" );
+ mea->setOffset( daeOffsetOf(domCg_newparam,elemSemantic) );
+ mea->setElementType( domCg_newparam::domSemantic::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "modifier" );
+ mea->setOffset( daeOffsetOf(domCg_newparam,elemModifier) );
+ mea->setElementType( domCg_newparam::domModifier::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 1, 1 );
+ mea->setName( "cg_param" );
+ mea->setOffset( daeOffsetOf(domCg_newparam,elemCg_param) );
+ mea->setElementType( domCg_param::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 3, 1, 1 ) );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domCg_newparam , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_newparam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_newparam::domSemantic::create(DAE& dae)
+{
+ domCg_newparam::domSemanticRef ref = new domCg_newparam::domSemantic(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_newparam::domSemantic::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "semantic" );
+ meta->registerClass(domCg_newparam::domSemantic::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domCg_newparam::domSemantic , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_newparam::domSemantic));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_newparam::domModifier::create(DAE& dae)
+{
+ domCg_newparam::domModifierRef ref = new domCg_newparam::domModifier(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_newparam::domModifier::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "modifier" );
+ meta->registerClass(domCg_newparam::domModifier::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_modifier"));
+ ma->setOffset( daeOffsetOf( domCg_newparam::domModifier , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_newparam::domModifier));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domCg_param.cpp b/1.4.0/dom/src/1.5/dom/domCg_param.cpp
new file mode 100644
index 0000000..d6b0804
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domCg_param.cpp
@@ -0,0 +1,3542 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domCg_param.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domCg_param::create(DAE& dae)
+{
+ domCg_paramRef ref = new domCg_param(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cg_param" );
+ meta->registerClass(domCg_param::create);
+
+ meta->setIsTransparent( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemBool) );
+ mea->setElementType( domCg_param::domBool::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool2" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemBool2) );
+ mea->setElementType( domCg_param::domBool2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool3" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemBool3) );
+ mea->setElementType( domCg_param::domBool3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool4" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemBool4) );
+ mea->setElementType( domCg_param::domBool4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool2x1" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemBool2x1) );
+ mea->setElementType( domCg_param::domBool2x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool2x2" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemBool2x2) );
+ mea->setElementType( domCg_param::domBool2x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool2x3" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemBool2x3) );
+ mea->setElementType( domCg_param::domBool2x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool2x4" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemBool2x4) );
+ mea->setElementType( domCg_param::domBool2x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool3x1" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemBool3x1) );
+ mea->setElementType( domCg_param::domBool3x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool3x2" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemBool3x2) );
+ mea->setElementType( domCg_param::domBool3x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool3x3" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemBool3x3) );
+ mea->setElementType( domCg_param::domBool3x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool3x4" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemBool3x4) );
+ mea->setElementType( domCg_param::domBool3x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool4x1" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemBool4x1) );
+ mea->setElementType( domCg_param::domBool4x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool4x2" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemBool4x2) );
+ mea->setElementType( domCg_param::domBool4x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool4x3" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemBool4x3) );
+ mea->setElementType( domCg_param::domBool4x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool4x4" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemBool4x4) );
+ mea->setElementType( domCg_param::domBool4x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFloat) );
+ mea->setElementType( domCg_param::domFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFloat2) );
+ mea->setElementType( domCg_param::domFloat2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFloat3) );
+ mea->setElementType( domCg_param::domFloat3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFloat4) );
+ mea->setElementType( domCg_param::domFloat4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x1" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFloat2x1) );
+ mea->setElementType( domCg_param::domFloat2x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x2" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFloat2x2) );
+ mea->setElementType( domCg_param::domFloat2x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x3" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFloat2x3) );
+ mea->setElementType( domCg_param::domFloat2x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x4" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFloat2x4) );
+ mea->setElementType( domCg_param::domFloat2x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x1" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFloat3x1) );
+ mea->setElementType( domCg_param::domFloat3x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x2" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFloat3x2) );
+ mea->setElementType( domCg_param::domFloat3x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x3" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFloat3x3) );
+ mea->setElementType( domCg_param::domFloat3x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x4" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFloat3x4) );
+ mea->setElementType( domCg_param::domFloat3x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x1" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFloat4x1) );
+ mea->setElementType( domCg_param::domFloat4x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x2" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFloat4x2) );
+ mea->setElementType( domCg_param::domFloat4x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x3" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFloat4x3) );
+ mea->setElementType( domCg_param::domFloat4x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x4" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFloat4x4) );
+ mea->setElementType( domCg_param::domFloat4x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemInt) );
+ mea->setElementType( domCg_param::domInt::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int2" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemInt2) );
+ mea->setElementType( domCg_param::domInt2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int3" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemInt3) );
+ mea->setElementType( domCg_param::domInt3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int4" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemInt4) );
+ mea->setElementType( domCg_param::domInt4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int2x1" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemInt2x1) );
+ mea->setElementType( domCg_param::domInt2x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int2x2" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemInt2x2) );
+ mea->setElementType( domCg_param::domInt2x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int2x3" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemInt2x3) );
+ mea->setElementType( domCg_param::domInt2x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int2x4" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemInt2x4) );
+ mea->setElementType( domCg_param::domInt2x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int3x1" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemInt3x1) );
+ mea->setElementType( domCg_param::domInt3x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int3x2" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemInt3x2) );
+ mea->setElementType( domCg_param::domInt3x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int3x3" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemInt3x3) );
+ mea->setElementType( domCg_param::domInt3x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int3x4" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemInt3x4) );
+ mea->setElementType( domCg_param::domInt3x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int4x1" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemInt4x1) );
+ mea->setElementType( domCg_param::domInt4x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int4x2" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemInt4x2) );
+ mea->setElementType( domCg_param::domInt4x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int4x3" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemInt4x3) );
+ mea->setElementType( domCg_param::domInt4x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int4x4" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemInt4x4) );
+ mea->setElementType( domCg_param::domInt4x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemHalf) );
+ mea->setElementType( domCg_param::domHalf::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half2" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemHalf2) );
+ mea->setElementType( domCg_param::domHalf2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half3" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemHalf3) );
+ mea->setElementType( domCg_param::domHalf3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half4" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemHalf4) );
+ mea->setElementType( domCg_param::domHalf4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half2x1" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemHalf2x1) );
+ mea->setElementType( domCg_param::domHalf2x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half2x2" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemHalf2x2) );
+ mea->setElementType( domCg_param::domHalf2x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half2x3" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemHalf2x3) );
+ mea->setElementType( domCg_param::domHalf2x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half2x4" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemHalf2x4) );
+ mea->setElementType( domCg_param::domHalf2x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half3x1" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemHalf3x1) );
+ mea->setElementType( domCg_param::domHalf3x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half3x2" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemHalf3x2) );
+ mea->setElementType( domCg_param::domHalf3x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half3x3" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemHalf3x3) );
+ mea->setElementType( domCg_param::domHalf3x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half3x4" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemHalf3x4) );
+ mea->setElementType( domCg_param::domHalf3x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half4x1" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemHalf4x1) );
+ mea->setElementType( domCg_param::domHalf4x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half4x2" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemHalf4x2) );
+ mea->setElementType( domCg_param::domHalf4x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half4x3" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemHalf4x3) );
+ mea->setElementType( domCg_param::domHalf4x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "half4x4" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemHalf4x4) );
+ mea->setElementType( domCg_param::domHalf4x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFixed) );
+ mea->setElementType( domCg_param::domFixed::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed2" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFixed2) );
+ mea->setElementType( domCg_param::domFixed2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed3" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFixed3) );
+ mea->setElementType( domCg_param::domFixed3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed4" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFixed4) );
+ mea->setElementType( domCg_param::domFixed4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed2x1" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFixed2x1) );
+ mea->setElementType( domCg_param::domFixed2x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed2x2" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFixed2x2) );
+ mea->setElementType( domCg_param::domFixed2x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed2x3" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFixed2x3) );
+ mea->setElementType( domCg_param::domFixed2x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed2x4" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFixed2x4) );
+ mea->setElementType( domCg_param::domFixed2x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed3x1" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFixed3x1) );
+ mea->setElementType( domCg_param::domFixed3x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed3x2" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFixed3x2) );
+ mea->setElementType( domCg_param::domFixed3x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed3x3" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFixed3x3) );
+ mea->setElementType( domCg_param::domFixed3x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed3x4" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFixed3x4) );
+ mea->setElementType( domCg_param::domFixed3x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed4x1" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFixed4x1) );
+ mea->setElementType( domCg_param::domFixed4x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed4x2" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFixed4x2) );
+ mea->setElementType( domCg_param::domFixed4x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed4x3" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFixed4x3) );
+ mea->setElementType( domCg_param::domFixed4x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fixed4x4" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemFixed4x4) );
+ mea->setElementType( domCg_param::domFixed4x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sampler1D" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemSampler1D) );
+ mea->setElementType( domFx_sampler1D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sampler2D" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemSampler2D) );
+ mea->setElementType( domFx_sampler2D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sampler3D" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemSampler3D) );
+ mea->setElementType( domFx_sampler3D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "samplerRECT" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemSamplerRECT) );
+ mea->setElementType( domFx_samplerRECT::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "samplerCUBE" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemSamplerCUBE) );
+ mea->setElementType( domFx_samplerCUBE::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "samplerDEPTH" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemSamplerDEPTH) );
+ mea->setElementType( domFx_samplerDEPTH::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "string" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemString) );
+ mea->setElementType( domCg_param::domString::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "enum" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemEnum) );
+ mea->setElementType( domCg_param::domEnum::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "array" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemArray) );
+ mea->setElementType( domCg_array::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "usertype" );
+ mea->setOffset( daeOffsetOf(domCg_param,elemUsertype) );
+ mea->setElementType( domCg_user::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domCg_param,_contents));
+ meta->addContentsOrder(daeOffsetOf(domCg_param,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domCg_param,_CMData), 1);
+ meta->setElementSize(sizeof(domCg_param));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domBool::create(DAE& dae)
+{
+ domCg_param::domBoolRef ref = new domCg_param::domBool(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domBool::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool" );
+ meta->registerClass(domCg_param::domBool::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domCg_param::domBool , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domBool));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domBool2::create(DAE& dae)
+{
+ domCg_param::domBool2Ref ref = new domCg_param::domBool2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domBool2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool2" );
+ meta->registerClass(domCg_param::domBool2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domBool2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domBool2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domBool3::create(DAE& dae)
+{
+ domCg_param::domBool3Ref ref = new domCg_param::domBool3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domBool3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool3" );
+ meta->registerClass(domCg_param::domBool3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domBool3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domBool3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domBool4::create(DAE& dae)
+{
+ domCg_param::domBool4Ref ref = new domCg_param::domBool4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domBool4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool4" );
+ meta->registerClass(domCg_param::domBool4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domBool4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domBool4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domBool2x1::create(DAE& dae)
+{
+ domCg_param::domBool2x1Ref ref = new domCg_param::domBool2x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domBool2x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool2x1" );
+ meta->registerClass(domCg_param::domBool2x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domBool2x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domBool2x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domBool2x2::create(DAE& dae)
+{
+ domCg_param::domBool2x2Ref ref = new domCg_param::domBool2x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domBool2x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool2x2" );
+ meta->registerClass(domCg_param::domBool2x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool2x2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domBool2x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domBool2x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domBool2x3::create(DAE& dae)
+{
+ domCg_param::domBool2x3Ref ref = new domCg_param::domBool2x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domBool2x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool2x3" );
+ meta->registerClass(domCg_param::domBool2x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool2x3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domBool2x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domBool2x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domBool2x4::create(DAE& dae)
+{
+ domCg_param::domBool2x4Ref ref = new domCg_param::domBool2x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domBool2x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool2x4" );
+ meta->registerClass(domCg_param::domBool2x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool2x4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domBool2x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domBool2x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domBool3x1::create(DAE& dae)
+{
+ domCg_param::domBool3x1Ref ref = new domCg_param::domBool3x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domBool3x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool3x1" );
+ meta->registerClass(domCg_param::domBool3x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domBool3x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domBool3x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domBool3x2::create(DAE& dae)
+{
+ domCg_param::domBool3x2Ref ref = new domCg_param::domBool3x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domBool3x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool3x2" );
+ meta->registerClass(domCg_param::domBool3x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool3x2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domBool3x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domBool3x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domBool3x3::create(DAE& dae)
+{
+ domCg_param::domBool3x3Ref ref = new domCg_param::domBool3x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domBool3x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool3x3" );
+ meta->registerClass(domCg_param::domBool3x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool3x3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domBool3x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domBool3x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domBool3x4::create(DAE& dae)
+{
+ domCg_param::domBool3x4Ref ref = new domCg_param::domBool3x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domBool3x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool3x4" );
+ meta->registerClass(domCg_param::domBool3x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool3x4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domBool3x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domBool3x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domBool4x1::create(DAE& dae)
+{
+ domCg_param::domBool4x1Ref ref = new domCg_param::domBool4x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domBool4x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool4x1" );
+ meta->registerClass(domCg_param::domBool4x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domBool4x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domBool4x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domBool4x2::create(DAE& dae)
+{
+ domCg_param::domBool4x2Ref ref = new domCg_param::domBool4x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domBool4x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool4x2" );
+ meta->registerClass(domCg_param::domBool4x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool4x2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domBool4x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domBool4x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domBool4x3::create(DAE& dae)
+{
+ domCg_param::domBool4x3Ref ref = new domCg_param::domBool4x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domBool4x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool4x3" );
+ meta->registerClass(domCg_param::domBool4x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool4x3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domBool4x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domBool4x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domBool4x4::create(DAE& dae)
+{
+ domCg_param::domBool4x4Ref ref = new domCg_param::domBool4x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domBool4x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool4x4" );
+ meta->registerClass(domCg_param::domBool4x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool4x4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domBool4x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domBool4x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFloat::create(DAE& dae)
+{
+ domCg_param::domFloatRef ref = new domCg_param::domFloat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFloat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float" );
+ meta->registerClass(domCg_param::domFloat::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFloat , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFloat));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFloat2::create(DAE& dae)
+{
+ domCg_param::domFloat2Ref ref = new domCg_param::domFloat2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFloat2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2" );
+ meta->registerClass(domCg_param::domFloat2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFloat2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFloat2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFloat3::create(DAE& dae)
+{
+ domCg_param::domFloat3Ref ref = new domCg_param::domFloat3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFloat3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3" );
+ meta->registerClass(domCg_param::domFloat3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFloat3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFloat3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFloat4::create(DAE& dae)
+{
+ domCg_param::domFloat4Ref ref = new domCg_param::domFloat4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFloat4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4" );
+ meta->registerClass(domCg_param::domFloat4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFloat4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFloat4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFloat2x1::create(DAE& dae)
+{
+ domCg_param::domFloat2x1Ref ref = new domCg_param::domFloat2x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFloat2x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x1" );
+ meta->registerClass(domCg_param::domFloat2x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFloat2x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFloat2x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFloat2x2::create(DAE& dae)
+{
+ domCg_param::domFloat2x2Ref ref = new domCg_param::domFloat2x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFloat2x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x2" );
+ meta->registerClass(domCg_param::domFloat2x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFloat2x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFloat2x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFloat2x3::create(DAE& dae)
+{
+ domCg_param::domFloat2x3Ref ref = new domCg_param::domFloat2x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFloat2x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x3" );
+ meta->registerClass(domCg_param::domFloat2x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFloat2x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFloat2x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFloat2x4::create(DAE& dae)
+{
+ domCg_param::domFloat2x4Ref ref = new domCg_param::domFloat2x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFloat2x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x4" );
+ meta->registerClass(domCg_param::domFloat2x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFloat2x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFloat2x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFloat3x1::create(DAE& dae)
+{
+ domCg_param::domFloat3x1Ref ref = new domCg_param::domFloat3x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFloat3x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x1" );
+ meta->registerClass(domCg_param::domFloat3x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFloat3x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFloat3x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFloat3x2::create(DAE& dae)
+{
+ domCg_param::domFloat3x2Ref ref = new domCg_param::domFloat3x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFloat3x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x2" );
+ meta->registerClass(domCg_param::domFloat3x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFloat3x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFloat3x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFloat3x3::create(DAE& dae)
+{
+ domCg_param::domFloat3x3Ref ref = new domCg_param::domFloat3x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFloat3x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x3" );
+ meta->registerClass(domCg_param::domFloat3x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFloat3x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFloat3x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFloat3x4::create(DAE& dae)
+{
+ domCg_param::domFloat3x4Ref ref = new domCg_param::domFloat3x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFloat3x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x4" );
+ meta->registerClass(domCg_param::domFloat3x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFloat3x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFloat3x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFloat4x1::create(DAE& dae)
+{
+ domCg_param::domFloat4x1Ref ref = new domCg_param::domFloat4x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFloat4x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x1" );
+ meta->registerClass(domCg_param::domFloat4x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFloat4x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFloat4x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFloat4x2::create(DAE& dae)
+{
+ domCg_param::domFloat4x2Ref ref = new domCg_param::domFloat4x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFloat4x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x2" );
+ meta->registerClass(domCg_param::domFloat4x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFloat4x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFloat4x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFloat4x3::create(DAE& dae)
+{
+ domCg_param::domFloat4x3Ref ref = new domCg_param::domFloat4x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFloat4x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x3" );
+ meta->registerClass(domCg_param::domFloat4x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFloat4x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFloat4x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFloat4x4::create(DAE& dae)
+{
+ domCg_param::domFloat4x4Ref ref = new domCg_param::domFloat4x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFloat4x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x4" );
+ meta->registerClass(domCg_param::domFloat4x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFloat4x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFloat4x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domInt::create(DAE& dae)
+{
+ domCg_param::domIntRef ref = new domCg_param::domInt(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domInt::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int" );
+ meta->registerClass(domCg_param::domInt::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int"));
+ ma->setOffset( daeOffsetOf( domCg_param::domInt , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domInt));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domInt2::create(DAE& dae)
+{
+ domCg_param::domInt2Ref ref = new domCg_param::domInt2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domInt2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int2" );
+ meta->registerClass(domCg_param::domInt2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domInt2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domInt2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domInt3::create(DAE& dae)
+{
+ domCg_param::domInt3Ref ref = new domCg_param::domInt3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domInt3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int3" );
+ meta->registerClass(domCg_param::domInt3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domInt3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domInt3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domInt4::create(DAE& dae)
+{
+ domCg_param::domInt4Ref ref = new domCg_param::domInt4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domInt4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int4" );
+ meta->registerClass(domCg_param::domInt4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domInt4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domInt4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domInt2x1::create(DAE& dae)
+{
+ domCg_param::domInt2x1Ref ref = new domCg_param::domInt2x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domInt2x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int2x1" );
+ meta->registerClass(domCg_param::domInt2x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domInt2x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domInt2x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domInt2x2::create(DAE& dae)
+{
+ domCg_param::domInt2x2Ref ref = new domCg_param::domInt2x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domInt2x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int2x2" );
+ meta->registerClass(domCg_param::domInt2x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int2x2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domInt2x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domInt2x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domInt2x3::create(DAE& dae)
+{
+ domCg_param::domInt2x3Ref ref = new domCg_param::domInt2x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domInt2x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int2x3" );
+ meta->registerClass(domCg_param::domInt2x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int2x3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domInt2x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domInt2x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domInt2x4::create(DAE& dae)
+{
+ domCg_param::domInt2x4Ref ref = new domCg_param::domInt2x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domInt2x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int2x4" );
+ meta->registerClass(domCg_param::domInt2x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int2x4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domInt2x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domInt2x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domInt3x1::create(DAE& dae)
+{
+ domCg_param::domInt3x1Ref ref = new domCg_param::domInt3x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domInt3x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int3x1" );
+ meta->registerClass(domCg_param::domInt3x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domInt3x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domInt3x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domInt3x2::create(DAE& dae)
+{
+ domCg_param::domInt3x2Ref ref = new domCg_param::domInt3x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domInt3x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int3x2" );
+ meta->registerClass(domCg_param::domInt3x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int3x2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domInt3x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domInt3x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domInt3x3::create(DAE& dae)
+{
+ domCg_param::domInt3x3Ref ref = new domCg_param::domInt3x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domInt3x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int3x3" );
+ meta->registerClass(domCg_param::domInt3x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int3x3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domInt3x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domInt3x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domInt3x4::create(DAE& dae)
+{
+ domCg_param::domInt3x4Ref ref = new domCg_param::domInt3x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domInt3x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int3x4" );
+ meta->registerClass(domCg_param::domInt3x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int3x4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domInt3x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domInt3x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domInt4x1::create(DAE& dae)
+{
+ domCg_param::domInt4x1Ref ref = new domCg_param::domInt4x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domInt4x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int4x1" );
+ meta->registerClass(domCg_param::domInt4x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domInt4x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domInt4x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domInt4x2::create(DAE& dae)
+{
+ domCg_param::domInt4x2Ref ref = new domCg_param::domInt4x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domInt4x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int4x2" );
+ meta->registerClass(domCg_param::domInt4x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int4x2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domInt4x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domInt4x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domInt4x3::create(DAE& dae)
+{
+ domCg_param::domInt4x3Ref ref = new domCg_param::domInt4x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domInt4x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int4x3" );
+ meta->registerClass(domCg_param::domInt4x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int4x3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domInt4x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domInt4x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domInt4x4::create(DAE& dae)
+{
+ domCg_param::domInt4x4Ref ref = new domCg_param::domInt4x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domInt4x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int4x4" );
+ meta->registerClass(domCg_param::domInt4x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int4x4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domInt4x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domInt4x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domHalf::create(DAE& dae)
+{
+ domCg_param::domHalfRef ref = new domCg_param::domHalf(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domHalf::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half" );
+ meta->registerClass(domCg_param::domHalf::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domCg_param::domHalf , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domHalf));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domHalf2::create(DAE& dae)
+{
+ domCg_param::domHalf2Ref ref = new domCg_param::domHalf2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domHalf2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half2" );
+ meta->registerClass(domCg_param::domHalf2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domHalf2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domHalf2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domHalf3::create(DAE& dae)
+{
+ domCg_param::domHalf3Ref ref = new domCg_param::domHalf3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domHalf3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half3" );
+ meta->registerClass(domCg_param::domHalf3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domHalf3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domHalf3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domHalf4::create(DAE& dae)
+{
+ domCg_param::domHalf4Ref ref = new domCg_param::domHalf4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domHalf4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half4" );
+ meta->registerClass(domCg_param::domHalf4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domHalf4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domHalf4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domHalf2x1::create(DAE& dae)
+{
+ domCg_param::domHalf2x1Ref ref = new domCg_param::domHalf2x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domHalf2x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half2x1" );
+ meta->registerClass(domCg_param::domHalf2x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domHalf2x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domHalf2x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domHalf2x2::create(DAE& dae)
+{
+ domCg_param::domHalf2x2Ref ref = new domCg_param::domHalf2x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domHalf2x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half2x2" );
+ meta->registerClass(domCg_param::domHalf2x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domHalf2x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domHalf2x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domHalf2x3::create(DAE& dae)
+{
+ domCg_param::domHalf2x3Ref ref = new domCg_param::domHalf2x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domHalf2x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half2x3" );
+ meta->registerClass(domCg_param::domHalf2x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domHalf2x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domHalf2x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domHalf2x4::create(DAE& dae)
+{
+ domCg_param::domHalf2x4Ref ref = new domCg_param::domHalf2x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domHalf2x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half2x4" );
+ meta->registerClass(domCg_param::domHalf2x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domHalf2x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domHalf2x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domHalf3x1::create(DAE& dae)
+{
+ domCg_param::domHalf3x1Ref ref = new domCg_param::domHalf3x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domHalf3x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half3x1" );
+ meta->registerClass(domCg_param::domHalf3x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domHalf3x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domHalf3x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domHalf3x2::create(DAE& dae)
+{
+ domCg_param::domHalf3x2Ref ref = new domCg_param::domHalf3x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domHalf3x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half3x2" );
+ meta->registerClass(domCg_param::domHalf3x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domHalf3x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domHalf3x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domHalf3x3::create(DAE& dae)
+{
+ domCg_param::domHalf3x3Ref ref = new domCg_param::domHalf3x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domHalf3x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half3x3" );
+ meta->registerClass(domCg_param::domHalf3x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domHalf3x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domHalf3x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domHalf3x4::create(DAE& dae)
+{
+ domCg_param::domHalf3x4Ref ref = new domCg_param::domHalf3x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domHalf3x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half3x4" );
+ meta->registerClass(domCg_param::domHalf3x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domHalf3x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domHalf3x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domHalf4x1::create(DAE& dae)
+{
+ domCg_param::domHalf4x1Ref ref = new domCg_param::domHalf4x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domHalf4x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half4x1" );
+ meta->registerClass(domCg_param::domHalf4x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domHalf4x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domHalf4x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domHalf4x2::create(DAE& dae)
+{
+ domCg_param::domHalf4x2Ref ref = new domCg_param::domHalf4x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domHalf4x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half4x2" );
+ meta->registerClass(domCg_param::domHalf4x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domHalf4x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domHalf4x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domHalf4x3::create(DAE& dae)
+{
+ domCg_param::domHalf4x3Ref ref = new domCg_param::domHalf4x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domHalf4x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half4x3" );
+ meta->registerClass(domCg_param::domHalf4x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domHalf4x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domHalf4x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domHalf4x4::create(DAE& dae)
+{
+ domCg_param::domHalf4x4Ref ref = new domCg_param::domHalf4x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domHalf4x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "half4x4" );
+ meta->registerClass(domCg_param::domHalf4x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domHalf4x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domHalf4x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFixed::create(DAE& dae)
+{
+ domCg_param::domFixedRef ref = new domCg_param::domFixed(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFixed::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed" );
+ meta->registerClass(domCg_param::domFixed::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFixed , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFixed));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFixed2::create(DAE& dae)
+{
+ domCg_param::domFixed2Ref ref = new domCg_param::domFixed2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFixed2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed2" );
+ meta->registerClass(domCg_param::domFixed2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFixed2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFixed2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFixed3::create(DAE& dae)
+{
+ domCg_param::domFixed3Ref ref = new domCg_param::domFixed3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFixed3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed3" );
+ meta->registerClass(domCg_param::domFixed3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFixed3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFixed3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFixed4::create(DAE& dae)
+{
+ domCg_param::domFixed4Ref ref = new domCg_param::domFixed4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFixed4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed4" );
+ meta->registerClass(domCg_param::domFixed4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFixed4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFixed4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFixed2x1::create(DAE& dae)
+{
+ domCg_param::domFixed2x1Ref ref = new domCg_param::domFixed2x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFixed2x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed2x1" );
+ meta->registerClass(domCg_param::domFixed2x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFixed2x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFixed2x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFixed2x2::create(DAE& dae)
+{
+ domCg_param::domFixed2x2Ref ref = new domCg_param::domFixed2x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFixed2x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed2x2" );
+ meta->registerClass(domCg_param::domFixed2x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFixed2x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFixed2x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFixed2x3::create(DAE& dae)
+{
+ domCg_param::domFixed2x3Ref ref = new domCg_param::domFixed2x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFixed2x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed2x3" );
+ meta->registerClass(domCg_param::domFixed2x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFixed2x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFixed2x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFixed2x4::create(DAE& dae)
+{
+ domCg_param::domFixed2x4Ref ref = new domCg_param::domFixed2x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFixed2x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed2x4" );
+ meta->registerClass(domCg_param::domFixed2x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFixed2x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFixed2x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFixed3x1::create(DAE& dae)
+{
+ domCg_param::domFixed3x1Ref ref = new domCg_param::domFixed3x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFixed3x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed3x1" );
+ meta->registerClass(domCg_param::domFixed3x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFixed3x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFixed3x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFixed3x2::create(DAE& dae)
+{
+ domCg_param::domFixed3x2Ref ref = new domCg_param::domFixed3x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFixed3x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed3x2" );
+ meta->registerClass(domCg_param::domFixed3x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFixed3x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFixed3x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFixed3x3::create(DAE& dae)
+{
+ domCg_param::domFixed3x3Ref ref = new domCg_param::domFixed3x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFixed3x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed3x3" );
+ meta->registerClass(domCg_param::domFixed3x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFixed3x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFixed3x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFixed3x4::create(DAE& dae)
+{
+ domCg_param::domFixed3x4Ref ref = new domCg_param::domFixed3x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFixed3x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed3x4" );
+ meta->registerClass(domCg_param::domFixed3x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFixed3x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFixed3x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFixed4x1::create(DAE& dae)
+{
+ domCg_param::domFixed4x1Ref ref = new domCg_param::domFixed4x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFixed4x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed4x1" );
+ meta->registerClass(domCg_param::domFixed4x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFixed4x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFixed4x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFixed4x2::create(DAE& dae)
+{
+ domCg_param::domFixed4x2Ref ref = new domCg_param::domFixed4x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFixed4x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed4x2" );
+ meta->registerClass(domCg_param::domFixed4x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x2"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFixed4x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFixed4x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFixed4x3::create(DAE& dae)
+{
+ domCg_param::domFixed4x3Ref ref = new domCg_param::domFixed4x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFixed4x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed4x3" );
+ meta->registerClass(domCg_param::domFixed4x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x3"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFixed4x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFixed4x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domFixed4x4::create(DAE& dae)
+{
+ domCg_param::domFixed4x4Ref ref = new domCg_param::domFixed4x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domFixed4x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fixed4x4" );
+ meta->registerClass(domCg_param::domFixed4x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x4"));
+ ma->setOffset( daeOffsetOf( domCg_param::domFixed4x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domFixed4x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domString::create(DAE& dae)
+{
+ domCg_param::domStringRef ref = new domCg_param::domString(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domString::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "string" );
+ meta->registerClass(domCg_param::domString::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domCg_param::domString , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domString));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_param::domEnum::create(DAE& dae)
+{
+ domCg_param::domEnumRef ref = new domCg_param::domEnum(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_param::domEnum::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "enum" );
+ meta->registerClass(domCg_param::domEnum::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_enumeration"));
+ ma->setOffset( daeOffsetOf( domCg_param::domEnum , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_param::domEnum));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domCg_pass.cpp b/1.4.0/dom/src/1.5/dom/domCg_pass.cpp
new file mode 100644
index 0000000..d767152
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domCg_pass.cpp
@@ -0,0 +1,512 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domCg_pass.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domCg_pass::create(DAE& dae)
+{
+ domCg_passRef ref = new domCg_pass(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_pass::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cg_pass" );
+ meta->registerClass(domCg_pass::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domCg_pass,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "states" );
+ mea->setOffset( daeOffsetOf(domCg_pass,elemStates) );
+ mea->setElementType( domCg_pass::domStates::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "program" );
+ mea->setOffset( daeOffsetOf(domCg_pass,elemProgram) );
+ mea->setElementType( domCg_pass::domProgram::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "evaluate" );
+ mea->setOffset( daeOffsetOf(domCg_pass,elemEvaluate) );
+ mea->setElementType( domCg_pass::domEvaluate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 4, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domCg_pass,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 4 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domCg_pass , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_pass));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_pass::domStates::create(DAE& dae)
+{
+ domCg_pass::domStatesRef ref = new domCg_pass::domStates(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_pass::domStates::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "states" );
+ meta->registerClass(domCg_pass::domStates::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "gl_pipeline_settings" );
+ mea->setOffset( daeOffsetOf(domCg_pass::domStates,elemGl_pipeline_settings_array) );
+ mea->setElementType( domGl_pipeline_settings::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 0, -1 ) );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domCg_pass::domStates));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_pass::domProgram::create(DAE& dae)
+{
+ domCg_pass::domProgramRef ref = new domCg_pass::domProgram(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_pass::domProgram::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "program" );
+ meta->registerClass(domCg_pass::domProgram::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "shader" );
+ mea->setOffset( daeOffsetOf(domCg_pass::domProgram,elemShader_array) );
+ mea->setElementType( domCg_pass::domProgram::domShader::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domCg_pass::domProgram));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_pass::domProgram::domShader::create(DAE& dae)
+{
+ domCg_pass::domProgram::domShaderRef ref = new domCg_pass::domProgram::domShader(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_pass::domProgram::domShader::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "shader" );
+ meta->registerClass(domCg_pass::domProgram::domShader::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sources" );
+ mea->setOffset( daeOffsetOf(domCg_pass::domProgram::domShader,elemSources) );
+ mea->setElementType( domCg_pass::domProgram::domShader::domSources::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "compiler" );
+ mea->setOffset( daeOffsetOf(domCg_pass::domProgram::domShader,elemCompiler_array) );
+ mea->setElementType( domFx_target::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "bind_uniform" );
+ mea->setOffset( daeOffsetOf(domCg_pass::domProgram::domShader,elemBind_uniform_array) );
+ mea->setElementType( domCg_pass::domProgram::domShader::domBind_uniform::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: stage
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "stage" );
+ ma->setType( dae.getAtomicTypes().get("Fx_pipeline_stage"));
+ ma->setOffset( daeOffsetOf( domCg_pass::domProgram::domShader , attrStage ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_pass::domProgram::domShader));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_pass::domProgram::domShader::domSources::create(DAE& dae)
+{
+ domCg_pass::domProgram::domShader::domSourcesRef ref = new domCg_pass::domProgram::domShader::domSources(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_pass::domProgram::domShader::domSources::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "sources" );
+ meta->registerClass(domCg_pass::domProgram::domShader::domSources::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "inline" );
+ mea->setOffset( daeOffsetOf(domCg_pass::domProgram::domShader::domSources,elemInline_array) );
+ mea->setElementType( domInline::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "import" );
+ mea->setOffset( daeOffsetOf(domCg_pass::domProgram::domShader::domSources,elemImport_array) );
+ mea->setElementType( domImport::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 3000 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 3000 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domCg_pass::domProgram::domShader::domSources,_contents));
+ meta->addContentsOrder(daeOffsetOf(domCg_pass::domProgram::domShader::domSources,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domCg_pass::domProgram::domShader::domSources,_CMData), 1);
+ // Add attribute: entry
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "entry" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domCg_pass::domProgram::domShader::domSources , attrEntry ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_pass::domProgram::domShader::domSources));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_pass::domProgram::domShader::domBind_uniform::create(DAE& dae)
+{
+ domCg_pass::domProgram::domShader::domBind_uniformRef ref = new domCg_pass::domProgram::domShader::domBind_uniform(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_pass::domProgram::domShader::domBind_uniform::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bind_uniform" );
+ meta->registerClass(domCg_pass::domProgram::domShader::domBind_uniform::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domCg_pass::domProgram::domShader::domBind_uniform,elemParam) );
+ mea->setElementType( domCg_pass::domProgram::domShader::domBind_uniform::domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "cg_param" );
+ mea->setOffset( daeOffsetOf(domCg_pass::domProgram::domShader::domBind_uniform,elemCg_param) );
+ mea->setElementType( domCg_param::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 1, 1 ) );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domCg_pass::domProgram::domShader::domBind_uniform,_contents));
+ meta->addContentsOrder(daeOffsetOf(domCg_pass::domProgram::domShader::domBind_uniform,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domCg_pass::domProgram::domShader::domBind_uniform,_CMData), 1);
+ // Add attribute: symbol
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "symbol" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domCg_pass::domProgram::domShader::domBind_uniform , attrSymbol ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_pass::domProgram::domShader::domBind_uniform));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_pass::domProgram::domShader::domBind_uniform::domParam::create(DAE& dae)
+{
+ domCg_pass::domProgram::domShader::domBind_uniform::domParamRef ref = new domCg_pass::domProgram::domShader::domBind_uniform::domParam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_pass::domProgram::domShader::domBind_uniform::domParam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "param" );
+ meta->registerClass(domCg_pass::domProgram::domShader::domBind_uniform::domParam::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domCg_pass::domProgram::domShader::domBind_uniform::domParam , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_pass::domProgram::domShader::domBind_uniform::domParam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_pass::domEvaluate::create(DAE& dae)
+{
+ domCg_pass::domEvaluateRef ref = new domCg_pass::domEvaluate(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_pass::domEvaluate::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "evaluate" );
+ meta->registerClass(domCg_pass::domEvaluate::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "color_target" );
+ mea->setOffset( daeOffsetOf(domCg_pass::domEvaluate,elemColor_target_array) );
+ mea->setElementType( domFx_colortarget::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "depth_target" );
+ mea->setOffset( daeOffsetOf(domCg_pass::domEvaluate,elemDepth_target_array) );
+ mea->setElementType( domFx_depthtarget::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "stencil_target" );
+ mea->setOffset( daeOffsetOf(domCg_pass::domEvaluate,elemStencil_target_array) );
+ mea->setElementType( domFx_stenciltarget::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "color_clear" );
+ mea->setOffset( daeOffsetOf(domCg_pass::domEvaluate,elemColor_clear_array) );
+ mea->setElementType( domFx_clearcolor::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 4, 0, -1 );
+ mea->setName( "depth_clear" );
+ mea->setOffset( daeOffsetOf(domCg_pass::domEvaluate,elemDepth_clear_array) );
+ mea->setElementType( domFx_cleardepth::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 5, 0, -1 );
+ mea->setName( "stencil_clear" );
+ mea->setOffset( daeOffsetOf(domCg_pass::domEvaluate,elemStencil_clear_array) );
+ mea->setElementType( domFx_clearstencil::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "draw" );
+ mea->setOffset( daeOffsetOf(domCg_pass::domEvaluate,elemDraw) );
+ mea->setElementType( domCg_pass::domEvaluate::domDraw::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 6 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domCg_pass::domEvaluate));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCg_pass::domEvaluate::domDraw::create(DAE& dae)
+{
+ domCg_pass::domEvaluate::domDrawRef ref = new domCg_pass::domEvaluate::domDraw(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_pass::domEvaluate::domDraw::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "draw" );
+ meta->registerClass(domCg_pass::domEvaluate::domDraw::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_draw"));
+ ma->setOffset( daeOffsetOf( domCg_pass::domEvaluate::domDraw , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_pass::domEvaluate::domDraw));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domCg_setparam.cpp b/1.4.0/dom/src/1.5/dom/domCg_setparam.cpp
new file mode 100644
index 0000000..862f5f8
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domCg_setparam.cpp
@@ -0,0 +1,63 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domCg_setparam.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domCg_setparam::create(DAE& dae)
+{
+ domCg_setparamRef ref = new domCg_setparam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_setparam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cg_setparam" );
+ meta->registerClass(domCg_setparam::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "cg_param" );
+ mea->setOffset( daeOffsetOf(domCg_setparam,elemCg_param) );
+ mea->setElementType( domCg_param::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 1, 1 ) );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domCg_setparam , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_setparam));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domCg_user.cpp b/1.4.0/dom/src/1.5/dom/domCg_user.cpp
new file mode 100644
index 0000000..123b58d
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domCg_user.cpp
@@ -0,0 +1,75 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domCg_user.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domCg_user::create(DAE& dae)
+{
+ domCg_userRef ref = new domCg_user(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCg_user::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cg_user" );
+ meta->registerClass(domCg_user::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 0, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "setparam" );
+ mea->setOffset( daeOffsetOf(domCg_user,elemSetparam_array) );
+ mea->setElementType( domCg_setparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: typename
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "typename" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domCg_user , attrTypename ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: source
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "source" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domCg_user , attrSource ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCg_user));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domChannel.cpp b/1.4.0/dom/src/1.5/dom/domChannel.cpp
new file mode 100644
index 0000000..6241c37
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domChannel.cpp
@@ -0,0 +1,64 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domChannel.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domChannel::create(DAE& dae)
+{
+ domChannelRef ref = new domChannel(dae);
+ ref->attrSource.setContainer( (domChannel*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domChannel::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "channel" );
+ meta->registerClass(domChannel::create);
+
+
+ // Add attribute: source
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "source" );
+ ma->setType( dae.getAtomicTypes().get("Urifragment"));
+ ma->setOffset( daeOffsetOf( domChannel , attrSource ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: target
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "target" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domChannel , attrTarget ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domChannel));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domCircle.cpp b/1.4.0/dom/src/1.5/dom/domCircle.cpp
new file mode 100644
index 0000000..732dc38
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domCircle.cpp
@@ -0,0 +1,93 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domCircle.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domCircle::create(DAE& dae)
+{
+ domCircleRef ref = new domCircle(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCircle::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "circle" );
+ meta->registerClass(domCircle::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "radius" );
+ mea->setOffset( daeOffsetOf(domCircle,elemRadius) );
+ mea->setElementType( domCircle::domRadius::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domCircle,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domCircle));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCircle::domRadius::create(DAE& dae)
+{
+ domCircle::domRadiusRef ref = new domCircle::domRadius(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCircle::domRadius::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "radius" );
+ meta->registerClass(domCircle::domRadius::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domCircle::domRadius , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCircle::domRadius));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domCommon_bool_or_param.cpp b/1.4.0/dom/src/1.5/dom/domCommon_bool_or_param.cpp
new file mode 100644
index 0000000..e26675f
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domCommon_bool_or_param.cpp
@@ -0,0 +1,97 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domCommon_bool_or_param.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domCommon_bool_or_param::create(DAE& dae)
+{
+ domCommon_bool_or_paramRef ref = new domCommon_bool_or_param(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCommon_bool_or_param::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "common_bool_or_param" );
+ meta->registerClass(domCommon_bool_or_param::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool" );
+ mea->setOffset( daeOffsetOf(domCommon_bool_or_param,elemBool) );
+ mea->setElementType( domCommon_bool_or_param::domBool::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domCommon_bool_or_param,elemParam) );
+ mea->setElementType( domCommon_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domCommon_bool_or_param,_contents));
+ meta->addContentsOrder(daeOffsetOf(domCommon_bool_or_param,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domCommon_bool_or_param,_CMData), 1);
+ meta->setElementSize(sizeof(domCommon_bool_or_param));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCommon_bool_or_param::domBool::create(DAE& dae)
+{
+ domCommon_bool_or_param::domBoolRef ref = new domCommon_bool_or_param::domBool(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCommon_bool_or_param::domBool::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool" );
+ meta->registerClass(domCommon_bool_or_param::domBool::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domCommon_bool_or_param::domBool , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCommon_bool_or_param::domBool));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domCommon_float2_or_param.cpp b/1.4.0/dom/src/1.5/dom/domCommon_float2_or_param.cpp
new file mode 100644
index 0000000..207506f
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domCommon_float2_or_param.cpp
@@ -0,0 +1,97 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domCommon_float2_or_param.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domCommon_float2_or_param::create(DAE& dae)
+{
+ domCommon_float2_or_paramRef ref = new domCommon_float2_or_param(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCommon_float2_or_param::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "common_float2_or_param" );
+ meta->registerClass(domCommon_float2_or_param::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2" );
+ mea->setOffset( daeOffsetOf(domCommon_float2_or_param,elemFloat2) );
+ mea->setElementType( domCommon_float2_or_param::domFloat2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domCommon_float2_or_param,elemParam) );
+ mea->setElementType( domCommon_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domCommon_float2_or_param,_contents));
+ meta->addContentsOrder(daeOffsetOf(domCommon_float2_or_param,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domCommon_float2_or_param,_CMData), 1);
+ meta->setElementSize(sizeof(domCommon_float2_or_param));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCommon_float2_or_param::domFloat2::create(DAE& dae)
+{
+ domCommon_float2_or_param::domFloat2Ref ref = new domCommon_float2_or_param::domFloat2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCommon_float2_or_param::domFloat2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2" );
+ meta->registerClass(domCommon_float2_or_param::domFloat2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domCommon_float2_or_param::domFloat2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCommon_float2_or_param::domFloat2));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domCommon_float_or_param.cpp b/1.4.0/dom/src/1.5/dom/domCommon_float_or_param.cpp
new file mode 100644
index 0000000..a69b914
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domCommon_float_or_param.cpp
@@ -0,0 +1,97 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domCommon_float_or_param.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domCommon_float_or_param::create(DAE& dae)
+{
+ domCommon_float_or_paramRef ref = new domCommon_float_or_param(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCommon_float_or_param::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "common_float_or_param" );
+ meta->registerClass(domCommon_float_or_param::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float" );
+ mea->setOffset( daeOffsetOf(domCommon_float_or_param,elemFloat) );
+ mea->setElementType( domCommon_float_or_param::domFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domCommon_float_or_param,elemParam) );
+ mea->setElementType( domCommon_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domCommon_float_or_param,_contents));
+ meta->addContentsOrder(daeOffsetOf(domCommon_float_or_param,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domCommon_float_or_param,_CMData), 1);
+ meta->setElementSize(sizeof(domCommon_float_or_param));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCommon_float_or_param::domFloat::create(DAE& dae)
+{
+ domCommon_float_or_param::domFloatRef ref = new domCommon_float_or_param::domFloat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCommon_float_or_param::domFloat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float" );
+ meta->registerClass(domCommon_float_or_param::domFloat::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domCommon_float_or_param::domFloat , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCommon_float_or_param::domFloat));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domCommon_int_or_param.cpp b/1.4.0/dom/src/1.5/dom/domCommon_int_or_param.cpp
new file mode 100644
index 0000000..9072629
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domCommon_int_or_param.cpp
@@ -0,0 +1,97 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domCommon_int_or_param.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domCommon_int_or_param::create(DAE& dae)
+{
+ domCommon_int_or_paramRef ref = new domCommon_int_or_param(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCommon_int_or_param::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "common_int_or_param" );
+ meta->registerClass(domCommon_int_or_param::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int" );
+ mea->setOffset( daeOffsetOf(domCommon_int_or_param,elemInt) );
+ mea->setElementType( domCommon_int_or_param::domInt::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domCommon_int_or_param,elemParam) );
+ mea->setElementType( domCommon_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domCommon_int_or_param,_contents));
+ meta->addContentsOrder(daeOffsetOf(domCommon_int_or_param,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domCommon_int_or_param,_CMData), 1);
+ meta->setElementSize(sizeof(domCommon_int_or_param));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCommon_int_or_param::domInt::create(DAE& dae)
+{
+ domCommon_int_or_param::domIntRef ref = new domCommon_int_or_param::domInt(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCommon_int_or_param::domInt::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int" );
+ meta->registerClass(domCommon_int_or_param::domInt::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int"));
+ ma->setOffset( daeOffsetOf( domCommon_int_or_param::domInt , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCommon_int_or_param::domInt));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domCommon_param.cpp b/1.4.0/dom/src/1.5/dom/domCommon_param.cpp
new file mode 100644
index 0000000..9b3b986
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domCommon_param.cpp
@@ -0,0 +1,48 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domCommon_param.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domCommon_param::create(DAE& dae)
+{
+ domCommon_paramRef ref = new domCommon_param(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCommon_param::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "common_param" );
+ meta->registerClass(domCommon_param::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domCommon_param , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCommon_param));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domCommon_sidref_or_param.cpp b/1.4.0/dom/src/1.5/dom/domCommon_sidref_or_param.cpp
new file mode 100644
index 0000000..03705ca
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domCommon_sidref_or_param.cpp
@@ -0,0 +1,97 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domCommon_sidref_or_param.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domCommon_sidref_or_param::create(DAE& dae)
+{
+ domCommon_sidref_or_paramRef ref = new domCommon_sidref_or_param(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCommon_sidref_or_param::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "common_sidref_or_param" );
+ meta->registerClass(domCommon_sidref_or_param::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "SIDREF" );
+ mea->setOffset( daeOffsetOf(domCommon_sidref_or_param,elemSIDREF) );
+ mea->setElementType( domCommon_sidref_or_param::domSIDREF::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domCommon_sidref_or_param,elemParam) );
+ mea->setElementType( domCommon_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domCommon_sidref_or_param,_contents));
+ meta->addContentsOrder(daeOffsetOf(domCommon_sidref_or_param,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domCommon_sidref_or_param,_CMData), 1);
+ meta->setElementSize(sizeof(domCommon_sidref_or_param));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCommon_sidref_or_param::domSIDREF::create(DAE& dae)
+{
+ domCommon_sidref_or_param::domSIDREFRef ref = new domCommon_sidref_or_param::domSIDREF(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCommon_sidref_or_param::domSIDREF::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "SIDREF" );
+ meta->registerClass(domCommon_sidref_or_param::domSIDREF::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Sidref"));
+ ma->setOffset( daeOffsetOf( domCommon_sidref_or_param::domSIDREF , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCommon_sidref_or_param::domSIDREF));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domCone.cpp b/1.4.0/dom/src/1.5/dom/domCone.cpp
new file mode 100644
index 0000000..1cc1ede
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domCone.cpp
@@ -0,0 +1,135 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domCone.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domCone::create(DAE& dae)
+{
+ domConeRef ref = new domCone(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCone::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cone" );
+ meta->registerClass(domCone::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "radius" );
+ mea->setOffset( daeOffsetOf(domCone,elemRadius) );
+ mea->setElementType( domCone::domRadius::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "angle" );
+ mea->setOffset( daeOffsetOf(domCone,elemAngle) );
+ mea->setElementType( domCone::domAngle::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domCone,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domCone));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCone::domRadius::create(DAE& dae)
+{
+ domCone::domRadiusRef ref = new domCone::domRadius(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCone::domRadius::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "radius" );
+ meta->registerClass(domCone::domRadius::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domCone::domRadius , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCone::domRadius));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCone::domAngle::create(DAE& dae)
+{
+ domCone::domAngleRef ref = new domCone::domAngle(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCone::domAngle::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "angle" );
+ meta->registerClass(domCone::domAngle::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsFloat"));
+ ma->setOffset( daeOffsetOf( domCone::domAngle , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCone::domAngle));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domConstants.cpp b/1.4.0/dom/src/1.5/dom/domConstants.cpp
new file mode 100644
index 0000000..d458a12
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domConstants.cpp
@@ -0,0 +1,1211 @@
+#include <1.5/dom/domConstants.h>
+
+namespace ColladaDOM150 {
+
+DLLSPEC daeString COLLADA_VERSION = "1.5.0";
+DLLSPEC daeString COLLADA_NAMESPACE = "http://www.collada.org/2008/03/COLLADASchema";
+
+DLLSPEC daeString COMMON_PROFILE_INPUT_BINORMAL = "BINORMAL";
+DLLSPEC daeString COMMON_PROFILE_INPUT_COLOR = "COLOR";
+DLLSPEC daeString COMMON_PROFILE_INPUT_CONTINUITY = "CONTINUITY";
+DLLSPEC daeString COMMON_PROFILE_INPUT_IMAGE = "IMAGE";
+DLLSPEC daeString COMMON_PROFILE_INPUT_IN_TANGENT = "IN_TANGENT";
+DLLSPEC daeString COMMON_PROFILE_INPUT_INPUT = "INPUT";
+DLLSPEC daeString COMMON_PROFILE_INPUT_INTERPOLATION = "INTERPOLATION";
+DLLSPEC daeString COMMON_PROFILE_INPUT_INV_BIND_MATRIX = "INV_BIND_MATRIX";
+DLLSPEC daeString COMMON_PROFILE_INPUT_JOINT = "JOINT";
+DLLSPEC daeString COMMON_PROFILE_INPUT_LINEAR_STEPS = "LINEAR_STEPS";
+DLLSPEC daeString COMMON_PROFILE_INPUT_MORPH_TARGET = "MORPH_TARGET";
+DLLSPEC daeString COMMON_PROFILE_INPUT_MORPH_WEIGHT = "MORPH_WEIGHT";
+DLLSPEC daeString COMMON_PROFILE_INPUT_NORMAL = "NORMAL";
+DLLSPEC daeString COMMON_PROFILE_INPUT_OUTPUT = "OUTPUT";
+DLLSPEC daeString COMMON_PROFILE_INPUT_OUT_TANGENT = "OUT_TANGENT";
+DLLSPEC daeString COMMON_PROFILE_INPUT_POSITION = "POSITION";
+DLLSPEC daeString COMMON_PROFILE_INPUT_TANGENT = "TANGENT";
+DLLSPEC daeString COMMON_PROFILE_INPUT_TEXBINORMAL = "TEXBINORMAL";
+DLLSPEC daeString COMMON_PROFILE_INPUT_TEXCOORD = "TEXCOORD";
+DLLSPEC daeString COMMON_PROFILE_INPUT_TEXTANGENT = "TEXTANGENT";
+DLLSPEC daeString COMMON_PROFILE_INPUT_UV = "UV";
+DLLSPEC daeString COMMON_PROFILE_INPUT_VERTEX = "VERTEX";
+DLLSPEC daeString COMMON_PROFILE_INPUT_WEIGHT = "WEIGHT";
+
+DLLSPEC daeString COMMON_PROFILE_PARAM_A = "A";
+DLLSPEC daeString COMMON_PROFILE_PARAM_ANGLE = "ANGLE";
+DLLSPEC daeString COMMON_PROFILE_PARAM_B = "B";
+DLLSPEC daeString COMMON_PROFILE_PARAM_DOUBLE_SIDED = "DOUBLE_SIDED";
+DLLSPEC daeString COMMON_PROFILE_PARAM_G = "G";
+DLLSPEC daeString COMMON_PROFILE_PARAM_P = "P";
+DLLSPEC daeString COMMON_PROFILE_PARAM_Q = "Q";
+DLLSPEC daeString COMMON_PROFILE_PARAM_R = "R";
+DLLSPEC daeString COMMON_PROFILE_PARAM_S = "S";
+DLLSPEC daeString COMMON_PROFILE_PARAM_T = "T";
+DLLSPEC daeString COMMON_PROFILE_PARAM_TIME = "TIME";
+DLLSPEC daeString COMMON_PROFILE_PARAM_U = "U";
+DLLSPEC daeString COMMON_PROFILE_PARAM_V = "V";
+DLLSPEC daeString COMMON_PROFILE_PARAM_W = "W";
+DLLSPEC daeString COMMON_PROFILE_PARAM_X = "X";
+DLLSPEC daeString COMMON_PROFILE_PARAM_Y = "Y";
+DLLSPEC daeString COMMON_PROFILE_PARAM_Z = "Z";
+
+
+DLLSPEC daeString COLLADA_TYPE_INPUT_GLOBAL = "input_global";
+DLLSPEC daeString COLLADA_TYPE_INPUT_LOCAL = "input_local";
+DLLSPEC daeString COLLADA_TYPE_INPUT_LOCAL_OFFSET = "input_local_offset";
+DLLSPEC daeString COLLADA_TYPE_TARGETABLE_FLOAT = "targetable_float";
+DLLSPEC daeString COLLADA_TYPE_TARGETABLE_FLOAT3 = "targetable_float3";
+DLLSPEC daeString COLLADA_TYPE_TOKEN_ARRAY = "token_array";
+DLLSPEC daeString COLLADA_TYPE_IDREF_ARRAY = "idref_array";
+DLLSPEC daeString COLLADA_TYPE_NAME_ARRAY = "name_array";
+DLLSPEC daeString COLLADA_TYPE_BOOL_ARRAY = "bool_array";
+DLLSPEC daeString COLLADA_TYPE_FLOAT_ARRAY = "float_array";
+DLLSPEC daeString COLLADA_TYPE_INT_ARRAY = "int_array";
+DLLSPEC daeString COLLADA_TYPE_PARAM = "param";
+DLLSPEC daeString COLLADA_TYPE_ACCESSOR = "accessor";
+DLLSPEC daeString COLLADA_TYPE_P = "p";
+DLLSPEC daeString COLLADA_TYPE_LOOKAT = "lookat";
+DLLSPEC daeString COLLADA_TYPE_MATRIX = "matrix";
+DLLSPEC daeString COLLADA_TYPE_SCALE = "scale";
+DLLSPEC daeString COLLADA_TYPE_SKEW = "skew";
+DLLSPEC daeString COLLADA_TYPE_TRANSLATE = "translate";
+DLLSPEC daeString COLLADA_TYPE_IMAGE_SOURCE = "image_source";
+DLLSPEC daeString COLLADA_TYPE_REF = "ref";
+DLLSPEC daeString COLLADA_TYPE_HEX = "hex";
+DLLSPEC daeString COLLADA_TYPE_IMAGE_MIPS = "image_mips";
+DLLSPEC daeString COLLADA_TYPE_CHANNEL = "channel";
+DLLSPEC daeString COLLADA_TYPE_SAMPLER = "sampler";
+DLLSPEC daeString COLLADA_TYPE_TECHNIQUE = "technique";
+DLLSPEC daeString COLLADA_TYPE_EXTRA = "extra";
+DLLSPEC daeString COLLADA_TYPE_POLYLIST = "polylist";
+DLLSPEC daeString COLLADA_TYPE_VCOUNT = "vcount";
+DLLSPEC daeString COLLADA_TYPE_POLYGONS = "polygons";
+DLLSPEC daeString COLLADA_TYPE_PH = "ph";
+DLLSPEC daeString COLLADA_TYPE_H = "h";
+DLLSPEC daeString COLLADA_TYPE_LINESTRIPS = "linestrips";
+DLLSPEC daeString COLLADA_TYPE_TRISTRIPS = "tristrips";
+DLLSPEC daeString COLLADA_TYPE_LINES = "lines";
+DLLSPEC daeString COLLADA_TYPE_TRIANGLES = "triangles";
+DLLSPEC daeString COLLADA_TYPE_TRIFANS = "trifans";
+DLLSPEC daeString COLLADA_TYPE_VERTICES = "vertices";
+DLLSPEC daeString COLLADA_TYPE_ASSET = "asset";
+DLLSPEC daeString COLLADA_TYPE_CONTRIBUTOR = "contributor";
+DLLSPEC daeString COLLADA_TYPE_AUTHOR = "author";
+DLLSPEC daeString COLLADA_TYPE_AUTHOR_EMAIL = "author_email";
+DLLSPEC daeString COLLADA_TYPE_AUTHOR_WEBSITE = "author_website";
+DLLSPEC daeString COLLADA_TYPE_AUTHORING_TOOL = "authoring_tool";
+DLLSPEC daeString COLLADA_TYPE_COMMENTS = "comments";
+DLLSPEC daeString COLLADA_TYPE_COPYRIGHT = "copyright";
+DLLSPEC daeString COLLADA_TYPE_SOURCE_DATA = "source_data";
+DLLSPEC daeString COLLADA_TYPE_COVERAGE = "coverage";
+DLLSPEC daeString COLLADA_TYPE_GEOGRAPHIC_LOCATION = "geographic_location";
+DLLSPEC daeString COLLADA_TYPE_LONGITUDE = "longitude";
+DLLSPEC daeString COLLADA_TYPE_LATITUDE = "latitude";
+DLLSPEC daeString COLLADA_TYPE_ALTITUDE = "altitude";
+DLLSPEC daeString COLLADA_TYPE_CREATED = "created";
+DLLSPEC daeString COLLADA_TYPE_KEYWORDS = "keywords";
+DLLSPEC daeString COLLADA_TYPE_MODIFIED = "modified";
+DLLSPEC daeString COLLADA_TYPE_REVISION = "revision";
+DLLSPEC daeString COLLADA_TYPE_SUBJECT = "subject";
+DLLSPEC daeString COLLADA_TYPE_TITLE = "title";
+DLLSPEC daeString COLLADA_TYPE_UNIT = "unit";
+DLLSPEC daeString COLLADA_TYPE_UP_AXIS = "up_axis";
+DLLSPEC daeString COLLADA_TYPE_IMAGE = "image";
+DLLSPEC daeString COLLADA_TYPE_RENDERABLE = "renderable";
+DLLSPEC daeString COLLADA_TYPE_INIT_FROM = "init_from";
+DLLSPEC daeString COLLADA_TYPE_CREATE_2D = "create_2d";
+DLLSPEC daeString COLLADA_TYPE_SIZE_EXACT = "size_exact";
+DLLSPEC daeString COLLADA_TYPE_SIZE_RATIO = "size_ratio";
+DLLSPEC daeString COLLADA_TYPE_UNNORMALIZED = "unnormalized";
+DLLSPEC daeString COLLADA_TYPE_ARRAY = "array";
+DLLSPEC daeString COLLADA_TYPE_FORMAT = "format";
+DLLSPEC daeString COLLADA_TYPE_HINT = "hint";
+DLLSPEC daeString COLLADA_TYPE_EXACT = "exact";
+DLLSPEC daeString COLLADA_TYPE_CREATE_3D = "create_3d";
+DLLSPEC daeString COLLADA_TYPE_SIZE = "size";
+DLLSPEC daeString COLLADA_TYPE_CREATE_CUBE = "create_cube";
+DLLSPEC daeString COLLADA_TYPE_CAMERA = "camera";
+DLLSPEC daeString COLLADA_TYPE_OPTICS = "optics";
+DLLSPEC daeString COLLADA_TYPE_TECHNIQUE_COMMON = "technique_common";
+DLLSPEC daeString COLLADA_TYPE_ORTHOGRAPHIC = "orthographic";
+DLLSPEC daeString COLLADA_TYPE_PERSPECTIVE = "perspective";
+DLLSPEC daeString COLLADA_TYPE_IMAGER = "imager";
+DLLSPEC daeString COLLADA_TYPE_LIGHT = "light";
+DLLSPEC daeString COLLADA_TYPE_AMBIENT = "ambient";
+DLLSPEC daeString COLLADA_TYPE_DIRECTIONAL = "directional";
+DLLSPEC daeString COLLADA_TYPE_POINT = "point";
+DLLSPEC daeString COLLADA_TYPE_SPOT = "spot";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_WITH_EXTRA = "instance_with_extra";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_IMAGE = "instance_image";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_CAMERA = "instance_camera";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_FORCE_FIELD = "instance_force_field";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_LIGHT = "instance_light";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_MATERIAL = "instance_material";
+DLLSPEC daeString COLLADA_TYPE_BIND = "bind";
+DLLSPEC daeString COLLADA_TYPE_BIND_VERTEX_INPUT = "bind_vertex_input";
+DLLSPEC daeString COLLADA_TYPE_BIND_MATERIAL = "bind_material";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_CONTROLLER = "instance_controller";
+DLLSPEC daeString COLLADA_TYPE_SKELETON = "skeleton";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_GEOMETRY = "instance_geometry";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_NODE = "instance_node";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_PHYSICS_MATERIAL = "instance_physics_material";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_RIGID_CONSTRAINT = "instance_rigid_constraint";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_CAMERAS = "library_cameras";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_IMAGES = "library_images";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_LIGHTS = "library_lights";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_EFFECT = "instance_effect";
+DLLSPEC daeString COLLADA_TYPE_TECHNIQUE_HINT = "technique_hint";
+DLLSPEC daeString COLLADA_TYPE_SETPARAM = "setparam";
+DLLSPEC daeString COLLADA_TYPE_MATERIAL = "material";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_MATERIALS = "library_materials";
+DLLSPEC daeString COLLADA_TYPE_FX_SAMPLER = "fx_sampler";
+DLLSPEC daeString COLLADA_TYPE_FX_SAMPLER1D = "fx_sampler1D";
+DLLSPEC daeString COLLADA_TYPE_FX_SAMPLER2D = "fx_sampler2D";
+DLLSPEC daeString COLLADA_TYPE_FX_SAMPLER3D = "fx_sampler3D";
+DLLSPEC daeString COLLADA_TYPE_FX_SAMPLERCUBE = "fx_samplerCUBE";
+DLLSPEC daeString COLLADA_TYPE_FX_SAMPLERRECT = "fx_samplerRECT";
+DLLSPEC daeString COLLADA_TYPE_FX_SAMPLERDEPTH = "fx_samplerDEPTH";
+DLLSPEC daeString COLLADA_TYPE_FX_RENDERTARGET = "fx_rendertarget";
+DLLSPEC daeString COLLADA_TYPE_FX_COLORTARGET = "fx_colortarget";
+DLLSPEC daeString COLLADA_TYPE_FX_DEPTHTARGET = "fx_depthtarget";
+DLLSPEC daeString COLLADA_TYPE_FX_STENCILTARGET = "fx_stenciltarget";
+DLLSPEC daeString COLLADA_TYPE_FX_CLEARCOLOR = "fx_clearcolor";
+DLLSPEC daeString COLLADA_TYPE_FX_CLEARDEPTH = "fx_cleardepth";
+DLLSPEC daeString COLLADA_TYPE_FX_CLEARSTENCIL = "fx_clearstencil";
+DLLSPEC daeString COLLADA_TYPE_FX_ANNOTATE = "fx_annotate";
+DLLSPEC daeString COLLADA_TYPE_BOOL = "bool";
+DLLSPEC daeString COLLADA_TYPE_BOOL2 = "bool2";
+DLLSPEC daeString COLLADA_TYPE_BOOL3 = "bool3";
+DLLSPEC daeString COLLADA_TYPE_BOOL4 = "bool4";
+DLLSPEC daeString COLLADA_TYPE_INT = "int";
+DLLSPEC daeString COLLADA_TYPE_INT2 = "int2";
+DLLSPEC daeString COLLADA_TYPE_INT3 = "int3";
+DLLSPEC daeString COLLADA_TYPE_INT4 = "int4";
+DLLSPEC daeString COLLADA_TYPE_FLOAT = "float";
+DLLSPEC daeString COLLADA_TYPE_FLOAT2 = "float2";
+DLLSPEC daeString COLLADA_TYPE_FLOAT3 = "float3";
+DLLSPEC daeString COLLADA_TYPE_FLOAT4 = "float4";
+DLLSPEC daeString COLLADA_TYPE_FLOAT2X2 = "float2x2";
+DLLSPEC daeString COLLADA_TYPE_FLOAT3X3 = "float3x3";
+DLLSPEC daeString COLLADA_TYPE_FLOAT4X4 = "float4x4";
+DLLSPEC daeString COLLADA_TYPE_STRING = "string";
+DLLSPEC daeString COLLADA_TYPE_FX_NEWPARAM = "fx_newparam";
+DLLSPEC daeString COLLADA_TYPE_FLOAT2X1 = "float2x1";
+DLLSPEC daeString COLLADA_TYPE_FLOAT2X3 = "float2x3";
+DLLSPEC daeString COLLADA_TYPE_FLOAT2X4 = "float2x4";
+DLLSPEC daeString COLLADA_TYPE_FLOAT3X1 = "float3x1";
+DLLSPEC daeString COLLADA_TYPE_FLOAT3X2 = "float3x2";
+DLLSPEC daeString COLLADA_TYPE_FLOAT3X4 = "float3x4";
+DLLSPEC daeString COLLADA_TYPE_FLOAT4X1 = "float4x1";
+DLLSPEC daeString COLLADA_TYPE_FLOAT4X2 = "float4x2";
+DLLSPEC daeString COLLADA_TYPE_FLOAT4X3 = "float4x3";
+DLLSPEC daeString COLLADA_TYPE_ENUM = "enum";
+DLLSPEC daeString COLLADA_TYPE_FX_INCLUDE = "fx_include";
+DLLSPEC daeString COLLADA_TYPE_FX_CODE = "fx_code";
+DLLSPEC daeString COLLADA_TYPE_FX_SOURCES = "fx_sources";
+DLLSPEC daeString COLLADA_TYPE_INLINE = "inline";
+DLLSPEC daeString COLLADA_TYPE_IMPORT = "import";
+DLLSPEC daeString COLLADA_TYPE_FX_TARGET = "fx_target";
+DLLSPEC daeString COLLADA_TYPE_BINARY = "binary";
+DLLSPEC daeString COLLADA_TYPE_FX_COMMON_FLOAT_OR_PARAM = "fx_common_float_or_param";
+DLLSPEC daeString COLLADA_TYPE_FX_COMMON_COLOR_OR_TEXTURE = "fx_common_color_or_texture";
+DLLSPEC daeString COLLADA_TYPE_COLOR = "color";
+DLLSPEC daeString COLLADA_TYPE_TEXTURE = "texture";
+DLLSPEC daeString COLLADA_TYPE_FX_COMMON_TRANSPARENT = "fx_common_transparent";
+DLLSPEC daeString COLLADA_TYPE_FX_COMMON_NEWPARAM = "fx_common_newparam";
+DLLSPEC daeString COLLADA_TYPE_SEMANTIC = "semantic";
+DLLSPEC daeString COLLADA_TYPE_PROFILE_COMMON = "profile_common";
+DLLSPEC daeString COLLADA_TYPE_CONSTANT = "constant";
+DLLSPEC daeString COLLADA_TYPE_LAMBERT = "lambert";
+DLLSPEC daeString COLLADA_TYPE_PHONG = "phong";
+DLLSPEC daeString COLLADA_TYPE_BLINN = "blinn";
+DLLSPEC daeString COLLADA_TYPE_PROFILE_BRIDGE = "profile_bridge";
+DLLSPEC daeString COLLADA_TYPE_GLES2_NEWPARAM = "gles2_newparam";
+DLLSPEC daeString COLLADA_TYPE_MODIFIER = "modifier";
+DLLSPEC daeString COLLADA_TYPE_GLES2_SHADER = "gles2_shader";
+DLLSPEC daeString COLLADA_TYPE_SOURCES = "sources";
+DLLSPEC daeString COLLADA_TYPE_GLES2_PROGRAM = "gles2_program";
+DLLSPEC daeString COLLADA_TYPE_BIND_ATTRIBUTE = "bind_attribute";
+DLLSPEC daeString COLLADA_TYPE_BIND_UNIFORM = "bind_uniform";
+DLLSPEC daeString COLLADA_TYPE_GLES2_PASS = "gles2_pass";
+DLLSPEC daeString COLLADA_TYPE_STATES = "states";
+DLLSPEC daeString COLLADA_TYPE_EVALUATE = "evaluate";
+DLLSPEC daeString COLLADA_TYPE_DRAW = "draw";
+DLLSPEC daeString COLLADA_TYPE_PROFILE_GLES2 = "profile_gles2";
+DLLSPEC daeString COLLADA_TYPE_NEWPARAM = "newparam";
+DLLSPEC daeString COLLADA_TYPE_GLSL_ARRAY = "glsl_array";
+DLLSPEC daeString COLLADA_TYPE_GLSL_NEWPARAM = "glsl_newparam";
+DLLSPEC daeString COLLADA_TYPE_GLSL_SHADER = "glsl_shader";
+DLLSPEC daeString COLLADA_TYPE_GLSL_PROGRAM = "glsl_program";
+DLLSPEC daeString COLLADA_TYPE_PROFILE_GLSL = "profile_glsl";
+DLLSPEC daeString COLLADA_TYPE_PASS = "pass";
+DLLSPEC daeString COLLADA_TYPE_CG_ARRAY = "cg_array";
+DLLSPEC daeString COLLADA_TYPE_CG_SETPARAM = "cg_setparam";
+DLLSPEC daeString COLLADA_TYPE_CG_USER = "cg_user";
+DLLSPEC daeString COLLADA_TYPE_CG_NEWPARAM = "cg_newparam";
+DLLSPEC daeString COLLADA_TYPE_CG_PASS = "cg_pass";
+DLLSPEC daeString COLLADA_TYPE_PROGRAM = "program";
+DLLSPEC daeString COLLADA_TYPE_SHADER = "shader";
+DLLSPEC daeString COLLADA_TYPE_PROFILE_CG = "profile_cg";
+DLLSPEC daeString COLLADA_TYPE_GLES_TEXTURE_CONSTANT = "gles_texture_constant";
+DLLSPEC daeString COLLADA_TYPE_GLES_TEXENV_COMMAND = "gles_texenv_command";
+DLLSPEC daeString COLLADA_TYPE_GLES_TEXCOMBINER_ARGUMENT_RGB = "gles_texcombiner_argument_rgb";
+DLLSPEC daeString COLLADA_TYPE_GLES_TEXCOMBINER_ARGUMENT_ALPHA = "gles_texcombiner_argument_alpha";
+DLLSPEC daeString COLLADA_TYPE_GLES_TEXCOMBINER_COMMAND_RGB = "gles_texcombiner_command_rgb";
+DLLSPEC daeString COLLADA_TYPE_GLES_TEXCOMBINER_COMMAND_ALPHA = "gles_texcombiner_command_alpha";
+DLLSPEC daeString COLLADA_TYPE_GLES_TEXCOMBINER_COMMAND = "gles_texcombiner_command";
+DLLSPEC daeString COLLADA_TYPE_GLES_TEXTURE_PIPELINE = "gles_texture_pipeline";
+DLLSPEC daeString COLLADA_TYPE_GLES_SAMPLER = "gles_sampler";
+DLLSPEC daeString COLLADA_TYPE_TEXCOORD = "texcoord";
+DLLSPEC daeString COLLADA_TYPE_GLES_NEWPARAM = "gles_newparam";
+DLLSPEC daeString COLLADA_TYPE_PROFILE_GLES = "profile_gles";
+DLLSPEC daeString COLLADA_TYPE_EFFECT = "effect";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_EFFECTS = "library_effects";
+DLLSPEC daeString COLLADA_TYPE_BOX = "box";
+DLLSPEC daeString COLLADA_TYPE_HALF_EXTENTS = "half_extents";
+DLLSPEC daeString COLLADA_TYPE_PLANE = "plane";
+DLLSPEC daeString COLLADA_TYPE_EQUATION = "equation";
+DLLSPEC daeString COLLADA_TYPE_SPHERE = "sphere";
+DLLSPEC daeString COLLADA_TYPE_RADIUS = "radius";
+DLLSPEC daeString COLLADA_TYPE_ELLIPSOID = "ellipsoid";
+DLLSPEC daeString COLLADA_TYPE_CYLINDER = "cylinder";
+DLLSPEC daeString COLLADA_TYPE_HEIGHT = "height";
+DLLSPEC daeString COLLADA_TYPE_CAPSULE = "capsule";
+DLLSPEC daeString COLLADA_TYPE_FORCE_FIELD = "force_field";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_FORCE_FIELDS = "library_force_fields";
+DLLSPEC daeString COLLADA_TYPE_PHYSICS_MATERIAL = "physics_material";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_PHYSICS_MATERIALS = "library_physics_materials";
+DLLSPEC daeString COLLADA_TYPE_EDGES = "edges";
+DLLSPEC daeString COLLADA_TYPE_WIRES = "wires";
+DLLSPEC daeString COLLADA_TYPE_FACES = "faces";
+DLLSPEC daeString COLLADA_TYPE_SHELLS = "shells";
+DLLSPEC daeString COLLADA_TYPE_SOLIDS = "solids";
+DLLSPEC daeString COLLADA_TYPE_LINE = "line";
+DLLSPEC daeString COLLADA_TYPE_ORIGIN = "origin";
+DLLSPEC daeString COLLADA_TYPE_DIRECTION = "direction";
+DLLSPEC daeString COLLADA_TYPE_CIRCLE = "circle";
+DLLSPEC daeString COLLADA_TYPE_ELLIPSE = "ellipse";
+DLLSPEC daeString COLLADA_TYPE_PARABOLA = "parabola";
+DLLSPEC daeString COLLADA_TYPE_FOCAL = "focal";
+DLLSPEC daeString COLLADA_TYPE_HYPERBOLA = "hyperbola";
+DLLSPEC daeString COLLADA_TYPE_TORUS = "torus";
+DLLSPEC daeString COLLADA_TYPE_PCURVES = "pcurves";
+DLLSPEC daeString COLLADA_TYPE_SIDREF_ARRAY = "sidref_array";
+DLLSPEC daeString COLLADA_TYPE_SOURCE = "source";
+DLLSPEC daeString COLLADA_TYPE_ANIMATION = "animation";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_ANIMATIONS = "library_animations";
+DLLSPEC daeString COLLADA_TYPE_SKIN = "skin";
+DLLSPEC daeString COLLADA_TYPE_BIND_SHAPE_MATRIX = "bind_shape_matrix";
+DLLSPEC daeString COLLADA_TYPE_JOINTS = "joints";
+DLLSPEC daeString COLLADA_TYPE_VERTEX_WEIGHTS = "vertex_weights";
+DLLSPEC daeString COLLADA_TYPE_V = "v";
+DLLSPEC daeString COLLADA_TYPE_CONVEX_MESH = "convex_mesh";
+DLLSPEC daeString COLLADA_TYPE_MESH = "mesh";
+DLLSPEC daeString COLLADA_TYPE_SPLINE = "spline";
+DLLSPEC daeString COLLADA_TYPE_CONTROL_VERTICES = "control_vertices";
+DLLSPEC daeString COLLADA_TYPE_NURBS_SURFACE = "nurbs_surface";
+DLLSPEC daeString COLLADA_TYPE_NURBS = "nurbs";
+DLLSPEC daeString COLLADA_TYPE_MORPH = "morph";
+DLLSPEC daeString COLLADA_TYPE_TARGETS = "targets";
+DLLSPEC daeString COLLADA_TYPE_CONTROLLER = "controller";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_CONTROLLERS = "library_controllers";
+DLLSPEC daeString COLLADA_TYPE_ORIENT = "orient";
+DLLSPEC daeString COLLADA_TYPE_CURVE = "curve";
+DLLSPEC daeString COLLADA_TYPE_SURFACE_CURVES = "surface_curves";
+DLLSPEC daeString COLLADA_TYPE_CURVES = "curves";
+DLLSPEC daeString COLLADA_TYPE_SWEPT_SURFACE = "swept_surface";
+DLLSPEC daeString COLLADA_TYPE_AXIS = "axis";
+DLLSPEC daeString COLLADA_TYPE_CONE = "cone";
+DLLSPEC daeString COLLADA_TYPE_ANGLE = "angle";
+DLLSPEC daeString COLLADA_TYPE_SURFACE = "surface";
+DLLSPEC daeString COLLADA_TYPE_SURFACES = "surfaces";
+DLLSPEC daeString COLLADA_TYPE_BREP = "brep";
+DLLSPEC daeString COLLADA_TYPE_GEOMETRY = "geometry";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_GEOMETRIES = "library_geometries";
+DLLSPEC daeString COLLADA_TYPE_LIMITS_SUB = "limits_sub";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_JOINT = "instance_joint";
+DLLSPEC daeString COLLADA_TYPE_TARGETABLE_FLOAT4 = "targetable_float4";
+DLLSPEC daeString COLLADA_TYPE_ROTATE = "rotate";
+DLLSPEC daeString COLLADA_TYPE_LINK = "link";
+DLLSPEC daeString COLLADA_TYPE_ATTACHMENT_FULL = "attachment_full";
+DLLSPEC daeString COLLADA_TYPE_ATTACHMENT_START = "attachment_start";
+DLLSPEC daeString COLLADA_TYPE_ATTACHMENT_END = "attachment_end";
+DLLSPEC daeString COLLADA_TYPE_RIGID_CONSTRAINT = "rigid_constraint";
+DLLSPEC daeString COLLADA_TYPE_REF_ATTACHMENT = "ref_attachment";
+DLLSPEC daeString COLLADA_TYPE_ATTACHMENT = "attachment";
+DLLSPEC daeString COLLADA_TYPE_ENABLED = "enabled";
+DLLSPEC daeString COLLADA_TYPE_INTERPENETRATE = "interpenetrate";
+DLLSPEC daeString COLLADA_TYPE_LIMITS = "limits";
+DLLSPEC daeString COLLADA_TYPE_SWING_CONE_AND_TWIST = "swing_cone_and_twist";
+DLLSPEC daeString COLLADA_TYPE_LINEAR = "linear";
+DLLSPEC daeString COLLADA_TYPE_SPRING = "spring";
+DLLSPEC daeString COLLADA_TYPE_ANGULAR = "angular";
+DLLSPEC daeString COLLADA_TYPE_NODE = "node";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_NODES = "library_nodes";
+DLLSPEC daeString COLLADA_TYPE_VISUAL_SCENE = "visual_scene";
+DLLSPEC daeString COLLADA_TYPE_EVALUATE_SCENE = "evaluate_scene";
+DLLSPEC daeString COLLADA_TYPE_RENDER = "render";
+DLLSPEC daeString COLLADA_TYPE_LAYER = "layer";
+DLLSPEC daeString COLLADA_TYPE_TECHNIQUE_OVERRIDE = "technique_override";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_VISUAL_SCENES = "library_visual_scenes";
+DLLSPEC daeString COLLADA_TYPE_RIGID_BODY = "rigid_body";
+DLLSPEC daeString COLLADA_TYPE_DYNAMIC = "dynamic";
+DLLSPEC daeString COLLADA_TYPE_MASS_FRAME = "mass_frame";
+DLLSPEC daeString COLLADA_TYPE_SHAPE = "shape";
+DLLSPEC daeString COLLADA_TYPE_HOLLOW = "hollow";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_RIGID_BODY = "instance_rigid_body";
+DLLSPEC daeString COLLADA_TYPE_ANGULAR_VELOCITY = "angular_velocity";
+DLLSPEC daeString COLLADA_TYPE_VELOCITY = "velocity";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_PHYSICS_MODEL = "instance_physics_model";
+DLLSPEC daeString COLLADA_TYPE_PHYSICS_MODEL = "physics_model";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_PHYSICS_MODELS = "library_physics_models";
+DLLSPEC daeString COLLADA_TYPE_PHYSICS_SCENE = "physics_scene";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_PHYSICS_SCENES = "library_physics_scenes";
+DLLSPEC daeString COLLADA_TYPE_KINEMATICS_NEWPARAM = "kinematics_newparam";
+DLLSPEC daeString COLLADA_TYPE_SIDREF = "SIDREF";
+DLLSPEC daeString COLLADA_TYPE_KINEMATICS_FRAME = "kinematics_frame";
+DLLSPEC daeString COLLADA_TYPE_COMMON_PARAM = "common_param";
+DLLSPEC daeString COLLADA_TYPE_COMMON_INT_OR_PARAM = "common_int_or_param";
+DLLSPEC daeString COLLADA_TYPE_COMMON_BOOL_OR_PARAM = "common_bool_or_param";
+DLLSPEC daeString COLLADA_TYPE_COMMON_FLOAT_OR_PARAM = "common_float_or_param";
+DLLSPEC daeString COLLADA_TYPE_KINEMATICS_LIMITS = "kinematics_limits";
+DLLSPEC daeString COLLADA_TYPE_COMMON_SIDREF_OR_PARAM = "common_sidref_or_param";
+DLLSPEC daeString COLLADA_TYPE_BIND_JOINT_AXIS = "bind_joint_axis";
+DLLSPEC daeString COLLADA_TYPE_BIND_KINEMATICS_MODEL = "bind_kinematics_model";
+DLLSPEC daeString COLLADA_TYPE_KINEMATICS_CONNECT_PARAM = "kinematics_connect_param";
+DLLSPEC daeString COLLADA_TYPE_KINEMATICS_SETPARAM = "kinematics_setparam";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_KINEMATICS_SCENE = "instance_kinematics_scene";
+DLLSPEC daeString COLLADA_TYPE_KINEMATICS_INDEX = "kinematics_index";
+DLLSPEC daeString COLLADA_TYPE_KINEMATICS_PARAM = "kinematics_param";
+DLLSPEC daeString COLLADA_TYPE_KINEMATICS_BIND = "kinematics_bind";
+DLLSPEC daeString COLLADA_TYPE_MOTION_AXIS_INFO = "motion_axis_info";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_KINEMATICS_MODEL = "instance_kinematics_model";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_ARTICULATED_SYSTEM = "instance_articulated_system";
+DLLSPEC daeString COLLADA_TYPE_KINEMATICS_SCENE = "kinematics_scene";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_KINEMATICS_SCENES = "library_kinematics_scenes";
+DLLSPEC daeString COLLADA_TYPE_COMMON_FLOAT2_OR_PARAM = "common_float2_or_param";
+DLLSPEC daeString COLLADA_TYPE_MOTION_EFFECTOR_INFO = "motion_effector_info";
+DLLSPEC daeString COLLADA_TYPE_MOTION_TECHNIQUE = "motion_technique";
+DLLSPEC daeString COLLADA_TYPE_MOTION = "motion";
+DLLSPEC daeString COLLADA_TYPE_MINMAX = "minmax";
+DLLSPEC daeString COLLADA_TYPE_JOINT_LIMITS = "joint_limits";
+DLLSPEC daeString COLLADA_TYPE_AXIS_CONSTRAINT = "axis_constraint";
+DLLSPEC daeString COLLADA_TYPE_JOINT = "joint";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_JOINTS = "library_joints";
+DLLSPEC daeString COLLADA_TYPE_FORMULA_TECHNIQUE = "formula_technique";
+DLLSPEC daeString COLLADA_TYPE_FORMULA_NEWPARAM = "formula_newparam";
+DLLSPEC daeString COLLADA_TYPE_FORMULA_SETPARAM = "formula_setparam";
+DLLSPEC daeString COLLADA_TYPE_INSTANCE_FORMULA = "instance_formula";
+DLLSPEC daeString COLLADA_TYPE_ANIMATION_CLIP = "animation_clip";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_ANIMATION_CLIPS = "library_animation_clips";
+DLLSPEC daeString COLLADA_TYPE_FORMULA = "formula";
+DLLSPEC daeString COLLADA_TYPE_KINEMATICS_MODEL_TECHNIQUE = "kinematics_model_technique";
+DLLSPEC daeString COLLADA_TYPE_KINEMATICS_MODEL = "kinematics_model";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_KINEMATICS_MODELS = "library_kinematics_models";
+DLLSPEC daeString COLLADA_TYPE_KINEMATICS_AXIS_INFO = "kinematics_axis_info";
+DLLSPEC daeString COLLADA_TYPE_KINEMATICS_TECHNIQUE = "kinematics_technique";
+DLLSPEC daeString COLLADA_TYPE_KINEMATICS = "kinematics";
+DLLSPEC daeString COLLADA_TYPE_ARTICULATED_SYSTEM = "articulated_system";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_ARTICULATED_SYSTEMS = "library_articulated_systems";
+DLLSPEC daeString COLLADA_TYPE_LIBRARY_FORMULAS = "library_formulas";
+DLLSPEC daeString COLLADA_TYPE_FX_SAMPLER_STATES = "fx_sampler_states";
+DLLSPEC daeString COLLADA_TYPE_WRAP_S = "wrap_s";
+DLLSPEC daeString COLLADA_TYPE_WRAP_T = "wrap_t";
+DLLSPEC daeString COLLADA_TYPE_WRAP_P = "wrap_p";
+DLLSPEC daeString COLLADA_TYPE_MINFILTER = "minfilter";
+DLLSPEC daeString COLLADA_TYPE_MAGFILTER = "magfilter";
+DLLSPEC daeString COLLADA_TYPE_MIPFILTER = "mipfilter";
+DLLSPEC daeString COLLADA_TYPE_BORDER_COLOR = "border_color";
+DLLSPEC daeString COLLADA_TYPE_MIP_MAX_LEVEL = "mip_max_level";
+DLLSPEC daeString COLLADA_TYPE_MIP_MIN_LEVEL = "mip_min_level";
+DLLSPEC daeString COLLADA_TYPE_MIP_BIAS = "mip_bias";
+DLLSPEC daeString COLLADA_TYPE_MAX_ANISOTROPY = "max_anisotropy";
+DLLSPEC daeString COLLADA_TYPE_FX_SETPARAM = "fx_setparam";
+DLLSPEC daeString COLLADA_TYPE_SAMPLER_STATES = "sampler_states";
+DLLSPEC daeString COLLADA_TYPE_GL_PIPELINE_SETTINGS = "gl_pipeline_settings";
+DLLSPEC daeString COLLADA_TYPE_ALPHA_FUNC = "alpha_func";
+DLLSPEC daeString COLLADA_TYPE_FUNC = "func";
+DLLSPEC daeString COLLADA_TYPE_VALUE = "value";
+DLLSPEC daeString COLLADA_TYPE_BLEND_FUNC = "blend_func";
+DLLSPEC daeString COLLADA_TYPE_SRC = "src";
+DLLSPEC daeString COLLADA_TYPE_DEST = "dest";
+DLLSPEC daeString COLLADA_TYPE_BLEND_FUNC_SEPARATE = "blend_func_separate";
+DLLSPEC daeString COLLADA_TYPE_SRC_RGB = "src_rgb";
+DLLSPEC daeString COLLADA_TYPE_DEST_RGB = "dest_rgb";
+DLLSPEC daeString COLLADA_TYPE_SRC_ALPHA = "src_alpha";
+DLLSPEC daeString COLLADA_TYPE_DEST_ALPHA = "dest_alpha";
+DLLSPEC daeString COLLADA_TYPE_BLEND_EQUATION = "blend_equation";
+DLLSPEC daeString COLLADA_TYPE_BLEND_EQUATION_SEPARATE = "blend_equation_separate";
+DLLSPEC daeString COLLADA_TYPE_RGB = "rgb";
+DLLSPEC daeString COLLADA_TYPE_ALPHA = "alpha";
+DLLSPEC daeString COLLADA_TYPE_COLOR_MATERIAL = "color_material";
+DLLSPEC daeString COLLADA_TYPE_FACE = "face";
+DLLSPEC daeString COLLADA_TYPE_MODE = "mode";
+DLLSPEC daeString COLLADA_TYPE_CULL_FACE = "cull_face";
+DLLSPEC daeString COLLADA_TYPE_DEPTH_FUNC = "depth_func";
+DLLSPEC daeString COLLADA_TYPE_FOG_MODE = "fog_mode";
+DLLSPEC daeString COLLADA_TYPE_FOG_COORD_SRC = "fog_coord_src";
+DLLSPEC daeString COLLADA_TYPE_FRONT_FACE = "front_face";
+DLLSPEC daeString COLLADA_TYPE_LIGHT_MODEL_COLOR_CONTROL = "light_model_color_control";
+DLLSPEC daeString COLLADA_TYPE_LOGIC_OP = "logic_op";
+DLLSPEC daeString COLLADA_TYPE_POLYGON_MODE = "polygon_mode";
+DLLSPEC daeString COLLADA_TYPE_SHADE_MODEL = "shade_model";
+DLLSPEC daeString COLLADA_TYPE_STENCIL_FUNC = "stencil_func";
+DLLSPEC daeString COLLADA_TYPE_MASK = "mask";
+DLLSPEC daeString COLLADA_TYPE_STENCIL_OP = "stencil_op";
+DLLSPEC daeString COLLADA_TYPE_FAIL = "fail";
+DLLSPEC daeString COLLADA_TYPE_ZFAIL = "zfail";
+DLLSPEC daeString COLLADA_TYPE_ZPASS = "zpass";
+DLLSPEC daeString COLLADA_TYPE_STENCIL_FUNC_SEPARATE = "stencil_func_separate";
+DLLSPEC daeString COLLADA_TYPE_FRONT = "front";
+DLLSPEC daeString COLLADA_TYPE_BACK = "back";
+DLLSPEC daeString COLLADA_TYPE_STENCIL_OP_SEPARATE = "stencil_op_separate";
+DLLSPEC daeString COLLADA_TYPE_STENCIL_MASK_SEPARATE = "stencil_mask_separate";
+DLLSPEC daeString COLLADA_TYPE_LIGHT_ENABLE = "light_enable";
+DLLSPEC daeString COLLADA_TYPE_LIGHT_AMBIENT = "light_ambient";
+DLLSPEC daeString COLLADA_TYPE_LIGHT_DIFFUSE = "light_diffuse";
+DLLSPEC daeString COLLADA_TYPE_LIGHT_SPECULAR = "light_specular";
+DLLSPEC daeString COLLADA_TYPE_LIGHT_POSITION = "light_position";
+DLLSPEC daeString COLLADA_TYPE_LIGHT_CONSTANT_ATTENUATION = "light_constant_attenuation";
+DLLSPEC daeString COLLADA_TYPE_LIGHT_LINEAR_ATTENUATION = "light_linear_attenuation";
+DLLSPEC daeString COLLADA_TYPE_LIGHT_QUADRATIC_ATTENUATION = "light_quadratic_attenuation";
+DLLSPEC daeString COLLADA_TYPE_LIGHT_SPOT_CUTOFF = "light_spot_cutoff";
+DLLSPEC daeString COLLADA_TYPE_LIGHT_SPOT_DIRECTION = "light_spot_direction";
+DLLSPEC daeString COLLADA_TYPE_LIGHT_SPOT_EXPONENT = "light_spot_exponent";
+DLLSPEC daeString COLLADA_TYPE_TEXTURE1D = "texture1D";
+DLLSPEC daeString COLLADA_TYPE_TEXTURE2D = "texture2D";
+DLLSPEC daeString COLLADA_TYPE_TEXTURE3D = "texture3D";
+DLLSPEC daeString COLLADA_TYPE_TEXTURECUBE = "textureCUBE";
+DLLSPEC daeString COLLADA_TYPE_TEXTURERECT = "textureRECT";
+DLLSPEC daeString COLLADA_TYPE_TEXTUREDEPTH = "textureDEPTH";
+DLLSPEC daeString COLLADA_TYPE_TEXTURE1D_ENABLE = "texture1D_enable";
+DLLSPEC daeString COLLADA_TYPE_TEXTURE2D_ENABLE = "texture2D_enable";
+DLLSPEC daeString COLLADA_TYPE_TEXTURE3D_ENABLE = "texture3D_enable";
+DLLSPEC daeString COLLADA_TYPE_TEXTURECUBE_ENABLE = "textureCUBE_enable";
+DLLSPEC daeString COLLADA_TYPE_TEXTURERECT_ENABLE = "textureRECT_enable";
+DLLSPEC daeString COLLADA_TYPE_TEXTUREDEPTH_ENABLE = "textureDEPTH_enable";
+DLLSPEC daeString COLLADA_TYPE_TEXTURE_ENV_COLOR = "texture_env_color";
+DLLSPEC daeString COLLADA_TYPE_TEXTURE_ENV_MODE = "texture_env_mode";
+DLLSPEC daeString COLLADA_TYPE_CLIP_PLANE = "clip_plane";
+DLLSPEC daeString COLLADA_TYPE_CLIP_PLANE_ENABLE = "clip_plane_enable";
+DLLSPEC daeString COLLADA_TYPE_BLEND_COLOR = "blend_color";
+DLLSPEC daeString COLLADA_TYPE_COLOR_MASK = "color_mask";
+DLLSPEC daeString COLLADA_TYPE_DEPTH_BOUNDS = "depth_bounds";
+DLLSPEC daeString COLLADA_TYPE_DEPTH_MASK = "depth_mask";
+DLLSPEC daeString COLLADA_TYPE_DEPTH_RANGE = "depth_range";
+DLLSPEC daeString COLLADA_TYPE_FOG_DENSITY = "fog_density";
+DLLSPEC daeString COLLADA_TYPE_FOG_START = "fog_start";
+DLLSPEC daeString COLLADA_TYPE_FOG_END = "fog_end";
+DLLSPEC daeString COLLADA_TYPE_FOG_COLOR = "fog_color";
+DLLSPEC daeString COLLADA_TYPE_LIGHT_MODEL_AMBIENT = "light_model_ambient";
+DLLSPEC daeString COLLADA_TYPE_LIGHTING_ENABLE = "lighting_enable";
+DLLSPEC daeString COLLADA_TYPE_LINE_STIPPLE = "line_stipple";
+DLLSPEC daeString COLLADA_TYPE_LINE_WIDTH = "line_width";
+DLLSPEC daeString COLLADA_TYPE_MATERIAL_AMBIENT = "material_ambient";
+DLLSPEC daeString COLLADA_TYPE_MATERIAL_DIFFUSE = "material_diffuse";
+DLLSPEC daeString COLLADA_TYPE_MATERIAL_EMISSION = "material_emission";
+DLLSPEC daeString COLLADA_TYPE_MATERIAL_SHININESS = "material_shininess";
+DLLSPEC daeString COLLADA_TYPE_MATERIAL_SPECULAR = "material_specular";
+DLLSPEC daeString COLLADA_TYPE_MODEL_VIEW_MATRIX = "model_view_matrix";
+DLLSPEC daeString COLLADA_TYPE_POINT_DISTANCE_ATTENUATION = "point_distance_attenuation";
+DLLSPEC daeString COLLADA_TYPE_POINT_FADE_THRESHOLD_SIZE = "point_fade_threshold_size";
+DLLSPEC daeString COLLADA_TYPE_POINT_SIZE = "point_size";
+DLLSPEC daeString COLLADA_TYPE_POINT_SIZE_MIN = "point_size_min";
+DLLSPEC daeString COLLADA_TYPE_POINT_SIZE_MAX = "point_size_max";
+DLLSPEC daeString COLLADA_TYPE_POLYGON_OFFSET = "polygon_offset";
+DLLSPEC daeString COLLADA_TYPE_PROJECTION_MATRIX = "projection_matrix";
+DLLSPEC daeString COLLADA_TYPE_SCISSOR = "scissor";
+DLLSPEC daeString COLLADA_TYPE_STENCIL_MASK = "stencil_mask";
+DLLSPEC daeString COLLADA_TYPE_ALPHA_TEST_ENABLE = "alpha_test_enable";
+DLLSPEC daeString COLLADA_TYPE_BLEND_ENABLE = "blend_enable";
+DLLSPEC daeString COLLADA_TYPE_COLOR_LOGIC_OP_ENABLE = "color_logic_op_enable";
+DLLSPEC daeString COLLADA_TYPE_COLOR_MATERIAL_ENABLE = "color_material_enable";
+DLLSPEC daeString COLLADA_TYPE_CULL_FACE_ENABLE = "cull_face_enable";
+DLLSPEC daeString COLLADA_TYPE_DEPTH_BOUNDS_ENABLE = "depth_bounds_enable";
+DLLSPEC daeString COLLADA_TYPE_DEPTH_CLAMP_ENABLE = "depth_clamp_enable";
+DLLSPEC daeString COLLADA_TYPE_DEPTH_TEST_ENABLE = "depth_test_enable";
+DLLSPEC daeString COLLADA_TYPE_DITHER_ENABLE = "dither_enable";
+DLLSPEC daeString COLLADA_TYPE_FOG_ENABLE = "fog_enable";
+DLLSPEC daeString COLLADA_TYPE_LIGHT_MODEL_LOCAL_VIEWER_ENABLE = "light_model_local_viewer_enable";
+DLLSPEC daeString COLLADA_TYPE_LIGHT_MODEL_TWO_SIDE_ENABLE = "light_model_two_side_enable";
+DLLSPEC daeString COLLADA_TYPE_LINE_SMOOTH_ENABLE = "line_smooth_enable";
+DLLSPEC daeString COLLADA_TYPE_LINE_STIPPLE_ENABLE = "line_stipple_enable";
+DLLSPEC daeString COLLADA_TYPE_LOGIC_OP_ENABLE = "logic_op_enable";
+DLLSPEC daeString COLLADA_TYPE_MULTISAMPLE_ENABLE = "multisample_enable";
+DLLSPEC daeString COLLADA_TYPE_NORMALIZE_ENABLE = "normalize_enable";
+DLLSPEC daeString COLLADA_TYPE_POINT_SMOOTH_ENABLE = "point_smooth_enable";
+DLLSPEC daeString COLLADA_TYPE_POLYGON_OFFSET_FILL_ENABLE = "polygon_offset_fill_enable";
+DLLSPEC daeString COLLADA_TYPE_POLYGON_OFFSET_LINE_ENABLE = "polygon_offset_line_enable";
+DLLSPEC daeString COLLADA_TYPE_POLYGON_OFFSET_POINT_ENABLE = "polygon_offset_point_enable";
+DLLSPEC daeString COLLADA_TYPE_POLYGON_SMOOTH_ENABLE = "polygon_smooth_enable";
+DLLSPEC daeString COLLADA_TYPE_POLYGON_STIPPLE_ENABLE = "polygon_stipple_enable";
+DLLSPEC daeString COLLADA_TYPE_RESCALE_NORMAL_ENABLE = "rescale_normal_enable";
+DLLSPEC daeString COLLADA_TYPE_SAMPLE_ALPHA_TO_COVERAGE_ENABLE = "sample_alpha_to_coverage_enable";
+DLLSPEC daeString COLLADA_TYPE_SAMPLE_ALPHA_TO_ONE_ENABLE = "sample_alpha_to_one_enable";
+DLLSPEC daeString COLLADA_TYPE_SAMPLE_COVERAGE_ENABLE = "sample_coverage_enable";
+DLLSPEC daeString COLLADA_TYPE_SCISSOR_TEST_ENABLE = "scissor_test_enable";
+DLLSPEC daeString COLLADA_TYPE_STENCIL_TEST_ENABLE = "stencil_test_enable";
+DLLSPEC daeString COLLADA_TYPE_GLES2_PIPELINE_SETTINGS = "gles2_pipeline_settings";
+DLLSPEC daeString COLLADA_TYPE_SAMPLE_COVERAGE = "sample_coverage";
+DLLSPEC daeString COLLADA_TYPE_INVERT = "invert";
+DLLSPEC daeString COLLADA_TYPE_POINT_SIZE_ENABLE = "point_size_enable";
+DLLSPEC daeString COLLADA_TYPE_GLES2_VALUE = "gles2_value";
+DLLSPEC daeString COLLADA_TYPE_BVEC2 = "bvec2";
+DLLSPEC daeString COLLADA_TYPE_BVEC3 = "bvec3";
+DLLSPEC daeString COLLADA_TYPE_BVEC4 = "bvec4";
+DLLSPEC daeString COLLADA_TYPE_VEC2 = "vec2";
+DLLSPEC daeString COLLADA_TYPE_VEC3 = "vec3";
+DLLSPEC daeString COLLADA_TYPE_VEC4 = "vec4";
+DLLSPEC daeString COLLADA_TYPE_MAT2 = "mat2";
+DLLSPEC daeString COLLADA_TYPE_MAT3 = "mat3";
+DLLSPEC daeString COLLADA_TYPE_MAT4 = "mat4";
+DLLSPEC daeString COLLADA_TYPE_IVEC2 = "ivec2";
+DLLSPEC daeString COLLADA_TYPE_IVEC3 = "ivec3";
+DLLSPEC daeString COLLADA_TYPE_IVEC4 = "ivec4";
+DLLSPEC daeString COLLADA_TYPE_USERTYPE = "usertype";
+DLLSPEC daeString COLLADA_TYPE_GLSL_VALUE = "glsl_value";
+DLLSPEC daeString COLLADA_TYPE_CG_PARAM = "cg_param";
+DLLSPEC daeString COLLADA_TYPE_BOOL2X1 = "bool2x1";
+DLLSPEC daeString COLLADA_TYPE_BOOL2X2 = "bool2x2";
+DLLSPEC daeString COLLADA_TYPE_BOOL2X3 = "bool2x3";
+DLLSPEC daeString COLLADA_TYPE_BOOL2X4 = "bool2x4";
+DLLSPEC daeString COLLADA_TYPE_BOOL3X1 = "bool3x1";
+DLLSPEC daeString COLLADA_TYPE_BOOL3X2 = "bool3x2";
+DLLSPEC daeString COLLADA_TYPE_BOOL3X3 = "bool3x3";
+DLLSPEC daeString COLLADA_TYPE_BOOL3X4 = "bool3x4";
+DLLSPEC daeString COLLADA_TYPE_BOOL4X1 = "bool4x1";
+DLLSPEC daeString COLLADA_TYPE_BOOL4X2 = "bool4x2";
+DLLSPEC daeString COLLADA_TYPE_BOOL4X3 = "bool4x3";
+DLLSPEC daeString COLLADA_TYPE_BOOL4X4 = "bool4x4";
+DLLSPEC daeString COLLADA_TYPE_INT2X1 = "int2x1";
+DLLSPEC daeString COLLADA_TYPE_INT2X2 = "int2x2";
+DLLSPEC daeString COLLADA_TYPE_INT2X3 = "int2x3";
+DLLSPEC daeString COLLADA_TYPE_INT2X4 = "int2x4";
+DLLSPEC daeString COLLADA_TYPE_INT3X1 = "int3x1";
+DLLSPEC daeString COLLADA_TYPE_INT3X2 = "int3x2";
+DLLSPEC daeString COLLADA_TYPE_INT3X3 = "int3x3";
+DLLSPEC daeString COLLADA_TYPE_INT3X4 = "int3x4";
+DLLSPEC daeString COLLADA_TYPE_INT4X1 = "int4x1";
+DLLSPEC daeString COLLADA_TYPE_INT4X2 = "int4x2";
+DLLSPEC daeString COLLADA_TYPE_INT4X3 = "int4x3";
+DLLSPEC daeString COLLADA_TYPE_INT4X4 = "int4x4";
+DLLSPEC daeString COLLADA_TYPE_HALF = "half";
+DLLSPEC daeString COLLADA_TYPE_HALF2 = "half2";
+DLLSPEC daeString COLLADA_TYPE_HALF3 = "half3";
+DLLSPEC daeString COLLADA_TYPE_HALF4 = "half4";
+DLLSPEC daeString COLLADA_TYPE_HALF2X1 = "half2x1";
+DLLSPEC daeString COLLADA_TYPE_HALF2X2 = "half2x2";
+DLLSPEC daeString COLLADA_TYPE_HALF2X3 = "half2x3";
+DLLSPEC daeString COLLADA_TYPE_HALF2X4 = "half2x4";
+DLLSPEC daeString COLLADA_TYPE_HALF3X1 = "half3x1";
+DLLSPEC daeString COLLADA_TYPE_HALF3X2 = "half3x2";
+DLLSPEC daeString COLLADA_TYPE_HALF3X3 = "half3x3";
+DLLSPEC daeString COLLADA_TYPE_HALF3X4 = "half3x4";
+DLLSPEC daeString COLLADA_TYPE_HALF4X1 = "half4x1";
+DLLSPEC daeString COLLADA_TYPE_HALF4X2 = "half4x2";
+DLLSPEC daeString COLLADA_TYPE_HALF4X3 = "half4x3";
+DLLSPEC daeString COLLADA_TYPE_HALF4X4 = "half4x4";
+DLLSPEC daeString COLLADA_TYPE_FIXED = "fixed";
+DLLSPEC daeString COLLADA_TYPE_FIXED2 = "fixed2";
+DLLSPEC daeString COLLADA_TYPE_FIXED3 = "fixed3";
+DLLSPEC daeString COLLADA_TYPE_FIXED4 = "fixed4";
+DLLSPEC daeString COLLADA_TYPE_FIXED2X1 = "fixed2x1";
+DLLSPEC daeString COLLADA_TYPE_FIXED2X2 = "fixed2x2";
+DLLSPEC daeString COLLADA_TYPE_FIXED2X3 = "fixed2x3";
+DLLSPEC daeString COLLADA_TYPE_FIXED2X4 = "fixed2x4";
+DLLSPEC daeString COLLADA_TYPE_FIXED3X1 = "fixed3x1";
+DLLSPEC daeString COLLADA_TYPE_FIXED3X2 = "fixed3x2";
+DLLSPEC daeString COLLADA_TYPE_FIXED3X3 = "fixed3x3";
+DLLSPEC daeString COLLADA_TYPE_FIXED3X4 = "fixed3x4";
+DLLSPEC daeString COLLADA_TYPE_FIXED4X1 = "fixed4x1";
+DLLSPEC daeString COLLADA_TYPE_FIXED4X2 = "fixed4x2";
+DLLSPEC daeString COLLADA_TYPE_FIXED4X3 = "fixed4x3";
+DLLSPEC daeString COLLADA_TYPE_FIXED4X4 = "fixed4x4";
+DLLSPEC daeString COLLADA_TYPE_GLES_SAMPLER_STATES = "gles_sampler_states";
+DLLSPEC daeString COLLADA_TYPE_GLES_PIPELINE_SETTINGS = "gles_pipeline_settings";
+DLLSPEC daeString COLLADA_TYPE_TEXTURE_PIPELINE = "texture_pipeline";
+DLLSPEC daeString COLLADA_TYPE_GLES_PARAM = "gles_param";
+DLLSPEC daeString COLLADA_TYPE_FLOAT1X1 = "float1x1";
+DLLSPEC daeString COLLADA_TYPE_FLOAT1X2 = "float1x2";
+DLLSPEC daeString COLLADA_TYPE_FLOAT1X3 = "float1x3";
+DLLSPEC daeString COLLADA_TYPE_FLOAT1X4 = "float1x4";
+DLLSPEC daeString COLLADA_TYPE_FX_PROFILE = "fx_profile";
+DLLSPEC daeString COLLADA_TYPE_COLLADA = "COLLADA";
+DLLSPEC daeString COLLADA_TYPE_SCENE = "scene";
+
+DLLSPEC daeString COLLADA_ELEMENT_COLLADA = "COLLADA";
+DLLSPEC daeString COLLADA_ELEMENT_PARAM = "param";
+DLLSPEC daeString COLLADA_ELEMENT_REF = "ref";
+DLLSPEC daeString COLLADA_ELEMENT_HEX = "hex";
+DLLSPEC daeString COLLADA_ELEMENT_INPUT = "input";
+DLLSPEC daeString COLLADA_ELEMENT_ASSET = "asset";
+DLLSPEC daeString COLLADA_ELEMENT_TECHNIQUE = "technique";
+DLLSPEC daeString COLLADA_ELEMENT_VCOUNT = "vcount";
+DLLSPEC daeString COLLADA_ELEMENT_P = "p";
+DLLSPEC daeString COLLADA_ELEMENT_EXTRA = "extra";
+DLLSPEC daeString COLLADA_ELEMENT_PH = "ph";
+DLLSPEC daeString COLLADA_ELEMENT_H = "h";
+DLLSPEC daeString COLLADA_ELEMENT_CONTRIBUTOR = "contributor";
+DLLSPEC daeString COLLADA_ELEMENT_COVERAGE = "coverage";
+DLLSPEC daeString COLLADA_ELEMENT_CREATED = "created";
+DLLSPEC daeString COLLADA_ELEMENT_KEYWORDS = "keywords";
+DLLSPEC daeString COLLADA_ELEMENT_MODIFIED = "modified";
+DLLSPEC daeString COLLADA_ELEMENT_REVISION = "revision";
+DLLSPEC daeString COLLADA_ELEMENT_SUBJECT = "subject";
+DLLSPEC daeString COLLADA_ELEMENT_TITLE = "title";
+DLLSPEC daeString COLLADA_ELEMENT_UNIT = "unit";
+DLLSPEC daeString COLLADA_ELEMENT_UP_AXIS = "up_axis";
+DLLSPEC daeString COLLADA_ELEMENT_AUTHOR = "author";
+DLLSPEC daeString COLLADA_ELEMENT_AUTHOR_EMAIL = "author_email";
+DLLSPEC daeString COLLADA_ELEMENT_AUTHOR_WEBSITE = "author_website";
+DLLSPEC daeString COLLADA_ELEMENT_AUTHORING_TOOL = "authoring_tool";
+DLLSPEC daeString COLLADA_ELEMENT_COMMENTS = "comments";
+DLLSPEC daeString COLLADA_ELEMENT_COPYRIGHT = "copyright";
+DLLSPEC daeString COLLADA_ELEMENT_SOURCE_DATA = "source_data";
+DLLSPEC daeString COLLADA_ELEMENT_GEOGRAPHIC_LOCATION = "geographic_location";
+DLLSPEC daeString COLLADA_ELEMENT_LONGITUDE = "longitude";
+DLLSPEC daeString COLLADA_ELEMENT_LATITUDE = "latitude";
+DLLSPEC daeString COLLADA_ELEMENT_ALTITUDE = "altitude";
+DLLSPEC daeString COLLADA_ELEMENT_RENDERABLE = "renderable";
+DLLSPEC daeString COLLADA_ELEMENT_INIT_FROM = "init_from";
+DLLSPEC daeString COLLADA_ELEMENT_CREATE_2D = "create_2d";
+DLLSPEC daeString COLLADA_ELEMENT_CREATE_3D = "create_3d";
+DLLSPEC daeString COLLADA_ELEMENT_CREATE_CUBE = "create_cube";
+DLLSPEC daeString COLLADA_ELEMENT_SIZE_EXACT = "size_exact";
+DLLSPEC daeString COLLADA_ELEMENT_SIZE_RATIO = "size_ratio";
+DLLSPEC daeString COLLADA_ELEMENT_MIPS = "mips";
+DLLSPEC daeString COLLADA_ELEMENT_UNNORMALIZED = "unnormalized";
+DLLSPEC daeString COLLADA_ELEMENT_ARRAY = "array";
+DLLSPEC daeString COLLADA_ELEMENT_FORMAT = "format";
+DLLSPEC daeString COLLADA_ELEMENT_HINT = "hint";
+DLLSPEC daeString COLLADA_ELEMENT_EXACT = "exact";
+DLLSPEC daeString COLLADA_ELEMENT_SIZE = "size";
+DLLSPEC daeString COLLADA_ELEMENT_OPTICS = "optics";
+DLLSPEC daeString COLLADA_ELEMENT_IMAGER = "imager";
+DLLSPEC daeString COLLADA_ELEMENT_TECHNIQUE_COMMON = "technique_common";
+DLLSPEC daeString COLLADA_ELEMENT_ORTHOGRAPHIC = "orthographic";
+DLLSPEC daeString COLLADA_ELEMENT_PERSPECTIVE = "perspective";
+DLLSPEC daeString COLLADA_ELEMENT_XMAG = "xmag";
+DLLSPEC daeString COLLADA_ELEMENT_YMAG = "ymag";
+DLLSPEC daeString COLLADA_ELEMENT_ASPECT_RATIO = "aspect_ratio";
+DLLSPEC daeString COLLADA_ELEMENT_ZNEAR = "znear";
+DLLSPEC daeString COLLADA_ELEMENT_ZFAR = "zfar";
+DLLSPEC daeString COLLADA_ELEMENT_XFOV = "xfov";
+DLLSPEC daeString COLLADA_ELEMENT_YFOV = "yfov";
+DLLSPEC daeString COLLADA_ELEMENT_AMBIENT = "ambient";
+DLLSPEC daeString COLLADA_ELEMENT_DIRECTIONAL = "directional";
+DLLSPEC daeString COLLADA_ELEMENT_POINT = "point";
+DLLSPEC daeString COLLADA_ELEMENT_SPOT = "spot";
+DLLSPEC daeString COLLADA_ELEMENT_COLOR = "color";
+DLLSPEC daeString COLLADA_ELEMENT_CONSTANT_ATTENUATION = "constant_attenuation";
+DLLSPEC daeString COLLADA_ELEMENT_LINEAR_ATTENUATION = "linear_attenuation";
+DLLSPEC daeString COLLADA_ELEMENT_QUADRATIC_ATTENUATION = "quadratic_attenuation";
+DLLSPEC daeString COLLADA_ELEMENT_FALLOFF_ANGLE = "falloff_angle";
+DLLSPEC daeString COLLADA_ELEMENT_FALLOFF_EXPONENT = "falloff_exponent";
+DLLSPEC daeString COLLADA_ELEMENT_BIND = "bind";
+DLLSPEC daeString COLLADA_ELEMENT_BIND_VERTEX_INPUT = "bind_vertex_input";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_MATERIAL = "instance_material";
+DLLSPEC daeString COLLADA_ELEMENT_SKELETON = "skeleton";
+DLLSPEC daeString COLLADA_ELEMENT_BIND_MATERIAL = "bind_material";
+DLLSPEC daeString COLLADA_ELEMENT_CAMERA = "camera";
+DLLSPEC daeString COLLADA_ELEMENT_IMAGE = "image";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT = "light";
+DLLSPEC daeString COLLADA_ELEMENT_TECHNIQUE_HINT = "technique_hint";
+DLLSPEC daeString COLLADA_ELEMENT_SETPARAM = "setparam";
+DLLSPEC daeString COLLADA_ELEMENT_FX_SETPARAM = "fx_setparam";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_EFFECT = "instance_effect";
+DLLSPEC daeString COLLADA_ELEMENT_MATERIAL = "material";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_IMAGE = "instance_image";
+DLLSPEC daeString COLLADA_ELEMENT_FX_SAMPLER_STATES = "fx_sampler_states";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL = "bool";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL2 = "bool2";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL3 = "bool3";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL4 = "bool4";
+DLLSPEC daeString COLLADA_ELEMENT_INT = "int";
+DLLSPEC daeString COLLADA_ELEMENT_INT2 = "int2";
+DLLSPEC daeString COLLADA_ELEMENT_INT3 = "int3";
+DLLSPEC daeString COLLADA_ELEMENT_INT4 = "int4";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT = "float";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT2 = "float2";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT3 = "float3";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT4 = "float4";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT2X2 = "float2x2";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT3X3 = "float3x3";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT4X4 = "float4x4";
+DLLSPEC daeString COLLADA_ELEMENT_STRING = "string";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT2X1 = "float2x1";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT2X3 = "float2x3";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT2X4 = "float2x4";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT3X1 = "float3x1";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT3X2 = "float3x2";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT3X4 = "float3x4";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT4X1 = "float4x1";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT4X2 = "float4x2";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT4X3 = "float4x3";
+DLLSPEC daeString COLLADA_ELEMENT_SAMPLER1D = "sampler1D";
+DLLSPEC daeString COLLADA_ELEMENT_SAMPLER2D = "sampler2D";
+DLLSPEC daeString COLLADA_ELEMENT_SAMPLER3D = "sampler3D";
+DLLSPEC daeString COLLADA_ELEMENT_SAMPLERCUBE = "samplerCUBE";
+DLLSPEC daeString COLLADA_ELEMENT_SAMPLERRECT = "samplerRECT";
+DLLSPEC daeString COLLADA_ELEMENT_SAMPLERDEPTH = "samplerDEPTH";
+DLLSPEC daeString COLLADA_ELEMENT_ENUM = "enum";
+DLLSPEC daeString COLLADA_ELEMENT_INLINE = "inline";
+DLLSPEC daeString COLLADA_ELEMENT_IMPORT = "import";
+DLLSPEC daeString COLLADA_ELEMENT_BINARY = "binary";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTURE = "texture";
+DLLSPEC daeString COLLADA_ELEMENT_SEMANTIC = "semantic";
+DLLSPEC daeString COLLADA_ELEMENT_NEWPARAM = "newparam";
+DLLSPEC daeString COLLADA_ELEMENT_CONSTANT = "constant";
+DLLSPEC daeString COLLADA_ELEMENT_LAMBERT = "lambert";
+DLLSPEC daeString COLLADA_ELEMENT_PHONG = "phong";
+DLLSPEC daeString COLLADA_ELEMENT_BLINN = "blinn";
+DLLSPEC daeString COLLADA_ELEMENT_EMISSION = "emission";
+DLLSPEC daeString COLLADA_ELEMENT_REFLECTIVE = "reflective";
+DLLSPEC daeString COLLADA_ELEMENT_REFLECTIVITY = "reflectivity";
+DLLSPEC daeString COLLADA_ELEMENT_TRANSPARENT = "transparent";
+DLLSPEC daeString COLLADA_ELEMENT_TRANSPARENCY = "transparency";
+DLLSPEC daeString COLLADA_ELEMENT_INDEX_OF_REFRACTION = "index_of_refraction";
+DLLSPEC daeString COLLADA_ELEMENT_DIFFUSE = "diffuse";
+DLLSPEC daeString COLLADA_ELEMENT_SPECULAR = "specular";
+DLLSPEC daeString COLLADA_ELEMENT_SHININESS = "shininess";
+DLLSPEC daeString COLLADA_ELEMENT_ANNOTATE = "annotate";
+DLLSPEC daeString COLLADA_ELEMENT_MODIFIER = "modifier";
+DLLSPEC daeString COLLADA_ELEMENT_GLES2_VALUE = "gles2_value";
+DLLSPEC daeString COLLADA_ELEMENT_SOURCES = "sources";
+DLLSPEC daeString COLLADA_ELEMENT_COMPILER = "compiler";
+DLLSPEC daeString COLLADA_ELEMENT_SHADER = "shader";
+DLLSPEC daeString COLLADA_ELEMENT_LINKER = "linker";
+DLLSPEC daeString COLLADA_ELEMENT_BIND_ATTRIBUTE = "bind_attribute";
+DLLSPEC daeString COLLADA_ELEMENT_BIND_UNIFORM = "bind_uniform";
+DLLSPEC daeString COLLADA_ELEMENT_STATES = "states";
+DLLSPEC daeString COLLADA_ELEMENT_PROGRAM = "program";
+DLLSPEC daeString COLLADA_ELEMENT_EVALUATE = "evaluate";
+DLLSPEC daeString COLLADA_ELEMENT_GLES2_PIPELINE_SETTINGS = "gles2_pipeline_settings";
+DLLSPEC daeString COLLADA_ELEMENT_COLOR_TARGET = "color_target";
+DLLSPEC daeString COLLADA_ELEMENT_DEPTH_TARGET = "depth_target";
+DLLSPEC daeString COLLADA_ELEMENT_STENCIL_TARGET = "stencil_target";
+DLLSPEC daeString COLLADA_ELEMENT_COLOR_CLEAR = "color_clear";
+DLLSPEC daeString COLLADA_ELEMENT_STENCIL_CLEAR = "stencil_clear";
+DLLSPEC daeString COLLADA_ELEMENT_DEPTH_CLEAR = "depth_clear";
+DLLSPEC daeString COLLADA_ELEMENT_DRAW = "draw";
+DLLSPEC daeString COLLADA_ELEMENT_INCLUDE = "include";
+DLLSPEC daeString COLLADA_ELEMENT_CODE = "code";
+DLLSPEC daeString COLLADA_ELEMENT_PASS = "pass";
+DLLSPEC daeString COLLADA_ELEMENT_GLSL_VALUE = "glsl_value";
+DLLSPEC daeString COLLADA_ELEMENT_GL_PIPELINE_SETTINGS = "gl_pipeline_settings";
+DLLSPEC daeString COLLADA_ELEMENT_CG_PARAM = "cg_param";
+DLLSPEC daeString COLLADA_ELEMENT_ARGUMENT = "argument";
+DLLSPEC daeString COLLADA_ELEMENT_RGB = "RGB";
+DLLSPEC daeString COLLADA_ELEMENT_ALPHA = "alpha";
+DLLSPEC daeString COLLADA_ELEMENT_TEXCOMBINER = "texcombiner";
+DLLSPEC daeString COLLADA_ELEMENT_TEXENV = "texenv";
+DLLSPEC daeString COLLADA_ELEMENT_TEXCOORD = "texcoord";
+DLLSPEC daeString COLLADA_ELEMENT_GLES_SAMPLER_STATES = "gles_sampler_states";
+DLLSPEC daeString COLLADA_ELEMENT_GLES_PARAM = "gles_param";
+DLLSPEC daeString COLLADA_ELEMENT_GLES_PIPELINE_SETTINGS = "gles_pipeline_settings";
+DLLSPEC daeString COLLADA_ELEMENT_FX_PROFILE = "fx_profile";
+DLLSPEC daeString COLLADA_ELEMENT_EFFECT = "effect";
+DLLSPEC daeString COLLADA_ELEMENT_HALF_EXTENTS = "half_extents";
+DLLSPEC daeString COLLADA_ELEMENT_EQUATION = "equation";
+DLLSPEC daeString COLLADA_ELEMENT_RADIUS = "radius";
+DLLSPEC daeString COLLADA_ELEMENT_HEIGHT = "height";
+DLLSPEC daeString COLLADA_ELEMENT_FORCE_FIELD = "force_field";
+DLLSPEC daeString COLLADA_ELEMENT_DYNAMIC_FRICTION = "dynamic_friction";
+DLLSPEC daeString COLLADA_ELEMENT_RESTITUTION = "restitution";
+DLLSPEC daeString COLLADA_ELEMENT_STATIC_FRICTION = "static_friction";
+DLLSPEC daeString COLLADA_ELEMENT_PHYSICS_MATERIAL = "physics_material";
+DLLSPEC daeString COLLADA_ELEMENT_ORIGIN = "origin";
+DLLSPEC daeString COLLADA_ELEMENT_DIRECTION = "direction";
+DLLSPEC daeString COLLADA_ELEMENT_FOCAL = "focal";
+DLLSPEC daeString COLLADA_ELEMENT_TOKEN_ARRAY = "token_array";
+DLLSPEC daeString COLLADA_ELEMENT_IDREF_ARRAY = "IDREF_array";
+DLLSPEC daeString COLLADA_ELEMENT_NAME_ARRAY = "Name_array";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL_ARRAY = "bool_array";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT_ARRAY = "float_array";
+DLLSPEC daeString COLLADA_ELEMENT_INT_ARRAY = "int_array";
+DLLSPEC daeString COLLADA_ELEMENT_SIDREF_ARRAY = "SIDREF_array";
+DLLSPEC daeString COLLADA_ELEMENT_ACCESSOR = "accessor";
+DLLSPEC daeString COLLADA_ELEMENT_SOURCE = "source";
+DLLSPEC daeString COLLADA_ELEMENT_SAMPLER = "sampler";
+DLLSPEC daeString COLLADA_ELEMENT_CHANNEL = "channel";
+DLLSPEC daeString COLLADA_ELEMENT_ANIMATION = "animation";
+DLLSPEC daeString COLLADA_ELEMENT_BIND_SHAPE_MATRIX = "bind_shape_matrix";
+DLLSPEC daeString COLLADA_ELEMENT_JOINTS = "joints";
+DLLSPEC daeString COLLADA_ELEMENT_VERTEX_WEIGHTS = "vertex_weights";
+DLLSPEC daeString COLLADA_ELEMENT_V = "v";
+DLLSPEC daeString COLLADA_ELEMENT_VERTICES = "vertices";
+DLLSPEC daeString COLLADA_ELEMENT_LINES = "lines";
+DLLSPEC daeString COLLADA_ELEMENT_LINESTRIPS = "linestrips";
+DLLSPEC daeString COLLADA_ELEMENT_POLYGONS = "polygons";
+DLLSPEC daeString COLLADA_ELEMENT_POLYLIST = "polylist";
+DLLSPEC daeString COLLADA_ELEMENT_TRIANGLES = "triangles";
+DLLSPEC daeString COLLADA_ELEMENT_TRIFANS = "trifans";
+DLLSPEC daeString COLLADA_ELEMENT_TRISTRIPS = "tristrips";
+DLLSPEC daeString COLLADA_ELEMENT_CONTROL_VERTICES = "control_vertices";
+DLLSPEC daeString COLLADA_ELEMENT_TARGETS = "targets";
+DLLSPEC daeString COLLADA_ELEMENT_SKIN = "skin";
+DLLSPEC daeString COLLADA_ELEMENT_MORPH = "morph";
+DLLSPEC daeString COLLADA_ELEMENT_CONTROLLER = "controller";
+DLLSPEC daeString COLLADA_ELEMENT_LINE = "line";
+DLLSPEC daeString COLLADA_ELEMENT_CIRCLE = "circle";
+DLLSPEC daeString COLLADA_ELEMENT_ELLIPSE = "ellipse";
+DLLSPEC daeString COLLADA_ELEMENT_PARABOLA = "parabola";
+DLLSPEC daeString COLLADA_ELEMENT_HYPERBOLA = "hyperbola";
+DLLSPEC daeString COLLADA_ELEMENT_NURBS = "nurbs";
+DLLSPEC daeString COLLADA_ELEMENT_ORIENT = "orient";
+DLLSPEC daeString COLLADA_ELEMENT_CURVE = "curve";
+DLLSPEC daeString COLLADA_ELEMENT_AXIS = "axis";
+DLLSPEC daeString COLLADA_ELEMENT_ANGLE = "angle";
+DLLSPEC daeString COLLADA_ELEMENT_PLANE = "plane";
+DLLSPEC daeString COLLADA_ELEMENT_SPHERE = "sphere";
+DLLSPEC daeString COLLADA_ELEMENT_TORUS = "torus";
+DLLSPEC daeString COLLADA_ELEMENT_SWEPT_SURFACE = "swept_surface";
+DLLSPEC daeString COLLADA_ELEMENT_NURBS_SURFACE = "nurbs_surface";
+DLLSPEC daeString COLLADA_ELEMENT_CONE = "cone";
+DLLSPEC daeString COLLADA_ELEMENT_CYLINDER = "cylinder";
+DLLSPEC daeString COLLADA_ELEMENT_SURFACE = "surface";
+DLLSPEC daeString COLLADA_ELEMENT_CURVES = "curves";
+DLLSPEC daeString COLLADA_ELEMENT_SURFACE_CURVES = "surface_curves";
+DLLSPEC daeString COLLADA_ELEMENT_SURFACES = "surfaces";
+DLLSPEC daeString COLLADA_ELEMENT_EDGES = "edges";
+DLLSPEC daeString COLLADA_ELEMENT_WIRES = "wires";
+DLLSPEC daeString COLLADA_ELEMENT_FACES = "faces";
+DLLSPEC daeString COLLADA_ELEMENT_PCURVES = "pcurves";
+DLLSPEC daeString COLLADA_ELEMENT_SHELLS = "shells";
+DLLSPEC daeString COLLADA_ELEMENT_SOLIDS = "solids";
+DLLSPEC daeString COLLADA_ELEMENT_CONVEX_MESH = "convex_mesh";
+DLLSPEC daeString COLLADA_ELEMENT_MESH = "mesh";
+DLLSPEC daeString COLLADA_ELEMENT_SPLINE = "spline";
+DLLSPEC daeString COLLADA_ELEMENT_BREP = "brep";
+DLLSPEC daeString COLLADA_ELEMENT_GEOMETRY = "geometry";
+DLLSPEC daeString COLLADA_ELEMENT_ROTATE = "rotate";
+DLLSPEC daeString COLLADA_ELEMENT_TRANSLATE = "translate";
+DLLSPEC daeString COLLADA_ELEMENT_ATTACHMENT_FULL = "attachment_full";
+DLLSPEC daeString COLLADA_ELEMENT_ATTACHMENT_START = "attachment_start";
+DLLSPEC daeString COLLADA_ELEMENT_ATTACHMENT_END = "attachment_end";
+DLLSPEC daeString COLLADA_ELEMENT_LINK = "link";
+DLLSPEC daeString COLLADA_ELEMENT_REF_ATTACHMENT = "ref_attachment";
+DLLSPEC daeString COLLADA_ELEMENT_ATTACHMENT = "attachment";
+DLLSPEC daeString COLLADA_ELEMENT_ENABLED = "enabled";
+DLLSPEC daeString COLLADA_ELEMENT_INTERPENETRATE = "interpenetrate";
+DLLSPEC daeString COLLADA_ELEMENT_LIMITS = "limits";
+DLLSPEC daeString COLLADA_ELEMENT_SPRING = "spring";
+DLLSPEC daeString COLLADA_ELEMENT_SWING_CONE_AND_TWIST = "swing_cone_and_twist";
+DLLSPEC daeString COLLADA_ELEMENT_LINEAR = "linear";
+DLLSPEC daeString COLLADA_ELEMENT_MIN = "min";
+DLLSPEC daeString COLLADA_ELEMENT_MAX = "max";
+DLLSPEC daeString COLLADA_ELEMENT_ANGULAR = "angular";
+DLLSPEC daeString COLLADA_ELEMENT_STIFFNESS = "stiffness";
+DLLSPEC daeString COLLADA_ELEMENT_DAMPING = "damping";
+DLLSPEC daeString COLLADA_ELEMENT_TARGET_VALUE = "target_value";
+DLLSPEC daeString COLLADA_ELEMENT_LOOKAT = "lookat";
+DLLSPEC daeString COLLADA_ELEMENT_MATRIX = "matrix";
+DLLSPEC daeString COLLADA_ELEMENT_SCALE = "scale";
+DLLSPEC daeString COLLADA_ELEMENT_SKEW = "skew";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_CAMERA = "instance_camera";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_CONTROLLER = "instance_controller";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_GEOMETRY = "instance_geometry";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_LIGHT = "instance_light";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_NODE = "instance_node";
+DLLSPEC daeString COLLADA_ELEMENT_NODE = "node";
+DLLSPEC daeString COLLADA_ELEMENT_EVALUATE_SCENE = "evaluate_scene";
+DLLSPEC daeString COLLADA_ELEMENT_RENDER = "render";
+DLLSPEC daeString COLLADA_ELEMENT_LAYER = "layer";
+DLLSPEC daeString COLLADA_ELEMENT_TECHNIQUE_OVERRIDE = "technique_override";
+DLLSPEC daeString COLLADA_ELEMENT_VISUAL_SCENE = "visual_scene";
+DLLSPEC daeString COLLADA_ELEMENT_DYNAMIC = "dynamic";
+DLLSPEC daeString COLLADA_ELEMENT_MASS = "mass";
+DLLSPEC daeString COLLADA_ELEMENT_MASS_FRAME = "mass_frame";
+DLLSPEC daeString COLLADA_ELEMENT_INERTIA = "inertia";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_PHYSICS_MATERIAL = "instance_physics_material";
+DLLSPEC daeString COLLADA_ELEMENT_SHAPE = "shape";
+DLLSPEC daeString COLLADA_ELEMENT_HOLLOW = "hollow";
+DLLSPEC daeString COLLADA_ELEMENT_DENSITY = "density";
+DLLSPEC daeString COLLADA_ELEMENT_BOX = "box";
+DLLSPEC daeString COLLADA_ELEMENT_CAPSULE = "capsule";
+DLLSPEC daeString COLLADA_ELEMENT_ANGULAR_VELOCITY = "angular_velocity";
+DLLSPEC daeString COLLADA_ELEMENT_VELOCITY = "velocity";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_FORCE_FIELD = "instance_force_field";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_RIGID_BODY = "instance_rigid_body";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_RIGID_CONSTRAINT = "instance_rigid_constraint";
+DLLSPEC daeString COLLADA_ELEMENT_RIGID_BODY = "rigid_body";
+DLLSPEC daeString COLLADA_ELEMENT_RIGID_CONSTRAINT = "rigid_constraint";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_PHYSICS_MODEL = "instance_physics_model";
+DLLSPEC daeString COLLADA_ELEMENT_PHYSICS_MODEL = "physics_model";
+DLLSPEC daeString COLLADA_ELEMENT_GRAVITY = "gravity";
+DLLSPEC daeString COLLADA_ELEMENT_TIME_STEP = "time_step";
+DLLSPEC daeString COLLADA_ELEMENT_PHYSICS_SCENE = "physics_scene";
+DLLSPEC daeString COLLADA_ELEMENT_SIDREF = "SIDREF";
+DLLSPEC daeString COLLADA_ELEMENT_VALUE = "value";
+DLLSPEC daeString COLLADA_ELEMENT_CONNECT_PARAM = "connect_param";
+DLLSPEC daeString COLLADA_ELEMENT_BIND_KINEMATICS_MODEL = "bind_kinematics_model";
+DLLSPEC daeString COLLADA_ELEMENT_BIND_JOINT_AXIS = "bind_joint_axis";
+DLLSPEC daeString COLLADA_ELEMENT_SPEED = "speed";
+DLLSPEC daeString COLLADA_ELEMENT_ACCELERATION = "acceleration";
+DLLSPEC daeString COLLADA_ELEMENT_DECELERATION = "deceleration";
+DLLSPEC daeString COLLADA_ELEMENT_JERK = "jerk";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_KINEMATICS_MODEL = "instance_kinematics_model";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_ARTICULATED_SYSTEM = "instance_articulated_system";
+DLLSPEC daeString COLLADA_ELEMENT_KINEMATICS_SCENE = "kinematics_scene";
+DLLSPEC daeString COLLADA_ELEMENT_AXIS_INFO = "axis_info";
+DLLSPEC daeString COLLADA_ELEMENT_EFFECTOR_INFO = "effector_info";
+DLLSPEC daeString COLLADA_ELEMENT_PRISMATIC = "prismatic";
+DLLSPEC daeString COLLADA_ELEMENT_REVOLUTE = "revolute";
+DLLSPEC daeString COLLADA_ELEMENT_JOINT = "joint";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_ANIMATION = "instance_animation";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_FORMULA = "instance_formula";
+DLLSPEC daeString COLLADA_ELEMENT_ANIMATION_CLIP = "animation_clip";
+DLLSPEC daeString COLLADA_ELEMENT_TARGET = "target";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_JOINT = "instance_joint";
+DLLSPEC daeString COLLADA_ELEMENT_FORMULA = "formula";
+DLLSPEC daeString COLLADA_ELEMENT_KINEMATICS_MODEL = "kinematics_model";
+DLLSPEC daeString COLLADA_ELEMENT_ACTIVE = "active";
+DLLSPEC daeString COLLADA_ELEMENT_LOCKED = "locked";
+DLLSPEC daeString COLLADA_ELEMENT_INDEX = "index";
+DLLSPEC daeString COLLADA_ELEMENT_FRAME_ORIGIN = "frame_origin";
+DLLSPEC daeString COLLADA_ELEMENT_FRAME_TIP = "frame_tip";
+DLLSPEC daeString COLLADA_ELEMENT_FRAME_TCP = "frame_tcp";
+DLLSPEC daeString COLLADA_ELEMENT_FRAME_OBJECT = "frame_object";
+DLLSPEC daeString COLLADA_ELEMENT_KINEMATICS = "kinematics";
+DLLSPEC daeString COLLADA_ELEMENT_MOTION = "motion";
+DLLSPEC daeString COLLADA_ELEMENT_ARTICULATED_SYSTEM = "articulated_system";
+DLLSPEC daeString COLLADA_ELEMENT_WRAP_S = "wrap_s";
+DLLSPEC daeString COLLADA_ELEMENT_WRAP_T = "wrap_t";
+DLLSPEC daeString COLLADA_ELEMENT_WRAP_P = "wrap_p";
+DLLSPEC daeString COLLADA_ELEMENT_MINFILTER = "minfilter";
+DLLSPEC daeString COLLADA_ELEMENT_MAGFILTER = "magfilter";
+DLLSPEC daeString COLLADA_ELEMENT_MIPFILTER = "mipfilter";
+DLLSPEC daeString COLLADA_ELEMENT_BORDER_COLOR = "border_color";
+DLLSPEC daeString COLLADA_ELEMENT_MIP_MAX_LEVEL = "mip_max_level";
+DLLSPEC daeString COLLADA_ELEMENT_MIP_MIN_LEVEL = "mip_min_level";
+DLLSPEC daeString COLLADA_ELEMENT_MIP_BIAS = "mip_bias";
+DLLSPEC daeString COLLADA_ELEMENT_MAX_ANISOTROPY = "max_anisotropy";
+DLLSPEC daeString COLLADA_ELEMENT_SAMPLER_IMAGE = "sampler_image";
+DLLSPEC daeString COLLADA_ELEMENT_SAMPLER_STATES = "sampler_states";
+DLLSPEC daeString COLLADA_ELEMENT_ALPHA_FUNC = "alpha_func";
+DLLSPEC daeString COLLADA_ELEMENT_BLEND_FUNC = "blend_func";
+DLLSPEC daeString COLLADA_ELEMENT_BLEND_FUNC_SEPARATE = "blend_func_separate";
+DLLSPEC daeString COLLADA_ELEMENT_BLEND_EQUATION = "blend_equation";
+DLLSPEC daeString COLLADA_ELEMENT_BLEND_EQUATION_SEPARATE = "blend_equation_separate";
+DLLSPEC daeString COLLADA_ELEMENT_COLOR_MATERIAL = "color_material";
+DLLSPEC daeString COLLADA_ELEMENT_CULL_FACE = "cull_face";
+DLLSPEC daeString COLLADA_ELEMENT_DEPTH_FUNC = "depth_func";
+DLLSPEC daeString COLLADA_ELEMENT_FOG_MODE = "fog_mode";
+DLLSPEC daeString COLLADA_ELEMENT_FOG_COORD_SRC = "fog_coord_src";
+DLLSPEC daeString COLLADA_ELEMENT_FRONT_FACE = "front_face";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT_MODEL_COLOR_CONTROL = "light_model_color_control";
+DLLSPEC daeString COLLADA_ELEMENT_LOGIC_OP = "logic_op";
+DLLSPEC daeString COLLADA_ELEMENT_POLYGON_MODE = "polygon_mode";
+DLLSPEC daeString COLLADA_ELEMENT_SHADE_MODEL = "shade_model";
+DLLSPEC daeString COLLADA_ELEMENT_STENCIL_FUNC = "stencil_func";
+DLLSPEC daeString COLLADA_ELEMENT_STENCIL_OP = "stencil_op";
+DLLSPEC daeString COLLADA_ELEMENT_STENCIL_FUNC_SEPARATE = "stencil_func_separate";
+DLLSPEC daeString COLLADA_ELEMENT_STENCIL_OP_SEPARATE = "stencil_op_separate";
+DLLSPEC daeString COLLADA_ELEMENT_STENCIL_MASK_SEPARATE = "stencil_mask_separate";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT_ENABLE = "light_enable";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT_AMBIENT = "light_ambient";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT_DIFFUSE = "light_diffuse";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT_SPECULAR = "light_specular";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT_POSITION = "light_position";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT_CONSTANT_ATTENUATION = "light_constant_attenuation";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT_LINEAR_ATTENUATION = "light_linear_attenuation";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT_QUADRATIC_ATTENUATION = "light_quadratic_attenuation";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT_SPOT_CUTOFF = "light_spot_cutoff";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT_SPOT_DIRECTION = "light_spot_direction";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT_SPOT_EXPONENT = "light_spot_exponent";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTURE1D = "texture1D";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTURE2D = "texture2D";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTURE3D = "texture3D";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTURECUBE = "textureCUBE";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTURERECT = "textureRECT";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTUREDEPTH = "textureDEPTH";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTURE1D_ENABLE = "texture1D_enable";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTURE2D_ENABLE = "texture2D_enable";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTURE3D_ENABLE = "texture3D_enable";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTURECUBE_ENABLE = "textureCUBE_enable";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTURERECT_ENABLE = "textureRECT_enable";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTUREDEPTH_ENABLE = "textureDEPTH_enable";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTURE_ENV_COLOR = "texture_env_color";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTURE_ENV_MODE = "texture_env_mode";
+DLLSPEC daeString COLLADA_ELEMENT_CLIP_PLANE = "clip_plane";
+DLLSPEC daeString COLLADA_ELEMENT_CLIP_PLANE_ENABLE = "clip_plane_enable";
+DLLSPEC daeString COLLADA_ELEMENT_BLEND_COLOR = "blend_color";
+DLLSPEC daeString COLLADA_ELEMENT_COLOR_MASK = "color_mask";
+DLLSPEC daeString COLLADA_ELEMENT_DEPTH_BOUNDS = "depth_bounds";
+DLLSPEC daeString COLLADA_ELEMENT_DEPTH_MASK = "depth_mask";
+DLLSPEC daeString COLLADA_ELEMENT_DEPTH_RANGE = "depth_range";
+DLLSPEC daeString COLLADA_ELEMENT_FOG_DENSITY = "fog_density";
+DLLSPEC daeString COLLADA_ELEMENT_FOG_START = "fog_start";
+DLLSPEC daeString COLLADA_ELEMENT_FOG_END = "fog_end";
+DLLSPEC daeString COLLADA_ELEMENT_FOG_COLOR = "fog_color";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT_MODEL_AMBIENT = "light_model_ambient";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHTING_ENABLE = "lighting_enable";
+DLLSPEC daeString COLLADA_ELEMENT_LINE_STIPPLE = "line_stipple";
+DLLSPEC daeString COLLADA_ELEMENT_LINE_WIDTH = "line_width";
+DLLSPEC daeString COLLADA_ELEMENT_MATERIAL_AMBIENT = "material_ambient";
+DLLSPEC daeString COLLADA_ELEMENT_MATERIAL_DIFFUSE = "material_diffuse";
+DLLSPEC daeString COLLADA_ELEMENT_MATERIAL_EMISSION = "material_emission";
+DLLSPEC daeString COLLADA_ELEMENT_MATERIAL_SHININESS = "material_shininess";
+DLLSPEC daeString COLLADA_ELEMENT_MATERIAL_SPECULAR = "material_specular";
+DLLSPEC daeString COLLADA_ELEMENT_MODEL_VIEW_MATRIX = "model_view_matrix";
+DLLSPEC daeString COLLADA_ELEMENT_POINT_DISTANCE_ATTENUATION = "point_distance_attenuation";
+DLLSPEC daeString COLLADA_ELEMENT_POINT_FADE_THRESHOLD_SIZE = "point_fade_threshold_size";
+DLLSPEC daeString COLLADA_ELEMENT_POINT_SIZE = "point_size";
+DLLSPEC daeString COLLADA_ELEMENT_POINT_SIZE_MIN = "point_size_min";
+DLLSPEC daeString COLLADA_ELEMENT_POINT_SIZE_MAX = "point_size_max";
+DLLSPEC daeString COLLADA_ELEMENT_POLYGON_OFFSET = "polygon_offset";
+DLLSPEC daeString COLLADA_ELEMENT_PROJECTION_MATRIX = "projection_matrix";
+DLLSPEC daeString COLLADA_ELEMENT_SCISSOR = "scissor";
+DLLSPEC daeString COLLADA_ELEMENT_STENCIL_MASK = "stencil_mask";
+DLLSPEC daeString COLLADA_ELEMENT_ALPHA_TEST_ENABLE = "alpha_test_enable";
+DLLSPEC daeString COLLADA_ELEMENT_BLEND_ENABLE = "blend_enable";
+DLLSPEC daeString COLLADA_ELEMENT_COLOR_LOGIC_OP_ENABLE = "color_logic_op_enable";
+DLLSPEC daeString COLLADA_ELEMENT_COLOR_MATERIAL_ENABLE = "color_material_enable";
+DLLSPEC daeString COLLADA_ELEMENT_CULL_FACE_ENABLE = "cull_face_enable";
+DLLSPEC daeString COLLADA_ELEMENT_DEPTH_BOUNDS_ENABLE = "depth_bounds_enable";
+DLLSPEC daeString COLLADA_ELEMENT_DEPTH_CLAMP_ENABLE = "depth_clamp_enable";
+DLLSPEC daeString COLLADA_ELEMENT_DEPTH_TEST_ENABLE = "depth_test_enable";
+DLLSPEC daeString COLLADA_ELEMENT_DITHER_ENABLE = "dither_enable";
+DLLSPEC daeString COLLADA_ELEMENT_FOG_ENABLE = "fog_enable";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT_MODEL_LOCAL_VIEWER_ENABLE = "light_model_local_viewer_enable";
+DLLSPEC daeString COLLADA_ELEMENT_LIGHT_MODEL_TWO_SIDE_ENABLE = "light_model_two_side_enable";
+DLLSPEC daeString COLLADA_ELEMENT_LINE_SMOOTH_ENABLE = "line_smooth_enable";
+DLLSPEC daeString COLLADA_ELEMENT_LINE_STIPPLE_ENABLE = "line_stipple_enable";
+DLLSPEC daeString COLLADA_ELEMENT_LOGIC_OP_ENABLE = "logic_op_enable";
+DLLSPEC daeString COLLADA_ELEMENT_MULTISAMPLE_ENABLE = "multisample_enable";
+DLLSPEC daeString COLLADA_ELEMENT_NORMALIZE_ENABLE = "normalize_enable";
+DLLSPEC daeString COLLADA_ELEMENT_POINT_SMOOTH_ENABLE = "point_smooth_enable";
+DLLSPEC daeString COLLADA_ELEMENT_POLYGON_OFFSET_FILL_ENABLE = "polygon_offset_fill_enable";
+DLLSPEC daeString COLLADA_ELEMENT_POLYGON_OFFSET_LINE_ENABLE = "polygon_offset_line_enable";
+DLLSPEC daeString COLLADA_ELEMENT_POLYGON_OFFSET_POINT_ENABLE = "polygon_offset_point_enable";
+DLLSPEC daeString COLLADA_ELEMENT_POLYGON_SMOOTH_ENABLE = "polygon_smooth_enable";
+DLLSPEC daeString COLLADA_ELEMENT_POLYGON_STIPPLE_ENABLE = "polygon_stipple_enable";
+DLLSPEC daeString COLLADA_ELEMENT_RESCALE_NORMAL_ENABLE = "rescale_normal_enable";
+DLLSPEC daeString COLLADA_ELEMENT_SAMPLE_ALPHA_TO_COVERAGE_ENABLE = "sample_alpha_to_coverage_enable";
+DLLSPEC daeString COLLADA_ELEMENT_SAMPLE_ALPHA_TO_ONE_ENABLE = "sample_alpha_to_one_enable";
+DLLSPEC daeString COLLADA_ELEMENT_SAMPLE_COVERAGE_ENABLE = "sample_coverage_enable";
+DLLSPEC daeString COLLADA_ELEMENT_SCISSOR_TEST_ENABLE = "scissor_test_enable";
+DLLSPEC daeString COLLADA_ELEMENT_STENCIL_TEST_ENABLE = "stencil_test_enable";
+DLLSPEC daeString COLLADA_ELEMENT_FUNC = "func";
+DLLSPEC daeString COLLADA_ELEMENT_SRC = "src";
+DLLSPEC daeString COLLADA_ELEMENT_DEST = "dest";
+DLLSPEC daeString COLLADA_ELEMENT_SRC_RGB = "src_rgb";
+DLLSPEC daeString COLLADA_ELEMENT_DEST_RGB = "dest_rgb";
+DLLSPEC daeString COLLADA_ELEMENT_SRC_ALPHA = "src_alpha";
+DLLSPEC daeString COLLADA_ELEMENT_DEST_ALPHA = "dest_alpha";
+DLLSPEC daeString COLLADA_ELEMENT_rgb = "rgb";
+DLLSPEC daeString COLLADA_ELEMENT_FACE = "face";
+DLLSPEC daeString COLLADA_ELEMENT_MODE = "mode";
+DLLSPEC daeString COLLADA_ELEMENT_MASK = "mask";
+DLLSPEC daeString COLLADA_ELEMENT_FAIL = "fail";
+DLLSPEC daeString COLLADA_ELEMENT_ZFAIL = "zfail";
+DLLSPEC daeString COLLADA_ELEMENT_ZPASS = "zpass";
+DLLSPEC daeString COLLADA_ELEMENT_FRONT = "front";
+DLLSPEC daeString COLLADA_ELEMENT_BACK = "back";
+DLLSPEC daeString COLLADA_ELEMENT_SAMPLE_COVERAGE = "sample_coverage";
+DLLSPEC daeString COLLADA_ELEMENT_POINT_SIZE_ENABLE = "point_size_enable";
+DLLSPEC daeString COLLADA_ELEMENT_INVERT = "invert";
+DLLSPEC daeString COLLADA_ELEMENT_BVEC2 = "bvec2";
+DLLSPEC daeString COLLADA_ELEMENT_BVEC3 = "bvec3";
+DLLSPEC daeString COLLADA_ELEMENT_BVEC4 = "bvec4";
+DLLSPEC daeString COLLADA_ELEMENT_VEC2 = "vec2";
+DLLSPEC daeString COLLADA_ELEMENT_VEC3 = "vec3";
+DLLSPEC daeString COLLADA_ELEMENT_VEC4 = "vec4";
+DLLSPEC daeString COLLADA_ELEMENT_MAT2 = "mat2";
+DLLSPEC daeString COLLADA_ELEMENT_MAT3 = "mat3";
+DLLSPEC daeString COLLADA_ELEMENT_MAT4 = "mat4";
+DLLSPEC daeString COLLADA_ELEMENT_IVEC2 = "ivec2";
+DLLSPEC daeString COLLADA_ELEMENT_IVEC3 = "ivec3";
+DLLSPEC daeString COLLADA_ELEMENT_IVEC4 = "ivec4";
+DLLSPEC daeString COLLADA_ELEMENT_USERTYPE = "usertype";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL2X1 = "bool2x1";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL2X2 = "bool2x2";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL2X3 = "bool2x3";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL2X4 = "bool2x4";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL3X1 = "bool3x1";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL3X2 = "bool3x2";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL3X3 = "bool3x3";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL3X4 = "bool3x4";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL4X1 = "bool4x1";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL4X2 = "bool4x2";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL4X3 = "bool4x3";
+DLLSPEC daeString COLLADA_ELEMENT_BOOL4X4 = "bool4x4";
+DLLSPEC daeString COLLADA_ELEMENT_INT2X1 = "int2x1";
+DLLSPEC daeString COLLADA_ELEMENT_INT2X2 = "int2x2";
+DLLSPEC daeString COLLADA_ELEMENT_INT2X3 = "int2x3";
+DLLSPEC daeString COLLADA_ELEMENT_INT2X4 = "int2x4";
+DLLSPEC daeString COLLADA_ELEMENT_INT3X1 = "int3x1";
+DLLSPEC daeString COLLADA_ELEMENT_INT3X2 = "int3x2";
+DLLSPEC daeString COLLADA_ELEMENT_INT3X3 = "int3x3";
+DLLSPEC daeString COLLADA_ELEMENT_INT3X4 = "int3x4";
+DLLSPEC daeString COLLADA_ELEMENT_INT4X1 = "int4x1";
+DLLSPEC daeString COLLADA_ELEMENT_INT4X2 = "int4x2";
+DLLSPEC daeString COLLADA_ELEMENT_INT4X3 = "int4x3";
+DLLSPEC daeString COLLADA_ELEMENT_INT4X4 = "int4x4";
+DLLSPEC daeString COLLADA_ELEMENT_HALF = "half";
+DLLSPEC daeString COLLADA_ELEMENT_HALF2 = "half2";
+DLLSPEC daeString COLLADA_ELEMENT_HALF3 = "half3";
+DLLSPEC daeString COLLADA_ELEMENT_HALF4 = "half4";
+DLLSPEC daeString COLLADA_ELEMENT_HALF2X1 = "half2x1";
+DLLSPEC daeString COLLADA_ELEMENT_HALF2X2 = "half2x2";
+DLLSPEC daeString COLLADA_ELEMENT_HALF2X3 = "half2x3";
+DLLSPEC daeString COLLADA_ELEMENT_HALF2X4 = "half2x4";
+DLLSPEC daeString COLLADA_ELEMENT_HALF3X1 = "half3x1";
+DLLSPEC daeString COLLADA_ELEMENT_HALF3X2 = "half3x2";
+DLLSPEC daeString COLLADA_ELEMENT_HALF3X3 = "half3x3";
+DLLSPEC daeString COLLADA_ELEMENT_HALF3X4 = "half3x4";
+DLLSPEC daeString COLLADA_ELEMENT_HALF4X1 = "half4x1";
+DLLSPEC daeString COLLADA_ELEMENT_HALF4X2 = "half4x2";
+DLLSPEC daeString COLLADA_ELEMENT_HALF4X3 = "half4x3";
+DLLSPEC daeString COLLADA_ELEMENT_HALF4X4 = "half4x4";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED = "fixed";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED2 = "fixed2";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED3 = "fixed3";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED4 = "fixed4";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED2X1 = "fixed2x1";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED2X2 = "fixed2x2";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED2X3 = "fixed2x3";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED2X4 = "fixed2x4";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED3X1 = "fixed3x1";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED3X2 = "fixed3x2";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED3X3 = "fixed3x3";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED3X4 = "fixed3x4";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED4X1 = "fixed4x1";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED4X2 = "fixed4x2";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED4X3 = "fixed4x3";
+DLLSPEC daeString COLLADA_ELEMENT_FIXED4X4 = "fixed4x4";
+DLLSPEC daeString COLLADA_ELEMENT_TEXTURE_PIPELINE = "texture_pipeline";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT1X1 = "float1x1";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT1X2 = "float1x2";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT1X3 = "float1x3";
+DLLSPEC daeString COLLADA_ELEMENT_FLOAT1X4 = "float1x4";
+DLLSPEC daeString COLLADA_ELEMENT_PROFILE_COMMON = "profile_COMMON";
+DLLSPEC daeString COLLADA_ELEMENT_PROFILE_BRIDGE = "profile_BRIDGE";
+DLLSPEC daeString COLLADA_ELEMENT_PROFILE_GLES2 = "profile_GLES2";
+DLLSPEC daeString COLLADA_ELEMENT_PROFILE_GLSL = "profile_GLSL";
+DLLSPEC daeString COLLADA_ELEMENT_PROFILE_CG = "profile_CG";
+DLLSPEC daeString COLLADA_ELEMENT_PROFILE_GLES = "profile_GLES";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_ANIMATIONS = "library_animations";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_ANIMATION_CLIPS = "library_animation_clips";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_CAMERAS = "library_cameras";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_CONTROLLERS = "library_controllers";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_GEOMETRIES = "library_geometries";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_EFFECTS = "library_effects";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_FORCE_FIELDS = "library_force_fields";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_IMAGES = "library_images";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_LIGHTS = "library_lights";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_MATERIALS = "library_materials";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_NODES = "library_nodes";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_PHYSICS_MATERIALS = "library_physics_materials";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_PHYSICS_MODELS = "library_physics_models";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_PHYSICS_SCENES = "library_physics_scenes";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_VISUAL_SCENES = "library_visual_scenes";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_JOINTS = "library_joints";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_KINEMATICS_MODELS = "library_kinematics_models";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_ARTICULATED_SYSTEMS = "library_articulated_systems";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_KINEMATICS_SCENES = "library_kinematics_scenes";
+DLLSPEC daeString COLLADA_ELEMENT_LIBRARY_FORMULAS = "library_formulas";
+DLLSPEC daeString COLLADA_ELEMENT_SCENE = "scene";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_PHYSICS_SCENE = "instance_physics_scene";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_VISUAL_SCENE = "instance_visual_scene";
+DLLSPEC daeString COLLADA_ELEMENT_INSTANCE_KINEMATICS_SCENE = "instance_kinematics_scene";
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domController.cpp b/1.4.0/dom/src/1.5/dom/domController.cpp
new file mode 100644
index 0000000..4e32e2f
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domController.cpp
@@ -0,0 +1,101 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domController.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domController::create(DAE& dae)
+{
+ domControllerRef ref = new domController(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domController::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "controller" );
+ meta->registerClass(domController::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domController,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "skin" );
+ mea->setOffset( daeOffsetOf(domController,elemSkin) );
+ mea->setElementType( domSkin::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "morph" );
+ mea->setOffset( daeOffsetOf(domController,elemMorph) );
+ mea->setElementType( domMorph::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domController,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domController,_contents));
+ meta->addContentsOrder(daeOffsetOf(domController,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domController,_CMData), 1);
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domController , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domController , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domController));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domConvex_mesh.cpp b/1.4.0/dom/src/1.5/dom/domConvex_mesh.cpp
new file mode 100644
index 0000000..1c06f9f
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domConvex_mesh.cpp
@@ -0,0 +1,127 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domConvex_mesh.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domConvex_mesh::create(DAE& dae)
+{
+ domConvex_meshRef ref = new domConvex_mesh(dae);
+ ref->attrConvex_hull_of.setContainer( (domConvex_mesh*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domConvex_mesh::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "convex_mesh" );
+ meta->registerClass(domConvex_mesh::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 0, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "source" );
+ mea->setOffset( daeOffsetOf(domConvex_mesh,elemSource_array) );
+ mea->setElementType( domSource::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "vertices" );
+ mea->setOffset( daeOffsetOf(domConvex_mesh,elemVertices) );
+ mea->setElementType( domVertices::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 2, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "lines" );
+ mea->setOffset( daeOffsetOf(domConvex_mesh,elemLines_array) );
+ mea->setElementType( domLines::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "linestrips" );
+ mea->setOffset( daeOffsetOf(domConvex_mesh,elemLinestrips_array) );
+ mea->setElementType( domLinestrips::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "polygons" );
+ mea->setOffset( daeOffsetOf(domConvex_mesh,elemPolygons_array) );
+ mea->setElementType( domPolygons::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "polylist" );
+ mea->setOffset( daeOffsetOf(domConvex_mesh,elemPolylist_array) );
+ mea->setElementType( domPolylist::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "triangles" );
+ mea->setOffset( daeOffsetOf(domConvex_mesh,elemTriangles_array) );
+ mea->setElementType( domTriangles::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "trifans" );
+ mea->setOffset( daeOffsetOf(domConvex_mesh,elemTrifans_array) );
+ mea->setElementType( domTrifans::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "tristrips" );
+ mea->setOffset( daeOffsetOf(domConvex_mesh,elemTristrips_array) );
+ mea->setElementType( domTristrips::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3003, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domConvex_mesh,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3003 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domConvex_mesh,_contents));
+ meta->addContentsOrder(daeOffsetOf(domConvex_mesh,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domConvex_mesh,_CMData), 1);
+ // Add attribute: convex_hull_of
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "convex_hull_of" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domConvex_mesh , attrConvex_hull_of ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domConvex_mesh));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domCurve.cpp b/1.4.0/dom/src/1.5/dom/domCurve.cpp
new file mode 100644
index 0000000..71eba93
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domCurve.cpp
@@ -0,0 +1,127 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domCurve.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domCurve::create(DAE& dae)
+{
+ domCurveRef ref = new domCurve(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCurve::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "curve" );
+ meta->registerClass(domCurve::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "line" );
+ mea->setOffset( daeOffsetOf(domCurve,elemLine) );
+ mea->setElementType( domLine::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "circle" );
+ mea->setOffset( daeOffsetOf(domCurve,elemCircle) );
+ mea->setElementType( domCircle::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "ellipse" );
+ mea->setOffset( daeOffsetOf(domCurve,elemEllipse) );
+ mea->setElementType( domEllipse::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "parabola" );
+ mea->setOffset( daeOffsetOf(domCurve,elemParabola) );
+ mea->setElementType( domParabola::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "hyperbola" );
+ mea->setOffset( daeOffsetOf(domCurve,elemHyperbola) );
+ mea->setElementType( domHyperbola::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "nurbs" );
+ mea->setOffset( daeOffsetOf(domCurve,elemNurbs) );
+ mea->setElementType( domNurbs::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "orient" );
+ mea->setOffset( daeOffsetOf(domCurve,elemOrient_array) );
+ mea->setElementType( domOrient::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "origin" );
+ mea->setOffset( daeOffsetOf(domCurve,elemOrigin) );
+ mea->setElementType( domOrigin::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domCurve,_contents));
+ meta->addContentsOrder(daeOffsetOf(domCurve,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domCurve,_CMData), 1);
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domCurve , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domCurve , attrName ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCurve));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domCurves.cpp b/1.4.0/dom/src/1.5/dom/domCurves.cpp
new file mode 100644
index 0000000..85c21ca
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domCurves.cpp
@@ -0,0 +1,57 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domCurves.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domCurves::create(DAE& dae)
+{
+ domCurvesRef ref = new domCurves(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCurves::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "curves" );
+ meta->registerClass(domCurves::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "curve" );
+ mea->setOffset( daeOffsetOf(domCurves,elemCurve_array) );
+ mea->setElementType( domCurve::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domCurves,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domCurves));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domCylinder.cpp b/1.4.0/dom/src/1.5/dom/domCylinder.cpp
new file mode 100644
index 0000000..e4d279d
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domCylinder.cpp
@@ -0,0 +1,135 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domCylinder.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domCylinder::create(DAE& dae)
+{
+ domCylinderRef ref = new domCylinder(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCylinder::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cylinder" );
+ meta->registerClass(domCylinder::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "height" );
+ mea->setOffset( daeOffsetOf(domCylinder,elemHeight) );
+ mea->setElementType( domCylinder::domHeight::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "radius" );
+ mea->setOffset( daeOffsetOf(domCylinder,elemRadius) );
+ mea->setElementType( domCylinder::domRadius::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domCylinder,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domCylinder));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCylinder::domHeight::create(DAE& dae)
+{
+ domCylinder::domHeightRef ref = new domCylinder::domHeight(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCylinder::domHeight::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "height" );
+ meta->registerClass(domCylinder::domHeight::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domCylinder::domHeight , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCylinder::domHeight));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domCylinder::domRadius::create(DAE& dae)
+{
+ domCylinder::domRadiusRef ref = new domCylinder::domRadius(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domCylinder::domRadius::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "radius" );
+ meta->registerClass(domCylinder::domRadius::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domCylinder::domRadius , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domCylinder::domRadius));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domEdges.cpp b/1.4.0/dom/src/1.5/dom/domEdges.cpp
new file mode 100644
index 0000000..051187c
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domEdges.cpp
@@ -0,0 +1,98 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domEdges.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domEdges::create(DAE& dae)
+{
+ domEdgesRef ref = new domEdges(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domEdges::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "edges" );
+ meta->registerClass(domEdges::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 4, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domEdges,elemInput_array) );
+ mea->setElementType( domInput_local_offset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "p" );
+ mea->setOffset( daeOffsetOf(domEdges,elemP) );
+ mea->setElementType( domP::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domEdges,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domEdges , attrId ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domEdges , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("xsInt"));
+ ma->setOffset( daeOffsetOf( domEdges , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domEdges));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domEffect.cpp b/1.4.0/dom/src/1.5/dom/domEffect.cpp
new file mode 100644
index 0000000..aac02d7
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domEffect.cpp
@@ -0,0 +1,98 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domEffect.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domEffect::create(DAE& dae)
+{
+ domEffectRef ref = new domEffect(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domEffect::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "effect" );
+ meta->registerClass(domEffect::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domEffect,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domEffect,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "newparam" );
+ mea->setOffset( daeOffsetOf(domEffect,elemNewparam_array) );
+ mea->setElementType( domFx_newparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 1, -1 );
+ mea->setName( "fx_profile" );
+ mea->setOffset( daeOffsetOf(domEffect,elemFx_profile_array) );
+ mea->setElementType( domFx_profile::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 3, 1, -1 ) );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 4, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domEffect,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 4 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domEffect , attrId ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domEffect , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domEffect));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domEllipse.cpp b/1.4.0/dom/src/1.5/dom/domEllipse.cpp
new file mode 100644
index 0000000..02d41ea
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domEllipse.cpp
@@ -0,0 +1,93 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domEllipse.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domEllipse::create(DAE& dae)
+{
+ domEllipseRef ref = new domEllipse(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domEllipse::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "ellipse" );
+ meta->registerClass(domEllipse::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "radius" );
+ mea->setOffset( daeOffsetOf(domEllipse,elemRadius) );
+ mea->setElementType( domEllipse::domRadius::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domEllipse,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domEllipse));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domEllipse::domRadius::create(DAE& dae)
+{
+ domEllipse::domRadiusRef ref = new domEllipse::domRadius(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domEllipse::domRadius::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "radius" );
+ meta->registerClass(domEllipse::domRadius::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domEllipse::domRadius , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domEllipse::domRadius));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domEllipsoid.cpp b/1.4.0/dom/src/1.5/dom/domEllipsoid.cpp
new file mode 100644
index 0000000..c2fb297
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domEllipsoid.cpp
@@ -0,0 +1,87 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domEllipsoid.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domEllipsoid::create(DAE& dae)
+{
+ domEllipsoidRef ref = new domEllipsoid(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domEllipsoid::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "ellipsoid" );
+ meta->registerClass(domEllipsoid::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "size" );
+ mea->setOffset( daeOffsetOf(domEllipsoid,elemSize) );
+ mea->setElementType( domEllipsoid::domSize::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domEllipsoid));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domEllipsoid::domSize::create(DAE& dae)
+{
+ domEllipsoid::domSizeRef ref = new domEllipsoid::domSize(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domEllipsoid::domSize::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "size" );
+ meta->registerClass(domEllipsoid::domSize::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domEllipsoid::domSize , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domEllipsoid::domSize));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domExtra.cpp b/1.4.0/dom/src/1.5/dom/domExtra.cpp
new file mode 100644
index 0000000..424e17a
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domExtra.cpp
@@ -0,0 +1,90 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domExtra.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domExtra::create(DAE& dae)
+{
+ domExtraRef ref = new domExtra(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domExtra::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "extra" );
+ meta->registerClass(domExtra::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domExtra,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domExtra,elemTechnique_array) );
+ mea->setElementType( domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domExtra , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domExtra , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: type
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "type" );
+ ma->setType( dae.getAtomicTypes().get("xsNMTOKEN"));
+ ma->setOffset( daeOffsetOf( domExtra , attrType ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domExtra));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFaces.cpp b/1.4.0/dom/src/1.5/dom/domFaces.cpp
new file mode 100644
index 0000000..743d6c7
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFaces.cpp
@@ -0,0 +1,140 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFaces.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFaces::create(DAE& dae)
+{
+ domFacesRef ref = new domFaces(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFaces::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "faces" );
+ meta->registerClass(domFaces::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 3, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domFaces,elemInput_array) );
+ mea->setElementType( domInput_local_offset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "vcount" );
+ mea->setOffset( daeOffsetOf(domFaces,elemVcount) );
+ mea->setElementType( domFaces::domVcount::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "p" );
+ mea->setOffset( daeOffsetOf(domFaces,elemP) );
+ mea->setElementType( domP::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domFaces,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domFaces , attrId ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domFaces , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domFaces , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFaces));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFaces::domVcount::create(DAE& dae)
+{
+ domFaces::domVcountRef ref = new domFaces::domVcount(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFaces::domVcount::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "vcount" );
+ meta->registerClass(domFaces::domVcount::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("List_of_uints"));
+ ma->setOffset( daeOffsetOf( domFaces::domVcount , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFaces::domVcount));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFloat_array.cpp b/1.4.0/dom/src/1.5/dom/domFloat_array.cpp
new file mode 100644
index 0000000..6e9fd0c
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFloat_array.cpp
@@ -0,0 +1,106 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFloat_array.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFloat_array::create(DAE& dae)
+{
+ domFloat_arrayRef ref = new domFloat_array(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFloat_array::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float_array" );
+ meta->registerClass(domFloat_array::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("List_of_floats"));
+ ma->setOffset( daeOffsetOf( domFloat_array , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domFloat_array , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domFloat_array , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domFloat_array , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: digits
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "digits" );
+ ma->setType( dae.getAtomicTypes().get("Digits"));
+ ma->setOffset( daeOffsetOf( domFloat_array , attrDigits ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "6");
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: magnitude
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "magnitude" );
+ ma->setType( dae.getAtomicTypes().get("Magnitude"));
+ ma->setOffset( daeOffsetOf( domFloat_array , attrMagnitude ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "38");
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFloat_array));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domForce_field.cpp b/1.4.0/dom/src/1.5/dom/domForce_field.cpp
new file mode 100644
index 0000000..4df52be
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domForce_field.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domForce_field.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domForce_field::create(DAE& dae)
+{
+ domForce_fieldRef ref = new domForce_field(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domForce_field::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "force_field" );
+ meta->registerClass(domForce_field::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domForce_field,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domForce_field,elemTechnique_array) );
+ mea->setElementType( domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domForce_field,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domForce_field , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domForce_field , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domForce_field));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFormula.cpp b/1.4.0/dom/src/1.5/dom/domFormula.cpp
new file mode 100644
index 0000000..e3d3d08
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFormula.cpp
@@ -0,0 +1,102 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFormula.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFormula::create(DAE& dae)
+{
+ domFormulaRef ref = new domFormula(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFormula::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "formula" );
+ meta->registerClass(domFormula::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "newparam" );
+ mea->setOffset( daeOffsetOf(domFormula,elemNewparam_array) );
+ mea->setElementType( domFormula_newparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "target" );
+ mea->setOffset( daeOffsetOf(domFormula,elemTarget) );
+ mea->setElementType( domCommon_float_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "technique_common" );
+ mea->setOffset( daeOffsetOf(domFormula,elemTechnique_common) );
+ mea->setElementType( domFormula_technique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domFormula,elemTechnique_array) );
+ mea->setElementType( domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domFormula , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domFormula , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domFormula , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFormula));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFormula_newparam.cpp b/1.4.0/dom/src/1.5/dom/domFormula_newparam.cpp
new file mode 100644
index 0000000..6373948
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFormula_newparam.cpp
@@ -0,0 +1,228 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFormula_newparam.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFormula_newparam::create(DAE& dae)
+{
+ domFormula_newparamRef ref = new domFormula_newparam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFormula_newparam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "formula_newparam" );
+ meta->registerClass(domFormula_newparam::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float" );
+ mea->setOffset( daeOffsetOf(domFormula_newparam,elemFloat) );
+ mea->setElementType( domFormula_newparam::domFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int" );
+ mea->setOffset( daeOffsetOf(domFormula_newparam,elemInt) );
+ mea->setElementType( domFormula_newparam::domInt::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "SIDREF" );
+ mea->setOffset( daeOffsetOf(domFormula_newparam,elemSIDREF) );
+ mea->setElementType( domFormula_newparam::domSIDREF::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool" );
+ mea->setOffset( daeOffsetOf(domFormula_newparam,elemBool) );
+ mea->setElementType( domFormula_newparam::domBool::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domFormula_newparam,_contents));
+ meta->addContentsOrder(daeOffsetOf(domFormula_newparam,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domFormula_newparam,_CMData), 1);
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domFormula_newparam , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFormula_newparam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFormula_newparam::domFloat::create(DAE& dae)
+{
+ domFormula_newparam::domFloatRef ref = new domFormula_newparam::domFloat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFormula_newparam::domFloat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float" );
+ meta->registerClass(domFormula_newparam::domFloat::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domFormula_newparam::domFloat , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFormula_newparam::domFloat));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFormula_newparam::domInt::create(DAE& dae)
+{
+ domFormula_newparam::domIntRef ref = new domFormula_newparam::domInt(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFormula_newparam::domInt::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int" );
+ meta->registerClass(domFormula_newparam::domInt::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int"));
+ ma->setOffset( daeOffsetOf( domFormula_newparam::domInt , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFormula_newparam::domInt));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFormula_newparam::domSIDREF::create(DAE& dae)
+{
+ domFormula_newparam::domSIDREFRef ref = new domFormula_newparam::domSIDREF(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFormula_newparam::domSIDREF::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "SIDREF" );
+ meta->registerClass(domFormula_newparam::domSIDREF::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Sidref"));
+ ma->setOffset( daeOffsetOf( domFormula_newparam::domSIDREF , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFormula_newparam::domSIDREF));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFormula_newparam::domBool::create(DAE& dae)
+{
+ domFormula_newparam::domBoolRef ref = new domFormula_newparam::domBool(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFormula_newparam::domBool::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool" );
+ meta->registerClass(domFormula_newparam::domBool::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domFormula_newparam::domBool , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFormula_newparam::domBool));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFormula_setparam.cpp b/1.4.0/dom/src/1.5/dom/domFormula_setparam.cpp
new file mode 100644
index 0000000..26e7254
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFormula_setparam.cpp
@@ -0,0 +1,235 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFormula_setparam.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFormula_setparam::create(DAE& dae)
+{
+ domFormula_setparamRef ref = new domFormula_setparam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFormula_setparam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "formula_setparam" );
+ meta->registerClass(domFormula_setparam::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float" );
+ mea->setOffset( daeOffsetOf(domFormula_setparam,elemFloat) );
+ mea->setElementType( domFormula_setparam::domFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int" );
+ mea->setOffset( daeOffsetOf(domFormula_setparam,elemInt) );
+ mea->setElementType( domFormula_setparam::domInt::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "SIDREF" );
+ mea->setOffset( daeOffsetOf(domFormula_setparam,elemSIDREF) );
+ mea->setElementType( domFormula_setparam::domSIDREF::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool" );
+ mea->setOffset( daeOffsetOf(domFormula_setparam,elemBool) );
+ mea->setElementType( domFormula_setparam::domBool::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "connect_param" );
+ mea->setOffset( daeOffsetOf(domFormula_setparam,elemConnect_param) );
+ mea->setElementType( domKinematics_connect_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domFormula_setparam,_contents));
+ meta->addContentsOrder(daeOffsetOf(domFormula_setparam,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domFormula_setparam,_CMData), 1);
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domFormula_setparam , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFormula_setparam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFormula_setparam::domFloat::create(DAE& dae)
+{
+ domFormula_setparam::domFloatRef ref = new domFormula_setparam::domFloat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFormula_setparam::domFloat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float" );
+ meta->registerClass(domFormula_setparam::domFloat::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domFormula_setparam::domFloat , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFormula_setparam::domFloat));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFormula_setparam::domInt::create(DAE& dae)
+{
+ domFormula_setparam::domIntRef ref = new domFormula_setparam::domInt(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFormula_setparam::domInt::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int" );
+ meta->registerClass(domFormula_setparam::domInt::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int"));
+ ma->setOffset( daeOffsetOf( domFormula_setparam::domInt , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFormula_setparam::domInt));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFormula_setparam::domSIDREF::create(DAE& dae)
+{
+ domFormula_setparam::domSIDREFRef ref = new domFormula_setparam::domSIDREF(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFormula_setparam::domSIDREF::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "SIDREF" );
+ meta->registerClass(domFormula_setparam::domSIDREF::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Sidref"));
+ ma->setOffset( daeOffsetOf( domFormula_setparam::domSIDREF , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFormula_setparam::domSIDREF));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFormula_setparam::domBool::create(DAE& dae)
+{
+ domFormula_setparam::domBoolRef ref = new domFormula_setparam::domBool(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFormula_setparam::domBool::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool" );
+ meta->registerClass(domFormula_setparam::domBool::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domFormula_setparam::domBool , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFormula_setparam::domBool));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFormula_technique.cpp b/1.4.0/dom/src/1.5/dom/domFormula_technique.cpp
new file mode 100644
index 0000000..fca8fc1
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFormula_technique.cpp
@@ -0,0 +1,55 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFormula_technique.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFormula_technique::create(DAE& dae)
+{
+ domFormula_techniqueRef ref = new domFormula_technique(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFormula_technique::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "formula_technique" );
+ meta->registerClass(domFormula_technique::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaAny( meta, cm, 0, 0, -1 );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ meta->setAllowsAny( true );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domFormula_technique,_contents));
+ meta->addContentsOrder(daeOffsetOf(domFormula_technique,_contentsOrder));
+
+
+ meta->setElementSize(sizeof(domFormula_technique));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_annotate.cpp b/1.4.0/dom/src/1.5/dom/domFx_annotate.cpp
new file mode 100644
index 0000000..f07453d
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_annotate.cpp
@@ -0,0 +1,722 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_annotate.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_annotate::create(DAE& dae)
+{
+ domFx_annotateRef ref = new domFx_annotate(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_annotate" );
+ meta->registerClass(domFx_annotate::create);
+
+ meta->setIsTransparent( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool" );
+ mea->setOffset( daeOffsetOf(domFx_annotate,elemBool) );
+ mea->setElementType( domFx_annotate::domBool::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool2" );
+ mea->setOffset( daeOffsetOf(domFx_annotate,elemBool2) );
+ mea->setElementType( domFx_annotate::domBool2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool3" );
+ mea->setOffset( daeOffsetOf(domFx_annotate,elemBool3) );
+ mea->setElementType( domFx_annotate::domBool3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool4" );
+ mea->setOffset( daeOffsetOf(domFx_annotate,elemBool4) );
+ mea->setElementType( domFx_annotate::domBool4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int" );
+ mea->setOffset( daeOffsetOf(domFx_annotate,elemInt) );
+ mea->setElementType( domFx_annotate::domInt::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int2" );
+ mea->setOffset( daeOffsetOf(domFx_annotate,elemInt2) );
+ mea->setElementType( domFx_annotate::domInt2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int3" );
+ mea->setOffset( daeOffsetOf(domFx_annotate,elemInt3) );
+ mea->setElementType( domFx_annotate::domInt3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int4" );
+ mea->setOffset( daeOffsetOf(domFx_annotate,elemInt4) );
+ mea->setElementType( domFx_annotate::domInt4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float" );
+ mea->setOffset( daeOffsetOf(domFx_annotate,elemFloat) );
+ mea->setElementType( domFx_annotate::domFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2" );
+ mea->setOffset( daeOffsetOf(domFx_annotate,elemFloat2) );
+ mea->setElementType( domFx_annotate::domFloat2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3" );
+ mea->setOffset( daeOffsetOf(domFx_annotate,elemFloat3) );
+ mea->setElementType( domFx_annotate::domFloat3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4" );
+ mea->setOffset( daeOffsetOf(domFx_annotate,elemFloat4) );
+ mea->setElementType( domFx_annotate::domFloat4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x2" );
+ mea->setOffset( daeOffsetOf(domFx_annotate,elemFloat2x2) );
+ mea->setElementType( domFx_annotate::domFloat2x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x3" );
+ mea->setOffset( daeOffsetOf(domFx_annotate,elemFloat3x3) );
+ mea->setElementType( domFx_annotate::domFloat3x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x4" );
+ mea->setOffset( daeOffsetOf(domFx_annotate,elemFloat4x4) );
+ mea->setElementType( domFx_annotate::domFloat4x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "string" );
+ mea->setOffset( daeOffsetOf(domFx_annotate,elemString) );
+ mea->setElementType( domFx_annotate::domString::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domFx_annotate,_contents));
+ meta->addContentsOrder(daeOffsetOf(domFx_annotate,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domFx_annotate,_CMData), 1);
+ meta->setElementSize(sizeof(domFx_annotate));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate::domBool::create(DAE& dae)
+{
+ domFx_annotate::domBoolRef ref = new domFx_annotate::domBool(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate::domBool::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool" );
+ meta->registerClass(domFx_annotate::domBool::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domFx_annotate::domBool , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate::domBool));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate::domBool2::create(DAE& dae)
+{
+ domFx_annotate::domBool2Ref ref = new domFx_annotate::domBool2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate::domBool2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool2" );
+ meta->registerClass(domFx_annotate::domBool2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool2"));
+ ma->setOffset( daeOffsetOf( domFx_annotate::domBool2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate::domBool2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate::domBool3::create(DAE& dae)
+{
+ domFx_annotate::domBool3Ref ref = new domFx_annotate::domBool3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate::domBool3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool3" );
+ meta->registerClass(domFx_annotate::domBool3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool3"));
+ ma->setOffset( daeOffsetOf( domFx_annotate::domBool3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate::domBool3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate::domBool4::create(DAE& dae)
+{
+ domFx_annotate::domBool4Ref ref = new domFx_annotate::domBool4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate::domBool4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool4" );
+ meta->registerClass(domFx_annotate::domBool4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool4"));
+ ma->setOffset( daeOffsetOf( domFx_annotate::domBool4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate::domBool4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate::domInt::create(DAE& dae)
+{
+ domFx_annotate::domIntRef ref = new domFx_annotate::domInt(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate::domInt::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int" );
+ meta->registerClass(domFx_annotate::domInt::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int"));
+ ma->setOffset( daeOffsetOf( domFx_annotate::domInt , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate::domInt));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate::domInt2::create(DAE& dae)
+{
+ domFx_annotate::domInt2Ref ref = new domFx_annotate::domInt2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate::domInt2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int2" );
+ meta->registerClass(domFx_annotate::domInt2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int2"));
+ ma->setOffset( daeOffsetOf( domFx_annotate::domInt2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate::domInt2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate::domInt3::create(DAE& dae)
+{
+ domFx_annotate::domInt3Ref ref = new domFx_annotate::domInt3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate::domInt3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int3" );
+ meta->registerClass(domFx_annotate::domInt3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int3"));
+ ma->setOffset( daeOffsetOf( domFx_annotate::domInt3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate::domInt3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate::domInt4::create(DAE& dae)
+{
+ domFx_annotate::domInt4Ref ref = new domFx_annotate::domInt4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate::domInt4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int4" );
+ meta->registerClass(domFx_annotate::domInt4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int4"));
+ ma->setOffset( daeOffsetOf( domFx_annotate::domInt4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate::domInt4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate::domFloat::create(DAE& dae)
+{
+ domFx_annotate::domFloatRef ref = new domFx_annotate::domFloat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate::domFloat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float" );
+ meta->registerClass(domFx_annotate::domFloat::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domFx_annotate::domFloat , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate::domFloat));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate::domFloat2::create(DAE& dae)
+{
+ domFx_annotate::domFloat2Ref ref = new domFx_annotate::domFloat2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate::domFloat2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2" );
+ meta->registerClass(domFx_annotate::domFloat2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domFx_annotate::domFloat2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate::domFloat2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate::domFloat3::create(DAE& dae)
+{
+ domFx_annotate::domFloat3Ref ref = new domFx_annotate::domFloat3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate::domFloat3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3" );
+ meta->registerClass(domFx_annotate::domFloat3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domFx_annotate::domFloat3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate::domFloat3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate::domFloat4::create(DAE& dae)
+{
+ domFx_annotate::domFloat4Ref ref = new domFx_annotate::domFloat4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate::domFloat4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4" );
+ meta->registerClass(domFx_annotate::domFloat4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domFx_annotate::domFloat4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate::domFloat4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate::domFloat2x2::create(DAE& dae)
+{
+ domFx_annotate::domFloat2x2Ref ref = new domFx_annotate::domFloat2x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate::domFloat2x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x2" );
+ meta->registerClass(domFx_annotate::domFloat2x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x2"));
+ ma->setOffset( daeOffsetOf( domFx_annotate::domFloat2x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate::domFloat2x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate::domFloat3x3::create(DAE& dae)
+{
+ domFx_annotate::domFloat3x3Ref ref = new domFx_annotate::domFloat3x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate::domFloat3x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x3" );
+ meta->registerClass(domFx_annotate::domFloat3x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x3"));
+ ma->setOffset( daeOffsetOf( domFx_annotate::domFloat3x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate::domFloat3x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate::domFloat4x4::create(DAE& dae)
+{
+ domFx_annotate::domFloat4x4Ref ref = new domFx_annotate::domFloat4x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate::domFloat4x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x4" );
+ meta->registerClass(domFx_annotate::domFloat4x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x4"));
+ ma->setOffset( daeOffsetOf( domFx_annotate::domFloat4x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate::domFloat4x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_annotate::domString::create(DAE& dae)
+{
+ domFx_annotate::domStringRef ref = new domFx_annotate::domString(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_annotate::domString::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "string" );
+ meta->registerClass(domFx_annotate::domString::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domFx_annotate::domString , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_annotate::domString));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_clearcolor.cpp b/1.4.0/dom/src/1.5/dom/domFx_clearcolor.cpp
new file mode 100644
index 0000000..28dbabf
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_clearcolor.cpp
@@ -0,0 +1,61 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_clearcolor.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_clearcolor::create(DAE& dae)
+{
+ domFx_clearcolorRef ref = new domFx_clearcolor(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_clearcolor::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_clearcolor" );
+ meta->registerClass(domFx_clearcolor::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_color"));
+ ma->setOffset( daeOffsetOf( domFx_clearcolor , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("xsNonNegativeInteger"));
+ ma->setOffset( daeOffsetOf( domFx_clearcolor , attrIndex ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_clearcolor));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_cleardepth.cpp b/1.4.0/dom/src/1.5/dom/domFx_cleardepth.cpp
new file mode 100644
index 0000000..3c5f3ab
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_cleardepth.cpp
@@ -0,0 +1,61 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_cleardepth.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_cleardepth::create(DAE& dae)
+{
+ domFx_cleardepthRef ref = new domFx_cleardepth(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_cleardepth::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_cleardepth" );
+ meta->registerClass(domFx_cleardepth::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domFx_cleardepth , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("xsNonNegativeInteger"));
+ ma->setOffset( daeOffsetOf( domFx_cleardepth , attrIndex ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_cleardepth));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_clearstencil.cpp b/1.4.0/dom/src/1.5/dom/domFx_clearstencil.cpp
new file mode 100644
index 0000000..9422e1d
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_clearstencil.cpp
@@ -0,0 +1,61 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_clearstencil.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_clearstencil::create(DAE& dae)
+{
+ domFx_clearstencilRef ref = new domFx_clearstencil(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_clearstencil::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_clearstencil" );
+ meta->registerClass(domFx_clearstencil::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsByte"));
+ ma->setOffset( daeOffsetOf( domFx_clearstencil , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("xsNonNegativeInteger"));
+ ma->setOffset( daeOffsetOf( domFx_clearstencil , attrIndex ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_clearstencil));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_code.cpp b/1.4.0/dom/src/1.5/dom/domFx_code.cpp
new file mode 100644
index 0000000..c08a0b4
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_code.cpp
@@ -0,0 +1,60 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_code.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_code::create(DAE& dae)
+{
+ domFx_codeRef ref = new domFx_code(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_code::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_code" );
+ meta->registerClass(domFx_code::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domFx_code , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domFx_code , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_code));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_colortarget.cpp b/1.4.0/dom/src/1.5/dom/domFx_colortarget.cpp
new file mode 100644
index 0000000..b86f5c0
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_colortarget.cpp
@@ -0,0 +1,119 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_colortarget.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_colortarget::create(DAE& dae)
+{
+ domFx_colortargetRef ref = new domFx_colortarget(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_colortarget::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_colortarget" );
+ meta->registerClass(domFx_colortarget::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domFx_colortarget,elemParam) );
+ mea->setElementType( domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "instance_image" );
+ mea->setOffset( daeOffsetOf(domFx_colortarget,elemInstance_image) );
+ mea->setElementType( domInstance_image::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domFx_colortarget,_contents));
+ meta->addContentsOrder(daeOffsetOf(domFx_colortarget,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domFx_colortarget,_CMData), 1);
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("xsNonNegativeInteger"));
+ ma->setOffset( daeOffsetOf( domFx_colortarget , attrIndex ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: mip
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "mip" );
+ ma->setType( dae.getAtomicTypes().get("xsNonNegativeInteger"));
+ ma->setOffset( daeOffsetOf( domFx_colortarget , attrMip ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: face
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "face" );
+ ma->setType( dae.getAtomicTypes().get("Image_face"));
+ ma->setOffset( daeOffsetOf( domFx_colortarget , attrFace ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "POSITIVE_X");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: slice
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "slice" );
+ ma->setType( dae.getAtomicTypes().get("xsNonNegativeInteger"));
+ ma->setOffset( daeOffsetOf( domFx_colortarget , attrSlice ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_colortarget));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_common_color_or_texture.cpp b/1.4.0/dom/src/1.5/dom/domFx_common_color_or_texture.cpp
new file mode 100644
index 0000000..6f2d03b
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_common_color_or_texture.cpp
@@ -0,0 +1,216 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_common_color_or_texture.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_common_color_or_texture::create(DAE& dae)
+{
+ domFx_common_color_or_textureRef ref = new domFx_common_color_or_texture(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_common_color_or_texture::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_common_color_or_texture" );
+ meta->registerClass(domFx_common_color_or_texture::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "color" );
+ mea->setOffset( daeOffsetOf(domFx_common_color_or_texture,elemColor) );
+ mea->setElementType( domFx_common_color_or_texture::domColor::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domFx_common_color_or_texture,elemParam) );
+ mea->setElementType( domFx_common_color_or_texture::domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "texture" );
+ mea->setOffset( daeOffsetOf(domFx_common_color_or_texture,elemTexture) );
+ mea->setElementType( domFx_common_color_or_texture::domTexture::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domFx_common_color_or_texture,_contents));
+ meta->addContentsOrder(daeOffsetOf(domFx_common_color_or_texture,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domFx_common_color_or_texture,_CMData), 1);
+ meta->setElementSize(sizeof(domFx_common_color_or_texture));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_common_color_or_texture::domColor::create(DAE& dae)
+{
+ domFx_common_color_or_texture::domColorRef ref = new domFx_common_color_or_texture::domColor(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_common_color_or_texture::domColor::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "color" );
+ meta->registerClass(domFx_common_color_or_texture::domColor::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_color"));
+ ma->setOffset( daeOffsetOf( domFx_common_color_or_texture::domColor , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domFx_common_color_or_texture::domColor , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_common_color_or_texture::domColor));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_common_color_or_texture::domParam::create(DAE& dae)
+{
+ domFx_common_color_or_texture::domParamRef ref = new domFx_common_color_or_texture::domParam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_common_color_or_texture::domParam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "param" );
+ meta->registerClass(domFx_common_color_or_texture::domParam::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domFx_common_color_or_texture::domParam , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_common_color_or_texture::domParam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_common_color_or_texture::domTexture::create(DAE& dae)
+{
+ domFx_common_color_or_texture::domTextureRef ref = new domFx_common_color_or_texture::domTexture(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_common_color_or_texture::domTexture::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "texture" );
+ meta->registerClass(domFx_common_color_or_texture::domTexture::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domFx_common_color_or_texture::domTexture,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: texture
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "texture" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domFx_common_color_or_texture::domTexture , attrTexture ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: texcoord
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "texcoord" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domFx_common_color_or_texture::domTexture , attrTexcoord ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_common_color_or_texture::domTexture));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_common_float_or_param.cpp b/1.4.0/dom/src/1.5/dom/domFx_common_float_or_param.cpp
new file mode 100644
index 0000000..e59d3ec
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_common_float_or_param.cpp
@@ -0,0 +1,147 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_common_float_or_param.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_common_float_or_param::create(DAE& dae)
+{
+ domFx_common_float_or_paramRef ref = new domFx_common_float_or_param(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_common_float_or_param::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_common_float_or_param" );
+ meta->registerClass(domFx_common_float_or_param::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float" );
+ mea->setOffset( daeOffsetOf(domFx_common_float_or_param,elemFloat) );
+ mea->setElementType( domFx_common_float_or_param::domFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domFx_common_float_or_param,elemParam) );
+ mea->setElementType( domFx_common_float_or_param::domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domFx_common_float_or_param,_contents));
+ meta->addContentsOrder(daeOffsetOf(domFx_common_float_or_param,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domFx_common_float_or_param,_CMData), 1);
+ meta->setElementSize(sizeof(domFx_common_float_or_param));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_common_float_or_param::domFloat::create(DAE& dae)
+{
+ domFx_common_float_or_param::domFloatRef ref = new domFx_common_float_or_param::domFloat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_common_float_or_param::domFloat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float" );
+ meta->registerClass(domFx_common_float_or_param::domFloat::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domFx_common_float_or_param::domFloat , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domFx_common_float_or_param::domFloat , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_common_float_or_param::domFloat));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_common_float_or_param::domParam::create(DAE& dae)
+{
+ domFx_common_float_or_param::domParamRef ref = new domFx_common_float_or_param::domParam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_common_float_or_param::domParam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "param" );
+ meta->registerClass(domFx_common_float_or_param::domParam::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domFx_common_float_or_param::domParam , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_common_float_or_param::domParam));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_common_newparam.cpp b/1.4.0/dom/src/1.5/dom/domFx_common_newparam.cpp
new file mode 100644
index 0000000..1295e25
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_common_newparam.cpp
@@ -0,0 +1,283 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_common_newparam.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_common_newparam::create(DAE& dae)
+{
+ domFx_common_newparamRef ref = new domFx_common_newparam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_common_newparam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_common_newparam" );
+ meta->registerClass(domFx_common_newparam::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "semantic" );
+ mea->setOffset( daeOffsetOf(domFx_common_newparam,elemSemantic) );
+ mea->setElementType( domFx_common_newparam::domSemantic::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float" );
+ mea->setOffset( daeOffsetOf(domFx_common_newparam,elemFloat) );
+ mea->setElementType( domFx_common_newparam::domFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2" );
+ mea->setOffset( daeOffsetOf(domFx_common_newparam,elemFloat2) );
+ mea->setElementType( domFx_common_newparam::domFloat2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3" );
+ mea->setOffset( daeOffsetOf(domFx_common_newparam,elemFloat3) );
+ mea->setElementType( domFx_common_newparam::domFloat3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4" );
+ mea->setOffset( daeOffsetOf(domFx_common_newparam,elemFloat4) );
+ mea->setElementType( domFx_common_newparam::domFloat4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sampler2D" );
+ mea->setOffset( daeOffsetOf(domFx_common_newparam,elemSampler2D) );
+ mea->setElementType( domFx_sampler2D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domFx_common_newparam,_contents));
+ meta->addContentsOrder(daeOffsetOf(domFx_common_newparam,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domFx_common_newparam,_CMData), 1);
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domFx_common_newparam , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_common_newparam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_common_newparam::domSemantic::create(DAE& dae)
+{
+ domFx_common_newparam::domSemanticRef ref = new domFx_common_newparam::domSemantic(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_common_newparam::domSemantic::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "semantic" );
+ meta->registerClass(domFx_common_newparam::domSemantic::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domFx_common_newparam::domSemantic , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_common_newparam::domSemantic));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_common_newparam::domFloat::create(DAE& dae)
+{
+ domFx_common_newparam::domFloatRef ref = new domFx_common_newparam::domFloat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_common_newparam::domFloat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float" );
+ meta->registerClass(domFx_common_newparam::domFloat::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domFx_common_newparam::domFloat , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_common_newparam::domFloat));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_common_newparam::domFloat2::create(DAE& dae)
+{
+ domFx_common_newparam::domFloat2Ref ref = new domFx_common_newparam::domFloat2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_common_newparam::domFloat2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2" );
+ meta->registerClass(domFx_common_newparam::domFloat2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domFx_common_newparam::domFloat2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_common_newparam::domFloat2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_common_newparam::domFloat3::create(DAE& dae)
+{
+ domFx_common_newparam::domFloat3Ref ref = new domFx_common_newparam::domFloat3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_common_newparam::domFloat3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3" );
+ meta->registerClass(domFx_common_newparam::domFloat3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domFx_common_newparam::domFloat3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_common_newparam::domFloat3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_common_newparam::domFloat4::create(DAE& dae)
+{
+ domFx_common_newparam::domFloat4Ref ref = new domFx_common_newparam::domFloat4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_common_newparam::domFloat4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4" );
+ meta->registerClass(domFx_common_newparam::domFloat4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domFx_common_newparam::domFloat4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_common_newparam::domFloat4));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_common_transparent.cpp b/1.4.0/dom/src/1.5/dom/domFx_common_transparent.cpp
new file mode 100644
index 0000000..a4a93eb
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_common_transparent.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_common_transparent.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_common_transparent::create(DAE& dae)
+{
+ domFx_common_transparentRef ref = new domFx_common_transparent(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_common_transparent::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_common_transparent" );
+ meta->registerClass(domFx_common_transparent::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "color" );
+ mea->setOffset( daeOffsetOf(domFx_common_transparent,elemColor) );
+ mea->setElementType( domColor::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domFx_common_transparent,elemParam) );
+ mea->setElementType( domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "texture" );
+ mea->setOffset( daeOffsetOf(domFx_common_transparent,elemTexture) );
+ mea->setElementType( domTexture::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domFx_common_transparent,_contents));
+ meta->addContentsOrder(daeOffsetOf(domFx_common_transparent,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domFx_common_transparent,_CMData), 1);
+ // Add attribute: opaque
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "opaque" );
+ ma->setType( dae.getAtomicTypes().get("Fx_opaque"));
+ ma->setOffset( daeOffsetOf( domFx_common_transparent , attrOpaque ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "A_ONE");
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_common_transparent));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_depthtarget.cpp b/1.4.0/dom/src/1.5/dom/domFx_depthtarget.cpp
new file mode 100644
index 0000000..b791f8e
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_depthtarget.cpp
@@ -0,0 +1,119 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_depthtarget.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_depthtarget::create(DAE& dae)
+{
+ domFx_depthtargetRef ref = new domFx_depthtarget(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_depthtarget::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_depthtarget" );
+ meta->registerClass(domFx_depthtarget::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domFx_depthtarget,elemParam) );
+ mea->setElementType( domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "instance_image" );
+ mea->setOffset( daeOffsetOf(domFx_depthtarget,elemInstance_image) );
+ mea->setElementType( domInstance_image::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domFx_depthtarget,_contents));
+ meta->addContentsOrder(daeOffsetOf(domFx_depthtarget,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domFx_depthtarget,_CMData), 1);
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("xsNonNegativeInteger"));
+ ma->setOffset( daeOffsetOf( domFx_depthtarget , attrIndex ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: mip
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "mip" );
+ ma->setType( dae.getAtomicTypes().get("xsNonNegativeInteger"));
+ ma->setOffset( daeOffsetOf( domFx_depthtarget , attrMip ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: face
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "face" );
+ ma->setType( dae.getAtomicTypes().get("Image_face"));
+ ma->setOffset( daeOffsetOf( domFx_depthtarget , attrFace ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "POSITIVE_X");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: slice
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "slice" );
+ ma->setType( dae.getAtomicTypes().get("xsNonNegativeInteger"));
+ ma->setOffset( daeOffsetOf( domFx_depthtarget , attrSlice ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_depthtarget));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_include.cpp b/1.4.0/dom/src/1.5/dom/domFx_include.cpp
new file mode 100644
index 0000000..a472afa
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_include.cpp
@@ -0,0 +1,64 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_include.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_include::create(DAE& dae)
+{
+ domFx_includeRef ref = new domFx_include(dae);
+ ref->attrUrl.setContainer( (domFx_include*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_include::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_include" );
+ meta->registerClass(domFx_include::create);
+
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domFx_include , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domFx_include , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_include));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_newparam.cpp b/1.4.0/dom/src/1.5/dom/domFx_newparam.cpp
new file mode 100644
index 0000000..38b545c
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_newparam.cpp
@@ -0,0 +1,1136 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_newparam.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_newparam::create(DAE& dae)
+{
+ domFx_newparamRef ref = new domFx_newparam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_newparam" );
+ meta->registerClass(domFx_newparam::create);
+
+ meta->setIsTransparent( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemBool) );
+ mea->setElementType( domFx_newparam::domBool::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool2" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemBool2) );
+ mea->setElementType( domFx_newparam::domBool2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool3" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemBool3) );
+ mea->setElementType( domFx_newparam::domBool3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool4" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemBool4) );
+ mea->setElementType( domFx_newparam::domBool4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemInt) );
+ mea->setElementType( domFx_newparam::domInt::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int2" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemInt2) );
+ mea->setElementType( domFx_newparam::domInt2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int3" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemInt3) );
+ mea->setElementType( domFx_newparam::domInt3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int4" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemInt4) );
+ mea->setElementType( domFx_newparam::domInt4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemFloat) );
+ mea->setElementType( domFx_newparam::domFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemFloat2) );
+ mea->setElementType( domFx_newparam::domFloat2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemFloat3) );
+ mea->setElementType( domFx_newparam::domFloat3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemFloat4) );
+ mea->setElementType( domFx_newparam::domFloat4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x1" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemFloat2x1) );
+ mea->setElementType( domFx_newparam::domFloat2x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x2" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemFloat2x2) );
+ mea->setElementType( domFx_newparam::domFloat2x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x3" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemFloat2x3) );
+ mea->setElementType( domFx_newparam::domFloat2x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x4" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemFloat2x4) );
+ mea->setElementType( domFx_newparam::domFloat2x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x1" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemFloat3x1) );
+ mea->setElementType( domFx_newparam::domFloat3x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x2" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemFloat3x2) );
+ mea->setElementType( domFx_newparam::domFloat3x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x3" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemFloat3x3) );
+ mea->setElementType( domFx_newparam::domFloat3x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x4" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemFloat3x4) );
+ mea->setElementType( domFx_newparam::domFloat3x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x1" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemFloat4x1) );
+ mea->setElementType( domFx_newparam::domFloat4x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x2" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemFloat4x2) );
+ mea->setElementType( domFx_newparam::domFloat4x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x3" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemFloat4x3) );
+ mea->setElementType( domFx_newparam::domFloat4x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x4" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemFloat4x4) );
+ mea->setElementType( domFx_newparam::domFloat4x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sampler1D" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemSampler1D) );
+ mea->setElementType( domFx_sampler1D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sampler2D" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemSampler2D) );
+ mea->setElementType( domFx_sampler2D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sampler3D" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemSampler3D) );
+ mea->setElementType( domFx_sampler3D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "samplerCUBE" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemSamplerCUBE) );
+ mea->setElementType( domFx_samplerCUBE::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "samplerRECT" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemSamplerRECT) );
+ mea->setElementType( domFx_samplerRECT::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "samplerDEPTH" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemSamplerDEPTH) );
+ mea->setElementType( domFx_samplerDEPTH::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "enum" );
+ mea->setOffset( daeOffsetOf(domFx_newparam,elemEnum) );
+ mea->setElementType( domFx_newparam::domEnum::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domFx_newparam,_contents));
+ meta->addContentsOrder(daeOffsetOf(domFx_newparam,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domFx_newparam,_CMData), 1);
+ meta->setElementSize(sizeof(domFx_newparam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domBool::create(DAE& dae)
+{
+ domFx_newparam::domBoolRef ref = new domFx_newparam::domBool(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domBool::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool" );
+ meta->registerClass(domFx_newparam::domBool::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domBool , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domBool));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domBool2::create(DAE& dae)
+{
+ domFx_newparam::domBool2Ref ref = new domFx_newparam::domBool2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domBool2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool2" );
+ meta->registerClass(domFx_newparam::domBool2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool2"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domBool2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domBool2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domBool3::create(DAE& dae)
+{
+ domFx_newparam::domBool3Ref ref = new domFx_newparam::domBool3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domBool3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool3" );
+ meta->registerClass(domFx_newparam::domBool3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool3"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domBool3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domBool3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domBool4::create(DAE& dae)
+{
+ domFx_newparam::domBool4Ref ref = new domFx_newparam::domBool4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domBool4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool4" );
+ meta->registerClass(domFx_newparam::domBool4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool4"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domBool4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domBool4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domInt::create(DAE& dae)
+{
+ domFx_newparam::domIntRef ref = new domFx_newparam::domInt(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domInt::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int" );
+ meta->registerClass(domFx_newparam::domInt::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domInt , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domInt));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domInt2::create(DAE& dae)
+{
+ domFx_newparam::domInt2Ref ref = new domFx_newparam::domInt2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domInt2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int2" );
+ meta->registerClass(domFx_newparam::domInt2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int2"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domInt2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domInt2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domInt3::create(DAE& dae)
+{
+ domFx_newparam::domInt3Ref ref = new domFx_newparam::domInt3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domInt3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int3" );
+ meta->registerClass(domFx_newparam::domInt3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int3"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domInt3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domInt3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domInt4::create(DAE& dae)
+{
+ domFx_newparam::domInt4Ref ref = new domFx_newparam::domInt4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domInt4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int4" );
+ meta->registerClass(domFx_newparam::domInt4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int4"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domInt4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domInt4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domFloat::create(DAE& dae)
+{
+ domFx_newparam::domFloatRef ref = new domFx_newparam::domFloat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domFloat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float" );
+ meta->registerClass(domFx_newparam::domFloat::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domFloat , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domFloat));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domFloat2::create(DAE& dae)
+{
+ domFx_newparam::domFloat2Ref ref = new domFx_newparam::domFloat2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domFloat2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2" );
+ meta->registerClass(domFx_newparam::domFloat2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domFloat2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domFloat2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domFloat3::create(DAE& dae)
+{
+ domFx_newparam::domFloat3Ref ref = new domFx_newparam::domFloat3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domFloat3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3" );
+ meta->registerClass(domFx_newparam::domFloat3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domFloat3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domFloat3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domFloat4::create(DAE& dae)
+{
+ domFx_newparam::domFloat4Ref ref = new domFx_newparam::domFloat4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domFloat4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4" );
+ meta->registerClass(domFx_newparam::domFloat4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domFloat4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domFloat4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domFloat2x1::create(DAE& dae)
+{
+ domFx_newparam::domFloat2x1Ref ref = new domFx_newparam::domFloat2x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domFloat2x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x1" );
+ meta->registerClass(domFx_newparam::domFloat2x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domFloat2x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domFloat2x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domFloat2x2::create(DAE& dae)
+{
+ domFx_newparam::domFloat2x2Ref ref = new domFx_newparam::domFloat2x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domFloat2x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x2" );
+ meta->registerClass(domFx_newparam::domFloat2x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x2"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domFloat2x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domFloat2x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domFloat2x3::create(DAE& dae)
+{
+ domFx_newparam::domFloat2x3Ref ref = new domFx_newparam::domFloat2x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domFloat2x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x3" );
+ meta->registerClass(domFx_newparam::domFloat2x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x3"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domFloat2x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domFloat2x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domFloat2x4::create(DAE& dae)
+{
+ domFx_newparam::domFloat2x4Ref ref = new domFx_newparam::domFloat2x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domFloat2x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x4" );
+ meta->registerClass(domFx_newparam::domFloat2x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x4"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domFloat2x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domFloat2x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domFloat3x1::create(DAE& dae)
+{
+ domFx_newparam::domFloat3x1Ref ref = new domFx_newparam::domFloat3x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domFloat3x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x1" );
+ meta->registerClass(domFx_newparam::domFloat3x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domFloat3x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domFloat3x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domFloat3x2::create(DAE& dae)
+{
+ domFx_newparam::domFloat3x2Ref ref = new domFx_newparam::domFloat3x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domFloat3x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x2" );
+ meta->registerClass(domFx_newparam::domFloat3x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x2"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domFloat3x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domFloat3x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domFloat3x3::create(DAE& dae)
+{
+ domFx_newparam::domFloat3x3Ref ref = new domFx_newparam::domFloat3x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domFloat3x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x3" );
+ meta->registerClass(domFx_newparam::domFloat3x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x3"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domFloat3x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domFloat3x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domFloat3x4::create(DAE& dae)
+{
+ domFx_newparam::domFloat3x4Ref ref = new domFx_newparam::domFloat3x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domFloat3x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x4" );
+ meta->registerClass(domFx_newparam::domFloat3x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x4"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domFloat3x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domFloat3x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domFloat4x1::create(DAE& dae)
+{
+ domFx_newparam::domFloat4x1Ref ref = new domFx_newparam::domFloat4x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domFloat4x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x1" );
+ meta->registerClass(domFx_newparam::domFloat4x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domFloat4x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domFloat4x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domFloat4x2::create(DAE& dae)
+{
+ domFx_newparam::domFloat4x2Ref ref = new domFx_newparam::domFloat4x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domFloat4x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x2" );
+ meta->registerClass(domFx_newparam::domFloat4x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x2"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domFloat4x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domFloat4x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domFloat4x3::create(DAE& dae)
+{
+ domFx_newparam::domFloat4x3Ref ref = new domFx_newparam::domFloat4x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domFloat4x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x3" );
+ meta->registerClass(domFx_newparam::domFloat4x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x3"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domFloat4x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domFloat4x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domFloat4x4::create(DAE& dae)
+{
+ domFx_newparam::domFloat4x4Ref ref = new domFx_newparam::domFloat4x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domFloat4x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x4" );
+ meta->registerClass(domFx_newparam::domFloat4x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x4"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domFloat4x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domFloat4x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_newparam::domEnum::create(DAE& dae)
+{
+ domFx_newparam::domEnumRef ref = new domFx_newparam::domEnum(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_newparam::domEnum::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "enum" );
+ meta->registerClass(domFx_newparam::domEnum::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domFx_newparam::domEnum , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_newparam::domEnum));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_profile.cpp b/1.4.0/dom/src/1.5/dom/domFx_profile.cpp
new file mode 100644
index 0000000..32e3870
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_profile.cpp
@@ -0,0 +1,86 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_profile.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_profile::create(DAE& dae)
+{
+ domFx_profileRef ref = new domFx_profile(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_profile::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_profile" );
+ meta->registerClass(domFx_profile::create);
+
+ meta->setIsTransparent( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "profile_COMMON" );
+ mea->setOffset( daeOffsetOf(domFx_profile,elemProfile_COMMON) );
+ mea->setElementType( domProfile_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "profile_BRIDGE" );
+ mea->setOffset( daeOffsetOf(domFx_profile,elemProfile_BRIDGE) );
+ mea->setElementType( domProfile_bridge::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "profile_GLES2" );
+ mea->setOffset( daeOffsetOf(domFx_profile,elemProfile_GLES2) );
+ mea->setElementType( domProfile_gles2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "profile_GLSL" );
+ mea->setOffset( daeOffsetOf(domFx_profile,elemProfile_GLSL) );
+ mea->setElementType( domProfile_glsl::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "profile_CG" );
+ mea->setOffset( daeOffsetOf(domFx_profile,elemProfile_CG) );
+ mea->setElementType( domProfile_cg::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "profile_GLES" );
+ mea->setOffset( daeOffsetOf(domFx_profile,elemProfile_GLES) );
+ mea->setElementType( domProfile_gles::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domFx_profile,_contents));
+ meta->addContentsOrder(daeOffsetOf(domFx_profile,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domFx_profile,_CMData), 1);
+ meta->setElementSize(sizeof(domFx_profile));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_rendertarget.cpp b/1.4.0/dom/src/1.5/dom/domFx_rendertarget.cpp
new file mode 100644
index 0000000..a9fcaaa
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_rendertarget.cpp
@@ -0,0 +1,152 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_rendertarget.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_rendertarget::create(DAE& dae)
+{
+ domFx_rendertargetRef ref = new domFx_rendertarget(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_rendertarget::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_rendertarget" );
+ meta->registerClass(domFx_rendertarget::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domFx_rendertarget,elemParam) );
+ mea->setElementType( domFx_rendertarget::domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "instance_image" );
+ mea->setOffset( daeOffsetOf(domFx_rendertarget,elemInstance_image) );
+ mea->setElementType( domInstance_image::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domFx_rendertarget,_contents));
+ meta->addContentsOrder(daeOffsetOf(domFx_rendertarget,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domFx_rendertarget,_CMData), 1);
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("xsNonNegativeInteger"));
+ ma->setOffset( daeOffsetOf( domFx_rendertarget , attrIndex ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: mip
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "mip" );
+ ma->setType( dae.getAtomicTypes().get("xsNonNegativeInteger"));
+ ma->setOffset( daeOffsetOf( domFx_rendertarget , attrMip ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: face
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "face" );
+ ma->setType( dae.getAtomicTypes().get("Image_face"));
+ ma->setOffset( daeOffsetOf( domFx_rendertarget , attrFace ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "POSITIVE_X");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: slice
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "slice" );
+ ma->setType( dae.getAtomicTypes().get("xsNonNegativeInteger"));
+ ma->setOffset( daeOffsetOf( domFx_rendertarget , attrSlice ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_rendertarget));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_rendertarget::domParam::create(DAE& dae)
+{
+ domFx_rendertarget::domParamRef ref = new domFx_rendertarget::domParam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_rendertarget::domParam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "param" );
+ meta->registerClass(domFx_rendertarget::domParam::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domFx_rendertarget::domParam , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_rendertarget::domParam));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_sampler.cpp b/1.4.0/dom/src/1.5/dom/domFx_sampler.cpp
new file mode 100644
index 0000000..dd6b773
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_sampler.cpp
@@ -0,0 +1,57 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_sampler.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_sampler::create(DAE& dae)
+{
+ domFx_samplerRef ref = new domFx_sampler(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_sampler" );
+ meta->registerClass(domFx_sampler::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "instance_image" );
+ mea->setOffset( daeOffsetOf(domFx_sampler,elemInstance_image) );
+ mea->setElementType( domInstance_image::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "fx_sampler_states" );
+ mea->setOffset( daeOffsetOf(domFx_sampler,elemFx_sampler_states) );
+ mea->setElementType( domFx_sampler_states::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 1, 1, 1 ) );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domFx_sampler));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_sampler1D.cpp b/1.4.0/dom/src/1.5/dom/domFx_sampler1D.cpp
new file mode 100644
index 0000000..e0d462a
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_sampler1D.cpp
@@ -0,0 +1,63 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_sampler1D.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_sampler1D::create(DAE& dae)
+{
+ domFx_sampler1DRef ref = new domFx_sampler1D(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler1D::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_sampler1D" );
+ meta->registerClass(domFx_sampler1D::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "instance_image" );
+ mea->setOffset( daeOffsetOf(domFx_sampler1D,elemInstance_image) );
+ mea->setElementType( domInstance_image::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "fx_sampler_states" );
+ mea->setOffset( daeOffsetOf(domFx_sampler1D,elemFx_sampler_states) );
+ mea->setElementType( domFx_sampler_states::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 1, 1, 1 ) );
+
+ cm->setMaxOrdinal( 1 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domFx_sampler1D));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_sampler2D.cpp b/1.4.0/dom/src/1.5/dom/domFx_sampler2D.cpp
new file mode 100644
index 0000000..99b882d
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_sampler2D.cpp
@@ -0,0 +1,63 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_sampler2D.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_sampler2D::create(DAE& dae)
+{
+ domFx_sampler2DRef ref = new domFx_sampler2D(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler2D::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_sampler2D" );
+ meta->registerClass(domFx_sampler2D::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "instance_image" );
+ mea->setOffset( daeOffsetOf(domFx_sampler2D,elemInstance_image) );
+ mea->setElementType( domInstance_image::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "fx_sampler_states" );
+ mea->setOffset( daeOffsetOf(domFx_sampler2D,elemFx_sampler_states) );
+ mea->setElementType( domFx_sampler_states::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 1, 1, 1 ) );
+
+ cm->setMaxOrdinal( 1 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domFx_sampler2D));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_sampler3D.cpp b/1.4.0/dom/src/1.5/dom/domFx_sampler3D.cpp
new file mode 100644
index 0000000..a6a9a1c
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_sampler3D.cpp
@@ -0,0 +1,63 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_sampler3D.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_sampler3D::create(DAE& dae)
+{
+ domFx_sampler3DRef ref = new domFx_sampler3D(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler3D::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_sampler3D" );
+ meta->registerClass(domFx_sampler3D::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "instance_image" );
+ mea->setOffset( daeOffsetOf(domFx_sampler3D,elemInstance_image) );
+ mea->setElementType( domInstance_image::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "fx_sampler_states" );
+ mea->setOffset( daeOffsetOf(domFx_sampler3D,elemFx_sampler_states) );
+ mea->setElementType( domFx_sampler_states::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 1, 1, 1 ) );
+
+ cm->setMaxOrdinal( 1 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domFx_sampler3D));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_samplerCUBE.cpp b/1.4.0/dom/src/1.5/dom/domFx_samplerCUBE.cpp
new file mode 100644
index 0000000..215834d
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_samplerCUBE.cpp
@@ -0,0 +1,63 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_samplerCUBE.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_samplerCUBE::create(DAE& dae)
+{
+ domFx_samplerCUBERef ref = new domFx_samplerCUBE(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_samplerCUBE::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_samplerCUBE" );
+ meta->registerClass(domFx_samplerCUBE::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "instance_image" );
+ mea->setOffset( daeOffsetOf(domFx_samplerCUBE,elemInstance_image) );
+ mea->setElementType( domInstance_image::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "fx_sampler_states" );
+ mea->setOffset( daeOffsetOf(domFx_samplerCUBE,elemFx_sampler_states) );
+ mea->setElementType( domFx_sampler_states::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 1, 1, 1 ) );
+
+ cm->setMaxOrdinal( 1 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domFx_samplerCUBE));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_samplerDEPTH.cpp b/1.4.0/dom/src/1.5/dom/domFx_samplerDEPTH.cpp
new file mode 100644
index 0000000..0ed0e65
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_samplerDEPTH.cpp
@@ -0,0 +1,63 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_samplerDEPTH.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_samplerDEPTH::create(DAE& dae)
+{
+ domFx_samplerDEPTHRef ref = new domFx_samplerDEPTH(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_samplerDEPTH::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_samplerDEPTH" );
+ meta->registerClass(domFx_samplerDEPTH::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "instance_image" );
+ mea->setOffset( daeOffsetOf(domFx_samplerDEPTH,elemInstance_image) );
+ mea->setElementType( domInstance_image::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "fx_sampler_states" );
+ mea->setOffset( daeOffsetOf(domFx_samplerDEPTH,elemFx_sampler_states) );
+ mea->setElementType( domFx_sampler_states::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 1, 1, 1 ) );
+
+ cm->setMaxOrdinal( 1 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domFx_samplerDEPTH));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_samplerRECT.cpp b/1.4.0/dom/src/1.5/dom/domFx_samplerRECT.cpp
new file mode 100644
index 0000000..f704e7a
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_samplerRECT.cpp
@@ -0,0 +1,63 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_samplerRECT.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_samplerRECT::create(DAE& dae)
+{
+ domFx_samplerRECTRef ref = new domFx_samplerRECT(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_samplerRECT::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_samplerRECT" );
+ meta->registerClass(domFx_samplerRECT::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "instance_image" );
+ mea->setOffset( daeOffsetOf(domFx_samplerRECT,elemInstance_image) );
+ mea->setElementType( domInstance_image::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "fx_sampler_states" );
+ mea->setOffset( daeOffsetOf(domFx_samplerRECT,elemFx_sampler_states) );
+ mea->setElementType( domFx_sampler_states::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 1, 1, 1 ) );
+
+ cm->setMaxOrdinal( 1 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domFx_samplerRECT));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_sampler_states.cpp b/1.4.0/dom/src/1.5/dom/domFx_sampler_states.cpp
new file mode 100644
index 0000000..f5abfd7
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_sampler_states.cpp
@@ -0,0 +1,514 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_sampler_states.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_sampler_states::create(DAE& dae)
+{
+ domFx_sampler_statesRef ref = new domFx_sampler_states(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler_states::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_sampler_states" );
+ meta->registerClass(domFx_sampler_states::create);
+
+ meta->setIsTransparent( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "wrap_s" );
+ mea->setOffset( daeOffsetOf(domFx_sampler_states,elemWrap_s) );
+ mea->setElementType( domFx_sampler_states::domWrap_s::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "wrap_t" );
+ mea->setOffset( daeOffsetOf(domFx_sampler_states,elemWrap_t) );
+ mea->setElementType( domFx_sampler_states::domWrap_t::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "wrap_p" );
+ mea->setOffset( daeOffsetOf(domFx_sampler_states,elemWrap_p) );
+ mea->setElementType( domFx_sampler_states::domWrap_p::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "minfilter" );
+ mea->setOffset( daeOffsetOf(domFx_sampler_states,elemMinfilter) );
+ mea->setElementType( domFx_sampler_states::domMinfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "magfilter" );
+ mea->setOffset( daeOffsetOf(domFx_sampler_states,elemMagfilter) );
+ mea->setElementType( domFx_sampler_states::domMagfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "mipfilter" );
+ mea->setOffset( daeOffsetOf(domFx_sampler_states,elemMipfilter) );
+ mea->setElementType( domFx_sampler_states::domMipfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "border_color" );
+ mea->setOffset( daeOffsetOf(domFx_sampler_states,elemBorder_color) );
+ mea->setElementType( domFx_sampler_states::domBorder_color::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 7, 0, 1 );
+ mea->setName( "mip_max_level" );
+ mea->setOffset( daeOffsetOf(domFx_sampler_states,elemMip_max_level) );
+ mea->setElementType( domFx_sampler_states::domMip_max_level::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 8, 0, 1 );
+ mea->setName( "mip_min_level" );
+ mea->setOffset( daeOffsetOf(domFx_sampler_states,elemMip_min_level) );
+ mea->setElementType( domFx_sampler_states::domMip_min_level::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 9, 0, 1 );
+ mea->setName( "mip_bias" );
+ mea->setOffset( daeOffsetOf(domFx_sampler_states,elemMip_bias) );
+ mea->setElementType( domFx_sampler_states::domMip_bias::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 10, 0, 1 );
+ mea->setName( "max_anisotropy" );
+ mea->setOffset( daeOffsetOf(domFx_sampler_states,elemMax_anisotropy) );
+ mea->setElementType( domFx_sampler_states::domMax_anisotropy::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 11, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domFx_sampler_states,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 11 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domFx_sampler_states));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler_states::domWrap_s::create(DAE& dae)
+{
+ domFx_sampler_states::domWrap_sRef ref = new domFx_sampler_states::domWrap_s(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler_states::domWrap_s::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "wrap_s" );
+ meta->registerClass(domFx_sampler_states::domWrap_s::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_wrap"));
+ ma->setOffset( daeOffsetOf( domFx_sampler_states::domWrap_s , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler_states::domWrap_s));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler_states::domWrap_t::create(DAE& dae)
+{
+ domFx_sampler_states::domWrap_tRef ref = new domFx_sampler_states::domWrap_t(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler_states::domWrap_t::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "wrap_t" );
+ meta->registerClass(domFx_sampler_states::domWrap_t::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_wrap"));
+ ma->setOffset( daeOffsetOf( domFx_sampler_states::domWrap_t , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler_states::domWrap_t));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler_states::domWrap_p::create(DAE& dae)
+{
+ domFx_sampler_states::domWrap_pRef ref = new domFx_sampler_states::domWrap_p(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler_states::domWrap_p::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "wrap_p" );
+ meta->registerClass(domFx_sampler_states::domWrap_p::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_wrap"));
+ ma->setOffset( daeOffsetOf( domFx_sampler_states::domWrap_p , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler_states::domWrap_p));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler_states::domMinfilter::create(DAE& dae)
+{
+ domFx_sampler_states::domMinfilterRef ref = new domFx_sampler_states::domMinfilter(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler_states::domMinfilter::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "minfilter" );
+ meta->registerClass(domFx_sampler_states::domMinfilter::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_min_filter"));
+ ma->setOffset( daeOffsetOf( domFx_sampler_states::domMinfilter , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler_states::domMinfilter));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler_states::domMagfilter::create(DAE& dae)
+{
+ domFx_sampler_states::domMagfilterRef ref = new domFx_sampler_states::domMagfilter(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler_states::domMagfilter::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "magfilter" );
+ meta->registerClass(domFx_sampler_states::domMagfilter::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_mag_filter"));
+ ma->setOffset( daeOffsetOf( domFx_sampler_states::domMagfilter , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler_states::domMagfilter));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler_states::domMipfilter::create(DAE& dae)
+{
+ domFx_sampler_states::domMipfilterRef ref = new domFx_sampler_states::domMipfilter(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler_states::domMipfilter::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mipfilter" );
+ meta->registerClass(domFx_sampler_states::domMipfilter::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_mip_filter"));
+ ma->setOffset( daeOffsetOf( domFx_sampler_states::domMipfilter , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler_states::domMipfilter));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler_states::domBorder_color::create(DAE& dae)
+{
+ domFx_sampler_states::domBorder_colorRef ref = new domFx_sampler_states::domBorder_color(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler_states::domBorder_color::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "border_color" );
+ meta->registerClass(domFx_sampler_states::domBorder_color::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_color"));
+ ma->setOffset( daeOffsetOf( domFx_sampler_states::domBorder_color , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler_states::domBorder_color));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler_states::domMip_max_level::create(DAE& dae)
+{
+ domFx_sampler_states::domMip_max_levelRef ref = new domFx_sampler_states::domMip_max_level(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler_states::domMip_max_level::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mip_max_level" );
+ meta->registerClass(domFx_sampler_states::domMip_max_level::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedByte"));
+ ma->setOffset( daeOffsetOf( domFx_sampler_states::domMip_max_level , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler_states::domMip_max_level));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler_states::domMip_min_level::create(DAE& dae)
+{
+ domFx_sampler_states::domMip_min_levelRef ref = new domFx_sampler_states::domMip_min_level(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler_states::domMip_min_level::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mip_min_level" );
+ meta->registerClass(domFx_sampler_states::domMip_min_level::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedByte"));
+ ma->setOffset( daeOffsetOf( domFx_sampler_states::domMip_min_level , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler_states::domMip_min_level));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler_states::domMip_bias::create(DAE& dae)
+{
+ domFx_sampler_states::domMip_biasRef ref = new domFx_sampler_states::domMip_bias(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler_states::domMip_bias::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mip_bias" );
+ meta->registerClass(domFx_sampler_states::domMip_bias::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsFloat"));
+ ma->setOffset( daeOffsetOf( domFx_sampler_states::domMip_bias , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler_states::domMip_bias));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sampler_states::domMax_anisotropy::create(DAE& dae)
+{
+ domFx_sampler_states::domMax_anisotropyRef ref = new domFx_sampler_states::domMax_anisotropy(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sampler_states::domMax_anisotropy::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "max_anisotropy" );
+ meta->registerClass(domFx_sampler_states::domMax_anisotropy::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedInt"));
+ ma->setOffset( daeOffsetOf( domFx_sampler_states::domMax_anisotropy , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sampler_states::domMax_anisotropy));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_setparam.cpp b/1.4.0/dom/src/1.5/dom/domFx_setparam.cpp
new file mode 100644
index 0000000..a277e31
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_setparam.cpp
@@ -0,0 +1,1151 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_setparam.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_setparam::create(DAE& dae)
+{
+ domFx_setparamRef ref = new domFx_setparam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_setparam" );
+ meta->registerClass(domFx_setparam::create);
+
+ meta->setIsTransparent( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemBool) );
+ mea->setElementType( domFx_setparam::domBool::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool2" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemBool2) );
+ mea->setElementType( domFx_setparam::domBool2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool3" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemBool3) );
+ mea->setElementType( domFx_setparam::domBool3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool4" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemBool4) );
+ mea->setElementType( domFx_setparam::domBool4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemInt) );
+ mea->setElementType( domFx_setparam::domInt::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int2" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemInt2) );
+ mea->setElementType( domFx_setparam::domInt2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int3" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemInt3) );
+ mea->setElementType( domFx_setparam::domInt3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int4" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemInt4) );
+ mea->setElementType( domFx_setparam::domInt4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemFloat) );
+ mea->setElementType( domFx_setparam::domFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemFloat2) );
+ mea->setElementType( domFx_setparam::domFloat2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemFloat3) );
+ mea->setElementType( domFx_setparam::domFloat3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemFloat4) );
+ mea->setElementType( domFx_setparam::domFloat4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x1" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemFloat2x1) );
+ mea->setElementType( domFx_setparam::domFloat2x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x2" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemFloat2x2) );
+ mea->setElementType( domFx_setparam::domFloat2x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x3" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemFloat2x3) );
+ mea->setElementType( domFx_setparam::domFloat2x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x4" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemFloat2x4) );
+ mea->setElementType( domFx_setparam::domFloat2x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x1" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemFloat3x1) );
+ mea->setElementType( domFx_setparam::domFloat3x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x2" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemFloat3x2) );
+ mea->setElementType( domFx_setparam::domFloat3x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x3" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemFloat3x3) );
+ mea->setElementType( domFx_setparam::domFloat3x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x4" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemFloat3x4) );
+ mea->setElementType( domFx_setparam::domFloat3x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x1" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemFloat4x1) );
+ mea->setElementType( domFx_setparam::domFloat4x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x2" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemFloat4x2) );
+ mea->setElementType( domFx_setparam::domFloat4x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x3" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemFloat4x3) );
+ mea->setElementType( domFx_setparam::domFloat4x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x4" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemFloat4x4) );
+ mea->setElementType( domFx_setparam::domFloat4x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "enum" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemEnum) );
+ mea->setElementType( domFx_setparam::domEnum::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sampler_image" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemSampler_image) );
+ mea->setElementType( domInstance_image::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sampler_states" );
+ mea->setOffset( daeOffsetOf(domFx_setparam,elemSampler_states) );
+ mea->setElementType( domFx_setparam::domSampler_states::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domFx_setparam,_contents));
+ meta->addContentsOrder(daeOffsetOf(domFx_setparam,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domFx_setparam,_CMData), 1);
+ meta->setElementSize(sizeof(domFx_setparam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domBool::create(DAE& dae)
+{
+ domFx_setparam::domBoolRef ref = new domFx_setparam::domBool(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domBool::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool" );
+ meta->registerClass(domFx_setparam::domBool::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domBool , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domBool));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domBool2::create(DAE& dae)
+{
+ domFx_setparam::domBool2Ref ref = new domFx_setparam::domBool2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domBool2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool2" );
+ meta->registerClass(domFx_setparam::domBool2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool2"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domBool2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domBool2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domBool3::create(DAE& dae)
+{
+ domFx_setparam::domBool3Ref ref = new domFx_setparam::domBool3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domBool3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool3" );
+ meta->registerClass(domFx_setparam::domBool3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool3"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domBool3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domBool3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domBool4::create(DAE& dae)
+{
+ domFx_setparam::domBool4Ref ref = new domFx_setparam::domBool4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domBool4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool4" );
+ meta->registerClass(domFx_setparam::domBool4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool4"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domBool4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domBool4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domInt::create(DAE& dae)
+{
+ domFx_setparam::domIntRef ref = new domFx_setparam::domInt(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domInt::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int" );
+ meta->registerClass(domFx_setparam::domInt::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domInt , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domInt));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domInt2::create(DAE& dae)
+{
+ domFx_setparam::domInt2Ref ref = new domFx_setparam::domInt2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domInt2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int2" );
+ meta->registerClass(domFx_setparam::domInt2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int2"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domInt2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domInt2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domInt3::create(DAE& dae)
+{
+ domFx_setparam::domInt3Ref ref = new domFx_setparam::domInt3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domInt3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int3" );
+ meta->registerClass(domFx_setparam::domInt3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int3"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domInt3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domInt3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domInt4::create(DAE& dae)
+{
+ domFx_setparam::domInt4Ref ref = new domFx_setparam::domInt4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domInt4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int4" );
+ meta->registerClass(domFx_setparam::domInt4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int4"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domInt4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domInt4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domFloat::create(DAE& dae)
+{
+ domFx_setparam::domFloatRef ref = new domFx_setparam::domFloat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domFloat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float" );
+ meta->registerClass(domFx_setparam::domFloat::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domFloat , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domFloat));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domFloat2::create(DAE& dae)
+{
+ domFx_setparam::domFloat2Ref ref = new domFx_setparam::domFloat2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domFloat2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2" );
+ meta->registerClass(domFx_setparam::domFloat2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domFloat2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domFloat2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domFloat3::create(DAE& dae)
+{
+ domFx_setparam::domFloat3Ref ref = new domFx_setparam::domFloat3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domFloat3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3" );
+ meta->registerClass(domFx_setparam::domFloat3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domFloat3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domFloat3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domFloat4::create(DAE& dae)
+{
+ domFx_setparam::domFloat4Ref ref = new domFx_setparam::domFloat4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domFloat4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4" );
+ meta->registerClass(domFx_setparam::domFloat4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domFloat4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domFloat4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domFloat2x1::create(DAE& dae)
+{
+ domFx_setparam::domFloat2x1Ref ref = new domFx_setparam::domFloat2x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domFloat2x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x1" );
+ meta->registerClass(domFx_setparam::domFloat2x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domFloat2x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domFloat2x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domFloat2x2::create(DAE& dae)
+{
+ domFx_setparam::domFloat2x2Ref ref = new domFx_setparam::domFloat2x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domFloat2x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x2" );
+ meta->registerClass(domFx_setparam::domFloat2x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x2"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domFloat2x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domFloat2x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domFloat2x3::create(DAE& dae)
+{
+ domFx_setparam::domFloat2x3Ref ref = new domFx_setparam::domFloat2x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domFloat2x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x3" );
+ meta->registerClass(domFx_setparam::domFloat2x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x3"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domFloat2x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domFloat2x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domFloat2x4::create(DAE& dae)
+{
+ domFx_setparam::domFloat2x4Ref ref = new domFx_setparam::domFloat2x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domFloat2x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x4" );
+ meta->registerClass(domFx_setparam::domFloat2x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x4"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domFloat2x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domFloat2x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domFloat3x1::create(DAE& dae)
+{
+ domFx_setparam::domFloat3x1Ref ref = new domFx_setparam::domFloat3x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domFloat3x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x1" );
+ meta->registerClass(domFx_setparam::domFloat3x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domFloat3x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domFloat3x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domFloat3x2::create(DAE& dae)
+{
+ domFx_setparam::domFloat3x2Ref ref = new domFx_setparam::domFloat3x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domFloat3x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x2" );
+ meta->registerClass(domFx_setparam::domFloat3x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x2"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domFloat3x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domFloat3x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domFloat3x3::create(DAE& dae)
+{
+ domFx_setparam::domFloat3x3Ref ref = new domFx_setparam::domFloat3x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domFloat3x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x3" );
+ meta->registerClass(domFx_setparam::domFloat3x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x3"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domFloat3x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domFloat3x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domFloat3x4::create(DAE& dae)
+{
+ domFx_setparam::domFloat3x4Ref ref = new domFx_setparam::domFloat3x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domFloat3x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x4" );
+ meta->registerClass(domFx_setparam::domFloat3x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x4"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domFloat3x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domFloat3x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domFloat4x1::create(DAE& dae)
+{
+ domFx_setparam::domFloat4x1Ref ref = new domFx_setparam::domFloat4x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domFloat4x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x1" );
+ meta->registerClass(domFx_setparam::domFloat4x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domFloat4x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domFloat4x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domFloat4x2::create(DAE& dae)
+{
+ domFx_setparam::domFloat4x2Ref ref = new domFx_setparam::domFloat4x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domFloat4x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x2" );
+ meta->registerClass(domFx_setparam::domFloat4x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x2"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domFloat4x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domFloat4x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domFloat4x3::create(DAE& dae)
+{
+ domFx_setparam::domFloat4x3Ref ref = new domFx_setparam::domFloat4x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domFloat4x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x3" );
+ meta->registerClass(domFx_setparam::domFloat4x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x3"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domFloat4x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domFloat4x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domFloat4x4::create(DAE& dae)
+{
+ domFx_setparam::domFloat4x4Ref ref = new domFx_setparam::domFloat4x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domFloat4x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x4" );
+ meta->registerClass(domFx_setparam::domFloat4x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x4"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domFloat4x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domFloat4x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domEnum::create(DAE& dae)
+{
+ domFx_setparam::domEnumRef ref = new domFx_setparam::domEnum(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domEnum::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "enum" );
+ meta->registerClass(domFx_setparam::domEnum::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domFx_setparam::domEnum , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_setparam::domEnum));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_setparam::domSampler_states::create(DAE& dae)
+{
+ domFx_setparam::domSampler_statesRef ref = new domFx_setparam::domSampler_states(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_setparam::domSampler_states::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "sampler_states" );
+ meta->registerClass(domFx_setparam::domSampler_states::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fx_sampler_states" );
+ mea->setOffset( daeOffsetOf(domFx_setparam::domSampler_states,elemFx_sampler_states) );
+ mea->setElementType( domFx_sampler_states::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domFx_setparam::domSampler_states));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_sources.cpp b/1.4.0/dom/src/1.5/dom/domFx_sources.cpp
new file mode 100644
index 0000000..27be0aa
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_sources.cpp
@@ -0,0 +1,142 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_sources.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_sources::create(DAE& dae)
+{
+ domFx_sourcesRef ref = new domFx_sources(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sources::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_sources" );
+ meta->registerClass(domFx_sources::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "inline" );
+ mea->setOffset( daeOffsetOf(domFx_sources,elemInline_array) );
+ mea->setElementType( domFx_sources::domInline::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "import" );
+ mea->setOffset( daeOffsetOf(domFx_sources,elemImport_array) );
+ mea->setElementType( domFx_sources::domImport::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 3000 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domFx_sources,_contents));
+ meta->addContentsOrder(daeOffsetOf(domFx_sources,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domFx_sources,_CMData), 1);
+ meta->setElementSize(sizeof(domFx_sources));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sources::domInline::create(DAE& dae)
+{
+ domFx_sources::domInlineRef ref = new domFx_sources::domInline(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sources::domInline::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "inline" );
+ meta->registerClass(domFx_sources::domInline::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domFx_sources::domInline , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sources::domInline));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_sources::domImport::create(DAE& dae)
+{
+ domFx_sources::domImportRef ref = new domFx_sources::domImport(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_sources::domImport::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "import" );
+ meta->registerClass(domFx_sources::domImport::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domFx_sources::domImport , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_sources::domImport));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_stenciltarget.cpp b/1.4.0/dom/src/1.5/dom/domFx_stenciltarget.cpp
new file mode 100644
index 0000000..0760a2f
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_stenciltarget.cpp
@@ -0,0 +1,119 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_stenciltarget.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_stenciltarget::create(DAE& dae)
+{
+ domFx_stenciltargetRef ref = new domFx_stenciltarget(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_stenciltarget::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_stenciltarget" );
+ meta->registerClass(domFx_stenciltarget::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domFx_stenciltarget,elemParam) );
+ mea->setElementType( domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "instance_image" );
+ mea->setOffset( daeOffsetOf(domFx_stenciltarget,elemInstance_image) );
+ mea->setElementType( domInstance_image::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domFx_stenciltarget,_contents));
+ meta->addContentsOrder(daeOffsetOf(domFx_stenciltarget,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domFx_stenciltarget,_CMData), 1);
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("xsNonNegativeInteger"));
+ ma->setOffset( daeOffsetOf( domFx_stenciltarget , attrIndex ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: mip
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "mip" );
+ ma->setType( dae.getAtomicTypes().get("xsNonNegativeInteger"));
+ ma->setOffset( daeOffsetOf( domFx_stenciltarget , attrMip ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: face
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "face" );
+ ma->setType( dae.getAtomicTypes().get("Image_face"));
+ ma->setOffset( daeOffsetOf( domFx_stenciltarget , attrFace ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "POSITIVE_X");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: slice
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "slice" );
+ ma->setType( dae.getAtomicTypes().get("xsNonNegativeInteger"));
+ ma->setOffset( daeOffsetOf( domFx_stenciltarget , attrSlice ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_stenciltarget));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domFx_target.cpp b/1.4.0/dom/src/1.5/dom/domFx_target.cpp
new file mode 100644
index 0000000..68ce10f
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domFx_target.cpp
@@ -0,0 +1,220 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domFx_target.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domFx_target::create(DAE& dae)
+{
+ domFx_targetRef ref = new domFx_target(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_target::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fx_target" );
+ meta->registerClass(domFx_target::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "binary" );
+ mea->setOffset( daeOffsetOf(domFx_target,elemBinary) );
+ mea->setElementType( domFx_target::domBinary::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: platform
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "platform" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domFx_target , attrPlatform ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: target
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "target" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domFx_target , attrTarget ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: options
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "options" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domFx_target , attrOptions ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_target));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_target::domBinary::create(DAE& dae)
+{
+ domFx_target::domBinaryRef ref = new domFx_target::domBinary(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_target::domBinary::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "binary" );
+ meta->registerClass(domFx_target::domBinary::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "ref" );
+ mea->setOffset( daeOffsetOf(domFx_target::domBinary,elemRef) );
+ mea->setElementType( domFx_target::domBinary::domRef::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "hex" );
+ mea->setOffset( daeOffsetOf(domFx_target::domBinary,elemHex) );
+ mea->setElementType( domFx_target::domBinary::domHex::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domFx_target::domBinary,_contents));
+ meta->addContentsOrder(daeOffsetOf(domFx_target::domBinary,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domFx_target::domBinary,_CMData), 1);
+ meta->setElementSize(sizeof(domFx_target::domBinary));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_target::domBinary::domRef::create(DAE& dae)
+{
+ domFx_target::domBinary::domRefRef ref = new domFx_target::domBinary::domRef(dae);
+ ref->_value.setContainer( (domFx_target::domBinary::domRef*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_target::domBinary::domRef::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "ref" );
+ meta->registerClass(domFx_target::domBinary::domRef::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domFx_target::domBinary::domRef , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_target::domBinary::domRef));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domFx_target::domBinary::domHex::create(DAE& dae)
+{
+ domFx_target::domBinary::domHexRef ref = new domFx_target::domBinary::domHex(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domFx_target::domBinary::domHex::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "hex" );
+ meta->registerClass(domFx_target::domBinary::domHex::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("List_of_hex_binary"));
+ ma->setOffset( daeOffsetOf( domFx_target::domBinary::domHex , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: format
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "format" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domFx_target::domBinary::domHex , attrFormat ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domFx_target::domBinary::domHex));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGeometry.cpp b/1.4.0/dom/src/1.5/dom/domGeometry.cpp
new file mode 100644
index 0000000..a16d3d3
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGeometry.cpp
@@ -0,0 +1,113 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGeometry.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGeometry::create(DAE& dae)
+{
+ domGeometryRef ref = new domGeometry(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGeometry::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "geometry" );
+ meta->registerClass(domGeometry::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domGeometry,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "convex_mesh" );
+ mea->setOffset( daeOffsetOf(domGeometry,elemConvex_mesh) );
+ mea->setElementType( domConvex_mesh::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "mesh" );
+ mea->setOffset( daeOffsetOf(domGeometry,elemMesh) );
+ mea->setElementType( domMesh::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "spline" );
+ mea->setOffset( daeOffsetOf(domGeometry,elemSpline) );
+ mea->setElementType( domSpline::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "brep" );
+ mea->setOffset( daeOffsetOf(domGeometry,elemBrep) );
+ mea->setElementType( domBrep::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domGeometry,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGeometry,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGeometry,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGeometry,_CMData), 1);
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domGeometry , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGeometry , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGeometry));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGl_pipeline_settings.cpp b/1.4.0/dom/src/1.5/dom/domGl_pipeline_settings.cpp
new file mode 100644
index 0000000..1e27e03
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGl_pipeline_settings.cpp
@@ -0,0 +1,8121 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGl_pipeline_settings.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGl_pipeline_settings::create(DAE& dae)
+{
+ domGl_pipeline_settingsRef ref = new domGl_pipeline_settings(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gl_pipeline_settings" );
+ meta->registerClass(domGl_pipeline_settings::create);
+
+ meta->setIsTransparent( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "alpha_func" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemAlpha_func) );
+ mea->setElementType( domGl_pipeline_settings::domAlpha_func::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "blend_func" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemBlend_func) );
+ mea->setElementType( domGl_pipeline_settings::domBlend_func::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "blend_func_separate" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemBlend_func_separate) );
+ mea->setElementType( domGl_pipeline_settings::domBlend_func_separate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "blend_equation" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemBlend_equation) );
+ mea->setElementType( domGl_pipeline_settings::domBlend_equation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "blend_equation_separate" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemBlend_equation_separate) );
+ mea->setElementType( domGl_pipeline_settings::domBlend_equation_separate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "color_material" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemColor_material) );
+ mea->setElementType( domGl_pipeline_settings::domColor_material::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "cull_face" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemCull_face) );
+ mea->setElementType( domGl_pipeline_settings::domCull_face::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "depth_func" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemDepth_func) );
+ mea->setElementType( domGl_pipeline_settings::domDepth_func::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fog_mode" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemFog_mode) );
+ mea->setElementType( domGl_pipeline_settings::domFog_mode::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fog_coord_src" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemFog_coord_src) );
+ mea->setElementType( domGl_pipeline_settings::domFog_coord_src::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "front_face" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemFront_face) );
+ mea->setElementType( domGl_pipeline_settings::domFront_face::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_model_color_control" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_model_color_control) );
+ mea->setElementType( domGl_pipeline_settings::domLight_model_color_control::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "logic_op" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLogic_op) );
+ mea->setElementType( domGl_pipeline_settings::domLogic_op::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "polygon_mode" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPolygon_mode) );
+ mea->setElementType( domGl_pipeline_settings::domPolygon_mode::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "shade_model" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemShade_model) );
+ mea->setElementType( domGl_pipeline_settings::domShade_model::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_func" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemStencil_func) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_func::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_op" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemStencil_op) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_op::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_func_separate" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemStencil_func_separate) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_func_separate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_op_separate" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemStencil_op_separate) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_op_separate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_mask_separate" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemStencil_mask_separate) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_mask_separate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_enable) );
+ mea->setElementType( domGl_pipeline_settings::domLight_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_ambient" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_ambient) );
+ mea->setElementType( domGl_pipeline_settings::domLight_ambient::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_diffuse" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_diffuse) );
+ mea->setElementType( domGl_pipeline_settings::domLight_diffuse::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_specular" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_specular) );
+ mea->setElementType( domGl_pipeline_settings::domLight_specular::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_position" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_position) );
+ mea->setElementType( domGl_pipeline_settings::domLight_position::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_constant_attenuation" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_constant_attenuation) );
+ mea->setElementType( domGl_pipeline_settings::domLight_constant_attenuation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_linear_attenuation" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_linear_attenuation) );
+ mea->setElementType( domGl_pipeline_settings::domLight_linear_attenuation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_quadratic_attenuation" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_quadratic_attenuation) );
+ mea->setElementType( domGl_pipeline_settings::domLight_quadratic_attenuation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_spot_cutoff" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_spot_cutoff) );
+ mea->setElementType( domGl_pipeline_settings::domLight_spot_cutoff::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_spot_direction" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_spot_direction) );
+ mea->setElementType( domGl_pipeline_settings::domLight_spot_direction::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_spot_exponent" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_spot_exponent) );
+ mea->setElementType( domGl_pipeline_settings::domLight_spot_exponent::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "texture1D" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTexture1D) );
+ mea->setElementType( domGl_pipeline_settings::domTexture1D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "texture2D" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTexture2D) );
+ mea->setElementType( domGl_pipeline_settings::domTexture2D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "texture3D" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTexture3D) );
+ mea->setElementType( domGl_pipeline_settings::domTexture3D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "textureCUBE" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTextureCUBE) );
+ mea->setElementType( domGl_pipeline_settings::domTextureCUBE::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "textureRECT" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTextureRECT) );
+ mea->setElementType( domGl_pipeline_settings::domTextureRECT::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "textureDEPTH" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTextureDEPTH) );
+ mea->setElementType( domGl_pipeline_settings::domTextureDEPTH::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "texture1D_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTexture1D_enable) );
+ mea->setElementType( domGl_pipeline_settings::domTexture1D_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "texture2D_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTexture2D_enable) );
+ mea->setElementType( domGl_pipeline_settings::domTexture2D_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "texture3D_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTexture3D_enable) );
+ mea->setElementType( domGl_pipeline_settings::domTexture3D_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "textureCUBE_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTextureCUBE_enable) );
+ mea->setElementType( domGl_pipeline_settings::domTextureCUBE_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "textureRECT_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTextureRECT_enable) );
+ mea->setElementType( domGl_pipeline_settings::domTextureRECT_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "textureDEPTH_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTextureDEPTH_enable) );
+ mea->setElementType( domGl_pipeline_settings::domTextureDEPTH_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "texture_env_color" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTexture_env_color) );
+ mea->setElementType( domGl_pipeline_settings::domTexture_env_color::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "texture_env_mode" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemTexture_env_mode) );
+ mea->setElementType( domGl_pipeline_settings::domTexture_env_mode::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "clip_plane" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemClip_plane) );
+ mea->setElementType( domGl_pipeline_settings::domClip_plane::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "clip_plane_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemClip_plane_enable) );
+ mea->setElementType( domGl_pipeline_settings::domClip_plane_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "blend_color" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemBlend_color) );
+ mea->setElementType( domGl_pipeline_settings::domBlend_color::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "color_mask" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemColor_mask) );
+ mea->setElementType( domGl_pipeline_settings::domColor_mask::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "depth_bounds" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemDepth_bounds) );
+ mea->setElementType( domGl_pipeline_settings::domDepth_bounds::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "depth_mask" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemDepth_mask) );
+ mea->setElementType( domGl_pipeline_settings::domDepth_mask::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "depth_range" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemDepth_range) );
+ mea->setElementType( domGl_pipeline_settings::domDepth_range::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fog_density" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemFog_density) );
+ mea->setElementType( domGl_pipeline_settings::domFog_density::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fog_start" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemFog_start) );
+ mea->setElementType( domGl_pipeline_settings::domFog_start::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fog_end" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemFog_end) );
+ mea->setElementType( domGl_pipeline_settings::domFog_end::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fog_color" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemFog_color) );
+ mea->setElementType( domGl_pipeline_settings::domFog_color::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_model_ambient" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_model_ambient) );
+ mea->setElementType( domGl_pipeline_settings::domLight_model_ambient::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "lighting_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLighting_enable) );
+ mea->setElementType( domGl_pipeline_settings::domLighting_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "line_stipple" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLine_stipple) );
+ mea->setElementType( domGl_pipeline_settings::domLine_stipple::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "line_width" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLine_width) );
+ mea->setElementType( domGl_pipeline_settings::domLine_width::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "material_ambient" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemMaterial_ambient) );
+ mea->setElementType( domGl_pipeline_settings::domMaterial_ambient::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "material_diffuse" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemMaterial_diffuse) );
+ mea->setElementType( domGl_pipeline_settings::domMaterial_diffuse::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "material_emission" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemMaterial_emission) );
+ mea->setElementType( domGl_pipeline_settings::domMaterial_emission::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "material_shininess" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemMaterial_shininess) );
+ mea->setElementType( domGl_pipeline_settings::domMaterial_shininess::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "material_specular" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemMaterial_specular) );
+ mea->setElementType( domGl_pipeline_settings::domMaterial_specular::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "model_view_matrix" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemModel_view_matrix) );
+ mea->setElementType( domGl_pipeline_settings::domModel_view_matrix::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "point_distance_attenuation" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPoint_distance_attenuation) );
+ mea->setElementType( domGl_pipeline_settings::domPoint_distance_attenuation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "point_fade_threshold_size" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPoint_fade_threshold_size) );
+ mea->setElementType( domGl_pipeline_settings::domPoint_fade_threshold_size::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "point_size" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPoint_size) );
+ mea->setElementType( domGl_pipeline_settings::domPoint_size::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "point_size_min" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPoint_size_min) );
+ mea->setElementType( domGl_pipeline_settings::domPoint_size_min::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "point_size_max" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPoint_size_max) );
+ mea->setElementType( domGl_pipeline_settings::domPoint_size_max::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "polygon_offset" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPolygon_offset) );
+ mea->setElementType( domGl_pipeline_settings::domPolygon_offset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "projection_matrix" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemProjection_matrix) );
+ mea->setElementType( domGl_pipeline_settings::domProjection_matrix::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "scissor" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemScissor) );
+ mea->setElementType( domGl_pipeline_settings::domScissor::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_mask" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemStencil_mask) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_mask::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "alpha_test_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemAlpha_test_enable) );
+ mea->setElementType( domGl_pipeline_settings::domAlpha_test_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "blend_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemBlend_enable) );
+ mea->setElementType( domGl_pipeline_settings::domBlend_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "color_logic_op_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemColor_logic_op_enable) );
+ mea->setElementType( domGl_pipeline_settings::domColor_logic_op_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "color_material_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemColor_material_enable) );
+ mea->setElementType( domGl_pipeline_settings::domColor_material_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "cull_face_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemCull_face_enable) );
+ mea->setElementType( domGl_pipeline_settings::domCull_face_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "depth_bounds_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemDepth_bounds_enable) );
+ mea->setElementType( domGl_pipeline_settings::domDepth_bounds_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "depth_clamp_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemDepth_clamp_enable) );
+ mea->setElementType( domGl_pipeline_settings::domDepth_clamp_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "depth_test_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemDepth_test_enable) );
+ mea->setElementType( domGl_pipeline_settings::domDepth_test_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "dither_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemDither_enable) );
+ mea->setElementType( domGl_pipeline_settings::domDither_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fog_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemFog_enable) );
+ mea->setElementType( domGl_pipeline_settings::domFog_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_model_local_viewer_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_model_local_viewer_enable) );
+ mea->setElementType( domGl_pipeline_settings::domLight_model_local_viewer_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_model_two_side_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLight_model_two_side_enable) );
+ mea->setElementType( domGl_pipeline_settings::domLight_model_two_side_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "line_smooth_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLine_smooth_enable) );
+ mea->setElementType( domGl_pipeline_settings::domLine_smooth_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "line_stipple_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLine_stipple_enable) );
+ mea->setElementType( domGl_pipeline_settings::domLine_stipple_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "logic_op_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemLogic_op_enable) );
+ mea->setElementType( domGl_pipeline_settings::domLogic_op_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "multisample_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemMultisample_enable) );
+ mea->setElementType( domGl_pipeline_settings::domMultisample_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "normalize_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemNormalize_enable) );
+ mea->setElementType( domGl_pipeline_settings::domNormalize_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "point_smooth_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPoint_smooth_enable) );
+ mea->setElementType( domGl_pipeline_settings::domPoint_smooth_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "polygon_offset_fill_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPolygon_offset_fill_enable) );
+ mea->setElementType( domGl_pipeline_settings::domPolygon_offset_fill_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "polygon_offset_line_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPolygon_offset_line_enable) );
+ mea->setElementType( domGl_pipeline_settings::domPolygon_offset_line_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "polygon_offset_point_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPolygon_offset_point_enable) );
+ mea->setElementType( domGl_pipeline_settings::domPolygon_offset_point_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "polygon_smooth_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPolygon_smooth_enable) );
+ mea->setElementType( domGl_pipeline_settings::domPolygon_smooth_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "polygon_stipple_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemPolygon_stipple_enable) );
+ mea->setElementType( domGl_pipeline_settings::domPolygon_stipple_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "rescale_normal_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemRescale_normal_enable) );
+ mea->setElementType( domGl_pipeline_settings::domRescale_normal_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sample_alpha_to_coverage_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemSample_alpha_to_coverage_enable) );
+ mea->setElementType( domGl_pipeline_settings::domSample_alpha_to_coverage_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sample_alpha_to_one_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemSample_alpha_to_one_enable) );
+ mea->setElementType( domGl_pipeline_settings::domSample_alpha_to_one_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sample_coverage_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemSample_coverage_enable) );
+ mea->setElementType( domGl_pipeline_settings::domSample_coverage_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "scissor_test_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemScissor_test_enable) );
+ mea->setElementType( domGl_pipeline_settings::domScissor_test_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_test_enable" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings,elemStencil_test_enable) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_test_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGl_pipeline_settings,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGl_pipeline_settings,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGl_pipeline_settings,_CMData), 1);
+ meta->setElementSize(sizeof(domGl_pipeline_settings));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domAlpha_func::create(DAE& dae)
+{
+ domGl_pipeline_settings::domAlpha_funcRef ref = new domGl_pipeline_settings::domAlpha_func(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domAlpha_func::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "alpha_func" );
+ meta->registerClass(domGl_pipeline_settings::domAlpha_func::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "func" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domAlpha_func,elemFunc) );
+ mea->setElementType( domGl_pipeline_settings::domAlpha_func::domFunc::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "value" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domAlpha_func,elemValue) );
+ mea->setElementType( domGl_pipeline_settings::domAlpha_func::domValue::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domAlpha_func));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domAlpha_func::domFunc::create(DAE& dae)
+{
+ domGl_pipeline_settings::domAlpha_func::domFuncRef ref = new domGl_pipeline_settings::domAlpha_func::domFunc(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domAlpha_func::domFunc::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "func" );
+ meta->registerClass(domGl_pipeline_settings::domAlpha_func::domFunc::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_func"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domAlpha_func::domFunc , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ALWAYS");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domAlpha_func::domFunc , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domAlpha_func::domFunc));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domAlpha_func::domValue::create(DAE& dae)
+{
+ domGl_pipeline_settings::domAlpha_func::domValueRef ref = new domGl_pipeline_settings::domAlpha_func::domValue(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domAlpha_func::domValue::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "value" );
+ meta->registerClass(domGl_pipeline_settings::domAlpha_func::domValue::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_alpha_value"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domAlpha_func::domValue , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0.0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domAlpha_func::domValue , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domAlpha_func::domValue));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domBlend_func::create(DAE& dae)
+{
+ domGl_pipeline_settings::domBlend_funcRef ref = new domGl_pipeline_settings::domBlend_func(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domBlend_func::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "blend_func" );
+ meta->registerClass(domGl_pipeline_settings::domBlend_func::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "src" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domBlend_func,elemSrc) );
+ mea->setElementType( domGl_pipeline_settings::domBlend_func::domSrc::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "dest" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domBlend_func,elemDest) );
+ mea->setElementType( domGl_pipeline_settings::domBlend_func::domDest::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domBlend_func));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domBlend_func::domSrc::create(DAE& dae)
+{
+ domGl_pipeline_settings::domBlend_func::domSrcRef ref = new domGl_pipeline_settings::domBlend_func::domSrc(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domBlend_func::domSrc::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "src" );
+ meta->registerClass(domGl_pipeline_settings::domBlend_func::domSrc::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_func::domSrc , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ONE");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_func::domSrc , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domBlend_func::domSrc));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domBlend_func::domDest::create(DAE& dae)
+{
+ domGl_pipeline_settings::domBlend_func::domDestRef ref = new domGl_pipeline_settings::domBlend_func::domDest(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domBlend_func::domDest::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "dest" );
+ meta->registerClass(domGl_pipeline_settings::domBlend_func::domDest::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_func::domDest , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ZERO");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_func::domDest , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domBlend_func::domDest));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domBlend_func_separate::create(DAE& dae)
+{
+ domGl_pipeline_settings::domBlend_func_separateRef ref = new domGl_pipeline_settings::domBlend_func_separate(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domBlend_func_separate::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "blend_func_separate" );
+ meta->registerClass(domGl_pipeline_settings::domBlend_func_separate::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "src_rgb" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domBlend_func_separate,elemSrc_rgb) );
+ mea->setElementType( domGl_pipeline_settings::domBlend_func_separate::domSrc_rgb::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "dest_rgb" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domBlend_func_separate,elemDest_rgb) );
+ mea->setElementType( domGl_pipeline_settings::domBlend_func_separate::domDest_rgb::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "src_alpha" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domBlend_func_separate,elemSrc_alpha) );
+ mea->setElementType( domGl_pipeline_settings::domBlend_func_separate::domSrc_alpha::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 1, 1 );
+ mea->setName( "dest_alpha" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domBlend_func_separate,elemDest_alpha) );
+ mea->setElementType( domGl_pipeline_settings::domBlend_func_separate::domDest_alpha::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domBlend_func_separate));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domBlend_func_separate::domSrc_rgb::create(DAE& dae)
+{
+ domGl_pipeline_settings::domBlend_func_separate::domSrc_rgbRef ref = new domGl_pipeline_settings::domBlend_func_separate::domSrc_rgb(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domBlend_func_separate::domSrc_rgb::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "src_rgb" );
+ meta->registerClass(domGl_pipeline_settings::domBlend_func_separate::domSrc_rgb::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_func_separate::domSrc_rgb , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ONE");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_func_separate::domSrc_rgb , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domBlend_func_separate::domSrc_rgb));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domBlend_func_separate::domDest_rgb::create(DAE& dae)
+{
+ domGl_pipeline_settings::domBlend_func_separate::domDest_rgbRef ref = new domGl_pipeline_settings::domBlend_func_separate::domDest_rgb(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domBlend_func_separate::domDest_rgb::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "dest_rgb" );
+ meta->registerClass(domGl_pipeline_settings::domBlend_func_separate::domDest_rgb::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_func_separate::domDest_rgb , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ZERO");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_func_separate::domDest_rgb , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domBlend_func_separate::domDest_rgb));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domBlend_func_separate::domSrc_alpha::create(DAE& dae)
+{
+ domGl_pipeline_settings::domBlend_func_separate::domSrc_alphaRef ref = new domGl_pipeline_settings::domBlend_func_separate::domSrc_alpha(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domBlend_func_separate::domSrc_alpha::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "src_alpha" );
+ meta->registerClass(domGl_pipeline_settings::domBlend_func_separate::domSrc_alpha::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_func_separate::domSrc_alpha , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ONE");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_func_separate::domSrc_alpha , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domBlend_func_separate::domSrc_alpha));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domBlend_func_separate::domDest_alpha::create(DAE& dae)
+{
+ domGl_pipeline_settings::domBlend_func_separate::domDest_alphaRef ref = new domGl_pipeline_settings::domBlend_func_separate::domDest_alpha(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domBlend_func_separate::domDest_alpha::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "dest_alpha" );
+ meta->registerClass(domGl_pipeline_settings::domBlend_func_separate::domDest_alpha::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_func_separate::domDest_alpha , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ZERO");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_func_separate::domDest_alpha , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domBlend_func_separate::domDest_alpha));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domBlend_equation::create(DAE& dae)
+{
+ domGl_pipeline_settings::domBlend_equationRef ref = new domGl_pipeline_settings::domBlend_equation(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domBlend_equation::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "blend_equation" );
+ meta->registerClass(domGl_pipeline_settings::domBlend_equation::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend_equation"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_equation , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "FUNC_ADD");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_equation , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domBlend_equation));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domBlend_equation_separate::create(DAE& dae)
+{
+ domGl_pipeline_settings::domBlend_equation_separateRef ref = new domGl_pipeline_settings::domBlend_equation_separate(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domBlend_equation_separate::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "blend_equation_separate" );
+ meta->registerClass(domGl_pipeline_settings::domBlend_equation_separate::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "rgb" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domBlend_equation_separate,elemRgb) );
+ mea->setElementType( domGl_pipeline_settings::domBlend_equation_separate::domRgb::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "alpha" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domBlend_equation_separate,elemAlpha) );
+ mea->setElementType( domGl_pipeline_settings::domBlend_equation_separate::domAlpha::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domBlend_equation_separate));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domBlend_equation_separate::domRgb::create(DAE& dae)
+{
+ domGl_pipeline_settings::domBlend_equation_separate::domRgbRef ref = new domGl_pipeline_settings::domBlend_equation_separate::domRgb(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domBlend_equation_separate::domRgb::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "rgb" );
+ meta->registerClass(domGl_pipeline_settings::domBlend_equation_separate::domRgb::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend_equation"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_equation_separate::domRgb , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "FUNC_ADD");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_equation_separate::domRgb , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domBlend_equation_separate::domRgb));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domBlend_equation_separate::domAlpha::create(DAE& dae)
+{
+ domGl_pipeline_settings::domBlend_equation_separate::domAlphaRef ref = new domGl_pipeline_settings::domBlend_equation_separate::domAlpha(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domBlend_equation_separate::domAlpha::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "alpha" );
+ meta->registerClass(domGl_pipeline_settings::domBlend_equation_separate::domAlpha::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend_equation"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_equation_separate::domAlpha , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "FUNC_ADD");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_equation_separate::domAlpha , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domBlend_equation_separate::domAlpha));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domColor_material::create(DAE& dae)
+{
+ domGl_pipeline_settings::domColor_materialRef ref = new domGl_pipeline_settings::domColor_material(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domColor_material::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "color_material" );
+ meta->registerClass(domGl_pipeline_settings::domColor_material::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "face" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domColor_material,elemFace) );
+ mea->setElementType( domGl_pipeline_settings::domColor_material::domFace::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "mode" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domColor_material,elemMode) );
+ mea->setElementType( domGl_pipeline_settings::domColor_material::domMode::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domColor_material));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domColor_material::domFace::create(DAE& dae)
+{
+ domGl_pipeline_settings::domColor_material::domFaceRef ref = new domGl_pipeline_settings::domColor_material::domFace(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domColor_material::domFace::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "face" );
+ meta->registerClass(domGl_pipeline_settings::domColor_material::domFace::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_face"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domColor_material::domFace , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "FRONT_AND_BACK");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domColor_material::domFace , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domColor_material::domFace));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domColor_material::domMode::create(DAE& dae)
+{
+ domGl_pipeline_settings::domColor_material::domModeRef ref = new domGl_pipeline_settings::domColor_material::domMode(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domColor_material::domMode::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mode" );
+ meta->registerClass(domGl_pipeline_settings::domColor_material::domMode::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_material"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domColor_material::domMode , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "AMBIENT_AND_DIFFUSE");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domColor_material::domMode , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domColor_material::domMode));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domCull_face::create(DAE& dae)
+{
+ domGl_pipeline_settings::domCull_faceRef ref = new domGl_pipeline_settings::domCull_face(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domCull_face::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cull_face" );
+ meta->registerClass(domGl_pipeline_settings::domCull_face::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_face"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domCull_face , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "BACK");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domCull_face , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domCull_face));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domDepth_func::create(DAE& dae)
+{
+ domGl_pipeline_settings::domDepth_funcRef ref = new domGl_pipeline_settings::domDepth_func(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domDepth_func::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "depth_func" );
+ meta->registerClass(domGl_pipeline_settings::domDepth_func::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_func"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDepth_func , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ALWAYS");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDepth_func , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domDepth_func));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domFog_mode::create(DAE& dae)
+{
+ domGl_pipeline_settings::domFog_modeRef ref = new domGl_pipeline_settings::domFog_mode(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domFog_mode::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fog_mode" );
+ meta->registerClass(domGl_pipeline_settings::domFog_mode::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_fog"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFog_mode , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "EXP");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFog_mode , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domFog_mode));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domFog_coord_src::create(DAE& dae)
+{
+ domGl_pipeline_settings::domFog_coord_srcRef ref = new domGl_pipeline_settings::domFog_coord_src(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domFog_coord_src::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fog_coord_src" );
+ meta->registerClass(domGl_pipeline_settings::domFog_coord_src::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_fog_coord_src"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFog_coord_src , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "FOG_COORDINATE");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFog_coord_src , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domFog_coord_src));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domFront_face::create(DAE& dae)
+{
+ domGl_pipeline_settings::domFront_faceRef ref = new domGl_pipeline_settings::domFront_face(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domFront_face::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "front_face" );
+ meta->registerClass(domGl_pipeline_settings::domFront_face::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_front_face"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFront_face , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "CCW");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFront_face , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domFront_face));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLight_model_color_control::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLight_model_color_controlRef ref = new domGl_pipeline_settings::domLight_model_color_control(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLight_model_color_control::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_model_color_control" );
+ meta->registerClass(domGl_pipeline_settings::domLight_model_color_control::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_light_model_color_control"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_model_color_control , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "SINGLE_COLOR");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_model_color_control , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLight_model_color_control));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLogic_op::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLogic_opRef ref = new domGl_pipeline_settings::domLogic_op(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLogic_op::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "logic_op" );
+ meta->registerClass(domGl_pipeline_settings::domLogic_op::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_logic_op"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLogic_op , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "COPY");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLogic_op , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLogic_op));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domPolygon_mode::create(DAE& dae)
+{
+ domGl_pipeline_settings::domPolygon_modeRef ref = new domGl_pipeline_settings::domPolygon_mode(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domPolygon_mode::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "polygon_mode" );
+ meta->registerClass(domGl_pipeline_settings::domPolygon_mode::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "face" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domPolygon_mode,elemFace) );
+ mea->setElementType( domGl_pipeline_settings::domPolygon_mode::domFace::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "mode" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domPolygon_mode,elemMode) );
+ mea->setElementType( domGl_pipeline_settings::domPolygon_mode::domMode::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domPolygon_mode));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domPolygon_mode::domFace::create(DAE& dae)
+{
+ domGl_pipeline_settings::domPolygon_mode::domFaceRef ref = new domGl_pipeline_settings::domPolygon_mode::domFace(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domPolygon_mode::domFace::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "face" );
+ meta->registerClass(domGl_pipeline_settings::domPolygon_mode::domFace::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_face"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_mode::domFace , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "FRONT_AND_BACK");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_mode::domFace , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domPolygon_mode::domFace));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domPolygon_mode::domMode::create(DAE& dae)
+{
+ domGl_pipeline_settings::domPolygon_mode::domModeRef ref = new domGl_pipeline_settings::domPolygon_mode::domMode(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domPolygon_mode::domMode::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mode" );
+ meta->registerClass(domGl_pipeline_settings::domPolygon_mode::domMode::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_polygon_mode"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_mode::domMode , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "FILL");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_mode::domMode , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domPolygon_mode::domMode));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domShade_model::create(DAE& dae)
+{
+ domGl_pipeline_settings::domShade_modelRef ref = new domGl_pipeline_settings::domShade_model(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domShade_model::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "shade_model" );
+ meta->registerClass(domGl_pipeline_settings::domShade_model::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_shade_model"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domShade_model , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "SMOOTH");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domShade_model , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domShade_model));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_func::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_funcRef ref = new domGl_pipeline_settings::domStencil_func(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_func::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_func" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_func::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "func" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_func,elemFunc) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_func::domFunc::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "ref" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_func,elemRef) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_func::domRef::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "mask" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_func,elemMask) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_func::domMask::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_func));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_func::domFunc::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_func::domFuncRef ref = new domGl_pipeline_settings::domStencil_func::domFunc(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_func::domFunc::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "func" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_func::domFunc::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_func"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_func::domFunc , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ALWAYS");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_func::domFunc , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_func::domFunc));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_func::domRef::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_func::domRefRef ref = new domGl_pipeline_settings::domStencil_func::domRef(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_func::domRef::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "ref" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_func::domRef::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedByte"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_func::domRef , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_func::domRef , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_func::domRef));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_func::domMask::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_func::domMaskRef ref = new domGl_pipeline_settings::domStencil_func::domMask(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_func::domMask::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mask" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_func::domMask::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedByte"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_func::domMask , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "255");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_func::domMask , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_func::domMask));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_op::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_opRef ref = new domGl_pipeline_settings::domStencil_op(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_op::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_op" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_op::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fail" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_op,elemFail) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_op::domFail::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "zfail" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_op,elemZfail) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_op::domZfail::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "zpass" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_op,elemZpass) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_op::domZpass::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_op));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_op::domFail::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_op::domFailRef ref = new domGl_pipeline_settings::domStencil_op::domFail(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_op::domFail::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fail" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_op::domFail::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_stencil_op"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_op::domFail , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "KEEP");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_op::domFail , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_op::domFail));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_op::domZfail::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_op::domZfailRef ref = new domGl_pipeline_settings::domStencil_op::domZfail(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_op::domZfail::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "zfail" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_op::domZfail::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_stencil_op"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_op::domZfail , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "KEEP");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_op::domZfail , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_op::domZfail));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_op::domZpass::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_op::domZpassRef ref = new domGl_pipeline_settings::domStencil_op::domZpass(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_op::domZpass::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "zpass" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_op::domZpass::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_stencil_op"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_op::domZpass , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "KEEP");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_op::domZpass , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_op::domZpass));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_func_separate::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_func_separateRef ref = new domGl_pipeline_settings::domStencil_func_separate(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_func_separate::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_func_separate" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_func_separate::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "front" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_func_separate,elemFront) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_func_separate::domFront::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "back" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_func_separate,elemBack) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_func_separate::domBack::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "ref" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_func_separate,elemRef) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_func_separate::domRef::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 1, 1 );
+ mea->setName( "mask" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_func_separate,elemMask) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_func_separate::domMask::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_func_separate));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_func_separate::domFront::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_func_separate::domFrontRef ref = new domGl_pipeline_settings::domStencil_func_separate::domFront(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_func_separate::domFront::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "front" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_func_separate::domFront::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_func"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_func_separate::domFront , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ALWAYS");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_func_separate::domFront , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_func_separate::domFront));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_func_separate::domBack::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_func_separate::domBackRef ref = new domGl_pipeline_settings::domStencil_func_separate::domBack(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_func_separate::domBack::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "back" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_func_separate::domBack::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_func"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_func_separate::domBack , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ALWAYS");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_func_separate::domBack , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_func_separate::domBack));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_func_separate::domRef::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_func_separate::domRefRef ref = new domGl_pipeline_settings::domStencil_func_separate::domRef(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_func_separate::domRef::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "ref" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_func_separate::domRef::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedByte"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_func_separate::domRef , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_func_separate::domRef , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_func_separate::domRef));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_func_separate::domMask::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_func_separate::domMaskRef ref = new domGl_pipeline_settings::domStencil_func_separate::domMask(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_func_separate::domMask::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mask" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_func_separate::domMask::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedByte"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_func_separate::domMask , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "255");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_func_separate::domMask , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_func_separate::domMask));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_op_separate::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_op_separateRef ref = new domGl_pipeline_settings::domStencil_op_separate(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_op_separate::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_op_separate" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_op_separate::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "face" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_op_separate,elemFace) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_op_separate::domFace::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "fail" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_op_separate,elemFail) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_op_separate::domFail::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "zfail" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_op_separate,elemZfail) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_op_separate::domZfail::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 1, 1 );
+ mea->setName( "zpass" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_op_separate,elemZpass) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_op_separate::domZpass::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_op_separate));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_op_separate::domFace::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_op_separate::domFaceRef ref = new domGl_pipeline_settings::domStencil_op_separate::domFace(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_op_separate::domFace::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "face" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_op_separate::domFace::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_face"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_op_separate::domFace , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "FRONT_AND_BACK");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_op_separate::domFace , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_op_separate::domFace));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_op_separate::domFail::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_op_separate::domFailRef ref = new domGl_pipeline_settings::domStencil_op_separate::domFail(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_op_separate::domFail::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fail" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_op_separate::domFail::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_stencil_op"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_op_separate::domFail , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "KEEP");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_op_separate::domFail , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_op_separate::domFail));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_op_separate::domZfail::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_op_separate::domZfailRef ref = new domGl_pipeline_settings::domStencil_op_separate::domZfail(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_op_separate::domZfail::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "zfail" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_op_separate::domZfail::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_stencil_op"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_op_separate::domZfail , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "KEEP");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_op_separate::domZfail , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_op_separate::domZfail));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_op_separate::domZpass::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_op_separate::domZpassRef ref = new domGl_pipeline_settings::domStencil_op_separate::domZpass(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_op_separate::domZpass::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "zpass" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_op_separate::domZpass::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_stencil_op"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_op_separate::domZpass , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "KEEP");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_op_separate::domZpass , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_op_separate::domZpass));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_mask_separate::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_mask_separateRef ref = new domGl_pipeline_settings::domStencil_mask_separate(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_mask_separate::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_mask_separate" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_mask_separate::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "face" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_mask_separate,elemFace) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_mask_separate::domFace::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "mask" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domStencil_mask_separate,elemMask) );
+ mea->setElementType( domGl_pipeline_settings::domStencil_mask_separate::domMask::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_mask_separate));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_mask_separate::domFace::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_mask_separate::domFaceRef ref = new domGl_pipeline_settings::domStencil_mask_separate::domFace(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_mask_separate::domFace::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "face" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_mask_separate::domFace::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_face"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_mask_separate::domFace , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "FRONT_AND_BACK");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_mask_separate::domFace , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_mask_separate::domFace));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_mask_separate::domMask::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_mask_separate::domMaskRef ref = new domGl_pipeline_settings::domStencil_mask_separate::domMask(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_mask_separate::domMask::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mask" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_mask_separate::domMask::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedByte"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_mask_separate::domMask , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "255");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_mask_separate::domMask , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_mask_separate::domMask));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLight_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLight_enableRef ref = new domGl_pipeline_settings::domLight_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLight_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_enable" );
+ meta->registerClass(domGl_pipeline_settings::domLight_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_lights_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_enable , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLight_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLight_ambient::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLight_ambientRef ref = new domGl_pipeline_settings::domLight_ambient(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLight_ambient::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_ambient" );
+ meta->registerClass(domGl_pipeline_settings::domLight_ambient::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_ambient , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 0 1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_ambient , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_lights_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_ambient , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLight_ambient));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLight_diffuse::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLight_diffuseRef ref = new domGl_pipeline_settings::domLight_diffuse(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLight_diffuse::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_diffuse" );
+ meta->registerClass(domGl_pipeline_settings::domLight_diffuse::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_diffuse , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 0 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_diffuse , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_lights_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_diffuse , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLight_diffuse));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLight_specular::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLight_specularRef ref = new domGl_pipeline_settings::domLight_specular(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLight_specular::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_specular" );
+ meta->registerClass(domGl_pipeline_settings::domLight_specular::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_specular , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 0 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_specular , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_lights_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_specular , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLight_specular));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLight_position::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLight_positionRef ref = new domGl_pipeline_settings::domLight_position(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLight_position::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_position" );
+ meta->registerClass(domGl_pipeline_settings::domLight_position::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_position , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 1 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_position , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_lights_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_position , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLight_position));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLight_constant_attenuation::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLight_constant_attenuationRef ref = new domGl_pipeline_settings::domLight_constant_attenuation(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLight_constant_attenuation::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_constant_attenuation" );
+ meta->registerClass(domGl_pipeline_settings::domLight_constant_attenuation::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_constant_attenuation , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_constant_attenuation , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_lights_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_constant_attenuation , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLight_constant_attenuation));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLight_linear_attenuation::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLight_linear_attenuationRef ref = new domGl_pipeline_settings::domLight_linear_attenuation(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLight_linear_attenuation::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_linear_attenuation" );
+ meta->registerClass(domGl_pipeline_settings::domLight_linear_attenuation::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_linear_attenuation , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_linear_attenuation , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_lights_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_linear_attenuation , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLight_linear_attenuation));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLight_quadratic_attenuation::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLight_quadratic_attenuationRef ref = new domGl_pipeline_settings::domLight_quadratic_attenuation(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLight_quadratic_attenuation::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_quadratic_attenuation" );
+ meta->registerClass(domGl_pipeline_settings::domLight_quadratic_attenuation::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_quadratic_attenuation , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_quadratic_attenuation , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_lights_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_quadratic_attenuation , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLight_quadratic_attenuation));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLight_spot_cutoff::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLight_spot_cutoffRef ref = new domGl_pipeline_settings::domLight_spot_cutoff(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLight_spot_cutoff::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_spot_cutoff" );
+ meta->registerClass(domGl_pipeline_settings::domLight_spot_cutoff::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_spot_cutoff , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "180");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_spot_cutoff , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_lights_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_spot_cutoff , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLight_spot_cutoff));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLight_spot_direction::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLight_spot_directionRef ref = new domGl_pipeline_settings::domLight_spot_direction(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLight_spot_direction::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_spot_direction" );
+ meta->registerClass(domGl_pipeline_settings::domLight_spot_direction::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_spot_direction , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 -1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_spot_direction , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_lights_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_spot_direction , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLight_spot_direction));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLight_spot_exponent::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLight_spot_exponentRef ref = new domGl_pipeline_settings::domLight_spot_exponent(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLight_spot_exponent::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_spot_exponent" );
+ meta->registerClass(domGl_pipeline_settings::domLight_spot_exponent::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_spot_exponent , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_spot_exponent , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_lights_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_spot_exponent , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLight_spot_exponent));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTexture1D::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTexture1DRef ref = new domGl_pipeline_settings::domTexture1D(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTexture1D::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "texture1D" );
+ meta->registerClass(domGl_pipeline_settings::domTexture1D::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "value" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTexture1D,elemValue) );
+ mea->setElementType( domFx_sampler1D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTexture1D,elemParam) );
+ mea->setElementType( domGl_pipeline_settings::domTexture1D::domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGl_pipeline_settings::domTexture1D,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGl_pipeline_settings::domTexture1D,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGl_pipeline_settings::domTexture1D,_CMData), 1);
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_texture_image_units_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture1D , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTexture1D));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTexture1D::domParam::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTexture1D::domParamRef ref = new domGl_pipeline_settings::domTexture1D::domParam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTexture1D::domParam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "param" );
+ meta->registerClass(domGl_pipeline_settings::domTexture1D::domParam::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture1D::domParam , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTexture1D::domParam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTexture2D::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTexture2DRef ref = new domGl_pipeline_settings::domTexture2D(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTexture2D::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "texture2D" );
+ meta->registerClass(domGl_pipeline_settings::domTexture2D::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "value" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTexture2D,elemValue) );
+ mea->setElementType( domFx_sampler2D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTexture2D,elemParam) );
+ mea->setElementType( domGl_pipeline_settings::domTexture2D::domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGl_pipeline_settings::domTexture2D,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGl_pipeline_settings::domTexture2D,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGl_pipeline_settings::domTexture2D,_CMData), 1);
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_texture_image_units_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture2D , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTexture2D));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTexture2D::domParam::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTexture2D::domParamRef ref = new domGl_pipeline_settings::domTexture2D::domParam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTexture2D::domParam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "param" );
+ meta->registerClass(domGl_pipeline_settings::domTexture2D::domParam::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture2D::domParam , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTexture2D::domParam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTexture3D::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTexture3DRef ref = new domGl_pipeline_settings::domTexture3D(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTexture3D::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "texture3D" );
+ meta->registerClass(domGl_pipeline_settings::domTexture3D::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "value" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTexture3D,elemValue) );
+ mea->setElementType( domFx_sampler3D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTexture3D,elemParam) );
+ mea->setElementType( domGl_pipeline_settings::domTexture3D::domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGl_pipeline_settings::domTexture3D,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGl_pipeline_settings::domTexture3D,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGl_pipeline_settings::domTexture3D,_CMData), 1);
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_texture_image_units_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture3D , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTexture3D));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTexture3D::domParam::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTexture3D::domParamRef ref = new domGl_pipeline_settings::domTexture3D::domParam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTexture3D::domParam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "param" );
+ meta->registerClass(domGl_pipeline_settings::domTexture3D::domParam::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture3D::domParam , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTexture3D::domParam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTextureCUBE::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTextureCUBERef ref = new domGl_pipeline_settings::domTextureCUBE(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTextureCUBE::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "textureCUBE" );
+ meta->registerClass(domGl_pipeline_settings::domTextureCUBE::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "value" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTextureCUBE,elemValue) );
+ mea->setElementType( domFx_samplerCUBE::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTextureCUBE,elemParam) );
+ mea->setElementType( domGl_pipeline_settings::domTextureCUBE::domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGl_pipeline_settings::domTextureCUBE,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGl_pipeline_settings::domTextureCUBE,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGl_pipeline_settings::domTextureCUBE,_CMData), 1);
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_texture_image_units_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTextureCUBE , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTextureCUBE));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTextureCUBE::domParam::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTextureCUBE::domParamRef ref = new domGl_pipeline_settings::domTextureCUBE::domParam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTextureCUBE::domParam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "param" );
+ meta->registerClass(domGl_pipeline_settings::domTextureCUBE::domParam::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTextureCUBE::domParam , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTextureCUBE::domParam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTextureRECT::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTextureRECTRef ref = new domGl_pipeline_settings::domTextureRECT(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTextureRECT::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "textureRECT" );
+ meta->registerClass(domGl_pipeline_settings::domTextureRECT::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "value" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTextureRECT,elemValue) );
+ mea->setElementType( domFx_samplerRECT::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTextureRECT,elemParam) );
+ mea->setElementType( domGl_pipeline_settings::domTextureRECT::domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGl_pipeline_settings::domTextureRECT,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGl_pipeline_settings::domTextureRECT,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGl_pipeline_settings::domTextureRECT,_CMData), 1);
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_texture_image_units_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTextureRECT , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTextureRECT));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTextureRECT::domParam::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTextureRECT::domParamRef ref = new domGl_pipeline_settings::domTextureRECT::domParam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTextureRECT::domParam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "param" );
+ meta->registerClass(domGl_pipeline_settings::domTextureRECT::domParam::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTextureRECT::domParam , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTextureRECT::domParam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTextureDEPTH::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTextureDEPTHRef ref = new domGl_pipeline_settings::domTextureDEPTH(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTextureDEPTH::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "textureDEPTH" );
+ meta->registerClass(domGl_pipeline_settings::domTextureDEPTH::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "value" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTextureDEPTH,elemValue) );
+ mea->setElementType( domFx_samplerDEPTH::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domGl_pipeline_settings::domTextureDEPTH,elemParam) );
+ mea->setElementType( domGl_pipeline_settings::domTextureDEPTH::domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGl_pipeline_settings::domTextureDEPTH,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGl_pipeline_settings::domTextureDEPTH,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGl_pipeline_settings::domTextureDEPTH,_CMData), 1);
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_texture_image_units_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTextureDEPTH , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTextureDEPTH));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTextureDEPTH::domParam::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTextureDEPTH::domParamRef ref = new domGl_pipeline_settings::domTextureDEPTH::domParam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTextureDEPTH::domParam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "param" );
+ meta->registerClass(domGl_pipeline_settings::domTextureDEPTH::domParam::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTextureDEPTH::domParam , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTextureDEPTH::domParam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTexture1D_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTexture1D_enableRef ref = new domGl_pipeline_settings::domTexture1D_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTexture1D_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "texture1D_enable" );
+ meta->registerClass(domGl_pipeline_settings::domTexture1D_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture1D_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture1D_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_texture_image_units_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture1D_enable , attrIndex ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTexture1D_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTexture2D_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTexture2D_enableRef ref = new domGl_pipeline_settings::domTexture2D_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTexture2D_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "texture2D_enable" );
+ meta->registerClass(domGl_pipeline_settings::domTexture2D_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture2D_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture2D_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_texture_image_units_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture2D_enable , attrIndex ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTexture2D_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTexture3D_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTexture3D_enableRef ref = new domGl_pipeline_settings::domTexture3D_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTexture3D_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "texture3D_enable" );
+ meta->registerClass(domGl_pipeline_settings::domTexture3D_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture3D_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture3D_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_texture_image_units_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture3D_enable , attrIndex ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTexture3D_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTextureCUBE_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTextureCUBE_enableRef ref = new domGl_pipeline_settings::domTextureCUBE_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTextureCUBE_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "textureCUBE_enable" );
+ meta->registerClass(domGl_pipeline_settings::domTextureCUBE_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTextureCUBE_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTextureCUBE_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_texture_image_units_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTextureCUBE_enable , attrIndex ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTextureCUBE_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTextureRECT_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTextureRECT_enableRef ref = new domGl_pipeline_settings::domTextureRECT_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTextureRECT_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "textureRECT_enable" );
+ meta->registerClass(domGl_pipeline_settings::domTextureRECT_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTextureRECT_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTextureRECT_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_texture_image_units_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTextureRECT_enable , attrIndex ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTextureRECT_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTextureDEPTH_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTextureDEPTH_enableRef ref = new domGl_pipeline_settings::domTextureDEPTH_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTextureDEPTH_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "textureDEPTH_enable" );
+ meta->registerClass(domGl_pipeline_settings::domTextureDEPTH_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTextureDEPTH_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTextureDEPTH_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_texture_image_units_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTextureDEPTH_enable , attrIndex ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTextureDEPTH_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTexture_env_color::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTexture_env_colorRef ref = new domGl_pipeline_settings::domTexture_env_color(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTexture_env_color::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "texture_env_color" );
+ meta->registerClass(domGl_pipeline_settings::domTexture_env_color::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture_env_color , attrValue ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture_env_color , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_texture_image_units_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture_env_color , attrIndex ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTexture_env_color));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domTexture_env_mode::create(DAE& dae)
+{
+ domGl_pipeline_settings::domTexture_env_modeRef ref = new domGl_pipeline_settings::domTexture_env_mode(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domTexture_env_mode::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "texture_env_mode" );
+ meta->registerClass(domGl_pipeline_settings::domTexture_env_mode::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture_env_mode , attrValue ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture_env_mode , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_texture_image_units_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domTexture_env_mode , attrIndex ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domTexture_env_mode));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domClip_plane::create(DAE& dae)
+{
+ domGl_pipeline_settings::domClip_planeRef ref = new domGl_pipeline_settings::domClip_plane(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domClip_plane::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "clip_plane" );
+ meta->registerClass(domGl_pipeline_settings::domClip_plane::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domClip_plane , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 0 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domClip_plane , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_clip_planes_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domClip_plane , attrIndex ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domClip_plane));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domClip_plane_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domClip_plane_enableRef ref = new domGl_pipeline_settings::domClip_plane_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domClip_plane_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "clip_plane_enable" );
+ meta->registerClass(domGl_pipeline_settings::domClip_plane_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domClip_plane_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domClip_plane_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gl_max_clip_planes_index"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domClip_plane_enable , attrIndex ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domClip_plane_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domBlend_color::create(DAE& dae)
+{
+ domGl_pipeline_settings::domBlend_colorRef ref = new domGl_pipeline_settings::domBlend_color(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domBlend_color::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "blend_color" );
+ meta->registerClass(domGl_pipeline_settings::domBlend_color::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_color , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 0 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_color , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domBlend_color));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domColor_mask::create(DAE& dae)
+{
+ domGl_pipeline_settings::domColor_maskRef ref = new domGl_pipeline_settings::domColor_mask(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domColor_mask::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "color_mask" );
+ meta->registerClass(domGl_pipeline_settings::domColor_mask::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domColor_mask , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "true true true true");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domColor_mask , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domColor_mask));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domDepth_bounds::create(DAE& dae)
+{
+ domGl_pipeline_settings::domDepth_boundsRef ref = new domGl_pipeline_settings::domDepth_bounds(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domDepth_bounds::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "depth_bounds" );
+ meta->registerClass(domGl_pipeline_settings::domDepth_bounds::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDepth_bounds , attrValue ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDepth_bounds , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domDepth_bounds));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domDepth_mask::create(DAE& dae)
+{
+ domGl_pipeline_settings::domDepth_maskRef ref = new domGl_pipeline_settings::domDepth_mask(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domDepth_mask::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "depth_mask" );
+ meta->registerClass(domGl_pipeline_settings::domDepth_mask::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDepth_mask , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "true");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDepth_mask , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domDepth_mask));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domDepth_range::create(DAE& dae)
+{
+ domGl_pipeline_settings::domDepth_rangeRef ref = new domGl_pipeline_settings::domDepth_range(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domDepth_range::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "depth_range" );
+ meta->registerClass(domGl_pipeline_settings::domDepth_range::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDepth_range , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDepth_range , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domDepth_range));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domFog_density::create(DAE& dae)
+{
+ domGl_pipeline_settings::domFog_densityRef ref = new domGl_pipeline_settings::domFog_density(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domFog_density::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fog_density" );
+ meta->registerClass(domGl_pipeline_settings::domFog_density::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFog_density , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFog_density , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domFog_density));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domFog_start::create(DAE& dae)
+{
+ domGl_pipeline_settings::domFog_startRef ref = new domGl_pipeline_settings::domFog_start(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domFog_start::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fog_start" );
+ meta->registerClass(domGl_pipeline_settings::domFog_start::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFog_start , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFog_start , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domFog_start));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domFog_end::create(DAE& dae)
+{
+ domGl_pipeline_settings::domFog_endRef ref = new domGl_pipeline_settings::domFog_end(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domFog_end::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fog_end" );
+ meta->registerClass(domGl_pipeline_settings::domFog_end::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFog_end , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFog_end , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domFog_end));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domFog_color::create(DAE& dae)
+{
+ domGl_pipeline_settings::domFog_colorRef ref = new domGl_pipeline_settings::domFog_color(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domFog_color::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fog_color" );
+ meta->registerClass(domGl_pipeline_settings::domFog_color::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFog_color , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 0 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFog_color , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domFog_color));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLight_model_ambient::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLight_model_ambientRef ref = new domGl_pipeline_settings::domLight_model_ambient(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLight_model_ambient::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_model_ambient" );
+ meta->registerClass(domGl_pipeline_settings::domLight_model_ambient::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_model_ambient , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0.2 0.2 0.2 1.0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_model_ambient , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLight_model_ambient));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLighting_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLighting_enableRef ref = new domGl_pipeline_settings::domLighting_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLighting_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "lighting_enable" );
+ meta->registerClass(domGl_pipeline_settings::domLighting_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLighting_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLighting_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLighting_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLine_stipple::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLine_stippleRef ref = new domGl_pipeline_settings::domLine_stipple(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLine_stipple::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "line_stipple" );
+ meta->registerClass(domGl_pipeline_settings::domLine_stipple::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Int2"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLine_stipple , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1 65536");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLine_stipple , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLine_stipple));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLine_width::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLine_widthRef ref = new domGl_pipeline_settings::domLine_width(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLine_width::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "line_width" );
+ meta->registerClass(domGl_pipeline_settings::domLine_width::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLine_width , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLine_width , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLine_width));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domMaterial_ambient::create(DAE& dae)
+{
+ domGl_pipeline_settings::domMaterial_ambientRef ref = new domGl_pipeline_settings::domMaterial_ambient(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domMaterial_ambient::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "material_ambient" );
+ meta->registerClass(domGl_pipeline_settings::domMaterial_ambient::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domMaterial_ambient , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0.2 0.2 0.2 1.0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domMaterial_ambient , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domMaterial_ambient));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domMaterial_diffuse::create(DAE& dae)
+{
+ domGl_pipeline_settings::domMaterial_diffuseRef ref = new domGl_pipeline_settings::domMaterial_diffuse(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domMaterial_diffuse::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "material_diffuse" );
+ meta->registerClass(domGl_pipeline_settings::domMaterial_diffuse::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domMaterial_diffuse , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0.8 0.8 0.8 1.0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domMaterial_diffuse , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domMaterial_diffuse));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domMaterial_emission::create(DAE& dae)
+{
+ domGl_pipeline_settings::domMaterial_emissionRef ref = new domGl_pipeline_settings::domMaterial_emission(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domMaterial_emission::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "material_emission" );
+ meta->registerClass(domGl_pipeline_settings::domMaterial_emission::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domMaterial_emission , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 0 1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domMaterial_emission , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domMaterial_emission));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domMaterial_shininess::create(DAE& dae)
+{
+ domGl_pipeline_settings::domMaterial_shininessRef ref = new domGl_pipeline_settings::domMaterial_shininess(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domMaterial_shininess::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "material_shininess" );
+ meta->registerClass(domGl_pipeline_settings::domMaterial_shininess::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domMaterial_shininess , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domMaterial_shininess , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domMaterial_shininess));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domMaterial_specular::create(DAE& dae)
+{
+ domGl_pipeline_settings::domMaterial_specularRef ref = new domGl_pipeline_settings::domMaterial_specular(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domMaterial_specular::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "material_specular" );
+ meta->registerClass(domGl_pipeline_settings::domMaterial_specular::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domMaterial_specular , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 0 1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domMaterial_specular , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domMaterial_specular));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domModel_view_matrix::create(DAE& dae)
+{
+ domGl_pipeline_settings::domModel_view_matrixRef ref = new domGl_pipeline_settings::domModel_view_matrix(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domModel_view_matrix::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "model_view_matrix" );
+ meta->registerClass(domGl_pipeline_settings::domModel_view_matrix::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domModel_view_matrix , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domModel_view_matrix , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domModel_view_matrix));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domPoint_distance_attenuation::create(DAE& dae)
+{
+ domGl_pipeline_settings::domPoint_distance_attenuationRef ref = new domGl_pipeline_settings::domPoint_distance_attenuation(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domPoint_distance_attenuation::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "point_distance_attenuation" );
+ meta->registerClass(domGl_pipeline_settings::domPoint_distance_attenuation::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPoint_distance_attenuation , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1 0 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPoint_distance_attenuation , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domPoint_distance_attenuation));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domPoint_fade_threshold_size::create(DAE& dae)
+{
+ domGl_pipeline_settings::domPoint_fade_threshold_sizeRef ref = new domGl_pipeline_settings::domPoint_fade_threshold_size(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domPoint_fade_threshold_size::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "point_fade_threshold_size" );
+ meta->registerClass(domGl_pipeline_settings::domPoint_fade_threshold_size::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPoint_fade_threshold_size , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPoint_fade_threshold_size , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domPoint_fade_threshold_size));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domPoint_size::create(DAE& dae)
+{
+ domGl_pipeline_settings::domPoint_sizeRef ref = new domGl_pipeline_settings::domPoint_size(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domPoint_size::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "point_size" );
+ meta->registerClass(domGl_pipeline_settings::domPoint_size::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPoint_size , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPoint_size , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domPoint_size));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domPoint_size_min::create(DAE& dae)
+{
+ domGl_pipeline_settings::domPoint_size_minRef ref = new domGl_pipeline_settings::domPoint_size_min(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domPoint_size_min::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "point_size_min" );
+ meta->registerClass(domGl_pipeline_settings::domPoint_size_min::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPoint_size_min , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPoint_size_min , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domPoint_size_min));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domPoint_size_max::create(DAE& dae)
+{
+ domGl_pipeline_settings::domPoint_size_maxRef ref = new domGl_pipeline_settings::domPoint_size_max(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domPoint_size_max::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "point_size_max" );
+ meta->registerClass(domGl_pipeline_settings::domPoint_size_max::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPoint_size_max , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPoint_size_max , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domPoint_size_max));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domPolygon_offset::create(DAE& dae)
+{
+ domGl_pipeline_settings::domPolygon_offsetRef ref = new domGl_pipeline_settings::domPolygon_offset(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domPolygon_offset::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "polygon_offset" );
+ meta->registerClass(domGl_pipeline_settings::domPolygon_offset::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_offset , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_offset , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domPolygon_offset));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domProjection_matrix::create(DAE& dae)
+{
+ domGl_pipeline_settings::domProjection_matrixRef ref = new domGl_pipeline_settings::domProjection_matrix(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domProjection_matrix::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "projection_matrix" );
+ meta->registerClass(domGl_pipeline_settings::domProjection_matrix::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domProjection_matrix , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domProjection_matrix , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domProjection_matrix));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domScissor::create(DAE& dae)
+{
+ domGl_pipeline_settings::domScissorRef ref = new domGl_pipeline_settings::domScissor(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domScissor::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "scissor" );
+ meta->registerClass(domGl_pipeline_settings::domScissor::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Int4"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domScissor , attrValue ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domScissor , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domScissor));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_mask::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_maskRef ref = new domGl_pipeline_settings::domStencil_mask(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_mask::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_mask" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_mask::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Int"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_mask , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "4294967295");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_mask , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_mask));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domAlpha_test_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domAlpha_test_enableRef ref = new domGl_pipeline_settings::domAlpha_test_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domAlpha_test_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "alpha_test_enable" );
+ meta->registerClass(domGl_pipeline_settings::domAlpha_test_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domAlpha_test_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domAlpha_test_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domAlpha_test_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domBlend_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domBlend_enableRef ref = new domGl_pipeline_settings::domBlend_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domBlend_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "blend_enable" );
+ meta->registerClass(domGl_pipeline_settings::domBlend_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domBlend_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domBlend_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domColor_logic_op_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domColor_logic_op_enableRef ref = new domGl_pipeline_settings::domColor_logic_op_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domColor_logic_op_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "color_logic_op_enable" );
+ meta->registerClass(domGl_pipeline_settings::domColor_logic_op_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domColor_logic_op_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domColor_logic_op_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domColor_logic_op_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domColor_material_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domColor_material_enableRef ref = new domGl_pipeline_settings::domColor_material_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domColor_material_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "color_material_enable" );
+ meta->registerClass(domGl_pipeline_settings::domColor_material_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domColor_material_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "true");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domColor_material_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domColor_material_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domCull_face_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domCull_face_enableRef ref = new domGl_pipeline_settings::domCull_face_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domCull_face_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cull_face_enable" );
+ meta->registerClass(domGl_pipeline_settings::domCull_face_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domCull_face_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domCull_face_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domCull_face_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domDepth_bounds_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domDepth_bounds_enableRef ref = new domGl_pipeline_settings::domDepth_bounds_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domDepth_bounds_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "depth_bounds_enable" );
+ meta->registerClass(domGl_pipeline_settings::domDepth_bounds_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDepth_bounds_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDepth_bounds_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domDepth_bounds_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domDepth_clamp_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domDepth_clamp_enableRef ref = new domGl_pipeline_settings::domDepth_clamp_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domDepth_clamp_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "depth_clamp_enable" );
+ meta->registerClass(domGl_pipeline_settings::domDepth_clamp_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDepth_clamp_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDepth_clamp_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domDepth_clamp_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domDepth_test_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domDepth_test_enableRef ref = new domGl_pipeline_settings::domDepth_test_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domDepth_test_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "depth_test_enable" );
+ meta->registerClass(domGl_pipeline_settings::domDepth_test_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDepth_test_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDepth_test_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domDepth_test_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domDither_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domDither_enableRef ref = new domGl_pipeline_settings::domDither_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domDither_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "dither_enable" );
+ meta->registerClass(domGl_pipeline_settings::domDither_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDither_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "true");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domDither_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domDither_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domFog_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domFog_enableRef ref = new domGl_pipeline_settings::domFog_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domFog_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fog_enable" );
+ meta->registerClass(domGl_pipeline_settings::domFog_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFog_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domFog_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domFog_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLight_model_local_viewer_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLight_model_local_viewer_enableRef ref = new domGl_pipeline_settings::domLight_model_local_viewer_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLight_model_local_viewer_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_model_local_viewer_enable" );
+ meta->registerClass(domGl_pipeline_settings::domLight_model_local_viewer_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_model_local_viewer_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_model_local_viewer_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLight_model_local_viewer_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLight_model_two_side_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLight_model_two_side_enableRef ref = new domGl_pipeline_settings::domLight_model_two_side_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLight_model_two_side_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_model_two_side_enable" );
+ meta->registerClass(domGl_pipeline_settings::domLight_model_two_side_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_model_two_side_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLight_model_two_side_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLight_model_two_side_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLine_smooth_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLine_smooth_enableRef ref = new domGl_pipeline_settings::domLine_smooth_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLine_smooth_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "line_smooth_enable" );
+ meta->registerClass(domGl_pipeline_settings::domLine_smooth_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLine_smooth_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLine_smooth_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLine_smooth_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLine_stipple_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLine_stipple_enableRef ref = new domGl_pipeline_settings::domLine_stipple_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLine_stipple_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "line_stipple_enable" );
+ meta->registerClass(domGl_pipeline_settings::domLine_stipple_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLine_stipple_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLine_stipple_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLine_stipple_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domLogic_op_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domLogic_op_enableRef ref = new domGl_pipeline_settings::domLogic_op_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domLogic_op_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "logic_op_enable" );
+ meta->registerClass(domGl_pipeline_settings::domLogic_op_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLogic_op_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domLogic_op_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domLogic_op_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domMultisample_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domMultisample_enableRef ref = new domGl_pipeline_settings::domMultisample_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domMultisample_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "multisample_enable" );
+ meta->registerClass(domGl_pipeline_settings::domMultisample_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domMultisample_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domMultisample_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domMultisample_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domNormalize_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domNormalize_enableRef ref = new domGl_pipeline_settings::domNormalize_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domNormalize_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "normalize_enable" );
+ meta->registerClass(domGl_pipeline_settings::domNormalize_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domNormalize_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domNormalize_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domNormalize_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domPoint_smooth_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domPoint_smooth_enableRef ref = new domGl_pipeline_settings::domPoint_smooth_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domPoint_smooth_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "point_smooth_enable" );
+ meta->registerClass(domGl_pipeline_settings::domPoint_smooth_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPoint_smooth_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPoint_smooth_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domPoint_smooth_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domPolygon_offset_fill_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domPolygon_offset_fill_enableRef ref = new domGl_pipeline_settings::domPolygon_offset_fill_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domPolygon_offset_fill_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "polygon_offset_fill_enable" );
+ meta->registerClass(domGl_pipeline_settings::domPolygon_offset_fill_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_offset_fill_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_offset_fill_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domPolygon_offset_fill_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domPolygon_offset_line_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domPolygon_offset_line_enableRef ref = new domGl_pipeline_settings::domPolygon_offset_line_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domPolygon_offset_line_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "polygon_offset_line_enable" );
+ meta->registerClass(domGl_pipeline_settings::domPolygon_offset_line_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_offset_line_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_offset_line_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domPolygon_offset_line_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domPolygon_offset_point_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domPolygon_offset_point_enableRef ref = new domGl_pipeline_settings::domPolygon_offset_point_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domPolygon_offset_point_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "polygon_offset_point_enable" );
+ meta->registerClass(domGl_pipeline_settings::domPolygon_offset_point_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_offset_point_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_offset_point_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domPolygon_offset_point_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domPolygon_smooth_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domPolygon_smooth_enableRef ref = new domGl_pipeline_settings::domPolygon_smooth_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domPolygon_smooth_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "polygon_smooth_enable" );
+ meta->registerClass(domGl_pipeline_settings::domPolygon_smooth_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_smooth_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_smooth_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domPolygon_smooth_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domPolygon_stipple_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domPolygon_stipple_enableRef ref = new domGl_pipeline_settings::domPolygon_stipple_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domPolygon_stipple_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "polygon_stipple_enable" );
+ meta->registerClass(domGl_pipeline_settings::domPolygon_stipple_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_stipple_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domPolygon_stipple_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domPolygon_stipple_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domRescale_normal_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domRescale_normal_enableRef ref = new domGl_pipeline_settings::domRescale_normal_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domRescale_normal_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "rescale_normal_enable" );
+ meta->registerClass(domGl_pipeline_settings::domRescale_normal_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domRescale_normal_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domRescale_normal_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domRescale_normal_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domSample_alpha_to_coverage_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domSample_alpha_to_coverage_enableRef ref = new domGl_pipeline_settings::domSample_alpha_to_coverage_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domSample_alpha_to_coverage_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "sample_alpha_to_coverage_enable" );
+ meta->registerClass(domGl_pipeline_settings::domSample_alpha_to_coverage_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domSample_alpha_to_coverage_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domSample_alpha_to_coverage_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domSample_alpha_to_coverage_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domSample_alpha_to_one_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domSample_alpha_to_one_enableRef ref = new domGl_pipeline_settings::domSample_alpha_to_one_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domSample_alpha_to_one_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "sample_alpha_to_one_enable" );
+ meta->registerClass(domGl_pipeline_settings::domSample_alpha_to_one_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domSample_alpha_to_one_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domSample_alpha_to_one_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domSample_alpha_to_one_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domSample_coverage_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domSample_coverage_enableRef ref = new domGl_pipeline_settings::domSample_coverage_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domSample_coverage_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "sample_coverage_enable" );
+ meta->registerClass(domGl_pipeline_settings::domSample_coverage_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domSample_coverage_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domSample_coverage_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domSample_coverage_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domScissor_test_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domScissor_test_enableRef ref = new domGl_pipeline_settings::domScissor_test_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domScissor_test_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "scissor_test_enable" );
+ meta->registerClass(domGl_pipeline_settings::domScissor_test_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domScissor_test_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domScissor_test_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domScissor_test_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGl_pipeline_settings::domStencil_test_enable::create(DAE& dae)
+{
+ domGl_pipeline_settings::domStencil_test_enableRef ref = new domGl_pipeline_settings::domStencil_test_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGl_pipeline_settings::domStencil_test_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_test_enable" );
+ meta->registerClass(domGl_pipeline_settings::domStencil_test_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_test_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGl_pipeline_settings::domStencil_test_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGl_pipeline_settings::domStencil_test_enable));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGles2_newparam.cpp b/1.4.0/dom/src/1.5/dom/domGles2_newparam.cpp
new file mode 100644
index 0000000..01c437b
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGles2_newparam.cpp
@@ -0,0 +1,153 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGles2_newparam.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGles2_newparam::create(DAE& dae)
+{
+ domGles2_newparamRef ref = new domGles2_newparam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_newparam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles2_newparam" );
+ meta->registerClass(domGles2_newparam::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domGles2_newparam,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "semantic" );
+ mea->setOffset( daeOffsetOf(domGles2_newparam,elemSemantic) );
+ mea->setElementType( domGles2_newparam::domSemantic::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "modifier" );
+ mea->setOffset( daeOffsetOf(domGles2_newparam,elemModifier) );
+ mea->setElementType( domGles2_newparam::domModifier::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 1, 1 );
+ mea->setName( "gles2_value" );
+ mea->setOffset( daeOffsetOf(domGles2_newparam,elemGles2_value) );
+ mea->setElementType( domGles2_value::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 3, 1, 1 ) );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domGles2_newparam , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_newparam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_newparam::domSemantic::create(DAE& dae)
+{
+ domGles2_newparam::domSemanticRef ref = new domGles2_newparam::domSemantic(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_newparam::domSemantic::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "semantic" );
+ meta->registerClass(domGles2_newparam::domSemantic::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles2_newparam::domSemantic , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_newparam::domSemantic));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_newparam::domModifier::create(DAE& dae)
+{
+ domGles2_newparam::domModifierRef ref = new domGles2_newparam::domModifier(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_newparam::domModifier::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "modifier" );
+ meta->registerClass(domGles2_newparam::domModifier::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_modifier"));
+ ma->setOffset( daeOffsetOf( domGles2_newparam::domModifier , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_newparam::domModifier));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGles2_pass.cpp b/1.4.0/dom/src/1.5/dom/domGles2_pass.cpp
new file mode 100644
index 0000000..63b6f4b
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGles2_pass.cpp
@@ -0,0 +1,237 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGles2_pass.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGles2_pass::create(DAE& dae)
+{
+ domGles2_passRef ref = new domGles2_pass(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pass::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles2_pass" );
+ meta->registerClass(domGles2_pass::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domGles2_pass,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "states" );
+ mea->setOffset( daeOffsetOf(domGles2_pass,elemStates) );
+ mea->setElementType( domGles2_pass::domStates::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "program" );
+ mea->setOffset( daeOffsetOf(domGles2_pass,elemProgram) );
+ mea->setElementType( domGles2_program::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "evaluate" );
+ mea->setOffset( daeOffsetOf(domGles2_pass,elemEvaluate) );
+ mea->setElementType( domGles2_pass::domEvaluate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 4, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domGles2_pass,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 4 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domGles2_pass , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pass));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pass::domStates::create(DAE& dae)
+{
+ domGles2_pass::domStatesRef ref = new domGles2_pass::domStates(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pass::domStates::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "states" );
+ meta->registerClass(domGles2_pass::domStates::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "gles2_pipeline_settings" );
+ mea->setOffset( daeOffsetOf(domGles2_pass::domStates,elemGles2_pipeline_settings_array) );
+ mea->setElementType( domGles2_pipeline_settings::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 1, 1 ) );
+
+ cm->setMaxOrdinal( 2999 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGles2_pass::domStates));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pass::domEvaluate::create(DAE& dae)
+{
+ domGles2_pass::domEvaluateRef ref = new domGles2_pass::domEvaluate(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pass::domEvaluate::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "evaluate" );
+ meta->registerClass(domGles2_pass::domEvaluate::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "color_target" );
+ mea->setOffset( daeOffsetOf(domGles2_pass::domEvaluate,elemColor_target_array) );
+ mea->setElementType( domFx_colortarget::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "depth_target" );
+ mea->setOffset( daeOffsetOf(domGles2_pass::domEvaluate,elemDepth_target_array) );
+ mea->setElementType( domFx_depthtarget::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "stencil_target" );
+ mea->setOffset( daeOffsetOf(domGles2_pass::domEvaluate,elemStencil_target_array) );
+ mea->setElementType( domFx_stenciltarget::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "color_clear" );
+ mea->setOffset( daeOffsetOf(domGles2_pass::domEvaluate,elemColor_clear_array) );
+ mea->setElementType( domFx_clearcolor::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 4, 0, -1 );
+ mea->setName( "stencil_clear" );
+ mea->setOffset( daeOffsetOf(domGles2_pass::domEvaluate,elemStencil_clear_array) );
+ mea->setElementType( domFx_clearstencil::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 5, 0, -1 );
+ mea->setName( "depth_clear" );
+ mea->setOffset( daeOffsetOf(domGles2_pass::domEvaluate,elemDepth_clear_array) );
+ mea->setElementType( domFx_cleardepth::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "draw" );
+ mea->setOffset( daeOffsetOf(domGles2_pass::domEvaluate,elemDraw) );
+ mea->setElementType( domGles2_pass::domEvaluate::domDraw::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 6 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGles2_pass::domEvaluate));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pass::domEvaluate::domDraw::create(DAE& dae)
+{
+ domGles2_pass::domEvaluate::domDrawRef ref = new domGles2_pass::domEvaluate::domDraw(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pass::domEvaluate::domDraw::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "draw" );
+ meta->registerClass(domGles2_pass::domEvaluate::domDraw::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_draw"));
+ ma->setOffset( daeOffsetOf( domGles2_pass::domEvaluate::domDraw , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pass::domEvaluate::domDraw));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGles2_pipeline_settings.cpp b/1.4.0/dom/src/1.5/dom/domGles2_pipeline_settings.cpp
new file mode 100644
index 0000000..9ada749
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGles2_pipeline_settings.cpp
@@ -0,0 +1,3240 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGles2_pipeline_settings.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGles2_pipeline_settings::create(DAE& dae)
+{
+ domGles2_pipeline_settingsRef ref = new domGles2_pipeline_settings(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles2_pipeline_settings" );
+ meta->registerClass(domGles2_pipeline_settings::create);
+
+ meta->setIsTransparent( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "blend_color" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemBlend_color) );
+ mea->setElementType( domGles2_pipeline_settings::domBlend_color::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "blend_equation" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemBlend_equation) );
+ mea->setElementType( domGles2_pipeline_settings::domBlend_equation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "blend_equation_separate" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemBlend_equation_separate) );
+ mea->setElementType( domGles2_pipeline_settings::domBlend_equation_separate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "blend_func" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemBlend_func) );
+ mea->setElementType( domGles2_pipeline_settings::domBlend_func::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "blend_func_separate" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemBlend_func_separate) );
+ mea->setElementType( domGles2_pipeline_settings::domBlend_func_separate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "color_mask" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemColor_mask) );
+ mea->setElementType( domGles2_pipeline_settings::domColor_mask::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "cull_face" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemCull_face) );
+ mea->setElementType( domGles2_pipeline_settings::domCull_face::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "depth_func" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemDepth_func) );
+ mea->setElementType( domGles2_pipeline_settings::domDepth_func::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "depth_mask" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemDepth_mask) );
+ mea->setElementType( domGles2_pipeline_settings::domDepth_mask::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "depth_range" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemDepth_range) );
+ mea->setElementType( domGles2_pipeline_settings::domDepth_range::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "front_face" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemFront_face) );
+ mea->setElementType( domGles2_pipeline_settings::domFront_face::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "line_width" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemLine_width) );
+ mea->setElementType( domGles2_pipeline_settings::domLine_width::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "polygon_offset" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemPolygon_offset) );
+ mea->setElementType( domGles2_pipeline_settings::domPolygon_offset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "point_size" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemPoint_size) );
+ mea->setElementType( domGles2_pipeline_settings::domPoint_size::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sample_coverage" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemSample_coverage) );
+ mea->setElementType( domGles2_pipeline_settings::domSample_coverage::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "scissor" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemScissor) );
+ mea->setElementType( domGles2_pipeline_settings::domScissor::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_func" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemStencil_func) );
+ mea->setElementType( domGles2_pipeline_settings::domStencil_func::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_func_separate" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemStencil_func_separate) );
+ mea->setElementType( domGles2_pipeline_settings::domStencil_func_separate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_mask" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemStencil_mask) );
+ mea->setElementType( domGles2_pipeline_settings::domStencil_mask::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_mask_separate" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemStencil_mask_separate) );
+ mea->setElementType( domGles2_pipeline_settings::domStencil_mask_separate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_op" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemStencil_op) );
+ mea->setElementType( domGles2_pipeline_settings::domStencil_op::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_op_separate" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemStencil_op_separate) );
+ mea->setElementType( domGles2_pipeline_settings::domStencil_op_separate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "blend_enable" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemBlend_enable) );
+ mea->setElementType( domGles2_pipeline_settings::domBlend_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "cull_face_enable" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemCull_face_enable) );
+ mea->setElementType( domGles2_pipeline_settings::domCull_face_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "depth_test_enable" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemDepth_test_enable) );
+ mea->setElementType( domGles2_pipeline_settings::domDepth_test_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "dither_enable" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemDither_enable) );
+ mea->setElementType( domGles2_pipeline_settings::domDither_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "polygon_offset_fill_enable" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemPolygon_offset_fill_enable) );
+ mea->setElementType( domGles2_pipeline_settings::domPolygon_offset_fill_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "point_size_enable" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemPoint_size_enable) );
+ mea->setElementType( domGles2_pipeline_settings::domPoint_size_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sample_alpha_to_coverage_enable" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemSample_alpha_to_coverage_enable) );
+ mea->setElementType( domGles2_pipeline_settings::domSample_alpha_to_coverage_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sample_coverage_enable" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemSample_coverage_enable) );
+ mea->setElementType( domGles2_pipeline_settings::domSample_coverage_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "scissor_test_enable" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemScissor_test_enable) );
+ mea->setElementType( domGles2_pipeline_settings::domScissor_test_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_test_enable" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings,elemStencil_test_enable) );
+ mea->setElementType( domGles2_pipeline_settings::domStencil_test_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGles2_pipeline_settings,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGles2_pipeline_settings,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGles2_pipeline_settings,_CMData), 1);
+ meta->setElementSize(sizeof(domGles2_pipeline_settings));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domBlend_color::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domBlend_colorRef ref = new domGles2_pipeline_settings::domBlend_color(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domBlend_color::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "blend_color" );
+ meta->registerClass(domGles2_pipeline_settings::domBlend_color::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domBlend_color , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 0 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domBlend_color , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domBlend_color));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domBlend_equation::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domBlend_equationRef ref = new domGles2_pipeline_settings::domBlend_equation(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domBlend_equation::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "blend_equation" );
+ meta->registerClass(domGles2_pipeline_settings::domBlend_equation::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend_equation"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domBlend_equation , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "FUNC_ADD");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domBlend_equation , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domBlend_equation));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domBlend_equation_separate::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domBlend_equation_separateRef ref = new domGles2_pipeline_settings::domBlend_equation_separate(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domBlend_equation_separate::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "blend_equation_separate" );
+ meta->registerClass(domGles2_pipeline_settings::domBlend_equation_separate::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "rgb" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domBlend_equation_separate,elemRgb) );
+ mea->setElementType( domGles2_pipeline_settings::domBlend_equation_separate::domRgb::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "alpha" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domBlend_equation_separate,elemAlpha) );
+ mea->setElementType( domGles2_pipeline_settings::domBlend_equation_separate::domAlpha::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domBlend_equation_separate));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domBlend_equation_separate::domRgb::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domBlend_equation_separate::domRgbRef ref = new domGles2_pipeline_settings::domBlend_equation_separate::domRgb(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domBlend_equation_separate::domRgb::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "rgb" );
+ meta->registerClass(domGles2_pipeline_settings::domBlend_equation_separate::domRgb::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend_equation"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domBlend_equation_separate::domRgb , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "FUNC_ADD");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domBlend_equation_separate::domRgb , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domBlend_equation_separate::domRgb));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domBlend_equation_separate::domAlpha::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domBlend_equation_separate::domAlphaRef ref = new domGles2_pipeline_settings::domBlend_equation_separate::domAlpha(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domBlend_equation_separate::domAlpha::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "alpha" );
+ meta->registerClass(domGles2_pipeline_settings::domBlend_equation_separate::domAlpha::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend_equation"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domBlend_equation_separate::domAlpha , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "FUNC_ADD");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domBlend_equation_separate::domAlpha , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domBlend_equation_separate::domAlpha));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domBlend_func::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domBlend_funcRef ref = new domGles2_pipeline_settings::domBlend_func(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domBlend_func::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "blend_func" );
+ meta->registerClass(domGles2_pipeline_settings::domBlend_func::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "src" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domBlend_func,elemSrc) );
+ mea->setElementType( domGles2_pipeline_settings::domBlend_func::domSrc::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "dest" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domBlend_func,elemDest) );
+ mea->setElementType( domGles2_pipeline_settings::domBlend_func::domDest::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domBlend_func));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domBlend_func::domSrc::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domBlend_func::domSrcRef ref = new domGles2_pipeline_settings::domBlend_func::domSrc(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domBlend_func::domSrc::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "src" );
+ meta->registerClass(domGles2_pipeline_settings::domBlend_func::domSrc::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domBlend_func::domSrc , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ONE");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domBlend_func::domSrc , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domBlend_func::domSrc));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domBlend_func::domDest::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domBlend_func::domDestRef ref = new domGles2_pipeline_settings::domBlend_func::domDest(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domBlend_func::domDest::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "dest" );
+ meta->registerClass(domGles2_pipeline_settings::domBlend_func::domDest::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domBlend_func::domDest , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ZERO");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domBlend_func::domDest , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domBlend_func::domDest));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domBlend_func_separate::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domBlend_func_separateRef ref = new domGles2_pipeline_settings::domBlend_func_separate(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domBlend_func_separate::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "blend_func_separate" );
+ meta->registerClass(domGles2_pipeline_settings::domBlend_func_separate::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "src_rgb" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domBlend_func_separate,elemSrc_rgb) );
+ mea->setElementType( domGles2_pipeline_settings::domBlend_func_separate::domSrc_rgb::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "dest_rgb" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domBlend_func_separate,elemDest_rgb) );
+ mea->setElementType( domGles2_pipeline_settings::domBlend_func_separate::domDest_rgb::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "src_alpha" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domBlend_func_separate,elemSrc_alpha) );
+ mea->setElementType( domGles2_pipeline_settings::domBlend_func_separate::domSrc_alpha::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 1, 1 );
+ mea->setName( "dest_alpha" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domBlend_func_separate,elemDest_alpha) );
+ mea->setElementType( domGles2_pipeline_settings::domBlend_func_separate::domDest_alpha::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domBlend_func_separate));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domBlend_func_separate::domSrc_rgb::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domBlend_func_separate::domSrc_rgbRef ref = new domGles2_pipeline_settings::domBlend_func_separate::domSrc_rgb(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domBlend_func_separate::domSrc_rgb::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "src_rgb" );
+ meta->registerClass(domGles2_pipeline_settings::domBlend_func_separate::domSrc_rgb::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domBlend_func_separate::domSrc_rgb , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ONE");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domBlend_func_separate::domSrc_rgb , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domBlend_func_separate::domSrc_rgb));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domBlend_func_separate::domDest_rgb::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domBlend_func_separate::domDest_rgbRef ref = new domGles2_pipeline_settings::domBlend_func_separate::domDest_rgb(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domBlend_func_separate::domDest_rgb::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "dest_rgb" );
+ meta->registerClass(domGles2_pipeline_settings::domBlend_func_separate::domDest_rgb::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domBlend_func_separate::domDest_rgb , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ZERO");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domBlend_func_separate::domDest_rgb , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domBlend_func_separate::domDest_rgb));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domBlend_func_separate::domSrc_alpha::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domBlend_func_separate::domSrc_alphaRef ref = new domGles2_pipeline_settings::domBlend_func_separate::domSrc_alpha(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domBlend_func_separate::domSrc_alpha::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "src_alpha" );
+ meta->registerClass(domGles2_pipeline_settings::domBlend_func_separate::domSrc_alpha::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domBlend_func_separate::domSrc_alpha , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ONE");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domBlend_func_separate::domSrc_alpha , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domBlend_func_separate::domSrc_alpha));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domBlend_func_separate::domDest_alpha::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domBlend_func_separate::domDest_alphaRef ref = new domGles2_pipeline_settings::domBlend_func_separate::domDest_alpha(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domBlend_func_separate::domDest_alpha::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "dest_alpha" );
+ meta->registerClass(domGles2_pipeline_settings::domBlend_func_separate::domDest_alpha::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domBlend_func_separate::domDest_alpha , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ZERO");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domBlend_func_separate::domDest_alpha , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domBlend_func_separate::domDest_alpha));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domColor_mask::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domColor_maskRef ref = new domGles2_pipeline_settings::domColor_mask(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domColor_mask::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "color_mask" );
+ meta->registerClass(domGles2_pipeline_settings::domColor_mask::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool4"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domColor_mask , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "true true true true");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domColor_mask , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domColor_mask));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domCull_face::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domCull_faceRef ref = new domGles2_pipeline_settings::domCull_face(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domCull_face::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cull_face" );
+ meta->registerClass(domGles2_pipeline_settings::domCull_face::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_face"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domCull_face , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "BACK");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domCull_face , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domCull_face));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domDepth_func::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domDepth_funcRef ref = new domGles2_pipeline_settings::domDepth_func(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domDepth_func::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "depth_func" );
+ meta->registerClass(domGles2_pipeline_settings::domDepth_func::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_func"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domDepth_func , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ALWAYS");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domDepth_func , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domDepth_func));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domDepth_mask::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domDepth_maskRef ref = new domGles2_pipeline_settings::domDepth_mask(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domDepth_mask::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "depth_mask" );
+ meta->registerClass(domGles2_pipeline_settings::domDepth_mask::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domDepth_mask , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "true");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domDepth_mask , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domDepth_mask));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domDepth_range::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domDepth_rangeRef ref = new domGles2_pipeline_settings::domDepth_range(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domDepth_range::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "depth_range" );
+ meta->registerClass(domGles2_pipeline_settings::domDepth_range::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domDepth_range , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domDepth_range , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domDepth_range));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domFront_face::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domFront_faceRef ref = new domGles2_pipeline_settings::domFront_face(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domFront_face::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "front_face" );
+ meta->registerClass(domGles2_pipeline_settings::domFront_face::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_front_face"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domFront_face , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "CCW");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domFront_face , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domFront_face));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domLine_width::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domLine_widthRef ref = new domGles2_pipeline_settings::domLine_width(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domLine_width::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "line_width" );
+ meta->registerClass(domGles2_pipeline_settings::domLine_width::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domLine_width , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domLine_width , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domLine_width));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domPolygon_offset::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domPolygon_offsetRef ref = new domGles2_pipeline_settings::domPolygon_offset(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domPolygon_offset::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "polygon_offset" );
+ meta->registerClass(domGles2_pipeline_settings::domPolygon_offset::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domPolygon_offset , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domPolygon_offset , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domPolygon_offset));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domPoint_size::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domPoint_sizeRef ref = new domGles2_pipeline_settings::domPoint_size(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domPoint_size::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "point_size" );
+ meta->registerClass(domGles2_pipeline_settings::domPoint_size::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domPoint_size , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domPoint_size , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domPoint_size));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domSample_coverage::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domSample_coverageRef ref = new domGles2_pipeline_settings::domSample_coverage(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domSample_coverage::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "sample_coverage" );
+ meta->registerClass(domGles2_pipeline_settings::domSample_coverage::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "value" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domSample_coverage,elemValue) );
+ mea->setElementType( domGles2_pipeline_settings::domSample_coverage::domValue::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "invert" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domSample_coverage,elemInvert) );
+ mea->setElementType( domGles2_pipeline_settings::domSample_coverage::domInvert::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domSample_coverage));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domSample_coverage::domValue::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domSample_coverage::domValueRef ref = new domGles2_pipeline_settings::domSample_coverage::domValue(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domSample_coverage::domValue::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "value" );
+ meta->registerClass(domGles2_pipeline_settings::domSample_coverage::domValue::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsFloat"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domSample_coverage::domValue , attrValue ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domSample_coverage::domValue , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domSample_coverage::domValue));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domSample_coverage::domInvert::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domSample_coverage::domInvertRef ref = new domGles2_pipeline_settings::domSample_coverage::domInvert(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domSample_coverage::domInvert::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "invert" );
+ meta->registerClass(domGles2_pipeline_settings::domSample_coverage::domInvert::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domSample_coverage::domInvert , attrValue ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domSample_coverage::domInvert , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domSample_coverage::domInvert));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domScissor::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domScissorRef ref = new domGles2_pipeline_settings::domScissor(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domScissor::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "scissor" );
+ meta->registerClass(domGles2_pipeline_settings::domScissor::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Int4"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domScissor , attrValue ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domScissor , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domScissor));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domStencil_func::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domStencil_funcRef ref = new domGles2_pipeline_settings::domStencil_func(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domStencil_func::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_func" );
+ meta->registerClass(domGles2_pipeline_settings::domStencil_func::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "func" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domStencil_func,elemFunc) );
+ mea->setElementType( domGles2_pipeline_settings::domStencil_func::domFunc::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "ref" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domStencil_func,elemRef) );
+ mea->setElementType( domGles2_pipeline_settings::domStencil_func::domRef::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "mask" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domStencil_func,elemMask) );
+ mea->setElementType( domGles2_pipeline_settings::domStencil_func::domMask::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domStencil_func));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domStencil_func::domFunc::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domStencil_func::domFuncRef ref = new domGles2_pipeline_settings::domStencil_func::domFunc(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domStencil_func::domFunc::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "func" );
+ meta->registerClass(domGles2_pipeline_settings::domStencil_func::domFunc::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_func"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_func::domFunc , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ALWAYS");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_func::domFunc , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domStencil_func::domFunc));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domStencil_func::domRef::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domStencil_func::domRefRef ref = new domGles2_pipeline_settings::domStencil_func::domRef(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domStencil_func::domRef::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "ref" );
+ meta->registerClass(domGles2_pipeline_settings::domStencil_func::domRef::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedByte"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_func::domRef , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_func::domRef , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domStencil_func::domRef));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domStencil_func::domMask::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domStencil_func::domMaskRef ref = new domGles2_pipeline_settings::domStencil_func::domMask(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domStencil_func::domMask::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mask" );
+ meta->registerClass(domGles2_pipeline_settings::domStencil_func::domMask::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedByte"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_func::domMask , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "255");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_func::domMask , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domStencil_func::domMask));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domStencil_func_separate::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domStencil_func_separateRef ref = new domGles2_pipeline_settings::domStencil_func_separate(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domStencil_func_separate::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_func_separate" );
+ meta->registerClass(domGles2_pipeline_settings::domStencil_func_separate::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "front" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domStencil_func_separate,elemFront) );
+ mea->setElementType( domGles2_pipeline_settings::domStencil_func_separate::domFront::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "back" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domStencil_func_separate,elemBack) );
+ mea->setElementType( domGles2_pipeline_settings::domStencil_func_separate::domBack::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "ref" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domStencil_func_separate,elemRef) );
+ mea->setElementType( domGles2_pipeline_settings::domStencil_func_separate::domRef::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 1, 1 );
+ mea->setName( "mask" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domStencil_func_separate,elemMask) );
+ mea->setElementType( domGles2_pipeline_settings::domStencil_func_separate::domMask::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domStencil_func_separate));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domStencil_func_separate::domFront::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domStencil_func_separate::domFrontRef ref = new domGles2_pipeline_settings::domStencil_func_separate::domFront(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domStencil_func_separate::domFront::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "front" );
+ meta->registerClass(domGles2_pipeline_settings::domStencil_func_separate::domFront::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_func"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_func_separate::domFront , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ALWAYS");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_func_separate::domFront , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domStencil_func_separate::domFront));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domStencil_func_separate::domBack::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domStencil_func_separate::domBackRef ref = new domGles2_pipeline_settings::domStencil_func_separate::domBack(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domStencil_func_separate::domBack::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "back" );
+ meta->registerClass(domGles2_pipeline_settings::domStencil_func_separate::domBack::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_func"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_func_separate::domBack , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ALWAYS");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_func_separate::domBack , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domStencil_func_separate::domBack));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domStencil_func_separate::domRef::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domStencil_func_separate::domRefRef ref = new domGles2_pipeline_settings::domStencil_func_separate::domRef(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domStencil_func_separate::domRef::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "ref" );
+ meta->registerClass(domGles2_pipeline_settings::domStencil_func_separate::domRef::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedByte"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_func_separate::domRef , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_func_separate::domRef , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domStencil_func_separate::domRef));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domStencil_func_separate::domMask::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domStencil_func_separate::domMaskRef ref = new domGles2_pipeline_settings::domStencil_func_separate::domMask(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domStencil_func_separate::domMask::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mask" );
+ meta->registerClass(domGles2_pipeline_settings::domStencil_func_separate::domMask::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedByte"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_func_separate::domMask , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "255");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_func_separate::domMask , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domStencil_func_separate::domMask));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domStencil_mask::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domStencil_maskRef ref = new domGles2_pipeline_settings::domStencil_mask(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domStencil_mask::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_mask" );
+ meta->registerClass(domGles2_pipeline_settings::domStencil_mask::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Int"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_mask , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "4294967295");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_mask , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domStencil_mask));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domStencil_mask_separate::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domStencil_mask_separateRef ref = new domGles2_pipeline_settings::domStencil_mask_separate(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domStencil_mask_separate::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_mask_separate" );
+ meta->registerClass(domGles2_pipeline_settings::domStencil_mask_separate::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "face" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domStencil_mask_separate,elemFace) );
+ mea->setElementType( domGles2_pipeline_settings::domStencil_mask_separate::domFace::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "mask" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domStencil_mask_separate,elemMask) );
+ mea->setElementType( domGles2_pipeline_settings::domStencil_mask_separate::domMask::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domStencil_mask_separate));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domStencil_mask_separate::domFace::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domStencil_mask_separate::domFaceRef ref = new domGles2_pipeline_settings::domStencil_mask_separate::domFace(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domStencil_mask_separate::domFace::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "face" );
+ meta->registerClass(domGles2_pipeline_settings::domStencil_mask_separate::domFace::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_face"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_mask_separate::domFace , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "FRONT_AND_BACK");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_mask_separate::domFace , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domStencil_mask_separate::domFace));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domStencil_mask_separate::domMask::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domStencil_mask_separate::domMaskRef ref = new domGles2_pipeline_settings::domStencil_mask_separate::domMask(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domStencil_mask_separate::domMask::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mask" );
+ meta->registerClass(domGles2_pipeline_settings::domStencil_mask_separate::domMask::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedByte"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_mask_separate::domMask , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "255");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_mask_separate::domMask , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domStencil_mask_separate::domMask));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domStencil_op::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domStencil_opRef ref = new domGles2_pipeline_settings::domStencil_op(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domStencil_op::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_op" );
+ meta->registerClass(domGles2_pipeline_settings::domStencil_op::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fail" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domStencil_op,elemFail) );
+ mea->setElementType( domGles2_pipeline_settings::domStencil_op::domFail::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "zfail" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domStencil_op,elemZfail) );
+ mea->setElementType( domGles2_pipeline_settings::domStencil_op::domZfail::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "zpass" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domStencil_op,elemZpass) );
+ mea->setElementType( domGles2_pipeline_settings::domStencil_op::domZpass::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domStencil_op));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domStencil_op::domFail::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domStencil_op::domFailRef ref = new domGles2_pipeline_settings::domStencil_op::domFail(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domStencil_op::domFail::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fail" );
+ meta->registerClass(domGles2_pipeline_settings::domStencil_op::domFail::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_stencil_op"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_op::domFail , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "KEEP");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_op::domFail , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domStencil_op::domFail));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domStencil_op::domZfail::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domStencil_op::domZfailRef ref = new domGles2_pipeline_settings::domStencil_op::domZfail(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domStencil_op::domZfail::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "zfail" );
+ meta->registerClass(domGles2_pipeline_settings::domStencil_op::domZfail::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_stencil_op"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_op::domZfail , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "KEEP");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_op::domZfail , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domStencil_op::domZfail));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domStencil_op::domZpass::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domStencil_op::domZpassRef ref = new domGles2_pipeline_settings::domStencil_op::domZpass(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domStencil_op::domZpass::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "zpass" );
+ meta->registerClass(domGles2_pipeline_settings::domStencil_op::domZpass::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_stencil_op"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_op::domZpass , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "KEEP");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_op::domZpass , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domStencil_op::domZpass));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domStencil_op_separate::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domStencil_op_separateRef ref = new domGles2_pipeline_settings::domStencil_op_separate(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domStencil_op_separate::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_op_separate" );
+ meta->registerClass(domGles2_pipeline_settings::domStencil_op_separate::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "face" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domStencil_op_separate,elemFace) );
+ mea->setElementType( domGles2_pipeline_settings::domStencil_op_separate::domFace::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "fail" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domStencil_op_separate,elemFail) );
+ mea->setElementType( domGles2_pipeline_settings::domStencil_op_separate::domFail::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "zfail" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domStencil_op_separate,elemZfail) );
+ mea->setElementType( domGles2_pipeline_settings::domStencil_op_separate::domZfail::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 1, 1 );
+ mea->setName( "zpass" );
+ mea->setOffset( daeOffsetOf(domGles2_pipeline_settings::domStencil_op_separate,elemZpass) );
+ mea->setElementType( domGles2_pipeline_settings::domStencil_op_separate::domZpass::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domStencil_op_separate));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domStencil_op_separate::domFace::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domStencil_op_separate::domFaceRef ref = new domGles2_pipeline_settings::domStencil_op_separate::domFace(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domStencil_op_separate::domFace::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "face" );
+ meta->registerClass(domGles2_pipeline_settings::domStencil_op_separate::domFace::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_face"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_op_separate::domFace , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "FRONT_AND_BACK");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_op_separate::domFace , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domStencil_op_separate::domFace));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domStencil_op_separate::domFail::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domStencil_op_separate::domFailRef ref = new domGles2_pipeline_settings::domStencil_op_separate::domFail(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domStencil_op_separate::domFail::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fail" );
+ meta->registerClass(domGles2_pipeline_settings::domStencil_op_separate::domFail::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_stencil_op"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_op_separate::domFail , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "KEEP");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_op_separate::domFail , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domStencil_op_separate::domFail));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domStencil_op_separate::domZfail::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domStencil_op_separate::domZfailRef ref = new domGles2_pipeline_settings::domStencil_op_separate::domZfail(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domStencil_op_separate::domZfail::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "zfail" );
+ meta->registerClass(domGles2_pipeline_settings::domStencil_op_separate::domZfail::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_stencil_op"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_op_separate::domZfail , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "KEEP");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_op_separate::domZfail , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domStencil_op_separate::domZfail));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domStencil_op_separate::domZpass::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domStencil_op_separate::domZpassRef ref = new domGles2_pipeline_settings::domStencil_op_separate::domZpass(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domStencil_op_separate::domZpass::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "zpass" );
+ meta->registerClass(domGles2_pipeline_settings::domStencil_op_separate::domZpass::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_stencil_op"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_op_separate::domZpass , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "KEEP");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_op_separate::domZpass , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domStencil_op_separate::domZpass));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domBlend_enable::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domBlend_enableRef ref = new domGles2_pipeline_settings::domBlend_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domBlend_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "blend_enable" );
+ meta->registerClass(domGles2_pipeline_settings::domBlend_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domBlend_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domBlend_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domBlend_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domCull_face_enable::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domCull_face_enableRef ref = new domGles2_pipeline_settings::domCull_face_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domCull_face_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cull_face_enable" );
+ meta->registerClass(domGles2_pipeline_settings::domCull_face_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domCull_face_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domCull_face_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domCull_face_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domDepth_test_enable::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domDepth_test_enableRef ref = new domGles2_pipeline_settings::domDepth_test_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domDepth_test_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "depth_test_enable" );
+ meta->registerClass(domGles2_pipeline_settings::domDepth_test_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domDepth_test_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domDepth_test_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domDepth_test_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domDither_enable::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domDither_enableRef ref = new domGles2_pipeline_settings::domDither_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domDither_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "dither_enable" );
+ meta->registerClass(domGles2_pipeline_settings::domDither_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domDither_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "true");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domDither_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domDither_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domPolygon_offset_fill_enable::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domPolygon_offset_fill_enableRef ref = new domGles2_pipeline_settings::domPolygon_offset_fill_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domPolygon_offset_fill_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "polygon_offset_fill_enable" );
+ meta->registerClass(domGles2_pipeline_settings::domPolygon_offset_fill_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domPolygon_offset_fill_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domPolygon_offset_fill_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domPolygon_offset_fill_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domPoint_size_enable::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domPoint_size_enableRef ref = new domGles2_pipeline_settings::domPoint_size_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domPoint_size_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "point_size_enable" );
+ meta->registerClass(domGles2_pipeline_settings::domPoint_size_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domPoint_size_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domPoint_size_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domPoint_size_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domSample_alpha_to_coverage_enable::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domSample_alpha_to_coverage_enableRef ref = new domGles2_pipeline_settings::domSample_alpha_to_coverage_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domSample_alpha_to_coverage_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "sample_alpha_to_coverage_enable" );
+ meta->registerClass(domGles2_pipeline_settings::domSample_alpha_to_coverage_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domSample_alpha_to_coverage_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domSample_alpha_to_coverage_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domSample_alpha_to_coverage_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domSample_coverage_enable::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domSample_coverage_enableRef ref = new domGles2_pipeline_settings::domSample_coverage_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domSample_coverage_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "sample_coverage_enable" );
+ meta->registerClass(domGles2_pipeline_settings::domSample_coverage_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domSample_coverage_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domSample_coverage_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domSample_coverage_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domScissor_test_enable::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domScissor_test_enableRef ref = new domGles2_pipeline_settings::domScissor_test_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domScissor_test_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "scissor_test_enable" );
+ meta->registerClass(domGles2_pipeline_settings::domScissor_test_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domScissor_test_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domScissor_test_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domScissor_test_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_pipeline_settings::domStencil_test_enable::create(DAE& dae)
+{
+ domGles2_pipeline_settings::domStencil_test_enableRef ref = new domGles2_pipeline_settings::domStencil_test_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_pipeline_settings::domStencil_test_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_test_enable" );
+ meta->registerClass(domGles2_pipeline_settings::domStencil_test_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_test_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_pipeline_settings::domStencil_test_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_pipeline_settings::domStencil_test_enable));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGles2_program.cpp b/1.4.0/dom/src/1.5/dom/domGles2_program.cpp
new file mode 100644
index 0000000..d769eab
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGles2_program.cpp
@@ -0,0 +1,260 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGles2_program.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGles2_program::create(DAE& dae)
+{
+ domGles2_programRef ref = new domGles2_program(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_program::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles2_program" );
+ meta->registerClass(domGles2_program::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "shader" );
+ mea->setOffset( daeOffsetOf(domGles2_program,elemShader_array) );
+ mea->setElementType( domGles2_shader::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "linker" );
+ mea->setOffset( daeOffsetOf(domGles2_program,elemLinker_array) );
+ mea->setElementType( domFx_target::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "bind_attribute" );
+ mea->setOffset( daeOffsetOf(domGles2_program,elemBind_attribute_array) );
+ mea->setElementType( domGles2_program::domBind_attribute::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "bind_uniform" );
+ mea->setOffset( daeOffsetOf(domGles2_program,elemBind_uniform_array) );
+ mea->setElementType( domGles2_program::domBind_uniform::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGles2_program));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_program::domBind_attribute::create(DAE& dae)
+{
+ domGles2_program::domBind_attributeRef ref = new domGles2_program::domBind_attribute(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_program::domBind_attribute::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bind_attribute" );
+ meta->registerClass(domGles2_program::domBind_attribute::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "semantic" );
+ mea->setOffset( daeOffsetOf(domGles2_program::domBind_attribute,elemSemantic) );
+ mea->setElementType( domGles2_program::domBind_attribute::domSemantic::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGles2_program::domBind_attribute,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGles2_program::domBind_attribute,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGles2_program::domBind_attribute,_CMData), 1);
+ // Add attribute: symbol
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "symbol" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_program::domBind_attribute , attrSymbol ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_program::domBind_attribute));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_program::domBind_attribute::domSemantic::create(DAE& dae)
+{
+ domGles2_program::domBind_attribute::domSemanticRef ref = new domGles2_program::domBind_attribute::domSemantic(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_program::domBind_attribute::domSemantic::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "semantic" );
+ meta->registerClass(domGles2_program::domBind_attribute::domSemantic::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_program::domBind_attribute::domSemantic , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_program::domBind_attribute::domSemantic));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_program::domBind_uniform::create(DAE& dae)
+{
+ domGles2_program::domBind_uniformRef ref = new domGles2_program::domBind_uniform(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_program::domBind_uniform::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bind_uniform" );
+ meta->registerClass(domGles2_program::domBind_uniform::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domGles2_program::domBind_uniform,elemParam) );
+ mea->setElementType( domGles2_program::domBind_uniform::domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "gles2_value" );
+ mea->setOffset( daeOffsetOf(domGles2_program::domBind_uniform,elemGles2_value) );
+ mea->setElementType( domGles2_value::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 1, 1 ) );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGles2_program::domBind_uniform,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGles2_program::domBind_uniform,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGles2_program::domBind_uniform,_CMData), 1);
+ // Add attribute: symbol
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "symbol" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_program::domBind_uniform , attrSymbol ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_program::domBind_uniform));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_program::domBind_uniform::domParam::create(DAE& dae)
+{
+ domGles2_program::domBind_uniform::domParamRef ref = new domGles2_program::domBind_uniform::domParam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_program::domBind_uniform::domParam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "param" );
+ meta->registerClass(domGles2_program::domBind_uniform::domParam::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles2_program::domBind_uniform::domParam , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_program::domBind_uniform::domParam));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGles2_shader.cpp b/1.4.0/dom/src/1.5/dom/domGles2_shader.cpp
new file mode 100644
index 0000000..9280b18
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGles2_shader.cpp
@@ -0,0 +1,148 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGles2_shader.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGles2_shader::create(DAE& dae)
+{
+ domGles2_shaderRef ref = new domGles2_shader(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_shader::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles2_shader" );
+ meta->registerClass(domGles2_shader::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sources" );
+ mea->setOffset( daeOffsetOf(domGles2_shader,elemSources) );
+ mea->setElementType( domGles2_shader::domSources::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "compiler" );
+ mea->setOffset( daeOffsetOf(domGles2_shader,elemCompiler_array) );
+ mea->setElementType( domFx_target::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domGles2_shader,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: stage
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "stage" );
+ ma->setType( dae.getAtomicTypes().get("Fx_pipeline_stage"));
+ ma->setOffset( daeOffsetOf( domGles2_shader , attrStage ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_shader));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_shader::domSources::create(DAE& dae)
+{
+ domGles2_shader::domSourcesRef ref = new domGles2_shader::domSources(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_shader::domSources::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "sources" );
+ meta->registerClass(domGles2_shader::domSources::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "inline" );
+ mea->setOffset( daeOffsetOf(domGles2_shader::domSources,elemInline_array) );
+ mea->setElementType( domInline::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "import" );
+ mea->setOffset( daeOffsetOf(domGles2_shader::domSources,elemImport_array) );
+ mea->setElementType( domImport::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 3000 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 3000 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGles2_shader::domSources,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGles2_shader::domSources,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGles2_shader::domSources,_CMData), 1);
+ // Add attribute: entry
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "entry" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_shader::domSources , attrEntry ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "main");
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_shader::domSources));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGles2_value.cpp b/1.4.0/dom/src/1.5/dom/domGles2_value.cpp
new file mode 100644
index 0000000..99f1be4
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGles2_value.cpp
@@ -0,0 +1,911 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGles2_value.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGles2_value::create(DAE& dae)
+{
+ domGles2_valueRef ref = new domGles2_value(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_value::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles2_value" );
+ meta->registerClass(domGles2_value::create);
+
+ meta->setIsTransparent( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool" );
+ mea->setOffset( daeOffsetOf(domGles2_value,elemBool) );
+ mea->setElementType( domGles2_value::domBool::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bvec2" );
+ mea->setOffset( daeOffsetOf(domGles2_value,elemBvec2) );
+ mea->setElementType( domGles2_value::domBvec2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bvec3" );
+ mea->setOffset( daeOffsetOf(domGles2_value,elemBvec3) );
+ mea->setElementType( domGles2_value::domBvec3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bvec4" );
+ mea->setOffset( daeOffsetOf(domGles2_value,elemBvec4) );
+ mea->setElementType( domGles2_value::domBvec4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float" );
+ mea->setOffset( daeOffsetOf(domGles2_value,elemFloat) );
+ mea->setElementType( domGles2_value::domFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "vec2" );
+ mea->setOffset( daeOffsetOf(domGles2_value,elemVec2) );
+ mea->setElementType( domGles2_value::domVec2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "vec3" );
+ mea->setOffset( daeOffsetOf(domGles2_value,elemVec3) );
+ mea->setElementType( domGles2_value::domVec3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "vec4" );
+ mea->setOffset( daeOffsetOf(domGles2_value,elemVec4) );
+ mea->setElementType( domGles2_value::domVec4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "mat2" );
+ mea->setOffset( daeOffsetOf(domGles2_value,elemMat2) );
+ mea->setElementType( domGles2_value::domMat2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "mat3" );
+ mea->setOffset( daeOffsetOf(domGles2_value,elemMat3) );
+ mea->setElementType( domGles2_value::domMat3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "mat4" );
+ mea->setOffset( daeOffsetOf(domGles2_value,elemMat4) );
+ mea->setElementType( domGles2_value::domMat4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int" );
+ mea->setOffset( daeOffsetOf(domGles2_value,elemInt) );
+ mea->setElementType( domGles2_value::domInt::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "ivec2" );
+ mea->setOffset( daeOffsetOf(domGles2_value,elemIvec2) );
+ mea->setElementType( domGles2_value::domIvec2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "ivec3" );
+ mea->setOffset( daeOffsetOf(domGles2_value,elemIvec3) );
+ mea->setElementType( domGles2_value::domIvec3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "ivec4" );
+ mea->setOffset( daeOffsetOf(domGles2_value,elemIvec4) );
+ mea->setElementType( domGles2_value::domIvec4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "enum" );
+ mea->setOffset( daeOffsetOf(domGles2_value,elemEnum) );
+ mea->setElementType( domGles2_value::domEnum::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sampler2D" );
+ mea->setOffset( daeOffsetOf(domGles2_value,elemSampler2D) );
+ mea->setElementType( domFx_sampler2D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sampler3D" );
+ mea->setOffset( daeOffsetOf(domGles2_value,elemSampler3D) );
+ mea->setElementType( domFx_sampler3D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "samplerCUBE" );
+ mea->setOffset( daeOffsetOf(domGles2_value,elemSamplerCUBE) );
+ mea->setElementType( domFx_samplerCUBE::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "samplerDEPTH" );
+ mea->setOffset( daeOffsetOf(domGles2_value,elemSamplerDEPTH) );
+ mea->setElementType( domFx_samplerDEPTH::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "usertype" );
+ mea->setOffset( daeOffsetOf(domGles2_value,elemUsertype) );
+ mea->setElementType( domGles2_value::domUsertype::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "array" );
+ mea->setOffset( daeOffsetOf(domGles2_value,elemArray) );
+ mea->setElementType( domGles2_value::domArray::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGles2_value,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGles2_value,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGles2_value,_CMData), 1);
+ meta->setElementSize(sizeof(domGles2_value));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_value::domBool::create(DAE& dae)
+{
+ domGles2_value::domBoolRef ref = new domGles2_value::domBool(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_value::domBool::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool" );
+ meta->registerClass(domGles2_value::domBool::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles2_value::domBool , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_value::domBool));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_value::domBvec2::create(DAE& dae)
+{
+ domGles2_value::domBvec2Ref ref = new domGles2_value::domBvec2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_value::domBvec2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bvec2" );
+ meta->registerClass(domGles2_value::domBvec2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool2"));
+ ma->setOffset( daeOffsetOf( domGles2_value::domBvec2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_value::domBvec2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_value::domBvec3::create(DAE& dae)
+{
+ domGles2_value::domBvec3Ref ref = new domGles2_value::domBvec3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_value::domBvec3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bvec3" );
+ meta->registerClass(domGles2_value::domBvec3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool3"));
+ ma->setOffset( daeOffsetOf( domGles2_value::domBvec3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_value::domBvec3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_value::domBvec4::create(DAE& dae)
+{
+ domGles2_value::domBvec4Ref ref = new domGles2_value::domBvec4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_value::domBvec4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bvec4" );
+ meta->registerClass(domGles2_value::domBvec4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool4"));
+ ma->setOffset( daeOffsetOf( domGles2_value::domBvec4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_value::domBvec4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_value::domFloat::create(DAE& dae)
+{
+ domGles2_value::domFloatRef ref = new domGles2_value::domFloat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_value::domFloat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float" );
+ meta->registerClass(domGles2_value::domFloat::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles2_value::domFloat , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_value::domFloat));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_value::domVec2::create(DAE& dae)
+{
+ domGles2_value::domVec2Ref ref = new domGles2_value::domVec2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_value::domVec2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "vec2" );
+ meta->registerClass(domGles2_value::domVec2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domGles2_value::domVec2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_value::domVec2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_value::domVec3::create(DAE& dae)
+{
+ domGles2_value::domVec3Ref ref = new domGles2_value::domVec3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_value::domVec3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "vec3" );
+ meta->registerClass(domGles2_value::domVec3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domGles2_value::domVec3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_value::domVec3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_value::domVec4::create(DAE& dae)
+{
+ domGles2_value::domVec4Ref ref = new domGles2_value::domVec4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_value::domVec4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "vec4" );
+ meta->registerClass(domGles2_value::domVec4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles2_value::domVec4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_value::domVec4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_value::domMat2::create(DAE& dae)
+{
+ domGles2_value::domMat2Ref ref = new domGles2_value::domMat2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_value::domMat2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mat2" );
+ meta->registerClass(domGles2_value::domMat2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x2"));
+ ma->setOffset( daeOffsetOf( domGles2_value::domMat2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_value::domMat2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_value::domMat3::create(DAE& dae)
+{
+ domGles2_value::domMat3Ref ref = new domGles2_value::domMat3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_value::domMat3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mat3" );
+ meta->registerClass(domGles2_value::domMat3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x3"));
+ ma->setOffset( daeOffsetOf( domGles2_value::domMat3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_value::domMat3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_value::domMat4::create(DAE& dae)
+{
+ domGles2_value::domMat4Ref ref = new domGles2_value::domMat4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_value::domMat4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mat4" );
+ meta->registerClass(domGles2_value::domMat4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x4"));
+ ma->setOffset( daeOffsetOf( domGles2_value::domMat4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_value::domMat4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_value::domInt::create(DAE& dae)
+{
+ domGles2_value::domIntRef ref = new domGles2_value::domInt(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_value::domInt::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int" );
+ meta->registerClass(domGles2_value::domInt::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int"));
+ ma->setOffset( daeOffsetOf( domGles2_value::domInt , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_value::domInt));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_value::domIvec2::create(DAE& dae)
+{
+ domGles2_value::domIvec2Ref ref = new domGles2_value::domIvec2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_value::domIvec2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "ivec2" );
+ meta->registerClass(domGles2_value::domIvec2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int2"));
+ ma->setOffset( daeOffsetOf( domGles2_value::domIvec2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_value::domIvec2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_value::domIvec3::create(DAE& dae)
+{
+ domGles2_value::domIvec3Ref ref = new domGles2_value::domIvec3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_value::domIvec3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "ivec3" );
+ meta->registerClass(domGles2_value::domIvec3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int3"));
+ ma->setOffset( daeOffsetOf( domGles2_value::domIvec3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_value::domIvec3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_value::domIvec4::create(DAE& dae)
+{
+ domGles2_value::domIvec4Ref ref = new domGles2_value::domIvec4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_value::domIvec4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "ivec4" );
+ meta->registerClass(domGles2_value::domIvec4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int4"));
+ ma->setOffset( daeOffsetOf( domGles2_value::domIvec4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_value::domIvec4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_value::domEnum::create(DAE& dae)
+{
+ domGles2_value::domEnumRef ref = new domGles2_value::domEnum(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_value::domEnum::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "enum" );
+ meta->registerClass(domGles2_value::domEnum::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_enumeration"));
+ ma->setOffset( daeOffsetOf( domGles2_value::domEnum , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_value::domEnum));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_value::domUsertype::create(DAE& dae)
+{
+ domGles2_value::domUsertypeRef ref = new domGles2_value::domUsertype(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_value::domUsertype::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "usertype" );
+ meta->registerClass(domGles2_value::domUsertype::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "setparam" );
+ mea->setOffset( daeOffsetOf(domGles2_value::domUsertype,elemSetparam_array) );
+ mea->setElementType( domGles2_value::domUsertype::domSetparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: typename
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "typename" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_value::domUsertype , attrTypename ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_value::domUsertype));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_value::domUsertype::domSetparam::create(DAE& dae)
+{
+ domGles2_value::domUsertype::domSetparamRef ref = new domGles2_value::domUsertype::domSetparam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_value::domUsertype::domSetparam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "setparam" );
+ meta->registerClass(domGles2_value::domUsertype::domSetparam::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "gles2_value" );
+ mea->setOffset( daeOffsetOf(domGles2_value::domUsertype::domSetparam,elemGles2_value_array) );
+ mea->setElementType( domGles2_value::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 0, -1 ) );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGles2_value::domUsertype::domSetparam , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_value::domUsertype::domSetparam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles2_value::domArray::create(DAE& dae)
+{
+ domGles2_value::domArrayRef ref = new domGles2_value::domArray(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles2_value::domArray::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "array" );
+ meta->registerClass(domGles2_value::domArray::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "gles2_value" );
+ mea->setOffset( daeOffsetOf(domGles2_value::domArray,elemGles2_value_array) );
+ mea->setElementType( domGles2_value::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 1, -1 ) );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: length
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "length" );
+ ma->setType( dae.getAtomicTypes().get("xsPositiveInteger"));
+ ma->setOffset( daeOffsetOf( domGles2_value::domArray , attrLength ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles2_value::domArray));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGles_newparam.cpp b/1.4.0/dom/src/1.5/dom/domGles_newparam.cpp
new file mode 100644
index 0000000..0f758b6
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGles_newparam.cpp
@@ -0,0 +1,153 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGles_newparam.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGles_newparam::create(DAE& dae)
+{
+ domGles_newparamRef ref = new domGles_newparam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_newparam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles_newparam" );
+ meta->registerClass(domGles_newparam::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domGles_newparam,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "semantic" );
+ mea->setOffset( daeOffsetOf(domGles_newparam,elemSemantic) );
+ mea->setElementType( domGles_newparam::domSemantic::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "modifier" );
+ mea->setOffset( daeOffsetOf(domGles_newparam,elemModifier) );
+ mea->setElementType( domGles_newparam::domModifier::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 1, 1 );
+ mea->setName( "gles_param" );
+ mea->setOffset( daeOffsetOf(domGles_newparam,elemGles_param) );
+ mea->setElementType( domGles_param::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 3, 1, 1 ) );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domGles_newparam , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_newparam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_newparam::domSemantic::create(DAE& dae)
+{
+ domGles_newparam::domSemanticRef ref = new domGles_newparam::domSemantic(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_newparam::domSemantic::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "semantic" );
+ meta->registerClass(domGles_newparam::domSemantic::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_newparam::domSemantic , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_newparam::domSemantic));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_newparam::domModifier::create(DAE& dae)
+{
+ domGles_newparam::domModifierRef ref = new domGles_newparam::domModifier(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_newparam::domModifier::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "modifier" );
+ meta->registerClass(domGles_newparam::domModifier::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_modifier"));
+ ma->setOffset( daeOffsetOf( domGles_newparam::domModifier , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_newparam::domModifier));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGles_param.cpp b/1.4.0/dom/src/1.5/dom/domGles_param.cpp
new file mode 100644
index 0000000..51c1687
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGles_param.cpp
@@ -0,0 +1,1274 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGles_param.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGles_param::create(DAE& dae)
+{
+ domGles_paramRef ref = new domGles_param(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles_param" );
+ meta->registerClass(domGles_param::create);
+
+ meta->setIsTransparent( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemBool) );
+ mea->setElementType( domGles_param::domBool::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool2" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemBool2) );
+ mea->setElementType( domGles_param::domBool2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool3" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemBool3) );
+ mea->setElementType( domGles_param::domBool3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool4" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemBool4) );
+ mea->setElementType( domGles_param::domBool4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemInt) );
+ mea->setElementType( domGles_param::domInt::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int2" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemInt2) );
+ mea->setElementType( domGles_param::domInt2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int3" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemInt3) );
+ mea->setElementType( domGles_param::domInt3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int4" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemInt4) );
+ mea->setElementType( domGles_param::domInt4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemFloat) );
+ mea->setElementType( domGles_param::domFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemFloat2) );
+ mea->setElementType( domGles_param::domFloat2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemFloat3) );
+ mea->setElementType( domGles_param::domFloat3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemFloat4) );
+ mea->setElementType( domGles_param::domFloat4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float1x1" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemFloat1x1) );
+ mea->setElementType( domGles_param::domFloat1x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float1x2" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemFloat1x2) );
+ mea->setElementType( domGles_param::domFloat1x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float1x3" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemFloat1x3) );
+ mea->setElementType( domGles_param::domFloat1x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float1x4" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemFloat1x4) );
+ mea->setElementType( domGles_param::domFloat1x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x1" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemFloat2x1) );
+ mea->setElementType( domGles_param::domFloat2x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x2" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemFloat2x2) );
+ mea->setElementType( domGles_param::domFloat2x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x3" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemFloat2x3) );
+ mea->setElementType( domGles_param::domFloat2x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x4" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemFloat2x4) );
+ mea->setElementType( domGles_param::domFloat2x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x1" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemFloat3x1) );
+ mea->setElementType( domGles_param::domFloat3x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x2" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemFloat3x2) );
+ mea->setElementType( domGles_param::domFloat3x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x3" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemFloat3x3) );
+ mea->setElementType( domGles_param::domFloat3x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x4" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemFloat3x4) );
+ mea->setElementType( domGles_param::domFloat3x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x1" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemFloat4x1) );
+ mea->setElementType( domGles_param::domFloat4x1::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x2" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemFloat4x2) );
+ mea->setElementType( domGles_param::domFloat4x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x3" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemFloat4x3) );
+ mea->setElementType( domGles_param::domFloat4x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x4" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemFloat4x4) );
+ mea->setElementType( domGles_param::domFloat4x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sampler2D" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemSampler2D) );
+ mea->setElementType( domGles_sampler::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "enum" );
+ mea->setOffset( daeOffsetOf(domGles_param,elemEnum) );
+ mea->setElementType( domGles_param::domEnum::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGles_param,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGles_param,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGles_param,_CMData), 1);
+ meta->setElementSize(sizeof(domGles_param));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domBool::create(DAE& dae)
+{
+ domGles_param::domBoolRef ref = new domGles_param::domBool(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domBool::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool" );
+ meta->registerClass(domGles_param::domBool::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_param::domBool , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domBool));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domBool2::create(DAE& dae)
+{
+ domGles_param::domBool2Ref ref = new domGles_param::domBool2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domBool2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool2" );
+ meta->registerClass(domGles_param::domBool2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool2"));
+ ma->setOffset( daeOffsetOf( domGles_param::domBool2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domBool2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domBool3::create(DAE& dae)
+{
+ domGles_param::domBool3Ref ref = new domGles_param::domBool3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domBool3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool3" );
+ meta->registerClass(domGles_param::domBool3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool3"));
+ ma->setOffset( daeOffsetOf( domGles_param::domBool3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domBool3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domBool4::create(DAE& dae)
+{
+ domGles_param::domBool4Ref ref = new domGles_param::domBool4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domBool4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool4" );
+ meta->registerClass(domGles_param::domBool4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool4"));
+ ma->setOffset( daeOffsetOf( domGles_param::domBool4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domBool4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domInt::create(DAE& dae)
+{
+ domGles_param::domIntRef ref = new domGles_param::domInt(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domInt::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int" );
+ meta->registerClass(domGles_param::domInt::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int"));
+ ma->setOffset( daeOffsetOf( domGles_param::domInt , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domInt));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domInt2::create(DAE& dae)
+{
+ domGles_param::domInt2Ref ref = new domGles_param::domInt2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domInt2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int2" );
+ meta->registerClass(domGles_param::domInt2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int2"));
+ ma->setOffset( daeOffsetOf( domGles_param::domInt2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domInt2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domInt3::create(DAE& dae)
+{
+ domGles_param::domInt3Ref ref = new domGles_param::domInt3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domInt3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int3" );
+ meta->registerClass(domGles_param::domInt3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int3"));
+ ma->setOffset( daeOffsetOf( domGles_param::domInt3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domInt3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domInt4::create(DAE& dae)
+{
+ domGles_param::domInt4Ref ref = new domGles_param::domInt4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domInt4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int4" );
+ meta->registerClass(domGles_param::domInt4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int4"));
+ ma->setOffset( daeOffsetOf( domGles_param::domInt4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domInt4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domFloat::create(DAE& dae)
+{
+ domGles_param::domFloatRef ref = new domGles_param::domFloat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domFloat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float" );
+ meta->registerClass(domGles_param::domFloat::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_param::domFloat , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domFloat));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domFloat2::create(DAE& dae)
+{
+ domGles_param::domFloat2Ref ref = new domGles_param::domFloat2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domFloat2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2" );
+ meta->registerClass(domGles_param::domFloat2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domGles_param::domFloat2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domFloat2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domFloat3::create(DAE& dae)
+{
+ domGles_param::domFloat3Ref ref = new domGles_param::domFloat3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domFloat3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3" );
+ meta->registerClass(domGles_param::domFloat3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domGles_param::domFloat3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domFloat3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domFloat4::create(DAE& dae)
+{
+ domGles_param::domFloat4Ref ref = new domGles_param::domFloat4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domFloat4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4" );
+ meta->registerClass(domGles_param::domFloat4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles_param::domFloat4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domFloat4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domFloat1x1::create(DAE& dae)
+{
+ domGles_param::domFloat1x1Ref ref = new domGles_param::domFloat1x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domFloat1x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float1x1" );
+ meta->registerClass(domGles_param::domFloat1x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_param::domFloat1x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domFloat1x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domFloat1x2::create(DAE& dae)
+{
+ domGles_param::domFloat1x2Ref ref = new domGles_param::domFloat1x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domFloat1x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float1x2" );
+ meta->registerClass(domGles_param::domFloat1x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domGles_param::domFloat1x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domFloat1x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domFloat1x3::create(DAE& dae)
+{
+ domGles_param::domFloat1x3Ref ref = new domGles_param::domFloat1x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domFloat1x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float1x3" );
+ meta->registerClass(domGles_param::domFloat1x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domGles_param::domFloat1x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domFloat1x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domFloat1x4::create(DAE& dae)
+{
+ domGles_param::domFloat1x4Ref ref = new domGles_param::domFloat1x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domFloat1x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float1x4" );
+ meta->registerClass(domGles_param::domFloat1x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles_param::domFloat1x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domFloat1x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domFloat2x1::create(DAE& dae)
+{
+ domGles_param::domFloat2x1Ref ref = new domGles_param::domFloat2x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domFloat2x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x1" );
+ meta->registerClass(domGles_param::domFloat2x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domGles_param::domFloat2x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domFloat2x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domFloat2x2::create(DAE& dae)
+{
+ domGles_param::domFloat2x2Ref ref = new domGles_param::domFloat2x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domFloat2x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x2" );
+ meta->registerClass(domGles_param::domFloat2x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x2"));
+ ma->setOffset( daeOffsetOf( domGles_param::domFloat2x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domFloat2x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domFloat2x3::create(DAE& dae)
+{
+ domGles_param::domFloat2x3Ref ref = new domGles_param::domFloat2x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domFloat2x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x3" );
+ meta->registerClass(domGles_param::domFloat2x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x3"));
+ ma->setOffset( daeOffsetOf( domGles_param::domFloat2x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domFloat2x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domFloat2x4::create(DAE& dae)
+{
+ domGles_param::domFloat2x4Ref ref = new domGles_param::domFloat2x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domFloat2x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x4" );
+ meta->registerClass(domGles_param::domFloat2x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x4"));
+ ma->setOffset( daeOffsetOf( domGles_param::domFloat2x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domFloat2x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domFloat3x1::create(DAE& dae)
+{
+ domGles_param::domFloat3x1Ref ref = new domGles_param::domFloat3x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domFloat3x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x1" );
+ meta->registerClass(domGles_param::domFloat3x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domGles_param::domFloat3x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domFloat3x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domFloat3x2::create(DAE& dae)
+{
+ domGles_param::domFloat3x2Ref ref = new domGles_param::domFloat3x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domFloat3x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x2" );
+ meta->registerClass(domGles_param::domFloat3x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x2"));
+ ma->setOffset( daeOffsetOf( domGles_param::domFloat3x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domFloat3x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domFloat3x3::create(DAE& dae)
+{
+ domGles_param::domFloat3x3Ref ref = new domGles_param::domFloat3x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domFloat3x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x3" );
+ meta->registerClass(domGles_param::domFloat3x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x3"));
+ ma->setOffset( daeOffsetOf( domGles_param::domFloat3x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domFloat3x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domFloat3x4::create(DAE& dae)
+{
+ domGles_param::domFloat3x4Ref ref = new domGles_param::domFloat3x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domFloat3x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x4" );
+ meta->registerClass(domGles_param::domFloat3x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x4"));
+ ma->setOffset( daeOffsetOf( domGles_param::domFloat3x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domFloat3x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domFloat4x1::create(DAE& dae)
+{
+ domGles_param::domFloat4x1Ref ref = new domGles_param::domFloat4x1(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domFloat4x1::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x1" );
+ meta->registerClass(domGles_param::domFloat4x1::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles_param::domFloat4x1 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domFloat4x1));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domFloat4x2::create(DAE& dae)
+{
+ domGles_param::domFloat4x2Ref ref = new domGles_param::domFloat4x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domFloat4x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x2" );
+ meta->registerClass(domGles_param::domFloat4x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x2"));
+ ma->setOffset( daeOffsetOf( domGles_param::domFloat4x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domFloat4x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domFloat4x3::create(DAE& dae)
+{
+ domGles_param::domFloat4x3Ref ref = new domGles_param::domFloat4x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domFloat4x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x3" );
+ meta->registerClass(domGles_param::domFloat4x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x3"));
+ ma->setOffset( daeOffsetOf( domGles_param::domFloat4x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domFloat4x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domFloat4x4::create(DAE& dae)
+{
+ domGles_param::domFloat4x4Ref ref = new domGles_param::domFloat4x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domFloat4x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x4" );
+ meta->registerClass(domGles_param::domFloat4x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x4"));
+ ma->setOffset( daeOffsetOf( domGles_param::domFloat4x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domFloat4x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_param::domEnum::create(DAE& dae)
+{
+ domGles_param::domEnumRef ref = new domGles_param::domEnum(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_param::domEnum::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "enum" );
+ meta->registerClass(domGles_param::domEnum::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Gles_enumeration"));
+ ma->setOffset( daeOffsetOf( domGles_param::domEnum , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_param::domEnum));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGles_pipeline_settings.cpp b/1.4.0/dom/src/1.5/dom/domGles_pipeline_settings.cpp
new file mode 100644
index 0000000..379728c
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGles_pipeline_settings.cpp
@@ -0,0 +1,4695 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGles_pipeline_settings.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGles_pipeline_settings::create(DAE& dae)
+{
+ domGles_pipeline_settingsRef ref = new domGles_pipeline_settings(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles_pipeline_settings" );
+ meta->registerClass(domGles_pipeline_settings::create);
+
+ meta->setIsTransparent( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "alpha_func" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemAlpha_func) );
+ mea->setElementType( domGles_pipeline_settings::domAlpha_func::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "blend_func" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemBlend_func) );
+ mea->setElementType( domGles_pipeline_settings::domBlend_func::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "clip_plane" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemClip_plane) );
+ mea->setElementType( domGles_pipeline_settings::domClip_plane::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "color_mask" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemColor_mask) );
+ mea->setElementType( domGles_pipeline_settings::domColor_mask::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "cull_face" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemCull_face) );
+ mea->setElementType( domGles_pipeline_settings::domCull_face::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "depth_func" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemDepth_func) );
+ mea->setElementType( domGles_pipeline_settings::domDepth_func::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "depth_mask" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemDepth_mask) );
+ mea->setElementType( domGles_pipeline_settings::domDepth_mask::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "depth_range" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemDepth_range) );
+ mea->setElementType( domGles_pipeline_settings::domDepth_range::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fog_color" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemFog_color) );
+ mea->setElementType( domGles_pipeline_settings::domFog_color::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fog_density" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemFog_density) );
+ mea->setElementType( domGles_pipeline_settings::domFog_density::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fog_mode" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemFog_mode) );
+ mea->setElementType( domGles_pipeline_settings::domFog_mode::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fog_start" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemFog_start) );
+ mea->setElementType( domGles_pipeline_settings::domFog_start::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fog_end" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemFog_end) );
+ mea->setElementType( domGles_pipeline_settings::domFog_end::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "front_face" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemFront_face) );
+ mea->setElementType( domGles_pipeline_settings::domFront_face::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "logic_op" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLogic_op) );
+ mea->setElementType( domGles_pipeline_settings::domLogic_op::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_ambient" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_ambient) );
+ mea->setElementType( domGles_pipeline_settings::domLight_ambient::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_diffuse" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_diffuse) );
+ mea->setElementType( domGles_pipeline_settings::domLight_diffuse::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_specular" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_specular) );
+ mea->setElementType( domGles_pipeline_settings::domLight_specular::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_position" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_position) );
+ mea->setElementType( domGles_pipeline_settings::domLight_position::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_constant_attenuation" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_constant_attenuation) );
+ mea->setElementType( domGles_pipeline_settings::domLight_constant_attenuation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_linear_attenuation" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_linear_attenuation) );
+ mea->setElementType( domGles_pipeline_settings::domLight_linear_attenuation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_quadratic_attenuation" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_quadratic_attenuation) );
+ mea->setElementType( domGles_pipeline_settings::domLight_quadratic_attenuation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_spot_cutoff" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_spot_cutoff) );
+ mea->setElementType( domGles_pipeline_settings::domLight_spot_cutoff::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_spot_direction" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_spot_direction) );
+ mea->setElementType( domGles_pipeline_settings::domLight_spot_direction::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_spot_exponent" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_spot_exponent) );
+ mea->setElementType( domGles_pipeline_settings::domLight_spot_exponent::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_model_ambient" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_model_ambient) );
+ mea->setElementType( domGles_pipeline_settings::domLight_model_ambient::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "line_width" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLine_width) );
+ mea->setElementType( domGles_pipeline_settings::domLine_width::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "material_ambient" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemMaterial_ambient) );
+ mea->setElementType( domGles_pipeline_settings::domMaterial_ambient::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "material_diffuse" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemMaterial_diffuse) );
+ mea->setElementType( domGles_pipeline_settings::domMaterial_diffuse::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "material_emission" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemMaterial_emission) );
+ mea->setElementType( domGles_pipeline_settings::domMaterial_emission::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "material_shininess" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemMaterial_shininess) );
+ mea->setElementType( domGles_pipeline_settings::domMaterial_shininess::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "material_specular" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemMaterial_specular) );
+ mea->setElementType( domGles_pipeline_settings::domMaterial_specular::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "model_view_matrix" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemModel_view_matrix) );
+ mea->setElementType( domGles_pipeline_settings::domModel_view_matrix::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "point_distance_attenuation" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemPoint_distance_attenuation) );
+ mea->setElementType( domGles_pipeline_settings::domPoint_distance_attenuation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "point_fade_threshold_size" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemPoint_fade_threshold_size) );
+ mea->setElementType( domGles_pipeline_settings::domPoint_fade_threshold_size::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "point_size" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemPoint_size) );
+ mea->setElementType( domGles_pipeline_settings::domPoint_size::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "point_size_min" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemPoint_size_min) );
+ mea->setElementType( domGles_pipeline_settings::domPoint_size_min::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "point_size_max" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemPoint_size_max) );
+ mea->setElementType( domGles_pipeline_settings::domPoint_size_max::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "polygon_offset" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemPolygon_offset) );
+ mea->setElementType( domGles_pipeline_settings::domPolygon_offset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "projection_matrix" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemProjection_matrix) );
+ mea->setElementType( domGles_pipeline_settings::domProjection_matrix::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "scissor" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemScissor) );
+ mea->setElementType( domGles_pipeline_settings::domScissor::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "shade_model" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemShade_model) );
+ mea->setElementType( domGles_pipeline_settings::domShade_model::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_func" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemStencil_func) );
+ mea->setElementType( domGles_pipeline_settings::domStencil_func::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_mask" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemStencil_mask) );
+ mea->setElementType( domGles_pipeline_settings::domStencil_mask::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_op" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemStencil_op) );
+ mea->setElementType( domGles_pipeline_settings::domStencil_op::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "texture_pipeline" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemTexture_pipeline) );
+ mea->setElementType( domGles_pipeline_settings::domTexture_pipeline::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "alpha_test_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemAlpha_test_enable) );
+ mea->setElementType( domGles_pipeline_settings::domAlpha_test_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "blend_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemBlend_enable) );
+ mea->setElementType( domGles_pipeline_settings::domBlend_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "clip_plane_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemClip_plane_enable) );
+ mea->setElementType( domGles_pipeline_settings::domClip_plane_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "color_logic_op_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemColor_logic_op_enable) );
+ mea->setElementType( domGles_pipeline_settings::domColor_logic_op_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "color_material_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemColor_material_enable) );
+ mea->setElementType( domGles_pipeline_settings::domColor_material_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "cull_face_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemCull_face_enable) );
+ mea->setElementType( domGles_pipeline_settings::domCull_face_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "depth_test_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemDepth_test_enable) );
+ mea->setElementType( domGles_pipeline_settings::domDepth_test_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "dither_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemDither_enable) );
+ mea->setElementType( domGles_pipeline_settings::domDither_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fog_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemFog_enable) );
+ mea->setElementType( domGles_pipeline_settings::domFog_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_enable) );
+ mea->setElementType( domGles_pipeline_settings::domLight_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "lighting_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLighting_enable) );
+ mea->setElementType( domGles_pipeline_settings::domLighting_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "light_model_two_side_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLight_model_two_side_enable) );
+ mea->setElementType( domGles_pipeline_settings::domLight_model_two_side_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "line_smooth_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemLine_smooth_enable) );
+ mea->setElementType( domGles_pipeline_settings::domLine_smooth_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "multisample_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemMultisample_enable) );
+ mea->setElementType( domGles_pipeline_settings::domMultisample_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "normalize_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemNormalize_enable) );
+ mea->setElementType( domGles_pipeline_settings::domNormalize_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "point_smooth_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemPoint_smooth_enable) );
+ mea->setElementType( domGles_pipeline_settings::domPoint_smooth_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "polygon_offset_fill_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemPolygon_offset_fill_enable) );
+ mea->setElementType( domGles_pipeline_settings::domPolygon_offset_fill_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "rescale_normal_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemRescale_normal_enable) );
+ mea->setElementType( domGles_pipeline_settings::domRescale_normal_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sample_alpha_to_coverage_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemSample_alpha_to_coverage_enable) );
+ mea->setElementType( domGles_pipeline_settings::domSample_alpha_to_coverage_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sample_alpha_to_one_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemSample_alpha_to_one_enable) );
+ mea->setElementType( domGles_pipeline_settings::domSample_alpha_to_one_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sample_coverage_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemSample_coverage_enable) );
+ mea->setElementType( domGles_pipeline_settings::domSample_coverage_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "scissor_test_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemScissor_test_enable) );
+ mea->setElementType( domGles_pipeline_settings::domScissor_test_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "stencil_test_enable" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings,elemStencil_test_enable) );
+ mea->setElementType( domGles_pipeline_settings::domStencil_test_enable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGles_pipeline_settings,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGles_pipeline_settings,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGles_pipeline_settings,_CMData), 1);
+ meta->setElementSize(sizeof(domGles_pipeline_settings));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domAlpha_func::create(DAE& dae)
+{
+ domGles_pipeline_settings::domAlpha_funcRef ref = new domGles_pipeline_settings::domAlpha_func(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domAlpha_func::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "alpha_func" );
+ meta->registerClass(domGles_pipeline_settings::domAlpha_func::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "func" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings::domAlpha_func,elemFunc) );
+ mea->setElementType( domGles_pipeline_settings::domAlpha_func::domFunc::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "value" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings::domAlpha_func,elemValue) );
+ mea->setElementType( domGles_pipeline_settings::domAlpha_func::domValue::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domAlpha_func));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domAlpha_func::domFunc::create(DAE& dae)
+{
+ domGles_pipeline_settings::domAlpha_func::domFuncRef ref = new domGles_pipeline_settings::domAlpha_func::domFunc(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domAlpha_func::domFunc::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "func" );
+ meta->registerClass(domGles_pipeline_settings::domAlpha_func::domFunc::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_func"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domAlpha_func::domFunc , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ALWAYS");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domAlpha_func::domFunc , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domAlpha_func::domFunc));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domAlpha_func::domValue::create(DAE& dae)
+{
+ domGles_pipeline_settings::domAlpha_func::domValueRef ref = new domGles_pipeline_settings::domAlpha_func::domValue(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domAlpha_func::domValue::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "value" );
+ meta->registerClass(domGles_pipeline_settings::domAlpha_func::domValue::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_alpha_value"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domAlpha_func::domValue , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0.0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domAlpha_func::domValue , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domAlpha_func::domValue));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domBlend_func::create(DAE& dae)
+{
+ domGles_pipeline_settings::domBlend_funcRef ref = new domGles_pipeline_settings::domBlend_func(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domBlend_func::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "blend_func" );
+ meta->registerClass(domGles_pipeline_settings::domBlend_func::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "src" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings::domBlend_func,elemSrc) );
+ mea->setElementType( domGles_pipeline_settings::domBlend_func::domSrc::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "dest" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings::domBlend_func,elemDest) );
+ mea->setElementType( domGles_pipeline_settings::domBlend_func::domDest::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domBlend_func));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domBlend_func::domSrc::create(DAE& dae)
+{
+ domGles_pipeline_settings::domBlend_func::domSrcRef ref = new domGles_pipeline_settings::domBlend_func::domSrc(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domBlend_func::domSrc::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "src" );
+ meta->registerClass(domGles_pipeline_settings::domBlend_func::domSrc::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domBlend_func::domSrc , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ONE");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domBlend_func::domSrc , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domBlend_func::domSrc));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domBlend_func::domDest::create(DAE& dae)
+{
+ domGles_pipeline_settings::domBlend_func::domDestRef ref = new domGles_pipeline_settings::domBlend_func::domDest(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domBlend_func::domDest::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "dest" );
+ meta->registerClass(domGles_pipeline_settings::domBlend_func::domDest::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_blend"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domBlend_func::domDest , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ZERO");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domBlend_func::domDest , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domBlend_func::domDest));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domClip_plane::create(DAE& dae)
+{
+ domGles_pipeline_settings::domClip_planeRef ref = new domGles_pipeline_settings::domClip_plane(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domClip_plane::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "clip_plane" );
+ meta->registerClass(domGles_pipeline_settings::domClip_plane::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool4"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domClip_plane , attrValue ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domClip_plane , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gles_max_clip_planes_index"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domClip_plane , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domClip_plane));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domColor_mask::create(DAE& dae)
+{
+ domGles_pipeline_settings::domColor_maskRef ref = new domGles_pipeline_settings::domColor_mask(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domColor_mask::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "color_mask" );
+ meta->registerClass(domGles_pipeline_settings::domColor_mask::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Bool4"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domColor_mask , attrValue ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domColor_mask , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domColor_mask));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domCull_face::create(DAE& dae)
+{
+ domGles_pipeline_settings::domCull_faceRef ref = new domGles_pipeline_settings::domCull_face(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domCull_face::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cull_face" );
+ meta->registerClass(domGles_pipeline_settings::domCull_face::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_face"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domCull_face , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "BACK");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domCull_face , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domCull_face));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domDepth_func::create(DAE& dae)
+{
+ domGles_pipeline_settings::domDepth_funcRef ref = new domGles_pipeline_settings::domDepth_func(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domDepth_func::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "depth_func" );
+ meta->registerClass(domGles_pipeline_settings::domDepth_func::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_func"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domDepth_func , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ALWAYS");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domDepth_func , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domDepth_func));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domDepth_mask::create(DAE& dae)
+{
+ domGles_pipeline_settings::domDepth_maskRef ref = new domGles_pipeline_settings::domDepth_mask(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domDepth_mask::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "depth_mask" );
+ meta->registerClass(domGles_pipeline_settings::domDepth_mask::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domDepth_mask , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domDepth_mask , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domDepth_mask));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domDepth_range::create(DAE& dae)
+{
+ domGles_pipeline_settings::domDepth_rangeRef ref = new domGles_pipeline_settings::domDepth_range(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domDepth_range::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "depth_range" );
+ meta->registerClass(domGles_pipeline_settings::domDepth_range::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domDepth_range , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domDepth_range , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domDepth_range));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domFog_color::create(DAE& dae)
+{
+ domGles_pipeline_settings::domFog_colorRef ref = new domGles_pipeline_settings::domFog_color(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domFog_color::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fog_color" );
+ meta->registerClass(domGles_pipeline_settings::domFog_color::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domFog_color , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 0 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domFog_color , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domFog_color));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domFog_density::create(DAE& dae)
+{
+ domGles_pipeline_settings::domFog_densityRef ref = new domGles_pipeline_settings::domFog_density(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domFog_density::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fog_density" );
+ meta->registerClass(domGles_pipeline_settings::domFog_density::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domFog_density , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domFog_density , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domFog_density));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domFog_mode::create(DAE& dae)
+{
+ domGles_pipeline_settings::domFog_modeRef ref = new domGles_pipeline_settings::domFog_mode(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domFog_mode::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fog_mode" );
+ meta->registerClass(domGles_pipeline_settings::domFog_mode::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_fog"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domFog_mode , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "EXP");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domFog_mode , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domFog_mode));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domFog_start::create(DAE& dae)
+{
+ domGles_pipeline_settings::domFog_startRef ref = new domGles_pipeline_settings::domFog_start(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domFog_start::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fog_start" );
+ meta->registerClass(domGles_pipeline_settings::domFog_start::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domFog_start , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domFog_start , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domFog_start));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domFog_end::create(DAE& dae)
+{
+ domGles_pipeline_settings::domFog_endRef ref = new domGles_pipeline_settings::domFog_end(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domFog_end::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fog_end" );
+ meta->registerClass(domGles_pipeline_settings::domFog_end::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domFog_end , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domFog_end , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domFog_end));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domFront_face::create(DAE& dae)
+{
+ domGles_pipeline_settings::domFront_faceRef ref = new domGles_pipeline_settings::domFront_face(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domFront_face::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "front_face" );
+ meta->registerClass(domGles_pipeline_settings::domFront_face::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_front_face"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domFront_face , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "CCW");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domFront_face , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domFront_face));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLogic_op::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLogic_opRef ref = new domGles_pipeline_settings::domLogic_op(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLogic_op::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "logic_op" );
+ meta->registerClass(domGles_pipeline_settings::domLogic_op::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_logic_op"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLogic_op , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "COPY");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLogic_op , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLogic_op));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLight_ambient::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLight_ambientRef ref = new domGles_pipeline_settings::domLight_ambient(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLight_ambient::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_ambient" );
+ meta->registerClass(domGles_pipeline_settings::domLight_ambient::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_ambient , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 0 1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_ambient , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gles_max_lights_index"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_ambient , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLight_ambient));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLight_diffuse::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLight_diffuseRef ref = new domGles_pipeline_settings::domLight_diffuse(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLight_diffuse::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_diffuse" );
+ meta->registerClass(domGles_pipeline_settings::domLight_diffuse::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_diffuse , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 0 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_diffuse , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gles_max_lights_index"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_diffuse , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLight_diffuse));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLight_specular::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLight_specularRef ref = new domGles_pipeline_settings::domLight_specular(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLight_specular::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_specular" );
+ meta->registerClass(domGles_pipeline_settings::domLight_specular::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_specular , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 0 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_specular , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gles_max_lights_index"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_specular , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLight_specular));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLight_position::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLight_positionRef ref = new domGles_pipeline_settings::domLight_position(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLight_position::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_position" );
+ meta->registerClass(domGles_pipeline_settings::domLight_position::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_position , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 1 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_position , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gles_max_lights_index"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_position , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLight_position));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLight_constant_attenuation::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLight_constant_attenuationRef ref = new domGles_pipeline_settings::domLight_constant_attenuation(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLight_constant_attenuation::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_constant_attenuation" );
+ meta->registerClass(domGles_pipeline_settings::domLight_constant_attenuation::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_constant_attenuation , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_constant_attenuation , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gles_max_lights_index"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_constant_attenuation , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLight_constant_attenuation));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLight_linear_attenuation::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLight_linear_attenuationRef ref = new domGles_pipeline_settings::domLight_linear_attenuation(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLight_linear_attenuation::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_linear_attenuation" );
+ meta->registerClass(domGles_pipeline_settings::domLight_linear_attenuation::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_linear_attenuation , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_linear_attenuation , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gles_max_lights_index"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_linear_attenuation , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLight_linear_attenuation));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLight_quadratic_attenuation::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLight_quadratic_attenuationRef ref = new domGles_pipeline_settings::domLight_quadratic_attenuation(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLight_quadratic_attenuation::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_quadratic_attenuation" );
+ meta->registerClass(domGles_pipeline_settings::domLight_quadratic_attenuation::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_quadratic_attenuation , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_quadratic_attenuation , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gles_max_lights_index"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_quadratic_attenuation , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLight_quadratic_attenuation));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLight_spot_cutoff::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLight_spot_cutoffRef ref = new domGles_pipeline_settings::domLight_spot_cutoff(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLight_spot_cutoff::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_spot_cutoff" );
+ meta->registerClass(domGles_pipeline_settings::domLight_spot_cutoff::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_spot_cutoff , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "180");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_spot_cutoff , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gles_max_lights_index"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_spot_cutoff , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLight_spot_cutoff));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLight_spot_direction::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLight_spot_directionRef ref = new domGles_pipeline_settings::domLight_spot_direction(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLight_spot_direction::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_spot_direction" );
+ meta->registerClass(domGles_pipeline_settings::domLight_spot_direction::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_spot_direction , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 -1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_spot_direction , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gles_max_lights_index"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_spot_direction , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLight_spot_direction));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLight_spot_exponent::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLight_spot_exponentRef ref = new domGles_pipeline_settings::domLight_spot_exponent(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLight_spot_exponent::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_spot_exponent" );
+ meta->registerClass(domGles_pipeline_settings::domLight_spot_exponent::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_spot_exponent , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_spot_exponent , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gles_max_lights_index"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_spot_exponent , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLight_spot_exponent));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLight_model_ambient::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLight_model_ambientRef ref = new domGles_pipeline_settings::domLight_model_ambient(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLight_model_ambient::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_model_ambient" );
+ meta->registerClass(domGles_pipeline_settings::domLight_model_ambient::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_model_ambient , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0.2 0.2 0.2 1.0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_model_ambient , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLight_model_ambient));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLine_width::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLine_widthRef ref = new domGles_pipeline_settings::domLine_width(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLine_width::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "line_width" );
+ meta->registerClass(domGles_pipeline_settings::domLine_width::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLine_width , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLine_width , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLine_width));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domMaterial_ambient::create(DAE& dae)
+{
+ domGles_pipeline_settings::domMaterial_ambientRef ref = new domGles_pipeline_settings::domMaterial_ambient(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domMaterial_ambient::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "material_ambient" );
+ meta->registerClass(domGles_pipeline_settings::domMaterial_ambient::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domMaterial_ambient , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0.2 0.2 0.2 1.0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domMaterial_ambient , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domMaterial_ambient));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domMaterial_diffuse::create(DAE& dae)
+{
+ domGles_pipeline_settings::domMaterial_diffuseRef ref = new domGles_pipeline_settings::domMaterial_diffuse(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domMaterial_diffuse::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "material_diffuse" );
+ meta->registerClass(domGles_pipeline_settings::domMaterial_diffuse::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domMaterial_diffuse , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0.8 0.8 0.8 1.0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domMaterial_diffuse , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domMaterial_diffuse));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domMaterial_emission::create(DAE& dae)
+{
+ domGles_pipeline_settings::domMaterial_emissionRef ref = new domGles_pipeline_settings::domMaterial_emission(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domMaterial_emission::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "material_emission" );
+ meta->registerClass(domGles_pipeline_settings::domMaterial_emission::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domMaterial_emission , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 0 1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domMaterial_emission , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domMaterial_emission));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domMaterial_shininess::create(DAE& dae)
+{
+ domGles_pipeline_settings::domMaterial_shininessRef ref = new domGles_pipeline_settings::domMaterial_shininess(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domMaterial_shininess::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "material_shininess" );
+ meta->registerClass(domGles_pipeline_settings::domMaterial_shininess::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domMaterial_shininess , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domMaterial_shininess , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domMaterial_shininess));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domMaterial_specular::create(DAE& dae)
+{
+ domGles_pipeline_settings::domMaterial_specularRef ref = new domGles_pipeline_settings::domMaterial_specular(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domMaterial_specular::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "material_specular" );
+ meta->registerClass(domGles_pipeline_settings::domMaterial_specular::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domMaterial_specular , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0 0 1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domMaterial_specular , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domMaterial_specular));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domModel_view_matrix::create(DAE& dae)
+{
+ domGles_pipeline_settings::domModel_view_matrixRef ref = new domGles_pipeline_settings::domModel_view_matrix(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domModel_view_matrix::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "model_view_matrix" );
+ meta->registerClass(domGles_pipeline_settings::domModel_view_matrix::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x4"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domModel_view_matrix , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domModel_view_matrix , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domModel_view_matrix));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domPoint_distance_attenuation::create(DAE& dae)
+{
+ domGles_pipeline_settings::domPoint_distance_attenuationRef ref = new domGles_pipeline_settings::domPoint_distance_attenuation(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domPoint_distance_attenuation::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "point_distance_attenuation" );
+ meta->registerClass(domGles_pipeline_settings::domPoint_distance_attenuation::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPoint_distance_attenuation , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1 0 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPoint_distance_attenuation , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domPoint_distance_attenuation));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domPoint_fade_threshold_size::create(DAE& dae)
+{
+ domGles_pipeline_settings::domPoint_fade_threshold_sizeRef ref = new domGles_pipeline_settings::domPoint_fade_threshold_size(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domPoint_fade_threshold_size::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "point_fade_threshold_size" );
+ meta->registerClass(domGles_pipeline_settings::domPoint_fade_threshold_size::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPoint_fade_threshold_size , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPoint_fade_threshold_size , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domPoint_fade_threshold_size));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domPoint_size::create(DAE& dae)
+{
+ domGles_pipeline_settings::domPoint_sizeRef ref = new domGles_pipeline_settings::domPoint_size(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domPoint_size::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "point_size" );
+ meta->registerClass(domGles_pipeline_settings::domPoint_size::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPoint_size , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPoint_size , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domPoint_size));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domPoint_size_min::create(DAE& dae)
+{
+ domGles_pipeline_settings::domPoint_size_minRef ref = new domGles_pipeline_settings::domPoint_size_min(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domPoint_size_min::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "point_size_min" );
+ meta->registerClass(domGles_pipeline_settings::domPoint_size_min::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPoint_size_min , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPoint_size_min , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domPoint_size_min));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domPoint_size_max::create(DAE& dae)
+{
+ domGles_pipeline_settings::domPoint_size_maxRef ref = new domGles_pipeline_settings::domPoint_size_max(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domPoint_size_max::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "point_size_max" );
+ meta->registerClass(domGles_pipeline_settings::domPoint_size_max::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPoint_size_max , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPoint_size_max , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domPoint_size_max));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domPolygon_offset::create(DAE& dae)
+{
+ domGles_pipeline_settings::domPolygon_offsetRef ref = new domGles_pipeline_settings::domPolygon_offset(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domPolygon_offset::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "polygon_offset" );
+ meta->registerClass(domGles_pipeline_settings::domPolygon_offset::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPolygon_offset , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0 0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPolygon_offset , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domPolygon_offset));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domProjection_matrix::create(DAE& dae)
+{
+ domGles_pipeline_settings::domProjection_matrixRef ref = new domGles_pipeline_settings::domProjection_matrix(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domProjection_matrix::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "projection_matrix" );
+ meta->registerClass(domGles_pipeline_settings::domProjection_matrix::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x4"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domProjection_matrix , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domProjection_matrix , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domProjection_matrix));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domScissor::create(DAE& dae)
+{
+ domGles_pipeline_settings::domScissorRef ref = new domGles_pipeline_settings::domScissor(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domScissor::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "scissor" );
+ meta->registerClass(domGles_pipeline_settings::domScissor::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Int4"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domScissor , attrValue ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domScissor , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domScissor));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domShade_model::create(DAE& dae)
+{
+ domGles_pipeline_settings::domShade_modelRef ref = new domGles_pipeline_settings::domShade_model(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domShade_model::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "shade_model" );
+ meta->registerClass(domGles_pipeline_settings::domShade_model::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_shade_model"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domShade_model , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "SMOOTH");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domShade_model , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domShade_model));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domStencil_func::create(DAE& dae)
+{
+ domGles_pipeline_settings::domStencil_funcRef ref = new domGles_pipeline_settings::domStencil_func(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domStencil_func::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_func" );
+ meta->registerClass(domGles_pipeline_settings::domStencil_func::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "func" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings::domStencil_func,elemFunc) );
+ mea->setElementType( domGles_pipeline_settings::domStencil_func::domFunc::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "ref" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings::domStencil_func,elemRef) );
+ mea->setElementType( domGles_pipeline_settings::domStencil_func::domRef::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "mask" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings::domStencil_func,elemMask) );
+ mea->setElementType( domGles_pipeline_settings::domStencil_func::domMask::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domStencil_func));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domStencil_func::domFunc::create(DAE& dae)
+{
+ domGles_pipeline_settings::domStencil_func::domFuncRef ref = new domGles_pipeline_settings::domStencil_func::domFunc(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domStencil_func::domFunc::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "func" );
+ meta->registerClass(domGles_pipeline_settings::domStencil_func::domFunc::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_func"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_func::domFunc , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "ALWAYS");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_func::domFunc , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domStencil_func::domFunc));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domStencil_func::domRef::create(DAE& dae)
+{
+ domGles_pipeline_settings::domStencil_func::domRefRef ref = new domGles_pipeline_settings::domStencil_func::domRef(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domStencil_func::domRef::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "ref" );
+ meta->registerClass(domGles_pipeline_settings::domStencil_func::domRef::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedByte"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_func::domRef , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_func::domRef , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domStencil_func::domRef));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domStencil_func::domMask::create(DAE& dae)
+{
+ domGles_pipeline_settings::domStencil_func::domMaskRef ref = new domGles_pipeline_settings::domStencil_func::domMask(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domStencil_func::domMask::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mask" );
+ meta->registerClass(domGles_pipeline_settings::domStencil_func::domMask::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedByte"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_func::domMask , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "255");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_func::domMask , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domStencil_func::domMask));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domStencil_mask::create(DAE& dae)
+{
+ domGles_pipeline_settings::domStencil_maskRef ref = new domGles_pipeline_settings::domStencil_mask(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domStencil_mask::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_mask" );
+ meta->registerClass(domGles_pipeline_settings::domStencil_mask::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Int"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_mask , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "4294967295");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_mask , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domStencil_mask));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domStencil_op::create(DAE& dae)
+{
+ domGles_pipeline_settings::domStencil_opRef ref = new domGles_pipeline_settings::domStencil_op(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domStencil_op::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_op" );
+ meta->registerClass(domGles_pipeline_settings::domStencil_op::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fail" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings::domStencil_op,elemFail) );
+ mea->setElementType( domGles_pipeline_settings::domStencil_op::domFail::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "zfail" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings::domStencil_op,elemZfail) );
+ mea->setElementType( domGles_pipeline_settings::domStencil_op::domZfail::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "zpass" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings::domStencil_op,elemZpass) );
+ mea->setElementType( domGles_pipeline_settings::domStencil_op::domZpass::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domStencil_op));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domStencil_op::domFail::create(DAE& dae)
+{
+ domGles_pipeline_settings::domStencil_op::domFailRef ref = new domGles_pipeline_settings::domStencil_op::domFail(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domStencil_op::domFail::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fail" );
+ meta->registerClass(domGles_pipeline_settings::domStencil_op::domFail::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gles_stencil_op"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_op::domFail , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "KEEP");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_op::domFail , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domStencil_op::domFail));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domStencil_op::domZfail::create(DAE& dae)
+{
+ domGles_pipeline_settings::domStencil_op::domZfailRef ref = new domGles_pipeline_settings::domStencil_op::domZfail(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domStencil_op::domZfail::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "zfail" );
+ meta->registerClass(domGles_pipeline_settings::domStencil_op::domZfail::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gles_stencil_op"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_op::domZfail , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "KEEP");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_op::domZfail , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domStencil_op::domZfail));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domStencil_op::domZpass::create(DAE& dae)
+{
+ domGles_pipeline_settings::domStencil_op::domZpassRef ref = new domGles_pipeline_settings::domStencil_op::domZpass(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domStencil_op::domZpass::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "zpass" );
+ meta->registerClass(domGles_pipeline_settings::domStencil_op::domZpass::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Gles_stencil_op"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_op::domZpass , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "KEEP");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_op::domZpass , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domStencil_op::domZpass));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domTexture_pipeline::create(DAE& dae)
+{
+ domGles_pipeline_settings::domTexture_pipelineRef ref = new domGles_pipeline_settings::domTexture_pipeline(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domTexture_pipeline::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "texture_pipeline" );
+ meta->registerClass(domGles_pipeline_settings::domTexture_pipeline::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "value" );
+ mea->setOffset( daeOffsetOf(domGles_pipeline_settings::domTexture_pipeline,elemValue) );
+ mea->setElementType( domGles_texture_pipeline::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domTexture_pipeline));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domAlpha_test_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domAlpha_test_enableRef ref = new domGles_pipeline_settings::domAlpha_test_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domAlpha_test_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "alpha_test_enable" );
+ meta->registerClass(domGles_pipeline_settings::domAlpha_test_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domAlpha_test_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domAlpha_test_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domAlpha_test_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domBlend_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domBlend_enableRef ref = new domGles_pipeline_settings::domBlend_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domBlend_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "blend_enable" );
+ meta->registerClass(domGles_pipeline_settings::domBlend_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domBlend_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domBlend_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domBlend_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domClip_plane_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domClip_plane_enableRef ref = new domGles_pipeline_settings::domClip_plane_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domClip_plane_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "clip_plane_enable" );
+ meta->registerClass(domGles_pipeline_settings::domClip_plane_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domClip_plane_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domClip_plane_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gles_max_clip_planes_index"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domClip_plane_enable , attrIndex ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domClip_plane_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domColor_logic_op_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domColor_logic_op_enableRef ref = new domGles_pipeline_settings::domColor_logic_op_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domColor_logic_op_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "color_logic_op_enable" );
+ meta->registerClass(domGles_pipeline_settings::domColor_logic_op_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domColor_logic_op_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domColor_logic_op_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domColor_logic_op_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domColor_material_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domColor_material_enableRef ref = new domGles_pipeline_settings::domColor_material_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domColor_material_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "color_material_enable" );
+ meta->registerClass(domGles_pipeline_settings::domColor_material_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domColor_material_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "true");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domColor_material_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domColor_material_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domCull_face_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domCull_face_enableRef ref = new domGles_pipeline_settings::domCull_face_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domCull_face_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cull_face_enable" );
+ meta->registerClass(domGles_pipeline_settings::domCull_face_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domCull_face_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domCull_face_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domCull_face_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domDepth_test_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domDepth_test_enableRef ref = new domGles_pipeline_settings::domDepth_test_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domDepth_test_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "depth_test_enable" );
+ meta->registerClass(domGles_pipeline_settings::domDepth_test_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domDepth_test_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domDepth_test_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domDepth_test_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domDither_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domDither_enableRef ref = new domGles_pipeline_settings::domDither_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domDither_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "dither_enable" );
+ meta->registerClass(domGles_pipeline_settings::domDither_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domDither_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domDither_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domDither_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domFog_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domFog_enableRef ref = new domGles_pipeline_settings::domFog_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domFog_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "fog_enable" );
+ meta->registerClass(domGles_pipeline_settings::domFog_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domFog_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domFog_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domFog_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLight_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLight_enableRef ref = new domGles_pipeline_settings::domLight_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLight_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_enable" );
+ meta->registerClass(domGles_pipeline_settings::domLight_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "index" );
+ ma->setType( dae.getAtomicTypes().get("Gles_max_lights_index"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_enable , attrIndex ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLight_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLighting_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLighting_enableRef ref = new domGles_pipeline_settings::domLighting_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLighting_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "lighting_enable" );
+ meta->registerClass(domGles_pipeline_settings::domLighting_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLighting_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLighting_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLighting_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLight_model_two_side_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLight_model_two_side_enableRef ref = new domGles_pipeline_settings::domLight_model_two_side_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLight_model_two_side_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light_model_two_side_enable" );
+ meta->registerClass(domGles_pipeline_settings::domLight_model_two_side_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_model_two_side_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLight_model_two_side_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLight_model_two_side_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domLine_smooth_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domLine_smooth_enableRef ref = new domGles_pipeline_settings::domLine_smooth_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domLine_smooth_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "line_smooth_enable" );
+ meta->registerClass(domGles_pipeline_settings::domLine_smooth_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLine_smooth_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domLine_smooth_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domLine_smooth_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domMultisample_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domMultisample_enableRef ref = new domGles_pipeline_settings::domMultisample_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domMultisample_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "multisample_enable" );
+ meta->registerClass(domGles_pipeline_settings::domMultisample_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domMultisample_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domMultisample_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domMultisample_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domNormalize_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domNormalize_enableRef ref = new domGles_pipeline_settings::domNormalize_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domNormalize_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "normalize_enable" );
+ meta->registerClass(domGles_pipeline_settings::domNormalize_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domNormalize_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domNormalize_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domNormalize_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domPoint_smooth_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domPoint_smooth_enableRef ref = new domGles_pipeline_settings::domPoint_smooth_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domPoint_smooth_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "point_smooth_enable" );
+ meta->registerClass(domGles_pipeline_settings::domPoint_smooth_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPoint_smooth_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPoint_smooth_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domPoint_smooth_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domPolygon_offset_fill_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domPolygon_offset_fill_enableRef ref = new domGles_pipeline_settings::domPolygon_offset_fill_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domPolygon_offset_fill_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "polygon_offset_fill_enable" );
+ meta->registerClass(domGles_pipeline_settings::domPolygon_offset_fill_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPolygon_offset_fill_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domPolygon_offset_fill_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domPolygon_offset_fill_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domRescale_normal_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domRescale_normal_enableRef ref = new domGles_pipeline_settings::domRescale_normal_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domRescale_normal_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "rescale_normal_enable" );
+ meta->registerClass(domGles_pipeline_settings::domRescale_normal_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domRescale_normal_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domRescale_normal_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domRescale_normal_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domSample_alpha_to_coverage_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domSample_alpha_to_coverage_enableRef ref = new domGles_pipeline_settings::domSample_alpha_to_coverage_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domSample_alpha_to_coverage_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "sample_alpha_to_coverage_enable" );
+ meta->registerClass(domGles_pipeline_settings::domSample_alpha_to_coverage_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domSample_alpha_to_coverage_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domSample_alpha_to_coverage_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domSample_alpha_to_coverage_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domSample_alpha_to_one_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domSample_alpha_to_one_enableRef ref = new domGles_pipeline_settings::domSample_alpha_to_one_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domSample_alpha_to_one_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "sample_alpha_to_one_enable" );
+ meta->registerClass(domGles_pipeline_settings::domSample_alpha_to_one_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domSample_alpha_to_one_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domSample_alpha_to_one_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domSample_alpha_to_one_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domSample_coverage_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domSample_coverage_enableRef ref = new domGles_pipeline_settings::domSample_coverage_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domSample_coverage_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "sample_coverage_enable" );
+ meta->registerClass(domGles_pipeline_settings::domSample_coverage_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domSample_coverage_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domSample_coverage_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domSample_coverage_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domScissor_test_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domScissor_test_enableRef ref = new domGles_pipeline_settings::domScissor_test_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domScissor_test_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "scissor_test_enable" );
+ meta->registerClass(domGles_pipeline_settings::domScissor_test_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domScissor_test_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domScissor_test_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domScissor_test_enable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_pipeline_settings::domStencil_test_enable::create(DAE& dae)
+{
+ domGles_pipeline_settings::domStencil_test_enableRef ref = new domGles_pipeline_settings::domStencil_test_enable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_pipeline_settings::domStencil_test_enable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "stencil_test_enable" );
+ meta->registerClass(domGles_pipeline_settings::domStencil_test_enable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_test_enable , attrValue ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_pipeline_settings::domStencil_test_enable , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_pipeline_settings::domStencil_test_enable));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGles_sampler.cpp b/1.4.0/dom/src/1.5/dom/domGles_sampler.cpp
new file mode 100644
index 0000000..5373b11
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGles_sampler.cpp
@@ -0,0 +1,101 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGles_sampler.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGles_sampler::create(DAE& dae)
+{
+ domGles_samplerRef ref = new domGles_sampler(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_sampler::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles_sampler" );
+ meta->registerClass(domGles_sampler::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "instance_image" );
+ mea->setOffset( daeOffsetOf(domGles_sampler,elemInstance_image) );
+ mea->setElementType( domInstance_image::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "texcoord" );
+ mea->setOffset( daeOffsetOf(domGles_sampler,elemTexcoord) );
+ mea->setElementType( domGles_sampler::domTexcoord::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "gles_sampler_states" );
+ mea->setOffset( daeOffsetOf(domGles_sampler,elemGles_sampler_states) );
+ mea->setElementType( domGles_sampler_states::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 2, 1, 1 ) );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGles_sampler));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_sampler::domTexcoord::create(DAE& dae)
+{
+ domGles_sampler::domTexcoordRef ref = new domGles_sampler::domTexcoord(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_sampler::domTexcoord::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "texcoord" );
+ meta->registerClass(domGles_sampler::domTexcoord::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: semantic
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "semantic" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_sampler::domTexcoord , attrSemantic ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_sampler::domTexcoord));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGles_sampler_states.cpp b/1.4.0/dom/src/1.5/dom/domGles_sampler_states.cpp
new file mode 100644
index 0000000..f028be6
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGles_sampler_states.cpp
@@ -0,0 +1,346 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGles_sampler_states.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGles_sampler_states::create(DAE& dae)
+{
+ domGles_sampler_statesRef ref = new domGles_sampler_states(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_sampler_states::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles_sampler_states" );
+ meta->registerClass(domGles_sampler_states::create);
+
+ meta->setIsTransparent( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "wrap_s" );
+ mea->setOffset( daeOffsetOf(domGles_sampler_states,elemWrap_s) );
+ mea->setElementType( domGles_sampler_states::domWrap_s::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "wrap_t" );
+ mea->setOffset( daeOffsetOf(domGles_sampler_states,elemWrap_t) );
+ mea->setElementType( domGles_sampler_states::domWrap_t::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "minfilter" );
+ mea->setOffset( daeOffsetOf(domGles_sampler_states,elemMinfilter) );
+ mea->setElementType( domGles_sampler_states::domMinfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "magfilter" );
+ mea->setOffset( daeOffsetOf(domGles_sampler_states,elemMagfilter) );
+ mea->setElementType( domGles_sampler_states::domMagfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "mipfilter" );
+ mea->setOffset( daeOffsetOf(domGles_sampler_states,elemMipfilter) );
+ mea->setElementType( domGles_sampler_states::domMipfilter::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "mip_max_level" );
+ mea->setOffset( daeOffsetOf(domGles_sampler_states,elemMip_max_level) );
+ mea->setElementType( domGles_sampler_states::domMip_max_level::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "mip_bias" );
+ mea->setOffset( daeOffsetOf(domGles_sampler_states,elemMip_bias) );
+ mea->setElementType( domGles_sampler_states::domMip_bias::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 7, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domGles_sampler_states,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 7 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGles_sampler_states));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_sampler_states::domWrap_s::create(DAE& dae)
+{
+ domGles_sampler_states::domWrap_sRef ref = new domGles_sampler_states::domWrap_s(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_sampler_states::domWrap_s::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "wrap_s" );
+ meta->registerClass(domGles_sampler_states::domWrap_s::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Gles_sampler_wrap"));
+ ma->setOffset( daeOffsetOf( domGles_sampler_states::domWrap_s , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_sampler_states::domWrap_s));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_sampler_states::domWrap_t::create(DAE& dae)
+{
+ domGles_sampler_states::domWrap_tRef ref = new domGles_sampler_states::domWrap_t(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_sampler_states::domWrap_t::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "wrap_t" );
+ meta->registerClass(domGles_sampler_states::domWrap_t::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Gles_sampler_wrap"));
+ ma->setOffset( daeOffsetOf( domGles_sampler_states::domWrap_t , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_sampler_states::domWrap_t));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_sampler_states::domMinfilter::create(DAE& dae)
+{
+ domGles_sampler_states::domMinfilterRef ref = new domGles_sampler_states::domMinfilter(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_sampler_states::domMinfilter::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "minfilter" );
+ meta->registerClass(domGles_sampler_states::domMinfilter::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_min_filter"));
+ ma->setOffset( daeOffsetOf( domGles_sampler_states::domMinfilter , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_sampler_states::domMinfilter));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_sampler_states::domMagfilter::create(DAE& dae)
+{
+ domGles_sampler_states::domMagfilterRef ref = new domGles_sampler_states::domMagfilter(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_sampler_states::domMagfilter::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "magfilter" );
+ meta->registerClass(domGles_sampler_states::domMagfilter::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_mag_filter"));
+ ma->setOffset( daeOffsetOf( domGles_sampler_states::domMagfilter , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_sampler_states::domMagfilter));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_sampler_states::domMipfilter::create(DAE& dae)
+{
+ domGles_sampler_states::domMipfilterRef ref = new domGles_sampler_states::domMipfilter(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_sampler_states::domMipfilter::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mipfilter" );
+ meta->registerClass(domGles_sampler_states::domMipfilter::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_sampler_mip_filter"));
+ ma->setOffset( daeOffsetOf( domGles_sampler_states::domMipfilter , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_sampler_states::domMipfilter));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_sampler_states::domMip_max_level::create(DAE& dae)
+{
+ domGles_sampler_states::domMip_max_levelRef ref = new domGles_sampler_states::domMip_max_level(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_sampler_states::domMip_max_level::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mip_max_level" );
+ meta->registerClass(domGles_sampler_states::domMip_max_level::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedByte"));
+ ma->setOffset( daeOffsetOf( domGles_sampler_states::domMip_max_level , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_sampler_states::domMip_max_level));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGles_sampler_states::domMip_bias::create(DAE& dae)
+{
+ domGles_sampler_states::domMip_biasRef ref = new domGles_sampler_states::domMip_bias(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_sampler_states::domMip_bias::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mip_bias" );
+ meta->registerClass(domGles_sampler_states::domMip_bias::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsFloat"));
+ ma->setOffset( daeOffsetOf( domGles_sampler_states::domMip_bias , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_sampler_states::domMip_bias));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGles_texcombiner_argument_alpha.cpp b/1.4.0/dom/src/1.5/dom/domGles_texcombiner_argument_alpha.cpp
new file mode 100644
index 0000000..b7e8bb9
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGles_texcombiner_argument_alpha.cpp
@@ -0,0 +1,74 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGles_texcombiner_argument_alpha.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGles_texcombiner_argument_alpha::create(DAE& dae)
+{
+ domGles_texcombiner_argument_alphaRef ref = new domGles_texcombiner_argument_alpha(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_texcombiner_argument_alpha::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles_texcombiner_argument_alpha" );
+ meta->registerClass(domGles_texcombiner_argument_alpha::create);
+
+
+ // Add attribute: source
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "source" );
+ ma->setType( dae.getAtomicTypes().get("Gles_texcombiner_source"));
+ ma->setOffset( daeOffsetOf( domGles_texcombiner_argument_alpha , attrSource ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: operand
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "operand" );
+ ma->setType( dae.getAtomicTypes().get("Gles_texcombiner_operand_alpha"));
+ ma->setOffset( daeOffsetOf( domGles_texcombiner_argument_alpha , attrOperand ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "SRC_ALPHA");
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sampler
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sampler" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_texcombiner_argument_alpha , attrSampler ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_texcombiner_argument_alpha));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGles_texcombiner_argument_rgb.cpp b/1.4.0/dom/src/1.5/dom/domGles_texcombiner_argument_rgb.cpp
new file mode 100644
index 0000000..ea031b5
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGles_texcombiner_argument_rgb.cpp
@@ -0,0 +1,74 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGles_texcombiner_argument_rgb.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGles_texcombiner_argument_rgb::create(DAE& dae)
+{
+ domGles_texcombiner_argument_rgbRef ref = new domGles_texcombiner_argument_rgb(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_texcombiner_argument_rgb::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles_texcombiner_argument_rgb" );
+ meta->registerClass(domGles_texcombiner_argument_rgb::create);
+
+
+ // Add attribute: source
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "source" );
+ ma->setType( dae.getAtomicTypes().get("Gles_texcombiner_source"));
+ ma->setOffset( daeOffsetOf( domGles_texcombiner_argument_rgb , attrSource ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: operand
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "operand" );
+ ma->setType( dae.getAtomicTypes().get("Gles_texcombiner_operand_rgb"));
+ ma->setOffset( daeOffsetOf( domGles_texcombiner_argument_rgb , attrOperand ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "SRC_COLOR");
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sampler
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sampler" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_texcombiner_argument_rgb , attrSampler ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_texcombiner_argument_rgb));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGles_texcombiner_command.cpp b/1.4.0/dom/src/1.5/dom/domGles_texcombiner_command.cpp
new file mode 100644
index 0000000..f233771
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGles_texcombiner_command.cpp
@@ -0,0 +1,63 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGles_texcombiner_command.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGles_texcombiner_command::create(DAE& dae)
+{
+ domGles_texcombiner_commandRef ref = new domGles_texcombiner_command(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_texcombiner_command::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles_texcombiner_command" );
+ meta->registerClass(domGles_texcombiner_command::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "constant" );
+ mea->setOffset( daeOffsetOf(domGles_texcombiner_command,elemConstant) );
+ mea->setElementType( domGles_texture_constant::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "RGB" );
+ mea->setOffset( daeOffsetOf(domGles_texcombiner_command,elemRGB) );
+ mea->setElementType( domGles_texcombiner_command_rgb::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "alpha" );
+ mea->setOffset( daeOffsetOf(domGles_texcombiner_command,elemAlpha) );
+ mea->setElementType( domGles_texcombiner_command_alpha::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGles_texcombiner_command));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGles_texcombiner_command_alpha.cpp b/1.4.0/dom/src/1.5/dom/domGles_texcombiner_command_alpha.cpp
new file mode 100644
index 0000000..5206c77
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGles_texcombiner_command_alpha.cpp
@@ -0,0 +1,74 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGles_texcombiner_command_alpha.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGles_texcombiner_command_alpha::create(DAE& dae)
+{
+ domGles_texcombiner_command_alphaRef ref = new domGles_texcombiner_command_alpha(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_texcombiner_command_alpha::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles_texcombiner_command_alpha" );
+ meta->registerClass(domGles_texcombiner_command_alpha::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 3 );
+ mea->setName( "argument" );
+ mea->setOffset( daeOffsetOf(domGles_texcombiner_command_alpha,elemArgument_array) );
+ mea->setElementType( domGles_texcombiner_argument_alpha::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: operator
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "operator" );
+ ma->setType( dae.getAtomicTypes().get("Gles_texcombiner_operator_alpha"));
+ ma->setOffset( daeOffsetOf( domGles_texcombiner_command_alpha , attrOperator ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: scale
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "scale" );
+ ma->setType( dae.getAtomicTypes().get("xsFloat"));
+ ma->setOffset( daeOffsetOf( domGles_texcombiner_command_alpha , attrScale ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_texcombiner_command_alpha));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGles_texcombiner_command_rgb.cpp b/1.4.0/dom/src/1.5/dom/domGles_texcombiner_command_rgb.cpp
new file mode 100644
index 0000000..9ab86de
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGles_texcombiner_command_rgb.cpp
@@ -0,0 +1,74 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGles_texcombiner_command_rgb.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGles_texcombiner_command_rgb::create(DAE& dae)
+{
+ domGles_texcombiner_command_rgbRef ref = new domGles_texcombiner_command_rgb(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_texcombiner_command_rgb::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles_texcombiner_command_rgb" );
+ meta->registerClass(domGles_texcombiner_command_rgb::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 3 );
+ mea->setName( "argument" );
+ mea->setOffset( daeOffsetOf(domGles_texcombiner_command_rgb,elemArgument_array) );
+ mea->setElementType( domGles_texcombiner_argument_rgb::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: operator
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "operator" );
+ ma->setType( dae.getAtomicTypes().get("Gles_texcombiner_operator_rgb"));
+ ma->setOffset( daeOffsetOf( domGles_texcombiner_command_rgb , attrOperator ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: scale
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "scale" );
+ ma->setType( dae.getAtomicTypes().get("xsFloat"));
+ ma->setOffset( daeOffsetOf( domGles_texcombiner_command_rgb , attrScale ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_texcombiner_command_rgb));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGles_texenv_command.cpp b/1.4.0/dom/src/1.5/dom/domGles_texenv_command.cpp
new file mode 100644
index 0000000..02d57ef
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGles_texenv_command.cpp
@@ -0,0 +1,73 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGles_texenv_command.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGles_texenv_command::create(DAE& dae)
+{
+ domGles_texenv_commandRef ref = new domGles_texenv_command(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_texenv_command::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles_texenv_command" );
+ meta->registerClass(domGles_texenv_command::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "constant" );
+ mea->setOffset( daeOffsetOf(domGles_texenv_command,elemConstant) );
+ mea->setElementType( domGles_texture_constant::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: operator
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "operator" );
+ ma->setType( dae.getAtomicTypes().get("Gles_texenv_mode"));
+ ma->setOffset( daeOffsetOf( domGles_texenv_command , attrOperator ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sampler
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sampler" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_texenv_command , attrSampler ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_texenv_command));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGles_texture_constant.cpp b/1.4.0/dom/src/1.5/dom/domGles_texture_constant.cpp
new file mode 100644
index 0000000..b1a38c9
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGles_texture_constant.cpp
@@ -0,0 +1,63 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGles_texture_constant.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGles_texture_constant::create(DAE& dae)
+{
+ domGles_texture_constantRef ref = new domGles_texture_constant(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_texture_constant::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles_texture_constant" );
+ meta->registerClass(domGles_texture_constant::create);
+
+
+ // Add attribute: value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGles_texture_constant , attrValue ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: param
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "param" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGles_texture_constant , attrParam ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_texture_constant));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGles_texture_pipeline.cpp b/1.4.0/dom/src/1.5/dom/domGles_texture_pipeline.cpp
new file mode 100644
index 0000000..641d6a1
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGles_texture_pipeline.cpp
@@ -0,0 +1,78 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGles_texture_pipeline.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGles_texture_pipeline::create(DAE& dae)
+{
+ domGles_texture_pipelineRef ref = new domGles_texture_pipeline(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGles_texture_pipeline::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "gles_texture_pipeline" );
+ meta->registerClass(domGles_texture_pipeline::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "texcombiner" );
+ mea->setOffset( daeOffsetOf(domGles_texture_pipeline,elemTexcombiner_array) );
+ mea->setElementType( domGles_texcombiner_command::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "texenv" );
+ mea->setOffset( daeOffsetOf(domGles_texture_pipeline,elemTexenv_array) );
+ mea->setElementType( domGles_texenv_command::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domGles_texture_pipeline,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3000 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGles_texture_pipeline,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGles_texture_pipeline,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGles_texture_pipeline,_CMData), 1);
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domGles_texture_pipeline , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGles_texture_pipeline));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGlsl_array.cpp b/1.4.0/dom/src/1.5/dom/domGlsl_array.cpp
new file mode 100644
index 0000000..f77b7c0
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGlsl_array.cpp
@@ -0,0 +1,63 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGlsl_array.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGlsl_array::create(DAE& dae)
+{
+ domGlsl_arrayRef ref = new domGlsl_array(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_array::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "glsl_array" );
+ meta->registerClass(domGlsl_array::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "glsl_value" );
+ mea->setOffset( daeOffsetOf(domGlsl_array,elemGlsl_value_array) );
+ mea->setElementType( domGlsl_value::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 1, -1 ) );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: length
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "length" );
+ ma->setType( dae.getAtomicTypes().get("xsPositiveInteger"));
+ ma->setOffset( daeOffsetOf( domGlsl_array , attrLength ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_array));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGlsl_newparam.cpp b/1.4.0/dom/src/1.5/dom/domGlsl_newparam.cpp
new file mode 100644
index 0000000..88b3d8d
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGlsl_newparam.cpp
@@ -0,0 +1,153 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGlsl_newparam.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGlsl_newparam::create(DAE& dae)
+{
+ domGlsl_newparamRef ref = new domGlsl_newparam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_newparam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "glsl_newparam" );
+ meta->registerClass(domGlsl_newparam::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domGlsl_newparam,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "semantic" );
+ mea->setOffset( daeOffsetOf(domGlsl_newparam,elemSemantic) );
+ mea->setElementType( domGlsl_newparam::domSemantic::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "modifier" );
+ mea->setOffset( daeOffsetOf(domGlsl_newparam,elemModifier) );
+ mea->setElementType( domGlsl_newparam::domModifier::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 1, 1 );
+ mea->setName( "glsl_value" );
+ mea->setOffset( daeOffsetOf(domGlsl_newparam,elemGlsl_value) );
+ mea->setElementType( domGlsl_value::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 3, 1, 1 ) );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domGlsl_newparam , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_newparam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_newparam::domSemantic::create(DAE& dae)
+{
+ domGlsl_newparam::domSemanticRef ref = new domGlsl_newparam::domSemantic(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_newparam::domSemantic::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "semantic" );
+ meta->registerClass(domGlsl_newparam::domSemantic::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGlsl_newparam::domSemantic , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_newparam::domSemantic));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_newparam::domModifier::create(DAE& dae)
+{
+ domGlsl_newparam::domModifierRef ref = new domGlsl_newparam::domModifier(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_newparam::domModifier::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "modifier" );
+ meta->registerClass(domGlsl_newparam::domModifier::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_modifier"));
+ ma->setOffset( daeOffsetOf( domGlsl_newparam::domModifier , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_newparam::domModifier));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGlsl_program.cpp b/1.4.0/dom/src/1.5/dom/domGlsl_program.cpp
new file mode 100644
index 0000000..04c4a28
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGlsl_program.cpp
@@ -0,0 +1,254 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGlsl_program.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGlsl_program::create(DAE& dae)
+{
+ domGlsl_programRef ref = new domGlsl_program(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_program::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "glsl_program" );
+ meta->registerClass(domGlsl_program::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "shader" );
+ mea->setOffset( daeOffsetOf(domGlsl_program,elemShader_array) );
+ mea->setElementType( domGlsl_shader::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "bind_attribute" );
+ mea->setOffset( daeOffsetOf(domGlsl_program,elemBind_attribute_array) );
+ mea->setElementType( domGlsl_program::domBind_attribute::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "bind_uniform" );
+ mea->setOffset( daeOffsetOf(domGlsl_program,elemBind_uniform_array) );
+ mea->setElementType( domGlsl_program::domBind_uniform::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domGlsl_program));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_program::domBind_attribute::create(DAE& dae)
+{
+ domGlsl_program::domBind_attributeRef ref = new domGlsl_program::domBind_attribute(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_program::domBind_attribute::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bind_attribute" );
+ meta->registerClass(domGlsl_program::domBind_attribute::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "semantic" );
+ mea->setOffset( daeOffsetOf(domGlsl_program::domBind_attribute,elemSemantic) );
+ mea->setElementType( domGlsl_program::domBind_attribute::domSemantic::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGlsl_program::domBind_attribute,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGlsl_program::domBind_attribute,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGlsl_program::domBind_attribute,_CMData), 1);
+ // Add attribute: symbol
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "symbol" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGlsl_program::domBind_attribute , attrSymbol ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_program::domBind_attribute));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_program::domBind_attribute::domSemantic::create(DAE& dae)
+{
+ domGlsl_program::domBind_attribute::domSemanticRef ref = new domGlsl_program::domBind_attribute::domSemantic(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_program::domBind_attribute::domSemantic::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "semantic" );
+ meta->registerClass(domGlsl_program::domBind_attribute::domSemantic::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGlsl_program::domBind_attribute::domSemantic , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_program::domBind_attribute::domSemantic));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_program::domBind_uniform::create(DAE& dae)
+{
+ domGlsl_program::domBind_uniformRef ref = new domGlsl_program::domBind_uniform(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_program::domBind_uniform::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bind_uniform" );
+ meta->registerClass(domGlsl_program::domBind_uniform::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domGlsl_program::domBind_uniform,elemParam) );
+ mea->setElementType( domGlsl_program::domBind_uniform::domParam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "glsl_value" );
+ mea->setOffset( daeOffsetOf(domGlsl_program::domBind_uniform,elemGlsl_value) );
+ mea->setElementType( domGlsl_value::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 1, 1 ) );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGlsl_program::domBind_uniform,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGlsl_program::domBind_uniform,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGlsl_program::domBind_uniform,_CMData), 1);
+ // Add attribute: symbol
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "symbol" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domGlsl_program::domBind_uniform , attrSymbol ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_program::domBind_uniform));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_program::domBind_uniform::domParam::create(DAE& dae)
+{
+ domGlsl_program::domBind_uniform::domParamRef ref = new domGlsl_program::domBind_uniform::domParam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_program::domBind_uniform::domParam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "param" );
+ meta->registerClass(domGlsl_program::domBind_uniform::domParam::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domGlsl_program::domBind_uniform::domParam , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_program::domBind_uniform::domParam));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGlsl_shader.cpp b/1.4.0/dom/src/1.5/dom/domGlsl_shader.cpp
new file mode 100644
index 0000000..2f22b4b
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGlsl_shader.cpp
@@ -0,0 +1,69 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGlsl_shader.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGlsl_shader::create(DAE& dae)
+{
+ domGlsl_shaderRef ref = new domGlsl_shader(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_shader::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "glsl_shader" );
+ meta->registerClass(domGlsl_shader::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sources" );
+ mea->setOffset( daeOffsetOf(domGlsl_shader,elemSources) );
+ mea->setElementType( domFx_sources::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domGlsl_shader,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: stage
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "stage" );
+ ma->setType( dae.getAtomicTypes().get("Fx_pipeline_stage"));
+ ma->setOffset( daeOffsetOf( domGlsl_shader , attrStage ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_shader));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domGlsl_value.cpp b/1.4.0/dom/src/1.5/dom/domGlsl_value.cpp
new file mode 100644
index 0000000..89d8698
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domGlsl_value.cpp
@@ -0,0 +1,764 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domGlsl_value.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domGlsl_value::create(DAE& dae)
+{
+ domGlsl_valueRef ref = new domGlsl_value(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_value::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "glsl_value" );
+ meta->registerClass(domGlsl_value::create);
+
+ meta->setIsTransparent( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool" );
+ mea->setOffset( daeOffsetOf(domGlsl_value,elemBool) );
+ mea->setElementType( domGlsl_value::domBool::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool2" );
+ mea->setOffset( daeOffsetOf(domGlsl_value,elemBool2) );
+ mea->setElementType( domGlsl_value::domBool2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool3" );
+ mea->setOffset( daeOffsetOf(domGlsl_value,elemBool3) );
+ mea->setElementType( domGlsl_value::domBool3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool4" );
+ mea->setOffset( daeOffsetOf(domGlsl_value,elemBool4) );
+ mea->setElementType( domGlsl_value::domBool4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float" );
+ mea->setOffset( daeOffsetOf(domGlsl_value,elemFloat) );
+ mea->setElementType( domGlsl_value::domFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2" );
+ mea->setOffset( daeOffsetOf(domGlsl_value,elemFloat2) );
+ mea->setElementType( domGlsl_value::domFloat2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3" );
+ mea->setOffset( daeOffsetOf(domGlsl_value,elemFloat3) );
+ mea->setElementType( domGlsl_value::domFloat3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4" );
+ mea->setOffset( daeOffsetOf(domGlsl_value,elemFloat4) );
+ mea->setElementType( domGlsl_value::domFloat4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float2x2" );
+ mea->setOffset( daeOffsetOf(domGlsl_value,elemFloat2x2) );
+ mea->setElementType( domGlsl_value::domFloat2x2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float3x3" );
+ mea->setOffset( daeOffsetOf(domGlsl_value,elemFloat3x3) );
+ mea->setElementType( domGlsl_value::domFloat3x3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float4x4" );
+ mea->setOffset( daeOffsetOf(domGlsl_value,elemFloat4x4) );
+ mea->setElementType( domGlsl_value::domFloat4x4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int" );
+ mea->setOffset( daeOffsetOf(domGlsl_value,elemInt) );
+ mea->setElementType( domGlsl_value::domInt::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int2" );
+ mea->setOffset( daeOffsetOf(domGlsl_value,elemInt2) );
+ mea->setElementType( domGlsl_value::domInt2::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int3" );
+ mea->setOffset( daeOffsetOf(domGlsl_value,elemInt3) );
+ mea->setElementType( domGlsl_value::domInt3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int4" );
+ mea->setOffset( daeOffsetOf(domGlsl_value,elemInt4) );
+ mea->setElementType( domGlsl_value::domInt4::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sampler1D" );
+ mea->setOffset( daeOffsetOf(domGlsl_value,elemSampler1D) );
+ mea->setElementType( domFx_sampler1D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sampler2D" );
+ mea->setOffset( daeOffsetOf(domGlsl_value,elemSampler2D) );
+ mea->setElementType( domFx_sampler2D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sampler3D" );
+ mea->setOffset( daeOffsetOf(domGlsl_value,elemSampler3D) );
+ mea->setElementType( domFx_sampler3D::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "samplerCUBE" );
+ mea->setOffset( daeOffsetOf(domGlsl_value,elemSamplerCUBE) );
+ mea->setElementType( domFx_samplerCUBE::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "samplerRECT" );
+ mea->setOffset( daeOffsetOf(domGlsl_value,elemSamplerRECT) );
+ mea->setElementType( domFx_samplerRECT::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "samplerDEPTH" );
+ mea->setOffset( daeOffsetOf(domGlsl_value,elemSamplerDEPTH) );
+ mea->setElementType( domFx_samplerDEPTH::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "enum" );
+ mea->setOffset( daeOffsetOf(domGlsl_value,elemEnum) );
+ mea->setElementType( domGlsl_value::domEnum::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "array" );
+ mea->setOffset( daeOffsetOf(domGlsl_value,elemArray) );
+ mea->setElementType( domGlsl_array::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domGlsl_value,_contents));
+ meta->addContentsOrder(daeOffsetOf(domGlsl_value,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domGlsl_value,_CMData), 1);
+ meta->setElementSize(sizeof(domGlsl_value));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_value::domBool::create(DAE& dae)
+{
+ domGlsl_value::domBoolRef ref = new domGlsl_value::domBool(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_value::domBool::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool" );
+ meta->registerClass(domGlsl_value::domBool::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domGlsl_value::domBool , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_value::domBool));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_value::domBool2::create(DAE& dae)
+{
+ domGlsl_value::domBool2Ref ref = new domGlsl_value::domBool2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_value::domBool2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool2" );
+ meta->registerClass(domGlsl_value::domBool2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool2"));
+ ma->setOffset( daeOffsetOf( domGlsl_value::domBool2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_value::domBool2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_value::domBool3::create(DAE& dae)
+{
+ domGlsl_value::domBool3Ref ref = new domGlsl_value::domBool3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_value::domBool3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool3" );
+ meta->registerClass(domGlsl_value::domBool3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool3"));
+ ma->setOffset( daeOffsetOf( domGlsl_value::domBool3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_value::domBool3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_value::domBool4::create(DAE& dae)
+{
+ domGlsl_value::domBool4Ref ref = new domGlsl_value::domBool4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_value::domBool4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool4" );
+ meta->registerClass(domGlsl_value::domBool4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Bool4"));
+ ma->setOffset( daeOffsetOf( domGlsl_value::domBool4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_value::domBool4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_value::domFloat::create(DAE& dae)
+{
+ domGlsl_value::domFloatRef ref = new domGlsl_value::domFloat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_value::domFloat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float" );
+ meta->registerClass(domGlsl_value::domFloat::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domGlsl_value::domFloat , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_value::domFloat));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_value::domFloat2::create(DAE& dae)
+{
+ domGlsl_value::domFloat2Ref ref = new domGlsl_value::domFloat2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_value::domFloat2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2" );
+ meta->registerClass(domGlsl_value::domFloat2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domGlsl_value::domFloat2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_value::domFloat2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_value::domFloat3::create(DAE& dae)
+{
+ domGlsl_value::domFloat3Ref ref = new domGlsl_value::domFloat3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_value::domFloat3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3" );
+ meta->registerClass(domGlsl_value::domFloat3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domGlsl_value::domFloat3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_value::domFloat3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_value::domFloat4::create(DAE& dae)
+{
+ domGlsl_value::domFloat4Ref ref = new domGlsl_value::domFloat4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_value::domFloat4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4" );
+ meta->registerClass(domGlsl_value::domFloat4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domGlsl_value::domFloat4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_value::domFloat4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_value::domFloat2x2::create(DAE& dae)
+{
+ domGlsl_value::domFloat2x2Ref ref = new domGlsl_value::domFloat2x2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_value::domFloat2x2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float2x2" );
+ meta->registerClass(domGlsl_value::domFloat2x2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2x2"));
+ ma->setOffset( daeOffsetOf( domGlsl_value::domFloat2x2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_value::domFloat2x2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_value::domFloat3x3::create(DAE& dae)
+{
+ domGlsl_value::domFloat3x3Ref ref = new domGlsl_value::domFloat3x3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_value::domFloat3x3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float3x3" );
+ meta->registerClass(domGlsl_value::domFloat3x3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x3"));
+ ma->setOffset( daeOffsetOf( domGlsl_value::domFloat3x3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_value::domFloat3x3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_value::domFloat4x4::create(DAE& dae)
+{
+ domGlsl_value::domFloat4x4Ref ref = new domGlsl_value::domFloat4x4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_value::domFloat4x4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float4x4" );
+ meta->registerClass(domGlsl_value::domFloat4x4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x4"));
+ ma->setOffset( daeOffsetOf( domGlsl_value::domFloat4x4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_value::domFloat4x4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_value::domInt::create(DAE& dae)
+{
+ domGlsl_value::domIntRef ref = new domGlsl_value::domInt(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_value::domInt::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int" );
+ meta->registerClass(domGlsl_value::domInt::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int"));
+ ma->setOffset( daeOffsetOf( domGlsl_value::domInt , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_value::domInt));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_value::domInt2::create(DAE& dae)
+{
+ domGlsl_value::domInt2Ref ref = new domGlsl_value::domInt2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_value::domInt2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int2" );
+ meta->registerClass(domGlsl_value::domInt2::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int2"));
+ ma->setOffset( daeOffsetOf( domGlsl_value::domInt2 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_value::domInt2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_value::domInt3::create(DAE& dae)
+{
+ domGlsl_value::domInt3Ref ref = new domGlsl_value::domInt3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_value::domInt3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int3" );
+ meta->registerClass(domGlsl_value::domInt3::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int3"));
+ ma->setOffset( daeOffsetOf( domGlsl_value::domInt3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_value::domInt3));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_value::domInt4::create(DAE& dae)
+{
+ domGlsl_value::domInt4Ref ref = new domGlsl_value::domInt4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_value::domInt4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int4" );
+ meta->registerClass(domGlsl_value::domInt4::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int4"));
+ ma->setOffset( daeOffsetOf( domGlsl_value::domInt4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_value::domInt4));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domGlsl_value::domEnum::create(DAE& dae)
+{
+ domGlsl_value::domEnumRef ref = new domGlsl_value::domEnum(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domGlsl_value::domEnum::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "enum" );
+ meta->registerClass(domGlsl_value::domEnum::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Gl_enumeration"));
+ ma->setOffset( daeOffsetOf( domGlsl_value::domEnum , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domGlsl_value::domEnum));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domHyperbola.cpp b/1.4.0/dom/src/1.5/dom/domHyperbola.cpp
new file mode 100644
index 0000000..b915a9f
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domHyperbola.cpp
@@ -0,0 +1,93 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domHyperbola.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domHyperbola::create(DAE& dae)
+{
+ domHyperbolaRef ref = new domHyperbola(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domHyperbola::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "hyperbola" );
+ meta->registerClass(domHyperbola::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "radius" );
+ mea->setOffset( daeOffsetOf(domHyperbola,elemRadius) );
+ mea->setElementType( domHyperbola::domRadius::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domHyperbola,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domHyperbola));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domHyperbola::domRadius::create(DAE& dae)
+{
+ domHyperbola::domRadiusRef ref = new domHyperbola::domRadius(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domHyperbola::domRadius::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "radius" );
+ meta->registerClass(domHyperbola::domRadius::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domHyperbola::domRadius , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domHyperbola::domRadius));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domIdref_array.cpp b/1.4.0/dom/src/1.5/dom/domIdref_array.cpp
new file mode 100644
index 0000000..efb9562
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domIdref_array.cpp
@@ -0,0 +1,82 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domIdref_array.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domIdref_array::create(DAE& dae)
+{
+ domIdref_arrayRef ref = new domIdref_array(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domIdref_array::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "idref_array" );
+ meta->registerClass(domIdref_array::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsIDREFS"));
+ ma->setOffset( daeOffsetOf( domIdref_array , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domIdref_array , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domIdref_array , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domIdref_array , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domIdref_array));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domImage.cpp b/1.4.0/dom/src/1.5/dom/domImage.cpp
new file mode 100644
index 0000000..9e9d4bc
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domImage.cpp
@@ -0,0 +1,1531 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domImage.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domImage::create(DAE& dae)
+{
+ domImageRef ref = new domImage(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "image" );
+ meta->registerClass(domImage::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domImage,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "renderable" );
+ mea->setOffset( daeOffsetOf(domImage,elemRenderable) );
+ mea->setElementType( domImage::domRenderable::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 2, 0, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "init_from" );
+ mea->setOffset( daeOffsetOf(domImage,elemInit_from) );
+ mea->setElementType( domImage::domInit_from::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "create_2d" );
+ mea->setOffset( daeOffsetOf(domImage,elemCreate_2d) );
+ mea->setElementType( domImage::domCreate_2d::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "create_3d" );
+ mea->setOffset( daeOffsetOf(domImage,elemCreate_3d) );
+ mea->setElementType( domImage::domCreate_3d::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "create_cube" );
+ mea->setOffset( daeOffsetOf(domImage,elemCreate_cube) );
+ mea->setElementType( domImage::domCreate_cube::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domImage,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domImage,_contents));
+ meta->addContentsOrder(daeOffsetOf(domImage,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domImage,_CMData), 1);
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domImage , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domImage , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domImage , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domRenderable::create(DAE& dae)
+{
+ domImage::domRenderableRef ref = new domImage::domRenderable(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domRenderable::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "renderable" );
+ meta->registerClass(domImage::domRenderable::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: share
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "share" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domImage::domRenderable , attrShare ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage::domRenderable));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domInit_from::create(DAE& dae)
+{
+ domImage::domInit_fromRef ref = new domImage::domInit_from(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domInit_from::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "init_from" );
+ meta->registerClass(domImage::domInit_from::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "ref" );
+ mea->setOffset( daeOffsetOf(domImage::domInit_from,elemRef) );
+ mea->setElementType( domRef::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "hex" );
+ mea->setOffset( daeOffsetOf(domImage::domInit_from,elemHex) );
+ mea->setElementType( domHex::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domImage::domInit_from,_contents));
+ meta->addContentsOrder(daeOffsetOf(domImage::domInit_from,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domImage::domInit_from,_CMData), 1);
+ // Add attribute: mips_generate
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "mips_generate" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domImage::domInit_from , attrMips_generate ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "true");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage::domInit_from));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domCreate_2d::create(DAE& dae)
+{
+ domImage::domCreate_2dRef ref = new domImage::domCreate_2d(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domCreate_2d::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "create_2d" );
+ meta->registerClass(domImage::domCreate_2d::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "size_exact" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_2d,elemSize_exact) );
+ mea->setElementType( domImage::domCreate_2d::domSize_exact::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "size_ratio" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_2d,elemSize_ratio) );
+ mea->setElementType( domImage::domCreate_2d::domSize_ratio::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm = new daeMetaChoice( meta, cm, 1, 1, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "mips" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_2d,elemMips) );
+ mea->setElementType( domImage_mips::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "unnormalized" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_2d,elemUnnormalized) );
+ mea->setElementType( domImage::domCreate_2d::domUnnormalized::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "array" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_2d,elemArray) );
+ mea->setElementType( domImage::domCreate_2d::domArray::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "format" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_2d,elemFormat) );
+ mea->setElementType( domImage::domCreate_2d::domFormat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 4, 0, -1 );
+ mea->setName( "init_from" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_2d,elemInit_from_array) );
+ mea->setElementType( domImage::domCreate_2d::domInit_from::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 4 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domImage::domCreate_2d,_contents));
+ meta->addContentsOrder(daeOffsetOf(domImage::domCreate_2d,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domImage::domCreate_2d,_CMData), 2);
+ meta->setElementSize(sizeof(domImage::domCreate_2d));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domCreate_2d::domSize_exact::create(DAE& dae)
+{
+ domImage::domCreate_2d::domSize_exactRef ref = new domImage::domCreate_2d::domSize_exact(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domCreate_2d::domSize_exact::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "size_exact" );
+ meta->registerClass(domImage::domCreate_2d::domSize_exact::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: width
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "width" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedInt"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_2d::domSize_exact , attrWidth ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: height
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "height" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedInt"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_2d::domSize_exact , attrHeight ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage::domCreate_2d::domSize_exact));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domCreate_2d::domSize_ratio::create(DAE& dae)
+{
+ domImage::domCreate_2d::domSize_ratioRef ref = new domImage::domCreate_2d::domSize_ratio(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domCreate_2d::domSize_ratio::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "size_ratio" );
+ meta->registerClass(domImage::domCreate_2d::domSize_ratio::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: width
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "width" );
+ ma->setType( dae.getAtomicTypes().get("xsFloat"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_2d::domSize_ratio , attrWidth ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: height
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "height" );
+ ma->setType( dae.getAtomicTypes().get("xsFloat"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_2d::domSize_ratio , attrHeight ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage::domCreate_2d::domSize_ratio));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domCreate_2d::domUnnormalized::create(DAE& dae)
+{
+ domImage::domCreate_2d::domUnnormalizedRef ref = new domImage::domCreate_2d::domUnnormalized(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domCreate_2d::domUnnormalized::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "unnormalized" );
+ meta->registerClass(domImage::domCreate_2d::domUnnormalized::create);
+
+ meta->setIsInnerClass( true );
+
+ meta->setElementSize(sizeof(domImage::domCreate_2d::domUnnormalized));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domCreate_2d::domArray::create(DAE& dae)
+{
+ domImage::domCreate_2d::domArrayRef ref = new domImage::domCreate_2d::domArray(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domCreate_2d::domArray::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "array" );
+ meta->registerClass(domImage::domCreate_2d::domArray::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: length
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "length" );
+ ma->setType( dae.getAtomicTypes().get("xsPositiveInteger"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_2d::domArray , attrLength ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage::domCreate_2d::domArray));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domCreate_2d::domFormat::create(DAE& dae)
+{
+ domImage::domCreate_2d::domFormatRef ref = new domImage::domCreate_2d::domFormat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domCreate_2d::domFormat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "format" );
+ meta->registerClass(domImage::domCreate_2d::domFormat::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "hint" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_2d::domFormat,elemHint) );
+ mea->setElementType( domImage::domCreate_2d::domFormat::domHint::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "exact" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_2d::domFormat,elemExact) );
+ mea->setElementType( domImage::domCreate_2d::domFormat::domExact::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domImage::domCreate_2d::domFormat));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domCreate_2d::domFormat::domHint::create(DAE& dae)
+{
+ domImage::domCreate_2d::domFormat::domHintRef ref = new domImage::domCreate_2d::domFormat::domHint(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domCreate_2d::domFormat::domHint::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "hint" );
+ meta->registerClass(domImage::domCreate_2d::domFormat::domHint::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: channels
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "channels" );
+ ma->setType( dae.getAtomicTypes().get("Image_format_hint_channels"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_2d::domFormat::domHint , attrChannels ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: range
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "range" );
+ ma->setType( dae.getAtomicTypes().get("Image_format_hint_range"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_2d::domFormat::domHint , attrRange ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: precision
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "precision" );
+ ma->setType( dae.getAtomicTypes().get("Image_format_hint_precision"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_2d::domFormat::domHint , attrPrecision ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "DEFAULT");
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: space
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "space" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_2d::domFormat::domHint , attrSpace ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage::domCreate_2d::domFormat::domHint));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domCreate_2d::domFormat::domExact::create(DAE& dae)
+{
+ domImage::domCreate_2d::domFormat::domExactRef ref = new domImage::domCreate_2d::domFormat::domExact(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domCreate_2d::domFormat::domExact::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "exact" );
+ meta->registerClass(domImage::domCreate_2d::domFormat::domExact::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_2d::domFormat::domExact , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage::domCreate_2d::domFormat::domExact));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domCreate_2d::domInit_from::create(DAE& dae)
+{
+ domImage::domCreate_2d::domInit_fromRef ref = new domImage::domCreate_2d::domInit_from(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domCreate_2d::domInit_from::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "init_from" );
+ meta->registerClass(domImage::domCreate_2d::domInit_from::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "ref" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_2d::domInit_from,elemRef) );
+ mea->setElementType( domRef::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "hex" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_2d::domInit_from,elemHex) );
+ mea->setElementType( domHex::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domImage::domCreate_2d::domInit_from,_contents));
+ meta->addContentsOrder(daeOffsetOf(domImage::domCreate_2d::domInit_from,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domImage::domCreate_2d::domInit_from,_CMData), 1);
+ // Add attribute: mip_index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "mip_index" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedInt"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_2d::domInit_from , attrMip_index ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: array_index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "array_index" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedInt"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_2d::domInit_from , attrArray_index ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage::domCreate_2d::domInit_from));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domCreate_3d::create(DAE& dae)
+{
+ domImage::domCreate_3dRef ref = new domImage::domCreate_3d(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domCreate_3d::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "create_3d" );
+ meta->registerClass(domImage::domCreate_3d::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "size" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_3d,elemSize) );
+ mea->setElementType( domImage::domCreate_3d::domSize::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "mips" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_3d,elemMips) );
+ mea->setElementType( domImage_mips::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "array" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_3d,elemArray) );
+ mea->setElementType( domImage::domCreate_3d::domArray::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "format" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_3d,elemFormat) );
+ mea->setElementType( domImage::domCreate_3d::domFormat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 4, 0, -1 );
+ mea->setName( "init_from" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_3d,elemInit_from_array) );
+ mea->setElementType( domImage::domCreate_3d::domInit_from::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 4 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domImage::domCreate_3d));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domCreate_3d::domSize::create(DAE& dae)
+{
+ domImage::domCreate_3d::domSizeRef ref = new domImage::domCreate_3d::domSize(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domCreate_3d::domSize::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "size" );
+ meta->registerClass(domImage::domCreate_3d::domSize::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: width
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "width" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedInt"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_3d::domSize , attrWidth ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: height
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "height" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedInt"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_3d::domSize , attrHeight ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: depth
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "depth" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedInt"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_3d::domSize , attrDepth ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage::domCreate_3d::domSize));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domCreate_3d::domArray::create(DAE& dae)
+{
+ domImage::domCreate_3d::domArrayRef ref = new domImage::domCreate_3d::domArray(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domCreate_3d::domArray::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "array" );
+ meta->registerClass(domImage::domCreate_3d::domArray::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: length
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "length" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedInt"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_3d::domArray , attrLength ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage::domCreate_3d::domArray));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domCreate_3d::domFormat::create(DAE& dae)
+{
+ domImage::domCreate_3d::domFormatRef ref = new domImage::domCreate_3d::domFormat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domCreate_3d::domFormat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "format" );
+ meta->registerClass(domImage::domCreate_3d::domFormat::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "hint" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_3d::domFormat,elemHint) );
+ mea->setElementType( domImage::domCreate_3d::domFormat::domHint::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "exact" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_3d::domFormat,elemExact) );
+ mea->setElementType( domImage::domCreate_3d::domFormat::domExact::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domImage::domCreate_3d::domFormat));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domCreate_3d::domFormat::domHint::create(DAE& dae)
+{
+ domImage::domCreate_3d::domFormat::domHintRef ref = new domImage::domCreate_3d::domFormat::domHint(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domCreate_3d::domFormat::domHint::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "hint" );
+ meta->registerClass(domImage::domCreate_3d::domFormat::domHint::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: channels
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "channels" );
+ ma->setType( dae.getAtomicTypes().get("Image_format_hint_channels"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_3d::domFormat::domHint , attrChannels ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: range
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "range" );
+ ma->setType( dae.getAtomicTypes().get("Image_format_hint_range"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_3d::domFormat::domHint , attrRange ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: precision
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "precision" );
+ ma->setType( dae.getAtomicTypes().get("Image_format_hint_precision"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_3d::domFormat::domHint , attrPrecision ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "DEFAULT");
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: space
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "space" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_3d::domFormat::domHint , attrSpace ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage::domCreate_3d::domFormat::domHint));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domCreate_3d::domFormat::domExact::create(DAE& dae)
+{
+ domImage::domCreate_3d::domFormat::domExactRef ref = new domImage::domCreate_3d::domFormat::domExact(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domCreate_3d::domFormat::domExact::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "exact" );
+ meta->registerClass(domImage::domCreate_3d::domFormat::domExact::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_3d::domFormat::domExact , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage::domCreate_3d::domFormat::domExact));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domCreate_3d::domInit_from::create(DAE& dae)
+{
+ domImage::domCreate_3d::domInit_fromRef ref = new domImage::domCreate_3d::domInit_from(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domCreate_3d::domInit_from::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "init_from" );
+ meta->registerClass(domImage::domCreate_3d::domInit_from::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "ref" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_3d::domInit_from,elemRef) );
+ mea->setElementType( domRef::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "hex" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_3d::domInit_from,elemHex) );
+ mea->setElementType( domHex::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domImage::domCreate_3d::domInit_from,_contents));
+ meta->addContentsOrder(daeOffsetOf(domImage::domCreate_3d::domInit_from,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domImage::domCreate_3d::domInit_from,_CMData), 1);
+ // Add attribute: depth
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "depth" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedInt"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_3d::domInit_from , attrDepth ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: mip_index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "mip_index" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedInt"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_3d::domInit_from , attrMip_index ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: array_index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "array_index" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedInt"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_3d::domInit_from , attrArray_index ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage::domCreate_3d::domInit_from));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domCreate_cube::create(DAE& dae)
+{
+ domImage::domCreate_cubeRef ref = new domImage::domCreate_cube(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domCreate_cube::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "create_cube" );
+ meta->registerClass(domImage::domCreate_cube::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "size" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_cube,elemSize) );
+ mea->setElementType( domImage::domCreate_cube::domSize::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "mips" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_cube,elemMips) );
+ mea->setElementType( domImage_mips::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "array" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_cube,elemArray) );
+ mea->setElementType( domImage::domCreate_cube::domArray::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "format" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_cube,elemFormat) );
+ mea->setElementType( domImage::domCreate_cube::domFormat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 4, 0, -1 );
+ mea->setName( "init_from" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_cube,elemInit_from_array) );
+ mea->setElementType( domImage::domCreate_cube::domInit_from::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 4 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domImage::domCreate_cube));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domCreate_cube::domSize::create(DAE& dae)
+{
+ domImage::domCreate_cube::domSizeRef ref = new domImage::domCreate_cube::domSize(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domCreate_cube::domSize::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "size" );
+ meta->registerClass(domImage::domCreate_cube::domSize::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: width
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "width" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedInt"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_cube::domSize , attrWidth ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage::domCreate_cube::domSize));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domCreate_cube::domArray::create(DAE& dae)
+{
+ domImage::domCreate_cube::domArrayRef ref = new domImage::domCreate_cube::domArray(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domCreate_cube::domArray::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "array" );
+ meta->registerClass(domImage::domCreate_cube::domArray::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: length
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "length" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedInt"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_cube::domArray , attrLength ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage::domCreate_cube::domArray));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domCreate_cube::domFormat::create(DAE& dae)
+{
+ domImage::domCreate_cube::domFormatRef ref = new domImage::domCreate_cube::domFormat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domCreate_cube::domFormat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "format" );
+ meta->registerClass(domImage::domCreate_cube::domFormat::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "hint" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_cube::domFormat,elemHint) );
+ mea->setElementType( domImage::domCreate_cube::domFormat::domHint::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "exact" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_cube::domFormat,elemExact) );
+ mea->setElementType( domImage::domCreate_cube::domFormat::domExact::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domImage::domCreate_cube::domFormat));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domCreate_cube::domFormat::domHint::create(DAE& dae)
+{
+ domImage::domCreate_cube::domFormat::domHintRef ref = new domImage::domCreate_cube::domFormat::domHint(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domCreate_cube::domFormat::domHint::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "hint" );
+ meta->registerClass(domImage::domCreate_cube::domFormat::domHint::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: channels
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "channels" );
+ ma->setType( dae.getAtomicTypes().get("Image_format_hint_channels"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_cube::domFormat::domHint , attrChannels ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: range
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "range" );
+ ma->setType( dae.getAtomicTypes().get("Image_format_hint_range"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_cube::domFormat::domHint , attrRange ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: precision
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "precision" );
+ ma->setType( dae.getAtomicTypes().get("Image_format_hint_precision"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_cube::domFormat::domHint , attrPrecision ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "DEFAULT");
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: space
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "space" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_cube::domFormat::domHint , attrSpace ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage::domCreate_cube::domFormat::domHint));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domCreate_cube::domFormat::domExact::create(DAE& dae)
+{
+ domImage::domCreate_cube::domFormat::domExactRef ref = new domImage::domCreate_cube::domFormat::domExact(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domCreate_cube::domFormat::domExact::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "exact" );
+ meta->registerClass(domImage::domCreate_cube::domFormat::domExact::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_cube::domFormat::domExact , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage::domCreate_cube::domFormat::domExact));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage::domCreate_cube::domInit_from::create(DAE& dae)
+{
+ domImage::domCreate_cube::domInit_fromRef ref = new domImage::domCreate_cube::domInit_from(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage::domCreate_cube::domInit_from::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "init_from" );
+ meta->registerClass(domImage::domCreate_cube::domInit_from::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "ref" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_cube::domInit_from,elemRef) );
+ mea->setElementType( domRef::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "hex" );
+ mea->setOffset( daeOffsetOf(domImage::domCreate_cube::domInit_from,elemHex) );
+ mea->setElementType( domHex::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domImage::domCreate_cube::domInit_from,_contents));
+ meta->addContentsOrder(daeOffsetOf(domImage::domCreate_cube::domInit_from,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domImage::domCreate_cube::domInit_from,_CMData), 1);
+ // Add attribute: face
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "face" );
+ ma->setType( dae.getAtomicTypes().get("Image_face"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_cube::domInit_from , attrFace ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: mip_index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "mip_index" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedInt"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_cube::domInit_from , attrMip_index ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: array_index
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "array_index" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedInt"));
+ ma->setOffset( daeOffsetOf( domImage::domCreate_cube::domInit_from , attrArray_index ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "0");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage::domCreate_cube::domInit_from));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domImage_mips.cpp b/1.4.0/dom/src/1.5/dom/domImage_mips.cpp
new file mode 100644
index 0000000..dce452e
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domImage_mips.cpp
@@ -0,0 +1,63 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domImage_mips.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domImage_mips::create(DAE& dae)
+{
+ domImage_mipsRef ref = new domImage_mips(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage_mips::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "image_mips" );
+ meta->registerClass(domImage_mips::create);
+
+
+ // Add attribute: levels
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "levels" );
+ ma->setType( dae.getAtomicTypes().get("xsUnsignedInt"));
+ ma->setOffset( daeOffsetOf( domImage_mips , attrLevels ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: auto_generate
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "auto_generate" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domImage_mips , attrAuto_generate ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage_mips));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domImage_source.cpp b/1.4.0/dom/src/1.5/dom/domImage_source.cpp
new file mode 100644
index 0000000..cdd5159
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domImage_source.cpp
@@ -0,0 +1,146 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domImage_source.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domImage_source::create(DAE& dae)
+{
+ domImage_sourceRef ref = new domImage_source(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage_source::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "image_source" );
+ meta->registerClass(domImage_source::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "ref" );
+ mea->setOffset( daeOffsetOf(domImage_source,elemRef) );
+ mea->setElementType( domImage_source::domRef::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "hex" );
+ mea->setOffset( daeOffsetOf(domImage_source,elemHex) );
+ mea->setElementType( domImage_source::domHex::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domImage_source,_contents));
+ meta->addContentsOrder(daeOffsetOf(domImage_source,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domImage_source,_CMData), 1);
+ meta->setElementSize(sizeof(domImage_source));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage_source::domRef::create(DAE& dae)
+{
+ domImage_source::domRefRef ref = new domImage_source::domRef(dae);
+ ref->_value.setContainer( (domImage_source::domRef*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domImage_source::domRef::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "ref" );
+ meta->registerClass(domImage_source::domRef::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domImage_source::domRef , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage_source::domRef));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domImage_source::domHex::create(DAE& dae)
+{
+ domImage_source::domHexRef ref = new domImage_source::domHex(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domImage_source::domHex::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "hex" );
+ meta->registerClass(domImage_source::domHex::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("List_of_hex_binary"));
+ ma->setOffset( daeOffsetOf( domImage_source::domHex , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: format
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "format" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domImage_source::domHex , attrFormat ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domImage_source::domHex));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domInput_global.cpp b/1.4.0/dom/src/1.5/dom/domInput_global.cpp
new file mode 100644
index 0000000..2c9e862
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domInput_global.cpp
@@ -0,0 +1,64 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domInput_global.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domInput_global::create(DAE& dae)
+{
+ domInput_globalRef ref = new domInput_global(dae);
+ ref->attrSource.setContainer( (domInput_global*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domInput_global::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "input_global" );
+ meta->registerClass(domInput_global::create);
+
+
+ // Add attribute: semantic
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "semantic" );
+ ma->setType( dae.getAtomicTypes().get("xsNMTOKEN"));
+ ma->setOffset( daeOffsetOf( domInput_global , attrSemantic ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: source
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "source" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInput_global , attrSource ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInput_global));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domInput_local.cpp b/1.4.0/dom/src/1.5/dom/domInput_local.cpp
new file mode 100644
index 0000000..85ba6d1
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domInput_local.cpp
@@ -0,0 +1,64 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domInput_local.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domInput_local::create(DAE& dae)
+{
+ domInput_localRef ref = new domInput_local(dae);
+ ref->attrSource.setContainer( (domInput_local*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domInput_local::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "input_local" );
+ meta->registerClass(domInput_local::create);
+
+
+ // Add attribute: semantic
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "semantic" );
+ ma->setType( dae.getAtomicTypes().get("xsNMTOKEN"));
+ ma->setOffset( daeOffsetOf( domInput_local , attrSemantic ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: source
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "source" );
+ ma->setType( dae.getAtomicTypes().get("Urifragment"));
+ ma->setOffset( daeOffsetOf( domInput_local , attrSource ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInput_local));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domInput_local_offset.cpp b/1.4.0/dom/src/1.5/dom/domInput_local_offset.cpp
new file mode 100644
index 0000000..8bf56cf
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domInput_local_offset.cpp
@@ -0,0 +1,87 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domInput_local_offset.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domInput_local_offset::create(DAE& dae)
+{
+ domInput_local_offsetRef ref = new domInput_local_offset(dae);
+ ref->attrSource.setContainer( (domInput_local_offset*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domInput_local_offset::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "input_local_offset" );
+ meta->registerClass(domInput_local_offset::create);
+
+
+ // Add attribute: offset
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "offset" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domInput_local_offset , attrOffset ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: semantic
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "semantic" );
+ ma->setType( dae.getAtomicTypes().get("xsNMTOKEN"));
+ ma->setOffset( daeOffsetOf( domInput_local_offset , attrSemantic ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: source
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "source" );
+ ma->setType( dae.getAtomicTypes().get("Urifragment"));
+ ma->setOffset( daeOffsetOf( domInput_local_offset , attrSource ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: set
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "set" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domInput_local_offset , attrSet ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInput_local_offset));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domInstance_articulated_system.cpp b/1.4.0/dom/src/1.5/dom/domInstance_articulated_system.cpp
new file mode 100644
index 0000000..cf020df
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domInstance_articulated_system.cpp
@@ -0,0 +1,104 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domInstance_articulated_system.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domInstance_articulated_system::create(DAE& dae)
+{
+ domInstance_articulated_systemRef ref = new domInstance_articulated_system(dae);
+ ref->attrUrl.setContainer( (domInstance_articulated_system*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_articulated_system::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_articulated_system" );
+ meta->registerClass(domInstance_articulated_system::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "bind" );
+ mea->setOffset( daeOffsetOf(domInstance_articulated_system,elemBind_array) );
+ mea->setElementType( domKinematics_bind::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "setparam" );
+ mea->setOffset( daeOffsetOf(domInstance_articulated_system,elemSetparam_array) );
+ mea->setElementType( domKinematics_setparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "newparam" );
+ mea->setOffset( daeOffsetOf(domInstance_articulated_system,elemNewparam_array) );
+ mea->setElementType( domKinematics_newparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_articulated_system,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domInstance_articulated_system , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_articulated_system , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domInstance_articulated_system , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_articulated_system));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domInstance_camera.cpp b/1.4.0/dom/src/1.5/dom/domInstance_camera.cpp
new file mode 100644
index 0000000..5ef2e4b
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domInstance_camera.cpp
@@ -0,0 +1,91 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domInstance_camera.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domInstance_camera::create(DAE& dae)
+{
+ domInstance_cameraRef ref = new domInstance_camera(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_camera::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_camera" );
+ meta->registerClass(domInstance_camera::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_camera,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_camera , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domInstance_camera , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domInstance_camera , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_camera));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domInstance_controller.cpp b/1.4.0/dom/src/1.5/dom/domInstance_controller.cpp
new file mode 100644
index 0000000..375e807
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domInstance_controller.cpp
@@ -0,0 +1,135 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domInstance_controller.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domInstance_controller::create(DAE& dae)
+{
+ domInstance_controllerRef ref = new domInstance_controller(dae);
+ ref->attrUrl.setContainer( (domInstance_controller*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_controller::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_controller" );
+ meta->registerClass(domInstance_controller::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "skeleton" );
+ mea->setOffset( daeOffsetOf(domInstance_controller,elemSkeleton_array) );
+ mea->setElementType( domInstance_controller::domSkeleton::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "bind_material" );
+ mea->setOffset( daeOffsetOf(domInstance_controller,elemBind_material) );
+ mea->setElementType( domBind_material::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_controller,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_controller , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domInstance_controller , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domInstance_controller , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_controller));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domInstance_controller::domSkeleton::create(DAE& dae)
+{
+ domInstance_controller::domSkeletonRef ref = new domInstance_controller::domSkeleton(dae);
+ ref->_value.setContainer( (domInstance_controller::domSkeleton*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_controller::domSkeleton::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "skeleton" );
+ meta->registerClass(domInstance_controller::domSkeleton::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_controller::domSkeleton , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_controller::domSkeleton));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domInstance_effect.cpp b/1.4.0/dom/src/1.5/dom/domInstance_effect.cpp
new file mode 100644
index 0000000..a889502
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domInstance_effect.cpp
@@ -0,0 +1,212 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domInstance_effect.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domInstance_effect::create(DAE& dae)
+{
+ domInstance_effectRef ref = new domInstance_effect(dae);
+ ref->attrUrl.setContainer( (domInstance_effect*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_effect::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_effect" );
+ meta->registerClass(domInstance_effect::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "technique_hint" );
+ mea->setOffset( daeOffsetOf(domInstance_effect,elemTechnique_hint_array) );
+ mea->setElementType( domInstance_effect::domTechnique_hint::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "setparam" );
+ mea->setOffset( daeOffsetOf(domInstance_effect,elemSetparam_array) );
+ mea->setElementType( domInstance_effect::domSetparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_effect,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_effect , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domInstance_effect , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domInstance_effect , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_effect));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domInstance_effect::domTechnique_hint::create(DAE& dae)
+{
+ domInstance_effect::domTechnique_hintRef ref = new domInstance_effect::domTechnique_hint(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_effect::domTechnique_hint::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique_hint" );
+ meta->registerClass(domInstance_effect::domTechnique_hint::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: platform
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "platform" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_effect::domTechnique_hint , attrPlatform ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: profile
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "profile" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_effect::domTechnique_hint , attrProfile ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_effect::domTechnique_hint , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_effect::domTechnique_hint));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domInstance_effect::domSetparam::create(DAE& dae)
+{
+ domInstance_effect::domSetparamRef ref = new domInstance_effect::domSetparam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_effect::domSetparam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "setparam" );
+ meta->registerClass(domInstance_effect::domSetparam::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "fx_setparam" );
+ mea->setOffset( daeOffsetOf(domInstance_effect::domSetparam,elemFx_setparam) );
+ mea->setElementType( domFx_setparam::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 1, 1 ) );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domInstance_effect::domSetparam , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_effect::domSetparam));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domInstance_force_field.cpp b/1.4.0/dom/src/1.5/dom/domInstance_force_field.cpp
new file mode 100644
index 0000000..50d4f43
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domInstance_force_field.cpp
@@ -0,0 +1,91 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domInstance_force_field.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domInstance_force_field::create(DAE& dae)
+{
+ domInstance_force_fieldRef ref = new domInstance_force_field(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_force_field::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_force_field" );
+ meta->registerClass(domInstance_force_field::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_force_field,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_force_field , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domInstance_force_field , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domInstance_force_field , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_force_field));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domInstance_formula.cpp b/1.4.0/dom/src/1.5/dom/domInstance_formula.cpp
new file mode 100644
index 0000000..669c830
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domInstance_formula.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domInstance_formula.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domInstance_formula::create(DAE& dae)
+{
+ domInstance_formulaRef ref = new domInstance_formula(dae);
+ ref->attrUrl.setContainer( (domInstance_formula*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_formula::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_formula" );
+ meta->registerClass(domInstance_formula::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "setparam" );
+ mea->setOffset( daeOffsetOf(domInstance_formula,elemSetparam_array) );
+ mea->setElementType( domFormula_setparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domInstance_formula , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domInstance_formula , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_formula , attrUrl ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_formula));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domInstance_geometry.cpp b/1.4.0/dom/src/1.5/dom/domInstance_geometry.cpp
new file mode 100644
index 0000000..bd4dcd9
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domInstance_geometry.cpp
@@ -0,0 +1,92 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domInstance_geometry.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domInstance_geometry::create(DAE& dae)
+{
+ domInstance_geometryRef ref = new domInstance_geometry(dae);
+ ref->attrUrl.setContainer( (domInstance_geometry*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_geometry::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_geometry" );
+ meta->registerClass(domInstance_geometry::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "bind_material" );
+ mea->setOffset( daeOffsetOf(domInstance_geometry,elemBind_material) );
+ mea->setElementType( domBind_material::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_geometry,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_geometry , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domInstance_geometry , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domInstance_geometry , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_geometry));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domInstance_image.cpp b/1.4.0/dom/src/1.5/dom/domInstance_image.cpp
new file mode 100644
index 0000000..1eff6fc
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domInstance_image.cpp
@@ -0,0 +1,91 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domInstance_image.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domInstance_image::create(DAE& dae)
+{
+ domInstance_imageRef ref = new domInstance_image(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_image::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_image" );
+ meta->registerClass(domInstance_image::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_image,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_image , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domInstance_image , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domInstance_image , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_image));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domInstance_joint.cpp b/1.4.0/dom/src/1.5/dom/domInstance_joint.cpp
new file mode 100644
index 0000000..2648b54
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domInstance_joint.cpp
@@ -0,0 +1,91 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domInstance_joint.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domInstance_joint::create(DAE& dae)
+{
+ domInstance_jointRef ref = new domInstance_joint(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_joint::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_joint" );
+ meta->registerClass(domInstance_joint::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_joint,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_joint , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domInstance_joint , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domInstance_joint , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_joint));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domInstance_kinematics_model.cpp b/1.4.0/dom/src/1.5/dom/domInstance_kinematics_model.cpp
new file mode 100644
index 0000000..8c7bcde
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domInstance_kinematics_model.cpp
@@ -0,0 +1,104 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domInstance_kinematics_model.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domInstance_kinematics_model::create(DAE& dae)
+{
+ domInstance_kinematics_modelRef ref = new domInstance_kinematics_model(dae);
+ ref->attrUrl.setContainer( (domInstance_kinematics_model*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_kinematics_model::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_kinematics_model" );
+ meta->registerClass(domInstance_kinematics_model::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "bind" );
+ mea->setOffset( daeOffsetOf(domInstance_kinematics_model,elemBind_array) );
+ mea->setElementType( domKinematics_bind::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "newparam" );
+ mea->setOffset( daeOffsetOf(domInstance_kinematics_model,elemNewparam_array) );
+ mea->setElementType( domKinematics_newparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "setparam" );
+ mea->setOffset( daeOffsetOf(domInstance_kinematics_model,elemSetparam_array) );
+ mea->setElementType( domKinematics_setparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_kinematics_model,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_kinematics_model , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domInstance_kinematics_model , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domInstance_kinematics_model , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_kinematics_model));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domInstance_kinematics_scene.cpp b/1.4.0/dom/src/1.5/dom/domInstance_kinematics_scene.cpp
new file mode 100644
index 0000000..1184a74
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domInstance_kinematics_scene.cpp
@@ -0,0 +1,116 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domInstance_kinematics_scene.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domInstance_kinematics_scene::create(DAE& dae)
+{
+ domInstance_kinematics_sceneRef ref = new domInstance_kinematics_scene(dae);
+ ref->attrUrl.setContainer( (domInstance_kinematics_scene*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_kinematics_scene::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_kinematics_scene" );
+ meta->registerClass(domInstance_kinematics_scene::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domInstance_kinematics_scene,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "newparam" );
+ mea->setOffset( daeOffsetOf(domInstance_kinematics_scene,elemNewparam_array) );
+ mea->setElementType( domKinematics_newparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "setparam" );
+ mea->setOffset( daeOffsetOf(domInstance_kinematics_scene,elemSetparam_array) );
+ mea->setElementType( domKinematics_setparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "bind_kinematics_model" );
+ mea->setOffset( daeOffsetOf(domInstance_kinematics_scene,elemBind_kinematics_model_array) );
+ mea->setElementType( domBind_kinematics_model::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 4, 0, -1 );
+ mea->setName( "bind_joint_axis" );
+ mea->setOffset( daeOffsetOf(domInstance_kinematics_scene,elemBind_joint_axis_array) );
+ mea->setElementType( domBind_joint_axis::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 5, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_kinematics_scene,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 5 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_kinematics_scene , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domInstance_kinematics_scene , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domInstance_kinematics_scene , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_kinematics_scene));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domInstance_light.cpp b/1.4.0/dom/src/1.5/dom/domInstance_light.cpp
new file mode 100644
index 0000000..edd4245
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domInstance_light.cpp
@@ -0,0 +1,91 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domInstance_light.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domInstance_light::create(DAE& dae)
+{
+ domInstance_lightRef ref = new domInstance_light(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_light::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_light" );
+ meta->registerClass(domInstance_light::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_light,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_light , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domInstance_light , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domInstance_light , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_light));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domInstance_material.cpp b/1.4.0/dom/src/1.5/dom/domInstance_material.cpp
new file mode 100644
index 0000000..f125b92
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domInstance_material.cpp
@@ -0,0 +1,223 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domInstance_material.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domInstance_material::create(DAE& dae)
+{
+ domInstance_materialRef ref = new domInstance_material(dae);
+ ref->attrTarget.setContainer( (domInstance_material*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_material::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_material" );
+ meta->registerClass(domInstance_material::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "bind" );
+ mea->setOffset( daeOffsetOf(domInstance_material,elemBind_array) );
+ mea->setElementType( domInstance_material::domBind::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "bind_vertex_input" );
+ mea->setOffset( daeOffsetOf(domInstance_material,elemBind_vertex_input_array) );
+ mea->setElementType( domInstance_material::domBind_vertex_input::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_material,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: symbol
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "symbol" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_material , attrSymbol ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: target
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "target" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_material , attrTarget ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domInstance_material , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domInstance_material , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_material));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domInstance_material::domBind::create(DAE& dae)
+{
+ domInstance_material::domBindRef ref = new domInstance_material::domBind(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_material::domBind::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bind" );
+ meta->registerClass(domInstance_material::domBind::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: semantic
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "semantic" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_material::domBind , attrSemantic ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: target
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "target" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domInstance_material::domBind , attrTarget ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_material::domBind));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domInstance_material::domBind_vertex_input::create(DAE& dae)
+{
+ domInstance_material::domBind_vertex_inputRef ref = new domInstance_material::domBind_vertex_input(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_material::domBind_vertex_input::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bind_vertex_input" );
+ meta->registerClass(domInstance_material::domBind_vertex_input::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: semantic
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "semantic" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_material::domBind_vertex_input , attrSemantic ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: input_semantic
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "input_semantic" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_material::domBind_vertex_input , attrInput_semantic ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: input_set
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "input_set" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domInstance_material::domBind_vertex_input , attrInput_set ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_material::domBind_vertex_input));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domInstance_node.cpp b/1.4.0/dom/src/1.5/dom/domInstance_node.cpp
new file mode 100644
index 0000000..f8c63c0
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domInstance_node.cpp
@@ -0,0 +1,103 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domInstance_node.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domInstance_node::create(DAE& dae)
+{
+ domInstance_nodeRef ref = new domInstance_node(dae);
+ ref->attrProxy.setContainer( (domInstance_node*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_node::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_node" );
+ meta->registerClass(domInstance_node::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_node,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_node , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domInstance_node , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domInstance_node , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: proxy
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "proxy" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_node , attrProxy ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_node));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domInstance_physics_material.cpp b/1.4.0/dom/src/1.5/dom/domInstance_physics_material.cpp
new file mode 100644
index 0000000..62c8d6e
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domInstance_physics_material.cpp
@@ -0,0 +1,91 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domInstance_physics_material.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domInstance_physics_material::create(DAE& dae)
+{
+ domInstance_physics_materialRef ref = new domInstance_physics_material(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_physics_material::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_physics_material" );
+ meta->registerClass(domInstance_physics_material::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_physics_material,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_physics_material , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domInstance_physics_material , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domInstance_physics_material , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_physics_material));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domInstance_physics_model.cpp b/1.4.0/dom/src/1.5/dom/domInstance_physics_model.cpp
new file mode 100644
index 0000000..c5d2414
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domInstance_physics_model.cpp
@@ -0,0 +1,116 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domInstance_physics_model.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domInstance_physics_model::create(DAE& dae)
+{
+ domInstance_physics_modelRef ref = new domInstance_physics_model(dae);
+ ref->attrUrl.setContainer( (domInstance_physics_model*)ref );
+ ref->attrParent.setContainer( (domInstance_physics_model*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_physics_model::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_physics_model" );
+ meta->registerClass(domInstance_physics_model::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "instance_force_field" );
+ mea->setOffset( daeOffsetOf(domInstance_physics_model,elemInstance_force_field_array) );
+ mea->setElementType( domInstance_force_field::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "instance_rigid_body" );
+ mea->setOffset( daeOffsetOf(domInstance_physics_model,elemInstance_rigid_body_array) );
+ mea->setElementType( domInstance_rigid_body::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "instance_rigid_constraint" );
+ mea->setOffset( daeOffsetOf(domInstance_physics_model,elemInstance_rigid_constraint_array) );
+ mea->setElementType( domInstance_rigid_constraint::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_physics_model,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_physics_model , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domInstance_physics_model , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domInstance_physics_model , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: parent
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "parent" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_physics_model , attrParent ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_physics_model));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domInstance_rigid_body.cpp b/1.4.0/dom/src/1.5/dom/domInstance_rigid_body.cpp
new file mode 100644
index 0000000..39c9a28
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domInstance_rigid_body.cpp
@@ -0,0 +1,561 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domInstance_rigid_body.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domInstance_rigid_body::create(DAE& dae)
+{
+ domInstance_rigid_bodyRef ref = new domInstance_rigid_body(dae);
+ ref->attrTarget.setContainer( (domInstance_rigid_body*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_rigid_body::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_rigid_body" );
+ meta->registerClass(domInstance_rigid_body::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "technique_common" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body,elemTechnique_common) );
+ mea->setElementType( domInstance_rigid_body::domTechnique_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body,elemTechnique_array) );
+ mea->setElementType( domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: body
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "body" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_rigid_body , attrBody ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domInstance_rigid_body , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domInstance_rigid_body , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: target
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "target" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_rigid_body , attrTarget ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_rigid_body));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domInstance_rigid_body::domTechnique_common::create(DAE& dae)
+{
+ domInstance_rigid_body::domTechnique_commonRef ref = new domInstance_rigid_body::domTechnique_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_rigid_body::domTechnique_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique_common" );
+ meta->registerClass(domInstance_rigid_body::domTechnique_common::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "angular_velocity" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemAngular_velocity) );
+ mea->setElementType( domInstance_rigid_body::domTechnique_common::domAngular_velocity::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "velocity" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemVelocity) );
+ mea->setElementType( domInstance_rigid_body::domTechnique_common::domVelocity::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "dynamic" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemDynamic) );
+ mea->setElementType( domInstance_rigid_body::domTechnique_common::domDynamic::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "mass" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemMass) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "mass_frame" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemMass_frame) );
+ mea->setElementType( domInstance_rigid_body::domTechnique_common::domMass_frame::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "inertia" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemInertia) );
+ mea->setElementType( domTargetable_float3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 6, 0, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "instance_physics_material" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemInstance_physics_material) );
+ mea->setElementType( domInstance_physics_material::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "physics_material" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemPhysics_material) );
+ mea->setElementType( domPhysics_material::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 7, 0, -1 );
+ mea->setName( "shape" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemShape_array) );
+ mea->setElementType( domInstance_rigid_body::domTechnique_common::domShape::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 7 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domInstance_rigid_body::domTechnique_common,_contents));
+ meta->addContentsOrder(daeOffsetOf(domInstance_rigid_body::domTechnique_common,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domInstance_rigid_body::domTechnique_common,_CMData), 1);
+ meta->setElementSize(sizeof(domInstance_rigid_body::domTechnique_common));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domInstance_rigid_body::domTechnique_common::domAngular_velocity::create(DAE& dae)
+{
+ domInstance_rigid_body::domTechnique_common::domAngular_velocityRef ref = new domInstance_rigid_body::domTechnique_common::domAngular_velocity(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_rigid_body::domTechnique_common::domAngular_velocity::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "angular_velocity" );
+ meta->registerClass(domInstance_rigid_body::domTechnique_common::domAngular_velocity::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domInstance_rigid_body::domTechnique_common::domAngular_velocity , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_rigid_body::domTechnique_common::domAngular_velocity));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domInstance_rigid_body::domTechnique_common::domVelocity::create(DAE& dae)
+{
+ domInstance_rigid_body::domTechnique_common::domVelocityRef ref = new domInstance_rigid_body::domTechnique_common::domVelocity(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_rigid_body::domTechnique_common::domVelocity::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "velocity" );
+ meta->registerClass(domInstance_rigid_body::domTechnique_common::domVelocity::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domInstance_rigid_body::domTechnique_common::domVelocity , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_rigid_body::domTechnique_common::domVelocity));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domInstance_rigid_body::domTechnique_common::domDynamic::create(DAE& dae)
+{
+ domInstance_rigid_body::domTechnique_common::domDynamicRef ref = new domInstance_rigid_body::domTechnique_common::domDynamic(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_rigid_body::domTechnique_common::domDynamic::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "dynamic" );
+ meta->registerClass(domInstance_rigid_body::domTechnique_common::domDynamic::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domInstance_rigid_body::domTechnique_common::domDynamic , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domInstance_rigid_body::domTechnique_common::domDynamic , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_rigid_body::domTechnique_common::domDynamic));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domInstance_rigid_body::domTechnique_common::domMass_frame::create(DAE& dae)
+{
+ domInstance_rigid_body::domTechnique_common::domMass_frameRef ref = new domInstance_rigid_body::domTechnique_common::domMass_frame(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_rigid_body::domTechnique_common::domMass_frame::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mass_frame" );
+ meta->registerClass(domInstance_rigid_body::domTechnique_common::domMass_frame::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "translate" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domMass_frame,elemTranslate_array) );
+ mea->setElementType( domTranslate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "rotate" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domMass_frame,elemRotate_array) );
+ mea->setElementType( domRotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3000 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domInstance_rigid_body::domTechnique_common::domMass_frame,_contents));
+ meta->addContentsOrder(daeOffsetOf(domInstance_rigid_body::domTechnique_common::domMass_frame,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domInstance_rigid_body::domTechnique_common::domMass_frame,_CMData), 1);
+ meta->setElementSize(sizeof(domInstance_rigid_body::domTechnique_common::domMass_frame));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domInstance_rigid_body::domTechnique_common::domShape::create(DAE& dae)
+{
+ domInstance_rigid_body::domTechnique_common::domShapeRef ref = new domInstance_rigid_body::domTechnique_common::domShape(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_rigid_body::domTechnique_common::domShape::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "shape" );
+ meta->registerClass(domInstance_rigid_body::domTechnique_common::domShape::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "hollow" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemHollow) );
+ mea->setElementType( domInstance_rigid_body::domTechnique_common::domShape::domHollow::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "mass" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemMass) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "density" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemDensity) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 3, 0, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "instance_physics_material" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemInstance_physics_material) );
+ mea->setElementType( domInstance_physics_material::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "physics_material" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemPhysics_material) );
+ mea->setElementType( domPhysics_material::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm = new daeMetaChoice( meta, cm, 1, 4, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "instance_geometry" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemInstance_geometry) );
+ mea->setElementType( domInstance_geometry::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "plane" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemPlane) );
+ mea->setElementType( domPlane::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "box" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemBox) );
+ mea->setElementType( domBox::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sphere" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemSphere) );
+ mea->setElementType( domSphere::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "cylinder" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemCylinder) );
+ mea->setElementType( domCylinder::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "capsule" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemCapsule) );
+ mea->setElementType( domCapsule::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm = new daeMetaChoice( meta, cm, 2, 5, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "translate" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemTranslate_array) );
+ mea->setElementType( domTranslate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "rotate" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemRotate_array) );
+ mea->setElementType( domRotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3006, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3006 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,_contents));
+ meta->addContentsOrder(daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,_CMData), 3);
+ meta->setElementSize(sizeof(domInstance_rigid_body::domTechnique_common::domShape));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domInstance_rigid_body::domTechnique_common::domShape::domHollow::create(DAE& dae)
+{
+ domInstance_rigid_body::domTechnique_common::domShape::domHollowRef ref = new domInstance_rigid_body::domTechnique_common::domShape::domHollow(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_rigid_body::domTechnique_common::domShape::domHollow::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "hollow" );
+ meta->registerClass(domInstance_rigid_body::domTechnique_common::domShape::domHollow::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domInstance_rigid_body::domTechnique_common::domShape::domHollow , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domInstance_rigid_body::domTechnique_common::domShape::domHollow , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_rigid_body::domTechnique_common::domShape::domHollow));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domInstance_rigid_constraint.cpp b/1.4.0/dom/src/1.5/dom/domInstance_rigid_constraint.cpp
new file mode 100644
index 0000000..e6534d2
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domInstance_rigid_constraint.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domInstance_rigid_constraint.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domInstance_rigid_constraint::create(DAE& dae)
+{
+ domInstance_rigid_constraintRef ref = new domInstance_rigid_constraint(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_rigid_constraint::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_rigid_constraint" );
+ meta->registerClass(domInstance_rigid_constraint::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_rigid_constraint,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: constraint
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "constraint" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domInstance_rigid_constraint , attrConstraint ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domInstance_rigid_constraint , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domInstance_rigid_constraint , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_rigid_constraint));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domInstance_with_extra.cpp b/1.4.0/dom/src/1.5/dom/domInstance_with_extra.cpp
new file mode 100644
index 0000000..e6cd162
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domInstance_with_extra.cpp
@@ -0,0 +1,86 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domInstance_with_extra.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domInstance_with_extra::create(DAE& dae)
+{
+ domInstance_with_extraRef ref = new domInstance_with_extra(dae);
+ ref->attrUrl.setContainer( (domInstance_with_extra*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domInstance_with_extra::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_with_extra" );
+ meta->registerClass(domInstance_with_extra::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domInstance_with_extra,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domInstance_with_extra , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domInstance_with_extra , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domInstance_with_extra , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInstance_with_extra));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domInt_array.cpp b/1.4.0/dom/src/1.5/dom/domInt_array.cpp
new file mode 100644
index 0000000..b979d42
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domInt_array.cpp
@@ -0,0 +1,106 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domInt_array.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domInt_array::create(DAE& dae)
+{
+ domInt_arrayRef ref = new domInt_array(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domInt_array::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int_array" );
+ meta->registerClass(domInt_array::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("List_of_ints"));
+ ma->setOffset( daeOffsetOf( domInt_array , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domInt_array , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domInt_array , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domInt_array , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: minInclusive
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "minInclusive" );
+ ma->setType( dae.getAtomicTypes().get("xsInteger"));
+ ma->setOffset( daeOffsetOf( domInt_array , attrMinInclusive ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "-2147483648");
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: maxInclusive
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "maxInclusive" );
+ ma->setType( dae.getAtomicTypes().get("xsInteger"));
+ ma->setOffset( daeOffsetOf( domInt_array , attrMaxInclusive ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "2147483647");
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domInt_array));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domJoint.cpp b/1.4.0/dom/src/1.5/dom/domJoint.cpp
new file mode 100644
index 0000000..8793380
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domJoint.cpp
@@ -0,0 +1,106 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domJoint.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domJoint::create(DAE& dae)
+{
+ domJointRef ref = new domJoint(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domJoint::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "joint" );
+ meta->registerClass(domJoint::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "prismatic" );
+ mea->setOffset( daeOffsetOf(domJoint,elemPrismatic_array) );
+ mea->setElementType( domAxis_constraint::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "revolute" );
+ mea->setOffset( daeOffsetOf(domJoint,elemRevolute_array) );
+ mea->setElementType( domAxis_constraint::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3001, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domJoint,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3001 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domJoint,_contents));
+ meta->addContentsOrder(daeOffsetOf(domJoint,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domJoint,_CMData), 1);
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domJoint , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domJoint , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domJoint , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domJoint));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domJoint_limits.cpp b/1.4.0/dom/src/1.5/dom/domJoint_limits.cpp
new file mode 100644
index 0000000..f70167e
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domJoint_limits.cpp
@@ -0,0 +1,57 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domJoint_limits.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domJoint_limits::create(DAE& dae)
+{
+ domJoint_limitsRef ref = new domJoint_limits(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domJoint_limits::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "joint_limits" );
+ meta->registerClass(domJoint_limits::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "min" );
+ mea->setOffset( daeOffsetOf(domJoint_limits,elemMin) );
+ mea->setElementType( domMinmax::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "max" );
+ mea->setOffset( daeOffsetOf(domJoint_limits,elemMax) );
+ mea->setElementType( domMinmax::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domJoint_limits));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domKinematics.cpp b/1.4.0/dom/src/1.5/dom/domKinematics.cpp
new file mode 100644
index 0000000..acde3b9
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domKinematics.cpp
@@ -0,0 +1,69 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domKinematics.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domKinematics::create(DAE& dae)
+{
+ domKinematicsRef ref = new domKinematics(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "kinematics" );
+ meta->registerClass(domKinematics::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "instance_kinematics_model" );
+ mea->setOffset( daeOffsetOf(domKinematics,elemInstance_kinematics_model_array) );
+ mea->setElementType( domInstance_kinematics_model::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "technique_common" );
+ mea->setOffset( daeOffsetOf(domKinematics,elemTechnique_common) );
+ mea->setElementType( domKinematics_technique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domKinematics,elemTechnique_array) );
+ mea->setElementType( domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domKinematics,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domKinematics));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domKinematics_axis_info.cpp b/1.4.0/dom/src/1.5/dom/domKinematics_axis_info.cpp
new file mode 100644
index 0000000..3ab5a70
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domKinematics_axis_info.cpp
@@ -0,0 +1,131 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domKinematics_axis_info.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domKinematics_axis_info::create(DAE& dae)
+{
+ domKinematics_axis_infoRef ref = new domKinematics_axis_info(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_axis_info::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "kinematics_axis_info" );
+ meta->registerClass(domKinematics_axis_info::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "newparam" );
+ mea->setOffset( daeOffsetOf(domKinematics_axis_info,elemNewparam_array) );
+ mea->setElementType( domKinematics_newparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "active" );
+ mea->setOffset( daeOffsetOf(domKinematics_axis_info,elemActive) );
+ mea->setElementType( domCommon_bool_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "locked" );
+ mea->setOffset( daeOffsetOf(domKinematics_axis_info,elemLocked) );
+ mea->setElementType( domCommon_bool_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "index" );
+ mea->setOffset( daeOffsetOf(domKinematics_axis_info,elemIndex_array) );
+ mea->setElementType( domKinematics_index::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "limits" );
+ mea->setOffset( daeOffsetOf(domKinematics_axis_info,elemLimits) );
+ mea->setElementType( domKinematics_limits::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 5, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "formula" );
+ mea->setOffset( daeOffsetOf(domKinematics_axis_info,elemFormula_array) );
+ mea->setElementType( domFormula::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "instance_formula" );
+ mea->setOffset( daeOffsetOf(domKinematics_axis_info,elemInstance_formula_array) );
+ mea->setElementType( domInstance_formula::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 3005 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domKinematics_axis_info,_contents));
+ meta->addContentsOrder(daeOffsetOf(domKinematics_axis_info,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domKinematics_axis_info,_CMData), 1);
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domKinematics_axis_info , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domKinematics_axis_info , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: axis
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "axis" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domKinematics_axis_info , attrAxis ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domKinematics_axis_info));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domKinematics_bind.cpp b/1.4.0/dom/src/1.5/dom/domKinematics_bind.cpp
new file mode 100644
index 0000000..d3dd977
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domKinematics_bind.cpp
@@ -0,0 +1,235 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domKinematics_bind.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domKinematics_bind::create(DAE& dae)
+{
+ domKinematics_bindRef ref = new domKinematics_bind(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_bind::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "kinematics_bind" );
+ meta->registerClass(domKinematics_bind::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domKinematics_bind,elemParam) );
+ mea->setElementType( domKinematics_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool" );
+ mea->setOffset( daeOffsetOf(domKinematics_bind,elemBool) );
+ mea->setElementType( domKinematics_bind::domBool::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float" );
+ mea->setOffset( daeOffsetOf(domKinematics_bind,elemFloat) );
+ mea->setElementType( domKinematics_bind::domFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int" );
+ mea->setOffset( daeOffsetOf(domKinematics_bind,elemInt) );
+ mea->setElementType( domKinematics_bind::domInt::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "SIDREF" );
+ mea->setOffset( daeOffsetOf(domKinematics_bind,elemSIDREF) );
+ mea->setElementType( domKinematics_bind::domSIDREF::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domKinematics_bind,_contents));
+ meta->addContentsOrder(daeOffsetOf(domKinematics_bind,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domKinematics_bind,_CMData), 1);
+ // Add attribute: symbol
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "symbol" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domKinematics_bind , attrSymbol ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domKinematics_bind));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domKinematics_bind::domBool::create(DAE& dae)
+{
+ domKinematics_bind::domBoolRef ref = new domKinematics_bind::domBool(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_bind::domBool::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool" );
+ meta->registerClass(domKinematics_bind::domBool::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domKinematics_bind::domBool , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domKinematics_bind::domBool));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domKinematics_bind::domFloat::create(DAE& dae)
+{
+ domKinematics_bind::domFloatRef ref = new domKinematics_bind::domFloat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_bind::domFloat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float" );
+ meta->registerClass(domKinematics_bind::domFloat::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domKinematics_bind::domFloat , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domKinematics_bind::domFloat));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domKinematics_bind::domInt::create(DAE& dae)
+{
+ domKinematics_bind::domIntRef ref = new domKinematics_bind::domInt(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_bind::domInt::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int" );
+ meta->registerClass(domKinematics_bind::domInt::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int"));
+ ma->setOffset( daeOffsetOf( domKinematics_bind::domInt , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domKinematics_bind::domInt));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domKinematics_bind::domSIDREF::create(DAE& dae)
+{
+ domKinematics_bind::domSIDREFRef ref = new domKinematics_bind::domSIDREF(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_bind::domSIDREF::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "SIDREF" );
+ meta->registerClass(domKinematics_bind::domSIDREF::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Sidref"));
+ ma->setOffset( daeOffsetOf( domKinematics_bind::domSIDREF , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domKinematics_bind::domSIDREF));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domKinematics_connect_param.cpp b/1.4.0/dom/src/1.5/dom/domKinematics_connect_param.cpp
new file mode 100644
index 0000000..cec58e7
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domKinematics_connect_param.cpp
@@ -0,0 +1,51 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domKinematics_connect_param.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domKinematics_connect_param::create(DAE& dae)
+{
+ domKinematics_connect_paramRef ref = new domKinematics_connect_param(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_connect_param::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "kinematics_connect_param" );
+ meta->registerClass(domKinematics_connect_param::create);
+
+
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domKinematics_connect_param , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domKinematics_connect_param));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domKinematics_frame.cpp b/1.4.0/dom/src/1.5/dom/domKinematics_frame.cpp
new file mode 100644
index 0000000..8913250
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domKinematics_frame.cpp
@@ -0,0 +1,72 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domKinematics_frame.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domKinematics_frame::create(DAE& dae)
+{
+ domKinematics_frameRef ref = new domKinematics_frame(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_frame::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "kinematics_frame" );
+ meta->registerClass(domKinematics_frame::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "translate" );
+ mea->setOffset( daeOffsetOf(domKinematics_frame,elemTranslate_array) );
+ mea->setElementType( domTranslate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "rotate" );
+ mea->setOffset( daeOffsetOf(domKinematics_frame,elemRotate_array) );
+ mea->setElementType( domRotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3000 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domKinematics_frame,_contents));
+ meta->addContentsOrder(daeOffsetOf(domKinematics_frame,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domKinematics_frame,_CMData), 1);
+ // Add attribute: link
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "link" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domKinematics_frame , attrLink ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domKinematics_frame));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domKinematics_index.cpp b/1.4.0/dom/src/1.5/dom/domKinematics_index.cpp
new file mode 100644
index 0000000..e434c6f
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domKinematics_index.cpp
@@ -0,0 +1,78 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domKinematics_index.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domKinematics_index::create(DAE& dae)
+{
+ domKinematics_indexRef ref = new domKinematics_index(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_index::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "kinematics_index" );
+ meta->registerClass(domKinematics_index::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int" );
+ mea->setOffset( daeOffsetOf(domKinematics_index,elemInt) );
+ mea->setElementType( domInt::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "param" );
+ mea->setOffset( daeOffsetOf(domKinematics_index,elemParam) );
+ mea->setElementType( domCommon_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domKinematics_index,_contents));
+ meta->addContentsOrder(daeOffsetOf(domKinematics_index,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domKinematics_index,_CMData), 1);
+ // Add attribute: semantic
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "semantic" );
+ ma->setType( dae.getAtomicTypes().get("xsNMTOKEN"));
+ ma->setOffset( daeOffsetOf( domKinematics_index , attrSemantic ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domKinematics_index));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domKinematics_limits.cpp b/1.4.0/dom/src/1.5/dom/domKinematics_limits.cpp
new file mode 100644
index 0000000..fd2e517
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domKinematics_limits.cpp
@@ -0,0 +1,57 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domKinematics_limits.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domKinematics_limits::create(DAE& dae)
+{
+ domKinematics_limitsRef ref = new domKinematics_limits(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_limits::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "kinematics_limits" );
+ meta->registerClass(domKinematics_limits::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "min" );
+ mea->setOffset( daeOffsetOf(domKinematics_limits,elemMin) );
+ mea->setElementType( domCommon_float_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "max" );
+ mea->setOffset( daeOffsetOf(domKinematics_limits,elemMax) );
+ mea->setElementType( domCommon_float_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domKinematics_limits));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domKinematics_model.cpp b/1.4.0/dom/src/1.5/dom/domKinematics_model.cpp
new file mode 100644
index 0000000..287bc49
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domKinematics_model.cpp
@@ -0,0 +1,91 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domKinematics_model.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domKinematics_model::create(DAE& dae)
+{
+ domKinematics_modelRef ref = new domKinematics_model(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_model::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "kinematics_model" );
+ meta->registerClass(domKinematics_model::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domKinematics_model,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "technique_common" );
+ mea->setOffset( daeOffsetOf(domKinematics_model,elemTechnique_common) );
+ mea->setElementType( domKinematics_model_technique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domKinematics_model,elemTechnique_array) );
+ mea->setElementType( domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domKinematics_model,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domKinematics_model , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domKinematics_model , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domKinematics_model));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domKinematics_model_technique.cpp b/1.4.0/dom/src/1.5/dom/domKinematics_model_technique.cpp
new file mode 100644
index 0000000..3c719c5
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domKinematics_model_technique.cpp
@@ -0,0 +1,97 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domKinematics_model_technique.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domKinematics_model_technique::create(DAE& dae)
+{
+ domKinematics_model_techniqueRef ref = new domKinematics_model_technique(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_model_technique::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "kinematics_model_technique" );
+ meta->registerClass(domKinematics_model_technique::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "newparam" );
+ mea->setOffset( daeOffsetOf(domKinematics_model_technique,elemNewparam_array) );
+ mea->setElementType( domKinematics_newparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "instance_joint" );
+ mea->setOffset( daeOffsetOf(domKinematics_model_technique,elemInstance_joint_array) );
+ mea->setElementType( domInstance_joint::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "joint" );
+ mea->setOffset( daeOffsetOf(domKinematics_model_technique,elemJoint_array) );
+ mea->setElementType( domJoint::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3002, 1, -1 );
+ mea->setName( "link" );
+ mea->setOffset( daeOffsetOf(domKinematics_model_technique,elemLink_array) );
+ mea->setElementType( domLink::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 1, 3003, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "formula" );
+ mea->setOffset( daeOffsetOf(domKinematics_model_technique,elemFormula_array) );
+ mea->setElementType( domFormula::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "instance_formula" );
+ mea->setOffset( daeOffsetOf(domKinematics_model_technique,elemInstance_formula_array) );
+ mea->setElementType( domInstance_formula::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 6003 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domKinematics_model_technique,_contents));
+ meta->addContentsOrder(daeOffsetOf(domKinematics_model_technique,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domKinematics_model_technique,_CMData), 2);
+ meta->setElementSize(sizeof(domKinematics_model_technique));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domKinematics_newparam.cpp b/1.4.0/dom/src/1.5/dom/domKinematics_newparam.cpp
new file mode 100644
index 0000000..ca68935
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domKinematics_newparam.cpp
@@ -0,0 +1,228 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domKinematics_newparam.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domKinematics_newparam::create(DAE& dae)
+{
+ domKinematics_newparamRef ref = new domKinematics_newparam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_newparam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "kinematics_newparam" );
+ meta->registerClass(domKinematics_newparam::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float" );
+ mea->setOffset( daeOffsetOf(domKinematics_newparam,elemFloat) );
+ mea->setElementType( domKinematics_newparam::domFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int" );
+ mea->setOffset( daeOffsetOf(domKinematics_newparam,elemInt) );
+ mea->setElementType( domKinematics_newparam::domInt::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "SIDREF" );
+ mea->setOffset( daeOffsetOf(domKinematics_newparam,elemSIDREF) );
+ mea->setElementType( domKinematics_newparam::domSIDREF::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool" );
+ mea->setOffset( daeOffsetOf(domKinematics_newparam,elemBool) );
+ mea->setElementType( domKinematics_newparam::domBool::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domKinematics_newparam,_contents));
+ meta->addContentsOrder(daeOffsetOf(domKinematics_newparam,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domKinematics_newparam,_CMData), 1);
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domKinematics_newparam , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domKinematics_newparam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domKinematics_newparam::domFloat::create(DAE& dae)
+{
+ domKinematics_newparam::domFloatRef ref = new domKinematics_newparam::domFloat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_newparam::domFloat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float" );
+ meta->registerClass(domKinematics_newparam::domFloat::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domKinematics_newparam::domFloat , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domKinematics_newparam::domFloat));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domKinematics_newparam::domInt::create(DAE& dae)
+{
+ domKinematics_newparam::domIntRef ref = new domKinematics_newparam::domInt(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_newparam::domInt::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int" );
+ meta->registerClass(domKinematics_newparam::domInt::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int"));
+ ma->setOffset( daeOffsetOf( domKinematics_newparam::domInt , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domKinematics_newparam::domInt));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domKinematics_newparam::domSIDREF::create(DAE& dae)
+{
+ domKinematics_newparam::domSIDREFRef ref = new domKinematics_newparam::domSIDREF(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_newparam::domSIDREF::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "SIDREF" );
+ meta->registerClass(domKinematics_newparam::domSIDREF::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Sidref"));
+ ma->setOffset( daeOffsetOf( domKinematics_newparam::domSIDREF , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domKinematics_newparam::domSIDREF));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domKinematics_newparam::domBool::create(DAE& dae)
+{
+ domKinematics_newparam::domBoolRef ref = new domKinematics_newparam::domBool(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_newparam::domBool::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool" );
+ meta->registerClass(domKinematics_newparam::domBool::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domKinematics_newparam::domBool , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domKinematics_newparam::domBool));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domKinematics_param.cpp b/1.4.0/dom/src/1.5/dom/domKinematics_param.cpp
new file mode 100644
index 0000000..6d313a4
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domKinematics_param.cpp
@@ -0,0 +1,51 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domKinematics_param.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domKinematics_param::create(DAE& dae)
+{
+ domKinematics_paramRef ref = new domKinematics_param(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_param::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "kinematics_param" );
+ meta->registerClass(domKinematics_param::create);
+
+
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domKinematics_param , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domKinematics_param));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domKinematics_scene.cpp b/1.4.0/dom/src/1.5/dom/domKinematics_scene.cpp
new file mode 100644
index 0000000..5a8e0cd
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domKinematics_scene.cpp
@@ -0,0 +1,91 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domKinematics_scene.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domKinematics_scene::create(DAE& dae)
+{
+ domKinematics_sceneRef ref = new domKinematics_scene(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_scene::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "kinematics_scene" );
+ meta->registerClass(domKinematics_scene::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domKinematics_scene,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "instance_kinematics_model" );
+ mea->setOffset( daeOffsetOf(domKinematics_scene,elemInstance_kinematics_model_array) );
+ mea->setElementType( domInstance_kinematics_model::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "instance_articulated_system" );
+ mea->setOffset( daeOffsetOf(domKinematics_scene,elemInstance_articulated_system_array) );
+ mea->setElementType( domInstance_articulated_system::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domKinematics_scene,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domKinematics_scene , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domKinematics_scene , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domKinematics_scene));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domKinematics_setparam.cpp b/1.4.0/dom/src/1.5/dom/domKinematics_setparam.cpp
new file mode 100644
index 0000000..8bdd1fd
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domKinematics_setparam.cpp
@@ -0,0 +1,235 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domKinematics_setparam.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domKinematics_setparam::create(DAE& dae)
+{
+ domKinematics_setparamRef ref = new domKinematics_setparam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_setparam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "kinematics_setparam" );
+ meta->registerClass(domKinematics_setparam::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float" );
+ mea->setOffset( daeOffsetOf(domKinematics_setparam,elemFloat) );
+ mea->setElementType( domKinematics_setparam::domFloat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int" );
+ mea->setOffset( daeOffsetOf(domKinematics_setparam,elemInt) );
+ mea->setElementType( domKinematics_setparam::domInt::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "SIDREF" );
+ mea->setOffset( daeOffsetOf(domKinematics_setparam,elemSIDREF) );
+ mea->setElementType( domKinematics_setparam::domSIDREF::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool" );
+ mea->setOffset( daeOffsetOf(domKinematics_setparam,elemBool) );
+ mea->setElementType( domKinematics_setparam::domBool::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "connect_param" );
+ mea->setOffset( daeOffsetOf(domKinematics_setparam,elemConnect_param) );
+ mea->setElementType( domKinematics_connect_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domKinematics_setparam,_contents));
+ meta->addContentsOrder(daeOffsetOf(domKinematics_setparam,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domKinematics_setparam,_CMData), 1);
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domKinematics_setparam , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domKinematics_setparam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domKinematics_setparam::domFloat::create(DAE& dae)
+{
+ domKinematics_setparam::domFloatRef ref = new domKinematics_setparam::domFloat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_setparam::domFloat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "float" );
+ meta->registerClass(domKinematics_setparam::domFloat::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domKinematics_setparam::domFloat , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domKinematics_setparam::domFloat));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domKinematics_setparam::domInt::create(DAE& dae)
+{
+ domKinematics_setparam::domIntRef ref = new domKinematics_setparam::domInt(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_setparam::domInt::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "int" );
+ meta->registerClass(domKinematics_setparam::domInt::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Int"));
+ ma->setOffset( daeOffsetOf( domKinematics_setparam::domInt , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domKinematics_setparam::domInt));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domKinematics_setparam::domSIDREF::create(DAE& dae)
+{
+ domKinematics_setparam::domSIDREFRef ref = new domKinematics_setparam::domSIDREF(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_setparam::domSIDREF::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "SIDREF" );
+ meta->registerClass(domKinematics_setparam::domSIDREF::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Sidref"));
+ ma->setOffset( daeOffsetOf( domKinematics_setparam::domSIDREF , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domKinematics_setparam::domSIDREF));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domKinematics_setparam::domBool::create(DAE& dae)
+{
+ domKinematics_setparam::domBoolRef ref = new domKinematics_setparam::domBool(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_setparam::domBool::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bool" );
+ meta->registerClass(domKinematics_setparam::domBool::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domKinematics_setparam::domBool , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domKinematics_setparam::domBool));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domKinematics_technique.cpp b/1.4.0/dom/src/1.5/dom/domKinematics_technique.cpp
new file mode 100644
index 0000000..126dc3e
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domKinematics_technique.cpp
@@ -0,0 +1,75 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domKinematics_technique.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domKinematics_technique::create(DAE& dae)
+{
+ domKinematics_techniqueRef ref = new domKinematics_technique(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domKinematics_technique::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "kinematics_technique" );
+ meta->registerClass(domKinematics_technique::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "axis_info" );
+ mea->setOffset( daeOffsetOf(domKinematics_technique,elemAxis_info_array) );
+ mea->setElementType( domKinematics_axis_info::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "frame_origin" );
+ mea->setOffset( daeOffsetOf(domKinematics_technique,elemFrame_origin) );
+ mea->setElementType( domKinematics_frame::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "frame_tip" );
+ mea->setOffset( daeOffsetOf(domKinematics_technique,elemFrame_tip) );
+ mea->setElementType( domKinematics_frame::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "frame_tcp" );
+ mea->setOffset( daeOffsetOf(domKinematics_technique,elemFrame_tcp) );
+ mea->setElementType( domKinematics_frame::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "frame_object" );
+ mea->setOffset( daeOffsetOf(domKinematics_technique,elemFrame_object) );
+ mea->setElementType( domKinematics_frame::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 4 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domKinematics_technique));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLibrary_animation_clips.cpp b/1.4.0/dom/src/1.5/dom/domLibrary_animation_clips.cpp
new file mode 100644
index 0000000..1e43d5a
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLibrary_animation_clips.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLibrary_animation_clips.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLibrary_animation_clips::create(DAE& dae)
+{
+ domLibrary_animation_clipsRef ref = new domLibrary_animation_clips(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_animation_clips::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_animation_clips" );
+ meta->registerClass(domLibrary_animation_clips::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_animation_clips,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "animation_clip" );
+ mea->setOffset( daeOffsetOf(domLibrary_animation_clips,elemAnimation_clip_array) );
+ mea->setElementType( domAnimation_clip::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_animation_clips,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_animation_clips , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLibrary_animation_clips , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_animation_clips));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLibrary_animations.cpp b/1.4.0/dom/src/1.5/dom/domLibrary_animations.cpp
new file mode 100644
index 0000000..64ce331
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLibrary_animations.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLibrary_animations.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLibrary_animations::create(DAE& dae)
+{
+ domLibrary_animationsRef ref = new domLibrary_animations(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_animations::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_animations" );
+ meta->registerClass(domLibrary_animations::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_animations,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "animation" );
+ mea->setOffset( daeOffsetOf(domLibrary_animations,elemAnimation_array) );
+ mea->setElementType( domAnimation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_animations,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_animations , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLibrary_animations , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_animations));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLibrary_articulated_systems.cpp b/1.4.0/dom/src/1.5/dom/domLibrary_articulated_systems.cpp
new file mode 100644
index 0000000..c7104ce
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLibrary_articulated_systems.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLibrary_articulated_systems.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLibrary_articulated_systems::create(DAE& dae)
+{
+ domLibrary_articulated_systemsRef ref = new domLibrary_articulated_systems(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_articulated_systems::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_articulated_systems" );
+ meta->registerClass(domLibrary_articulated_systems::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_articulated_systems,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "articulated_system" );
+ mea->setOffset( daeOffsetOf(domLibrary_articulated_systems,elemArticulated_system_array) );
+ mea->setElementType( domArticulated_system::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_articulated_systems,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_articulated_systems , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLibrary_articulated_systems , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_articulated_systems));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLibrary_cameras.cpp b/1.4.0/dom/src/1.5/dom/domLibrary_cameras.cpp
new file mode 100644
index 0000000..bec0b86
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLibrary_cameras.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLibrary_cameras.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLibrary_cameras::create(DAE& dae)
+{
+ domLibrary_camerasRef ref = new domLibrary_cameras(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_cameras::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_cameras" );
+ meta->registerClass(domLibrary_cameras::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_cameras,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "camera" );
+ mea->setOffset( daeOffsetOf(domLibrary_cameras,elemCamera_array) );
+ mea->setElementType( domCamera::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_cameras,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_cameras , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLibrary_cameras , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_cameras));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLibrary_controllers.cpp b/1.4.0/dom/src/1.5/dom/domLibrary_controllers.cpp
new file mode 100644
index 0000000..487ecd0
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLibrary_controllers.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLibrary_controllers.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLibrary_controllers::create(DAE& dae)
+{
+ domLibrary_controllersRef ref = new domLibrary_controllers(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_controllers::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_controllers" );
+ meta->registerClass(domLibrary_controllers::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_controllers,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "controller" );
+ mea->setOffset( daeOffsetOf(domLibrary_controllers,elemController_array) );
+ mea->setElementType( domController::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_controllers,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_controllers , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLibrary_controllers , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_controllers));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLibrary_effects.cpp b/1.4.0/dom/src/1.5/dom/domLibrary_effects.cpp
new file mode 100644
index 0000000..b660b3f
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLibrary_effects.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLibrary_effects.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLibrary_effects::create(DAE& dae)
+{
+ domLibrary_effectsRef ref = new domLibrary_effects(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_effects::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_effects" );
+ meta->registerClass(domLibrary_effects::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_effects,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "effect" );
+ mea->setOffset( daeOffsetOf(domLibrary_effects,elemEffect_array) );
+ mea->setElementType( domEffect::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_effects,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_effects , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLibrary_effects , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_effects));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLibrary_force_fields.cpp b/1.4.0/dom/src/1.5/dom/domLibrary_force_fields.cpp
new file mode 100644
index 0000000..4ac63ea
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLibrary_force_fields.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLibrary_force_fields.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLibrary_force_fields::create(DAE& dae)
+{
+ domLibrary_force_fieldsRef ref = new domLibrary_force_fields(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_force_fields::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_force_fields" );
+ meta->registerClass(domLibrary_force_fields::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_force_fields,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "force_field" );
+ mea->setOffset( daeOffsetOf(domLibrary_force_fields,elemForce_field_array) );
+ mea->setElementType( domForce_field::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_force_fields,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_force_fields , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLibrary_force_fields , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_force_fields));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLibrary_formulas.cpp b/1.4.0/dom/src/1.5/dom/domLibrary_formulas.cpp
new file mode 100644
index 0000000..4d05c47
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLibrary_formulas.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLibrary_formulas.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLibrary_formulas::create(DAE& dae)
+{
+ domLibrary_formulasRef ref = new domLibrary_formulas(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_formulas::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_formulas" );
+ meta->registerClass(domLibrary_formulas::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_formulas,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "formula" );
+ mea->setOffset( daeOffsetOf(domLibrary_formulas,elemFormula_array) );
+ mea->setElementType( domFormula::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_formulas,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_formulas , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLibrary_formulas , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_formulas));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLibrary_geometries.cpp b/1.4.0/dom/src/1.5/dom/domLibrary_geometries.cpp
new file mode 100644
index 0000000..a32b0b2
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLibrary_geometries.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLibrary_geometries.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLibrary_geometries::create(DAE& dae)
+{
+ domLibrary_geometriesRef ref = new domLibrary_geometries(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_geometries::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_geometries" );
+ meta->registerClass(domLibrary_geometries::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_geometries,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "geometry" );
+ mea->setOffset( daeOffsetOf(domLibrary_geometries,elemGeometry_array) );
+ mea->setElementType( domGeometry::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_geometries,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_geometries , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLibrary_geometries , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_geometries));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLibrary_images.cpp b/1.4.0/dom/src/1.5/dom/domLibrary_images.cpp
new file mode 100644
index 0000000..cc3aa00
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLibrary_images.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLibrary_images.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLibrary_images::create(DAE& dae)
+{
+ domLibrary_imagesRef ref = new domLibrary_images(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_images::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_images" );
+ meta->registerClass(domLibrary_images::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_images,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "image" );
+ mea->setOffset( daeOffsetOf(domLibrary_images,elemImage_array) );
+ mea->setElementType( domImage::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_images,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_images , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLibrary_images , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_images));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLibrary_joints.cpp b/1.4.0/dom/src/1.5/dom/domLibrary_joints.cpp
new file mode 100644
index 0000000..918fb1b
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLibrary_joints.cpp
@@ -0,0 +1,87 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLibrary_joints.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLibrary_joints::create(DAE& dae)
+{
+ domLibrary_jointsRef ref = new domLibrary_joints(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_joints::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_joints" );
+ meta->registerClass(domLibrary_joints::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_joints,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "joint" );
+ mea->setOffset( daeOffsetOf(domLibrary_joints,elemJoint_array) );
+ mea->setElementType( domJoint::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_joints,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_joints , attrId ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLibrary_joints , attrName ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_joints));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLibrary_kinematics_models.cpp b/1.4.0/dom/src/1.5/dom/domLibrary_kinematics_models.cpp
new file mode 100644
index 0000000..a28fdb3
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLibrary_kinematics_models.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLibrary_kinematics_models.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLibrary_kinematics_models::create(DAE& dae)
+{
+ domLibrary_kinematics_modelsRef ref = new domLibrary_kinematics_models(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_kinematics_models::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_kinematics_models" );
+ meta->registerClass(domLibrary_kinematics_models::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_kinematics_models,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "kinematics_model" );
+ mea->setOffset( daeOffsetOf(domLibrary_kinematics_models,elemKinematics_model_array) );
+ mea->setElementType( domKinematics_model::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_kinematics_models,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_kinematics_models , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLibrary_kinematics_models , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_kinematics_models));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLibrary_kinematics_scenes.cpp b/1.4.0/dom/src/1.5/dom/domLibrary_kinematics_scenes.cpp
new file mode 100644
index 0000000..443bc30
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLibrary_kinematics_scenes.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLibrary_kinematics_scenes.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLibrary_kinematics_scenes::create(DAE& dae)
+{
+ domLibrary_kinematics_scenesRef ref = new domLibrary_kinematics_scenes(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_kinematics_scenes::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_kinematics_scenes" );
+ meta->registerClass(domLibrary_kinematics_scenes::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_kinematics_scenes,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "kinematics_scene" );
+ mea->setOffset( daeOffsetOf(domLibrary_kinematics_scenes,elemKinematics_scene_array) );
+ mea->setElementType( domKinematics_scene::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_kinematics_scenes,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_kinematics_scenes , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLibrary_kinematics_scenes , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_kinematics_scenes));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLibrary_lights.cpp b/1.4.0/dom/src/1.5/dom/domLibrary_lights.cpp
new file mode 100644
index 0000000..bf130a1
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLibrary_lights.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLibrary_lights.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLibrary_lights::create(DAE& dae)
+{
+ domLibrary_lightsRef ref = new domLibrary_lights(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_lights::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_lights" );
+ meta->registerClass(domLibrary_lights::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_lights,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "light" );
+ mea->setOffset( daeOffsetOf(domLibrary_lights,elemLight_array) );
+ mea->setElementType( domLight::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_lights,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_lights , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLibrary_lights , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_lights));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLibrary_materials.cpp b/1.4.0/dom/src/1.5/dom/domLibrary_materials.cpp
new file mode 100644
index 0000000..6c627e5
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLibrary_materials.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLibrary_materials.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLibrary_materials::create(DAE& dae)
+{
+ domLibrary_materialsRef ref = new domLibrary_materials(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_materials::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_materials" );
+ meta->registerClass(domLibrary_materials::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_materials,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "material" );
+ mea->setOffset( daeOffsetOf(domLibrary_materials,elemMaterial_array) );
+ mea->setElementType( domMaterial::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_materials,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_materials , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLibrary_materials , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_materials));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLibrary_nodes.cpp b/1.4.0/dom/src/1.5/dom/domLibrary_nodes.cpp
new file mode 100644
index 0000000..6b9cc31
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLibrary_nodes.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLibrary_nodes.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLibrary_nodes::create(DAE& dae)
+{
+ domLibrary_nodesRef ref = new domLibrary_nodes(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_nodes::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_nodes" );
+ meta->registerClass(domLibrary_nodes::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_nodes,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "node" );
+ mea->setOffset( daeOffsetOf(domLibrary_nodes,elemNode_array) );
+ mea->setElementType( domNode::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_nodes,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_nodes , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLibrary_nodes , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_nodes));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLibrary_physics_materials.cpp b/1.4.0/dom/src/1.5/dom/domLibrary_physics_materials.cpp
new file mode 100644
index 0000000..8e2f76f
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLibrary_physics_materials.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLibrary_physics_materials.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLibrary_physics_materials::create(DAE& dae)
+{
+ domLibrary_physics_materialsRef ref = new domLibrary_physics_materials(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_physics_materials::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_physics_materials" );
+ meta->registerClass(domLibrary_physics_materials::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_physics_materials,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "physics_material" );
+ mea->setOffset( daeOffsetOf(domLibrary_physics_materials,elemPhysics_material_array) );
+ mea->setElementType( domPhysics_material::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_physics_materials,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_physics_materials , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLibrary_physics_materials , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_physics_materials));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLibrary_physics_models.cpp b/1.4.0/dom/src/1.5/dom/domLibrary_physics_models.cpp
new file mode 100644
index 0000000..681225b
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLibrary_physics_models.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLibrary_physics_models.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLibrary_physics_models::create(DAE& dae)
+{
+ domLibrary_physics_modelsRef ref = new domLibrary_physics_models(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_physics_models::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_physics_models" );
+ meta->registerClass(domLibrary_physics_models::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_physics_models,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "physics_model" );
+ mea->setOffset( daeOffsetOf(domLibrary_physics_models,elemPhysics_model_array) );
+ mea->setElementType( domPhysics_model::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_physics_models,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_physics_models , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLibrary_physics_models , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_physics_models));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLibrary_physics_scenes.cpp b/1.4.0/dom/src/1.5/dom/domLibrary_physics_scenes.cpp
new file mode 100644
index 0000000..bfddc9a
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLibrary_physics_scenes.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLibrary_physics_scenes.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLibrary_physics_scenes::create(DAE& dae)
+{
+ domLibrary_physics_scenesRef ref = new domLibrary_physics_scenes(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_physics_scenes::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_physics_scenes" );
+ meta->registerClass(domLibrary_physics_scenes::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_physics_scenes,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "physics_scene" );
+ mea->setOffset( daeOffsetOf(domLibrary_physics_scenes,elemPhysics_scene_array) );
+ mea->setElementType( domPhysics_scene::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_physics_scenes,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_physics_scenes , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLibrary_physics_scenes , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_physics_scenes));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLibrary_visual_scenes.cpp b/1.4.0/dom/src/1.5/dom/domLibrary_visual_scenes.cpp
new file mode 100644
index 0000000..cf97777
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLibrary_visual_scenes.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLibrary_visual_scenes.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLibrary_visual_scenes::create(DAE& dae)
+{
+ domLibrary_visual_scenesRef ref = new domLibrary_visual_scenes(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLibrary_visual_scenes::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "library_visual_scenes" );
+ meta->registerClass(domLibrary_visual_scenes::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLibrary_visual_scenes,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "visual_scene" );
+ mea->setOffset( daeOffsetOf(domLibrary_visual_scenes,elemVisual_scene_array) );
+ mea->setElementType( domVisual_scene::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLibrary_visual_scenes,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLibrary_visual_scenes , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLibrary_visual_scenes , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLibrary_visual_scenes));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLight.cpp b/1.4.0/dom/src/1.5/dom/domLight.cpp
new file mode 100644
index 0000000..f1b2fad
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLight.cpp
@@ -0,0 +1,356 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLight.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLight::create(DAE& dae)
+{
+ domLightRef ref = new domLight(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLight::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "light" );
+ meta->registerClass(domLight::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domLight,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "technique_common" );
+ mea->setOffset( daeOffsetOf(domLight,elemTechnique_common) );
+ mea->setElementType( domLight::domTechnique_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domLight,elemTechnique_array) );
+ mea->setElementType( domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLight,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domLight , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLight , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLight));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domLight::domTechnique_common::create(DAE& dae)
+{
+ domLight::domTechnique_commonRef ref = new domLight::domTechnique_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLight::domTechnique_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique_common" );
+ meta->registerClass(domLight::domTechnique_common::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "ambient" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common,elemAmbient) );
+ mea->setElementType( domLight::domTechnique_common::domAmbient::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "directional" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common,elemDirectional) );
+ mea->setElementType( domLight::domTechnique_common::domDirectional::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "point" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common,elemPoint) );
+ mea->setElementType( domLight::domTechnique_common::domPoint::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "spot" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common,elemSpot) );
+ mea->setElementType( domLight::domTechnique_common::domSpot::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domLight::domTechnique_common,_contents));
+ meta->addContentsOrder(daeOffsetOf(domLight::domTechnique_common,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domLight::domTechnique_common,_CMData), 1);
+ meta->setElementSize(sizeof(domLight::domTechnique_common));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domLight::domTechnique_common::domAmbient::create(DAE& dae)
+{
+ domLight::domTechnique_common::domAmbientRef ref = new domLight::domTechnique_common::domAmbient(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLight::domTechnique_common::domAmbient::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "ambient" );
+ meta->registerClass(domLight::domTechnique_common::domAmbient::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "color" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domAmbient,elemColor) );
+ mea->setElementType( domTargetable_float3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domLight::domTechnique_common::domAmbient));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domLight::domTechnique_common::domDirectional::create(DAE& dae)
+{
+ domLight::domTechnique_common::domDirectionalRef ref = new domLight::domTechnique_common::domDirectional(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLight::domTechnique_common::domDirectional::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "directional" );
+ meta->registerClass(domLight::domTechnique_common::domDirectional::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "color" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domDirectional,elemColor) );
+ mea->setElementType( domTargetable_float3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domLight::domTechnique_common::domDirectional));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domLight::domTechnique_common::domPoint::create(DAE& dae)
+{
+ domLight::domTechnique_common::domPointRef ref = new domLight::domTechnique_common::domPoint(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLight::domTechnique_common::domPoint::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "point" );
+ meta->registerClass(domLight::domTechnique_common::domPoint::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "color" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domPoint,elemColor) );
+ mea->setElementType( domTargetable_float3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "constant_attenuation" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domPoint,elemConstant_attenuation) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "linear_attenuation" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domPoint,elemLinear_attenuation) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "quadratic_attenuation" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domPoint,elemQuadratic_attenuation) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domLight::domTechnique_common::domPoint));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domLight::domTechnique_common::domSpot::create(DAE& dae)
+{
+ domLight::domTechnique_common::domSpotRef ref = new domLight::domTechnique_common::domSpot(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLight::domTechnique_common::domSpot::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "spot" );
+ meta->registerClass(domLight::domTechnique_common::domSpot::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "color" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domSpot,elemColor) );
+ mea->setElementType( domTargetable_float3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "constant_attenuation" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domSpot,elemConstant_attenuation) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "linear_attenuation" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domSpot,elemLinear_attenuation) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "quadratic_attenuation" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domSpot,elemQuadratic_attenuation) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "falloff_angle" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domSpot,elemFalloff_angle) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "falloff_exponent" );
+ mea->setOffset( daeOffsetOf(domLight::domTechnique_common::domSpot,elemFalloff_exponent) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 5 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domLight::domTechnique_common::domSpot));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLimits_sub.cpp b/1.4.0/dom/src/1.5/dom/domLimits_sub.cpp
new file mode 100644
index 0000000..ce647ca
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLimits_sub.cpp
@@ -0,0 +1,59 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLimits_sub.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLimits_sub::create(DAE& dae)
+{
+ domLimits_subRef ref = new domLimits_sub(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLimits_sub::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "limits_sub" );
+ meta->registerClass(domLimits_sub::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domLimits_sub , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domLimits_sub , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLimits_sub));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLine.cpp b/1.4.0/dom/src/1.5/dom/domLine.cpp
new file mode 100644
index 0000000..5a944ae
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLine.cpp
@@ -0,0 +1,135 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLine.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLine::create(DAE& dae)
+{
+ domLineRef ref = new domLine(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLine::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "line" );
+ meta->registerClass(domLine::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "origin" );
+ mea->setOffset( daeOffsetOf(domLine,elemOrigin) );
+ mea->setElementType( domLine::domOrigin::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "direction" );
+ mea->setOffset( daeOffsetOf(domLine,elemDirection) );
+ mea->setElementType( domLine::domDirection::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLine,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domLine));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domLine::domOrigin::create(DAE& dae)
+{
+ domLine::domOriginRef ref = new domLine::domOrigin(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLine::domOrigin::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "origin" );
+ meta->registerClass(domLine::domOrigin::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domLine::domOrigin , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLine::domOrigin));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domLine::domDirection::create(DAE& dae)
+{
+ domLine::domDirectionRef ref = new domLine::domDirection(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLine::domDirection::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "direction" );
+ meta->registerClass(domLine::domDirection::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domLine::domDirection , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLine::domDirection));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLines.cpp b/1.4.0/dom/src/1.5/dom/domLines.cpp
new file mode 100644
index 0000000..aa8ae20
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLines.cpp
@@ -0,0 +1,97 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLines.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLines::create(DAE& dae)
+{
+ domLinesRef ref = new domLines(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLines::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "lines" );
+ meta->registerClass(domLines::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domLines,elemInput_array) );
+ mea->setElementType( domInput_local_offset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "p" );
+ mea->setOffset( daeOffsetOf(domLines,elemP) );
+ mea->setElementType( domP::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLines,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLines , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domLines , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: material
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "material" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domLines , attrMaterial ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLines));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLinestrips.cpp b/1.4.0/dom/src/1.5/dom/domLinestrips.cpp
new file mode 100644
index 0000000..be25a51
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLinestrips.cpp
@@ -0,0 +1,97 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLinestrips.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLinestrips::create(DAE& dae)
+{
+ domLinestripsRef ref = new domLinestrips(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLinestrips::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "linestrips" );
+ meta->registerClass(domLinestrips::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domLinestrips,elemInput_array) );
+ mea->setElementType( domInput_local_offset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "p" );
+ mea->setOffset( daeOffsetOf(domLinestrips,elemP_array) );
+ mea->setElementType( domP::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domLinestrips,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLinestrips , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domLinestrips , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: material
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "material" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domLinestrips , attrMaterial ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLinestrips));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLink.cpp b/1.4.0/dom/src/1.5/dom/domLink.cpp
new file mode 100644
index 0000000..e9faea2
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLink.cpp
@@ -0,0 +1,308 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLink.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLink::create(DAE& dae)
+{
+ domLinkRef ref = new domLink(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLink::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "link" );
+ meta->registerClass(domLink::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "rotate" );
+ mea->setOffset( daeOffsetOf(domLink,elemRotate_array) );
+ mea->setElementType( domRotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "translate" );
+ mea->setOffset( daeOffsetOf(domLink,elemTranslate_array) );
+ mea->setElementType( domTranslate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm = new daeMetaChoice( meta, cm, 1, 3001, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "attachment_full" );
+ mea->setOffset( daeOffsetOf(domLink,elemAttachment_full_array) );
+ mea->setElementType( domLink::domAttachment_full::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "attachment_start" );
+ mea->setOffset( daeOffsetOf(domLink,elemAttachment_start_array) );
+ mea->setElementType( domLink::domAttachment_start::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "attachment_end" );
+ mea->setOffset( daeOffsetOf(domLink,elemAttachment_end_array) );
+ mea->setElementType( domLink::domAttachment_end::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 6001 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domLink,_contents));
+ meta->addContentsOrder(daeOffsetOf(domLink,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domLink,_CMData), 2);
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domLink , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLink , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLink));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domLink::domAttachment_full::create(DAE& dae)
+{
+ domLink::domAttachment_fullRef ref = new domLink::domAttachment_full(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLink::domAttachment_full::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "attachment_full" );
+ meta->registerClass(domLink::domAttachment_full::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "rotate" );
+ mea->setOffset( daeOffsetOf(domLink::domAttachment_full,elemRotate_array) );
+ mea->setElementType( domRotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "translate" );
+ mea->setOffset( daeOffsetOf(domLink::domAttachment_full,elemTranslate_array) );
+ mea->setElementType( domTranslate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementAttribute( meta, cm, 3001, 1, 1 );
+ mea->setName( "link" );
+ mea->setOffset( daeOffsetOf(domLink::domAttachment_full,elemLink) );
+ mea->setElementType( domLink::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3001 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domLink::domAttachment_full,_contents));
+ meta->addContentsOrder(daeOffsetOf(domLink::domAttachment_full,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domLink::domAttachment_full,_CMData), 1);
+ // Add attribute: joint
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "joint" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLink::domAttachment_full , attrJoint ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLink::domAttachment_full));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domLink::domAttachment_start::create(DAE& dae)
+{
+ domLink::domAttachment_startRef ref = new domLink::domAttachment_start(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLink::domAttachment_start::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "attachment_start" );
+ meta->registerClass(domLink::domAttachment_start::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "rotate" );
+ mea->setOffset( daeOffsetOf(domLink::domAttachment_start,elemRotate_array) );
+ mea->setElementType( domRotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "translate" );
+ mea->setOffset( daeOffsetOf(domLink::domAttachment_start,elemTranslate_array) );
+ mea->setElementType( domTranslate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3000 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domLink::domAttachment_start,_contents));
+ meta->addContentsOrder(daeOffsetOf(domLink::domAttachment_start,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domLink::domAttachment_start,_CMData), 1);
+ // Add attribute: joint
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "joint" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLink::domAttachment_start , attrJoint ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLink::domAttachment_start));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domLink::domAttachment_end::create(DAE& dae)
+{
+ domLink::domAttachment_endRef ref = new domLink::domAttachment_end(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLink::domAttachment_end::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "attachment_end" );
+ meta->registerClass(domLink::domAttachment_end::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "rotate" );
+ mea->setOffset( daeOffsetOf(domLink::domAttachment_end,elemRotate_array) );
+ mea->setElementType( domRotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "translate" );
+ mea->setOffset( daeOffsetOf(domLink::domAttachment_end,elemTranslate_array) );
+ mea->setElementType( domTranslate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3000 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domLink::domAttachment_end,_contents));
+ meta->addContentsOrder(daeOffsetOf(domLink::domAttachment_end,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domLink::domAttachment_end,_CMData), 1);
+ // Add attribute: joint
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "joint" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domLink::domAttachment_end , attrJoint ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLink::domAttachment_end));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domLookat.cpp b/1.4.0/dom/src/1.5/dom/domLookat.cpp
new file mode 100644
index 0000000..3a72144
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domLookat.cpp
@@ -0,0 +1,59 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domLookat.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domLookat::create(DAE& dae)
+{
+ domLookatRef ref = new domLookat(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domLookat::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "lookat" );
+ meta->registerClass(domLookat::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3x3"));
+ ma->setOffset( daeOffsetOf( domLookat , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domLookat , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domLookat));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domMaterial.cpp b/1.4.0/dom/src/1.5/dom/domMaterial.cpp
new file mode 100644
index 0000000..41cf534
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domMaterial.cpp
@@ -0,0 +1,85 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domMaterial.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domMaterial::create(DAE& dae)
+{
+ domMaterialRef ref = new domMaterial(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domMaterial::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "material" );
+ meta->registerClass(domMaterial::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domMaterial,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "instance_effect" );
+ mea->setOffset( daeOffsetOf(domMaterial,elemInstance_effect) );
+ mea->setElementType( domInstance_effect::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domMaterial,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domMaterial , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domMaterial , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domMaterial));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domMatrix.cpp b/1.4.0/dom/src/1.5/dom/domMatrix.cpp
new file mode 100644
index 0000000..f700246
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domMatrix.cpp
@@ -0,0 +1,59 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domMatrix.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domMatrix::create(DAE& dae)
+{
+ domMatrixRef ref = new domMatrix(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domMatrix::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "matrix" );
+ meta->registerClass(domMatrix::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x4"));
+ ma->setOffset( daeOffsetOf( domMatrix , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domMatrix , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domMatrix));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domMesh.cpp b/1.4.0/dom/src/1.5/dom/domMesh.cpp
new file mode 100644
index 0000000..94a1079
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domMesh.cpp
@@ -0,0 +1,115 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domMesh.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domMesh::create(DAE& dae)
+{
+ domMeshRef ref = new domMesh(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domMesh::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mesh" );
+ meta->registerClass(domMesh::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "source" );
+ mea->setOffset( daeOffsetOf(domMesh,elemSource_array) );
+ mea->setElementType( domSource::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "vertices" );
+ mea->setOffset( daeOffsetOf(domMesh,elemVertices) );
+ mea->setElementType( domVertices::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 2, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "lines" );
+ mea->setOffset( daeOffsetOf(domMesh,elemLines_array) );
+ mea->setElementType( domLines::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "linestrips" );
+ mea->setOffset( daeOffsetOf(domMesh,elemLinestrips_array) );
+ mea->setElementType( domLinestrips::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "polygons" );
+ mea->setOffset( daeOffsetOf(domMesh,elemPolygons_array) );
+ mea->setElementType( domPolygons::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "polylist" );
+ mea->setOffset( daeOffsetOf(domMesh,elemPolylist_array) );
+ mea->setElementType( domPolylist::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "triangles" );
+ mea->setOffset( daeOffsetOf(domMesh,elemTriangles_array) );
+ mea->setElementType( domTriangles::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "trifans" );
+ mea->setOffset( daeOffsetOf(domMesh,elemTrifans_array) );
+ mea->setElementType( domTrifans::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "tristrips" );
+ mea->setOffset( daeOffsetOf(domMesh,elemTristrips_array) );
+ mea->setElementType( domTristrips::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3003, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domMesh,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3003 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domMesh,_contents));
+ meta->addContentsOrder(daeOffsetOf(domMesh,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domMesh,_CMData), 1);
+ meta->setElementSize(sizeof(domMesh));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domMinmax.cpp b/1.4.0/dom/src/1.5/dom/domMinmax.cpp
new file mode 100644
index 0000000..939c696
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domMinmax.cpp
@@ -0,0 +1,70 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domMinmax.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domMinmax::create(DAE& dae)
+{
+ domMinmaxRef ref = new domMinmax(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domMinmax::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "minmax" );
+ meta->registerClass(domMinmax::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domMinmax , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domMinmax , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domMinmax , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domMinmax));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domMorph.cpp b/1.4.0/dom/src/1.5/dom/domMorph.cpp
new file mode 100644
index 0000000..be93a0f
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domMorph.cpp
@@ -0,0 +1,133 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domMorph.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domMorph::create(DAE& dae)
+{
+ domMorphRef ref = new domMorph(dae);
+ ref->attrSource.setContainer( (domMorph*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domMorph::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "morph" );
+ meta->registerClass(domMorph::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 2, -1 );
+ mea->setName( "source" );
+ mea->setOffset( daeOffsetOf(domMorph,elemSource_array) );
+ mea->setElementType( domSource::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "targets" );
+ mea->setOffset( daeOffsetOf(domMorph,elemTargets) );
+ mea->setElementType( domMorph::domTargets::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domMorph,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: method
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "method" );
+ ma->setType( dae.getAtomicTypes().get("Morph_method"));
+ ma->setOffset( daeOffsetOf( domMorph , attrMethod ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "NORMALIZED");
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: source
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "source" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domMorph , attrSource ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domMorph));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domMorph::domTargets::create(DAE& dae)
+{
+ domMorph::domTargetsRef ref = new domMorph::domTargets(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domMorph::domTargets::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "targets" );
+ meta->registerClass(domMorph::domTargets::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 2, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domMorph::domTargets,elemInput_array) );
+ mea->setElementType( domInput_local::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domMorph::domTargets,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domMorph::domTargets));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domMotion.cpp b/1.4.0/dom/src/1.5/dom/domMotion.cpp
new file mode 100644
index 0000000..fa2fafa
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domMotion.cpp
@@ -0,0 +1,69 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domMotion.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domMotion::create(DAE& dae)
+{
+ domMotionRef ref = new domMotion(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domMotion::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "motion" );
+ meta->registerClass(domMotion::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "instance_articulated_system" );
+ mea->setOffset( daeOffsetOf(domMotion,elemInstance_articulated_system) );
+ mea->setElementType( domInstance_articulated_system::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "technique_common" );
+ mea->setOffset( daeOffsetOf(domMotion,elemTechnique_common) );
+ mea->setElementType( domMotion_technique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domMotion,elemTechnique_array) );
+ mea->setElementType( domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domMotion,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domMotion));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domMotion_axis_info.cpp b/1.4.0/dom/src/1.5/dom/domMotion_axis_info.cpp
new file mode 100644
index 0000000..9cf03d9
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domMotion_axis_info.cpp
@@ -0,0 +1,121 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domMotion_axis_info.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domMotion_axis_info::create(DAE& dae)
+{
+ domMotion_axis_infoRef ref = new domMotion_axis_info(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domMotion_axis_info::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "motion_axis_info" );
+ meta->registerClass(domMotion_axis_info::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "bind" );
+ mea->setOffset( daeOffsetOf(domMotion_axis_info,elemBind_array) );
+ mea->setElementType( domKinematics_bind::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "newparam" );
+ mea->setOffset( daeOffsetOf(domMotion_axis_info,elemNewparam_array) );
+ mea->setElementType( domKinematics_newparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "setparam" );
+ mea->setOffset( daeOffsetOf(domMotion_axis_info,elemSetparam_array) );
+ mea->setElementType( domKinematics_setparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "speed" );
+ mea->setOffset( daeOffsetOf(domMotion_axis_info,elemSpeed) );
+ mea->setElementType( domCommon_float_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "acceleration" );
+ mea->setOffset( daeOffsetOf(domMotion_axis_info,elemAcceleration) );
+ mea->setElementType( domCommon_float_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "deceleration" );
+ mea->setOffset( daeOffsetOf(domMotion_axis_info,elemDeceleration) );
+ mea->setElementType( domCommon_float_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "jerk" );
+ mea->setOffset( daeOffsetOf(domMotion_axis_info,elemJerk) );
+ mea->setElementType( domCommon_float_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 6 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domMotion_axis_info , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: axis
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "axis" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domMotion_axis_info , attrAxis ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domMotion_axis_info , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domMotion_axis_info));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domMotion_effector_info.cpp b/1.4.0/dom/src/1.5/dom/domMotion_effector_info.cpp
new file mode 100644
index 0000000..f7fbb68
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domMotion_effector_info.cpp
@@ -0,0 +1,109 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domMotion_effector_info.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domMotion_effector_info::create(DAE& dae)
+{
+ domMotion_effector_infoRef ref = new domMotion_effector_info(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domMotion_effector_info::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "motion_effector_info" );
+ meta->registerClass(domMotion_effector_info::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "bind" );
+ mea->setOffset( daeOffsetOf(domMotion_effector_info,elemBind_array) );
+ mea->setElementType( domKinematics_bind::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "newparam" );
+ mea->setOffset( daeOffsetOf(domMotion_effector_info,elemNewparam_array) );
+ mea->setElementType( domKinematics_newparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "setparam" );
+ mea->setOffset( daeOffsetOf(domMotion_effector_info,elemSetparam_array) );
+ mea->setElementType( domKinematics_setparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "speed" );
+ mea->setOffset( daeOffsetOf(domMotion_effector_info,elemSpeed) );
+ mea->setElementType( domCommon_float2_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "acceleration" );
+ mea->setOffset( daeOffsetOf(domMotion_effector_info,elemAcceleration) );
+ mea->setElementType( domCommon_float2_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "deceleration" );
+ mea->setOffset( daeOffsetOf(domMotion_effector_info,elemDeceleration) );
+ mea->setElementType( domCommon_float2_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "jerk" );
+ mea->setOffset( daeOffsetOf(domMotion_effector_info,elemJerk) );
+ mea->setElementType( domCommon_float2_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 6 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domMotion_effector_info , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domMotion_effector_info , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domMotion_effector_info));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domMotion_technique.cpp b/1.4.0/dom/src/1.5/dom/domMotion_technique.cpp
new file mode 100644
index 0000000..9c2a1a9
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domMotion_technique.cpp
@@ -0,0 +1,57 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domMotion_technique.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domMotion_technique::create(DAE& dae)
+{
+ domMotion_techniqueRef ref = new domMotion_technique(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domMotion_technique::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "motion_technique" );
+ meta->registerClass(domMotion_technique::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "axis_info" );
+ mea->setOffset( daeOffsetOf(domMotion_technique,elemAxis_info_array) );
+ mea->setElementType( domMotion_axis_info::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "effector_info" );
+ mea->setOffset( daeOffsetOf(domMotion_technique,elemEffector_info) );
+ mea->setElementType( domMotion_effector_info::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domMotion_technique));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domName_array.cpp b/1.4.0/dom/src/1.5/dom/domName_array.cpp
new file mode 100644
index 0000000..fcebc06
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domName_array.cpp
@@ -0,0 +1,82 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domName_array.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domName_array::create(DAE& dae)
+{
+ domName_arrayRef ref = new domName_array(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domName_array::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "name_array" );
+ meta->registerClass(domName_array::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("List_of_names"));
+ ma->setOffset( daeOffsetOf( domName_array , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domName_array , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domName_array , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domName_array , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domName_array));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domNode.cpp b/1.4.0/dom/src/1.5/dom/domNode.cpp
new file mode 100644
index 0000000..75e2e98
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domNode.cpp
@@ -0,0 +1,195 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domNode.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domNode::create(DAE& dae)
+{
+ domNodeRef ref = new domNode(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domNode::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "node" );
+ meta->registerClass(domNode::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domNode,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "lookat" );
+ mea->setOffset( daeOffsetOf(domNode,elemLookat_array) );
+ mea->setElementType( domLookat::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "matrix" );
+ mea->setOffset( daeOffsetOf(domNode,elemMatrix_array) );
+ mea->setElementType( domMatrix::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "rotate" );
+ mea->setOffset( daeOffsetOf(domNode,elemRotate_array) );
+ mea->setElementType( domRotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "scale" );
+ mea->setOffset( daeOffsetOf(domNode,elemScale_array) );
+ mea->setElementType( domScale::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "skew" );
+ mea->setOffset( daeOffsetOf(domNode,elemSkew_array) );
+ mea->setElementType( domSkew::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "translate" );
+ mea->setOffset( daeOffsetOf(domNode,elemTranslate_array) );
+ mea->setElementType( domTranslate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3002, 0, -1 );
+ mea->setName( "instance_camera" );
+ mea->setOffset( daeOffsetOf(domNode,elemInstance_camera_array) );
+ mea->setElementType( domInstance_camera::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3003, 0, -1 );
+ mea->setName( "instance_controller" );
+ mea->setOffset( daeOffsetOf(domNode,elemInstance_controller_array) );
+ mea->setElementType( domInstance_controller::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3004, 0, -1 );
+ mea->setName( "instance_geometry" );
+ mea->setOffset( daeOffsetOf(domNode,elemInstance_geometry_array) );
+ mea->setElementType( domInstance_geometry::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3005, 0, -1 );
+ mea->setName( "instance_light" );
+ mea->setOffset( daeOffsetOf(domNode,elemInstance_light_array) );
+ mea->setElementType( domInstance_light::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3006, 0, -1 );
+ mea->setName( "instance_node" );
+ mea->setOffset( daeOffsetOf(domNode,elemInstance_node_array) );
+ mea->setElementType( domInstance_node::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3007, 0, -1 );
+ mea->setName( "node" );
+ mea->setOffset( daeOffsetOf(domNode,elemNode_array) );
+ mea->setElementType( domNode::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3008, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domNode,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3008 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domNode,_contents));
+ meta->addContentsOrder(daeOffsetOf(domNode,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domNode,_CMData), 1);
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domNode , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domNode , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domNode , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: type
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "type" );
+ ma->setType( dae.getAtomicTypes().get("Node_enum"));
+ ma->setOffset( daeOffsetOf( domNode , attrType ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "NODE");
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: layer
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "layer" );
+ ma->setType( dae.getAtomicTypes().get("List_of_names"));
+ ma->setOffset( daeOffsetOf( domNode , attrLayer ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domNode));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domNurbs.cpp b/1.4.0/dom/src/1.5/dom/domNurbs.cpp
new file mode 100644
index 0000000..31057a6
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domNurbs.cpp
@@ -0,0 +1,132 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domNurbs.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domNurbs::create(DAE& dae)
+{
+ domNurbsRef ref = new domNurbs(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domNurbs::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "nurbs" );
+ meta->registerClass(domNurbs::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "source" );
+ mea->setOffset( daeOffsetOf(domNurbs,elemSource_array) );
+ mea->setElementType( domSource::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "control_vertices" );
+ mea->setOffset( daeOffsetOf(domNurbs,elemControl_vertices) );
+ mea->setElementType( domNurbs::domControl_vertices::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domNurbs,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: degree
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "degree" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domNurbs , attrDegree ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: closed
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "closed" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domNurbs , attrClosed ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domNurbs));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domNurbs::domControl_vertices::create(DAE& dae)
+{
+ domNurbs::domControl_verticesRef ref = new domNurbs::domControl_vertices(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domNurbs::domControl_vertices::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "control_vertices" );
+ meta->registerClass(domNurbs::domControl_vertices::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domNurbs::domControl_vertices,elemInput_array) );
+ mea->setElementType( domInput_local::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domNurbs::domControl_vertices,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domNurbs::domControl_vertices));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domNurbs_surface.cpp b/1.4.0/dom/src/1.5/dom/domNurbs_surface.cpp
new file mode 100644
index 0000000..16a1223
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domNurbs_surface.cpp
@@ -0,0 +1,156 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domNurbs_surface.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domNurbs_surface::create(DAE& dae)
+{
+ domNurbs_surfaceRef ref = new domNurbs_surface(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domNurbs_surface::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "nurbs_surface" );
+ meta->registerClass(domNurbs_surface::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "source" );
+ mea->setOffset( daeOffsetOf(domNurbs_surface,elemSource_array) );
+ mea->setElementType( domSource::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "control_vertices" );
+ mea->setOffset( daeOffsetOf(domNurbs_surface,elemControl_vertices) );
+ mea->setElementType( domNurbs_surface::domControl_vertices::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domNurbs_surface,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: degree_u
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "degree_u" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domNurbs_surface , attrDegree_u ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: closed_u
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "closed_u" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domNurbs_surface , attrClosed_u ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: degree_v
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "degree_v" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domNurbs_surface , attrDegree_v ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: closed_v
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "closed_v" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domNurbs_surface , attrClosed_v ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domNurbs_surface));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domNurbs_surface::domControl_vertices::create(DAE& dae)
+{
+ domNurbs_surface::domControl_verticesRef ref = new domNurbs_surface::domControl_vertices(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domNurbs_surface::domControl_vertices::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "control_vertices" );
+ meta->registerClass(domNurbs_surface::domControl_vertices::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domNurbs_surface::domControl_vertices,elemInput_array) );
+ mea->setElementType( domInput_local::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domNurbs_surface::domControl_vertices,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domNurbs_surface::domControl_vertices));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domOrient.cpp b/1.4.0/dom/src/1.5/dom/domOrient.cpp
new file mode 100644
index 0000000..aab99bb
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domOrient.cpp
@@ -0,0 +1,48 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domOrient.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domOrient::create(DAE& dae)
+{
+ domOrientRef ref = new domOrient(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domOrient::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "orient" );
+ meta->registerClass(domOrient::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domOrient , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domOrient));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domOrigin.cpp b/1.4.0/dom/src/1.5/dom/domOrigin.cpp
new file mode 100644
index 0000000..b2e36fb
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domOrigin.cpp
@@ -0,0 +1,48 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domOrigin.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domOrigin::create(DAE& dae)
+{
+ domOriginRef ref = new domOrigin(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domOrigin::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "origin" );
+ meta->registerClass(domOrigin::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domOrigin , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domOrigin));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domP.cpp b/1.4.0/dom/src/1.5/dom/domP.cpp
new file mode 100644
index 0000000..e088b4c
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domP.cpp
@@ -0,0 +1,48 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domP.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domP::create(DAE& dae)
+{
+ domPRef ref = new domP(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domP::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "p" );
+ meta->registerClass(domP::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("List_of_uints"));
+ ma->setOffset( daeOffsetOf( domP , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domP));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domParabola.cpp b/1.4.0/dom/src/1.5/dom/domParabola.cpp
new file mode 100644
index 0000000..1c48ceb
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domParabola.cpp
@@ -0,0 +1,93 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domParabola.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domParabola::create(DAE& dae)
+{
+ domParabolaRef ref = new domParabola(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domParabola::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "parabola" );
+ meta->registerClass(domParabola::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "focal" );
+ mea->setOffset( daeOffsetOf(domParabola,elemFocal) );
+ mea->setElementType( domParabola::domFocal::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domParabola,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domParabola));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domParabola::domFocal::create(DAE& dae)
+{
+ domParabola::domFocalRef ref = new domParabola::domFocal(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domParabola::domFocal::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "focal" );
+ meta->registerClass(domParabola::domFocal::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domParabola::domFocal , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domParabola::domFocal));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domParam.cpp b/1.4.0/dom/src/1.5/dom/domParam.cpp
new file mode 100644
index 0000000..1b800dc
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domParam.cpp
@@ -0,0 +1,93 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domParam.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domParam::create(DAE& dae)
+{
+ domParamRef ref = new domParam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domParam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "param" );
+ meta->registerClass(domParam::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsString"));
+ ma->setOffset( daeOffsetOf( domParam , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domParam , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domParam , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: semantic
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "semantic" );
+ ma->setType( dae.getAtomicTypes().get("xsNMTOKEN"));
+ ma->setOffset( daeOffsetOf( domParam , attrSemantic ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: type
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "type" );
+ ma->setType( dae.getAtomicTypes().get("xsNMTOKEN"));
+ ma->setOffset( daeOffsetOf( domParam , attrType ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domParam));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domPcurves.cpp b/1.4.0/dom/src/1.5/dom/domPcurves.cpp
new file mode 100644
index 0000000..5d61e7e
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domPcurves.cpp
@@ -0,0 +1,141 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domPcurves.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domPcurves::create(DAE& dae)
+{
+ domPcurvesRef ref = new domPcurves(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domPcurves::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "pcurves" );
+ meta->registerClass(domPcurves::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 3, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domPcurves,elemInput_array) );
+ mea->setElementType( domInput_local_offset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "vcount" );
+ mea->setOffset( daeOffsetOf(domPcurves,elemVcount) );
+ mea->setElementType( domPcurves::domVcount::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "p" );
+ mea->setOffset( daeOffsetOf(domPcurves,elemP) );
+ mea->setElementType( domP::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domPcurves,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domPcurves , attrId ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domPcurves , attrName ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domPcurves , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domPcurves));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domPcurves::domVcount::create(DAE& dae)
+{
+ domPcurves::domVcountRef ref = new domPcurves::domVcount(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domPcurves::domVcount::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "vcount" );
+ meta->registerClass(domPcurves::domVcount::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("List_of_uints"));
+ ma->setOffset( daeOffsetOf( domPcurves::domVcount , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domPcurves::domVcount));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domPhysics_material.cpp b/1.4.0/dom/src/1.5/dom/domPhysics_material.cpp
new file mode 100644
index 0000000..a2b7615
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domPhysics_material.cpp
@@ -0,0 +1,142 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domPhysics_material.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domPhysics_material::create(DAE& dae)
+{
+ domPhysics_materialRef ref = new domPhysics_material(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domPhysics_material::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "physics_material" );
+ meta->registerClass(domPhysics_material::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domPhysics_material,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "technique_common" );
+ mea->setOffset( daeOffsetOf(domPhysics_material,elemTechnique_common) );
+ mea->setElementType( domPhysics_material::domTechnique_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domPhysics_material,elemTechnique_array) );
+ mea->setElementType( domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domPhysics_material,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domPhysics_material , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domPhysics_material , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domPhysics_material));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domPhysics_material::domTechnique_common::create(DAE& dae)
+{
+ domPhysics_material::domTechnique_commonRef ref = new domPhysics_material::domTechnique_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domPhysics_material::domTechnique_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique_common" );
+ meta->registerClass(domPhysics_material::domTechnique_common::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "dynamic_friction" );
+ mea->setOffset( daeOffsetOf(domPhysics_material::domTechnique_common,elemDynamic_friction) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "restitution" );
+ mea->setOffset( daeOffsetOf(domPhysics_material::domTechnique_common,elemRestitution) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "static_friction" );
+ mea->setOffset( daeOffsetOf(domPhysics_material::domTechnique_common,elemStatic_friction) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domPhysics_material::domTechnique_common));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domPhysics_model.cpp b/1.4.0/dom/src/1.5/dom/domPhysics_model.cpp
new file mode 100644
index 0000000..4904776
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domPhysics_model.cpp
@@ -0,0 +1,97 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domPhysics_model.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domPhysics_model::create(DAE& dae)
+{
+ domPhysics_modelRef ref = new domPhysics_model(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domPhysics_model::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "physics_model" );
+ meta->registerClass(domPhysics_model::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domPhysics_model,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "rigid_body" );
+ mea->setOffset( daeOffsetOf(domPhysics_model,elemRigid_body_array) );
+ mea->setElementType( domRigid_body::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "rigid_constraint" );
+ mea->setOffset( daeOffsetOf(domPhysics_model,elemRigid_constraint_array) );
+ mea->setElementType( domRigid_constraint::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "instance_physics_model" );
+ mea->setOffset( daeOffsetOf(domPhysics_model,elemInstance_physics_model_array) );
+ mea->setElementType( domInstance_physics_model::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 4, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domPhysics_model,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 4 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domPhysics_model , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domPhysics_model , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domPhysics_model));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domPhysics_scene.cpp b/1.4.0/dom/src/1.5/dom/domPhysics_scene.cpp
new file mode 100644
index 0000000..271a5ba
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domPhysics_scene.cpp
@@ -0,0 +1,148 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domPhysics_scene.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domPhysics_scene::create(DAE& dae)
+{
+ domPhysics_sceneRef ref = new domPhysics_scene(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domPhysics_scene::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "physics_scene" );
+ meta->registerClass(domPhysics_scene::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domPhysics_scene,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "instance_force_field" );
+ mea->setOffset( daeOffsetOf(domPhysics_scene,elemInstance_force_field_array) );
+ mea->setElementType( domInstance_force_field::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "instance_physics_model" );
+ mea->setOffset( daeOffsetOf(domPhysics_scene,elemInstance_physics_model_array) );
+ mea->setElementType( domInstance_physics_model::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 1, 1 );
+ mea->setName( "technique_common" );
+ mea->setOffset( daeOffsetOf(domPhysics_scene,elemTechnique_common) );
+ mea->setElementType( domPhysics_scene::domTechnique_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 4, 0, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domPhysics_scene,elemTechnique_array) );
+ mea->setElementType( domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 5, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domPhysics_scene,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 5 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domPhysics_scene , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domPhysics_scene , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domPhysics_scene));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domPhysics_scene::domTechnique_common::create(DAE& dae)
+{
+ domPhysics_scene::domTechnique_commonRef ref = new domPhysics_scene::domTechnique_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domPhysics_scene::domTechnique_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique_common" );
+ meta->registerClass(domPhysics_scene::domTechnique_common::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "gravity" );
+ mea->setOffset( daeOffsetOf(domPhysics_scene::domTechnique_common,elemGravity) );
+ mea->setElementType( domTargetable_float3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "time_step" );
+ mea->setOffset( daeOffsetOf(domPhysics_scene::domTechnique_common,elemTime_step) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domPhysics_scene::domTechnique_common));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domPlane.cpp b/1.4.0/dom/src/1.5/dom/domPlane.cpp
new file mode 100644
index 0000000..4aff4a1
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domPlane.cpp
@@ -0,0 +1,93 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domPlane.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domPlane::create(DAE& dae)
+{
+ domPlaneRef ref = new domPlane(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domPlane::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "plane" );
+ meta->registerClass(domPlane::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "equation" );
+ mea->setOffset( daeOffsetOf(domPlane,elemEquation) );
+ mea->setElementType( domPlane::domEquation::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domPlane,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domPlane));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domPlane::domEquation::create(DAE& dae)
+{
+ domPlane::domEquationRef ref = new domPlane::domEquation(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domPlane::domEquation::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "equation" );
+ meta->registerClass(domPlane::domEquation::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domPlane::domEquation , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domPlane::domEquation));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domPolygons.cpp b/1.4.0/dom/src/1.5/dom/domPolygons.cpp
new file mode 100644
index 0000000..3e6370a
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domPolygons.cpp
@@ -0,0 +1,194 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domPolygons.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domPolygons::create(DAE& dae)
+{
+ domPolygonsRef ref = new domPolygons(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domPolygons::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "polygons" );
+ meta->registerClass(domPolygons::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domPolygons,elemInput_array) );
+ mea->setElementType( domInput_local_offset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "p" );
+ mea->setOffset( daeOffsetOf(domPolygons,elemP_array) );
+ mea->setElementType( domP::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "ph" );
+ mea->setOffset( daeOffsetOf(domPolygons,elemPh_array) );
+ mea->setElementType( domPolygons::domPh::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3002, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domPolygons,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3002 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domPolygons,_contents));
+ meta->addContentsOrder(daeOffsetOf(domPolygons,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domPolygons,_CMData), 1);
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domPolygons , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domPolygons , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: material
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "material" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domPolygons , attrMaterial ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domPolygons));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domPolygons::domPh::create(DAE& dae)
+{
+ domPolygons::domPhRef ref = new domPolygons::domPh(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domPolygons::domPh::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "ph" );
+ meta->registerClass(domPolygons::domPh::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "p" );
+ mea->setOffset( daeOffsetOf(domPolygons::domPh,elemP) );
+ mea->setElementType( domP::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "h" );
+ mea->setOffset( daeOffsetOf(domPolygons::domPh,elemH_array) );
+ mea->setElementType( domPolygons::domPh::domH::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domPolygons::domPh));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domPolygons::domPh::domH::create(DAE& dae)
+{
+ domPolygons::domPh::domHRef ref = new domPolygons::domPh::domH(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domPolygons::domPh::domH::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "h" );
+ meta->registerClass(domPolygons::domPh::domH::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("List_of_uints"));
+ ma->setOffset( daeOffsetOf( domPolygons::domPh::domH , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domPolygons::domPh::domH));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domPolylist.cpp b/1.4.0/dom/src/1.5/dom/domPolylist.cpp
new file mode 100644
index 0000000..645bf09
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domPolylist.cpp
@@ -0,0 +1,139 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domPolylist.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domPolylist::create(DAE& dae)
+{
+ domPolylistRef ref = new domPolylist(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domPolylist::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "polylist" );
+ meta->registerClass(domPolylist::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domPolylist,elemInput_array) );
+ mea->setElementType( domInput_local_offset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "vcount" );
+ mea->setOffset( daeOffsetOf(domPolylist,elemVcount) );
+ mea->setElementType( domPolylist::domVcount::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "p" );
+ mea->setOffset( daeOffsetOf(domPolylist,elemP) );
+ mea->setElementType( domP::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domPolylist,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domPolylist , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domPolylist , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: material
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "material" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domPolylist , attrMaterial ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domPolylist));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domPolylist::domVcount::create(DAE& dae)
+{
+ domPolylist::domVcountRef ref = new domPolylist::domVcount(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domPolylist::domVcount::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "vcount" );
+ meta->registerClass(domPolylist::domVcount::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("List_of_uints"));
+ ma->setOffset( daeOffsetOf( domPolylist::domVcount , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domPolylist::domVcount));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domProfile_bridge.cpp b/1.4.0/dom/src/1.5/dom/domProfile_bridge.cpp
new file mode 100644
index 0000000..8d36381
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domProfile_bridge.cpp
@@ -0,0 +1,93 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domProfile_bridge.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domProfile_bridge::create(DAE& dae)
+{
+ domProfile_bridgeRef ref = new domProfile_bridge(dae);
+ ref->attrUrl.setContainer( (domProfile_bridge*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_bridge::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "profile_bridge" );
+ meta->registerClass(domProfile_bridge::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domProfile_bridge,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domProfile_bridge,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domProfile_bridge , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: platform
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "platform" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domProfile_bridge , attrPlatform ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domProfile_bridge , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_bridge));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domProfile_cg.cpp b/1.4.0/dom/src/1.5/dom/domProfile_cg.cpp
new file mode 100644
index 0000000..17b2fc7
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domProfile_cg.cpp
@@ -0,0 +1,196 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domProfile_cg.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domProfile_cg::create(DAE& dae)
+{
+ domProfile_cgRef ref = new domProfile_cg(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_cg::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "profile_cg" );
+ meta->registerClass(domProfile_cg::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domProfile_cg,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "code" );
+ mea->setOffset( daeOffsetOf(domProfile_cg,elemCode_array) );
+ mea->setElementType( domFx_code::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "include" );
+ mea->setOffset( daeOffsetOf(domProfile_cg,elemInclude_array) );
+ mea->setElementType( domFx_include::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3002, 0, -1 );
+ mea->setName( "newparam" );
+ mea->setOffset( daeOffsetOf(domProfile_cg,elemNewparam_array) );
+ mea->setElementType( domCg_newparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3003, 1, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domProfile_cg,elemTechnique_array) );
+ mea->setElementType( domProfile_cg::domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3004, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domProfile_cg,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3004 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domProfile_cg,_contents));
+ meta->addContentsOrder(daeOffsetOf(domProfile_cg,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domProfile_cg,_CMData), 1);
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domProfile_cg , attrId ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: platform
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "platform" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domProfile_cg , attrPlatform ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "PC");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_cg));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_cg::domTechnique::create(DAE& dae)
+{
+ domProfile_cg::domTechniqueRef ref = new domProfile_cg::domTechnique(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_cg::domTechnique::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique" );
+ meta->registerClass(domProfile_cg::domTechnique::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domProfile_cg::domTechnique,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domProfile_cg::domTechnique,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 1, -1 );
+ mea->setName( "pass" );
+ mea->setOffset( daeOffsetOf(domProfile_cg::domTechnique,elemPass_array) );
+ mea->setElementType( domCg_pass::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domProfile_cg::domTechnique,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domProfile_cg::domTechnique , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domProfile_cg::domTechnique , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_cg::domTechnique));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domProfile_common.cpp b/1.4.0/dom/src/1.5/dom/domProfile_common.cpp
new file mode 100644
index 0000000..ab7d175
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domProfile_common.cpp
@@ -0,0 +1,519 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domProfile_common.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domProfile_common::create(DAE& dae)
+{
+ domProfile_commonRef ref = new domProfile_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "profile_common" );
+ meta->registerClass(domProfile_common::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domProfile_common,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "newparam" );
+ mea->setOffset( daeOffsetOf(domProfile_common,elemNewparam_array) );
+ mea->setElementType( domFx_common_newparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domProfile_common,elemTechnique) );
+ mea->setElementType( domProfile_common::domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domProfile_common,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domProfile_common , attrId ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_common));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_common::domTechnique::create(DAE& dae)
+{
+ domProfile_common::domTechniqueRef ref = new domProfile_common::domTechnique(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_common::domTechnique::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique" );
+ meta->registerClass(domProfile_common::domTechnique::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "constant" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique,elemConstant) );
+ mea->setElementType( domProfile_common::domTechnique::domConstant::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "lambert" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique,elemLambert) );
+ mea->setElementType( domProfile_common::domTechnique::domLambert::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "phong" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique,elemPhong) );
+ mea->setElementType( domProfile_common::domTechnique::domPhong::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "blinn" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique,elemBlinn) );
+ mea->setElementType( domProfile_common::domTechnique::domBlinn::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domProfile_common::domTechnique,_contents));
+ meta->addContentsOrder(daeOffsetOf(domProfile_common::domTechnique,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domProfile_common::domTechnique,_CMData), 1);
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domProfile_common::domTechnique , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domProfile_common::domTechnique , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_common::domTechnique));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_common::domTechnique::domConstant::create(DAE& dae)
+{
+ domProfile_common::domTechnique::domConstantRef ref = new domProfile_common::domTechnique::domConstant(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_common::domTechnique::domConstant::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "constant" );
+ meta->registerClass(domProfile_common::domTechnique::domConstant::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "emission" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domConstant,elemEmission) );
+ mea->setElementType( domFx_common_color_or_texture::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "reflective" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domConstant,elemReflective) );
+ mea->setElementType( domFx_common_color_or_texture::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "reflectivity" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domConstant,elemReflectivity) );
+ mea->setElementType( domFx_common_float_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "transparent" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domConstant,elemTransparent) );
+ mea->setElementType( domFx_common_transparent::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "transparency" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domConstant,elemTransparency) );
+ mea->setElementType( domFx_common_float_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "index_of_refraction" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domConstant,elemIndex_of_refraction) );
+ mea->setElementType( domFx_common_float_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 5 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domProfile_common::domTechnique::domConstant));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_common::domTechnique::domLambert::create(DAE& dae)
+{
+ domProfile_common::domTechnique::domLambertRef ref = new domProfile_common::domTechnique::domLambert(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_common::domTechnique::domLambert::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "lambert" );
+ meta->registerClass(domProfile_common::domTechnique::domLambert::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "emission" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domLambert,elemEmission) );
+ mea->setElementType( domFx_common_color_or_texture::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "ambient" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domLambert,elemAmbient) );
+ mea->setElementType( domFx_common_color_or_texture::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "diffuse" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domLambert,elemDiffuse) );
+ mea->setElementType( domFx_common_color_or_texture::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "reflective" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domLambert,elemReflective) );
+ mea->setElementType( domFx_common_color_or_texture::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "reflectivity" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domLambert,elemReflectivity) );
+ mea->setElementType( domFx_common_float_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "transparent" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domLambert,elemTransparent) );
+ mea->setElementType( domFx_common_transparent::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "transparency" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domLambert,elemTransparency) );
+ mea->setElementType( domFx_common_float_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 7, 0, 1 );
+ mea->setName( "index_of_refraction" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domLambert,elemIndex_of_refraction) );
+ mea->setElementType( domFx_common_float_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 7 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domProfile_common::domTechnique::domLambert));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_common::domTechnique::domPhong::create(DAE& dae)
+{
+ domProfile_common::domTechnique::domPhongRef ref = new domProfile_common::domTechnique::domPhong(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_common::domTechnique::domPhong::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "phong" );
+ meta->registerClass(domProfile_common::domTechnique::domPhong::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "emission" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domPhong,elemEmission) );
+ mea->setElementType( domFx_common_color_or_texture::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "ambient" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domPhong,elemAmbient) );
+ mea->setElementType( domFx_common_color_or_texture::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "diffuse" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domPhong,elemDiffuse) );
+ mea->setElementType( domFx_common_color_or_texture::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "specular" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domPhong,elemSpecular) );
+ mea->setElementType( domFx_common_color_or_texture::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "shininess" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domPhong,elemShininess) );
+ mea->setElementType( domFx_common_float_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "reflective" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domPhong,elemReflective) );
+ mea->setElementType( domFx_common_color_or_texture::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "reflectivity" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domPhong,elemReflectivity) );
+ mea->setElementType( domFx_common_float_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 7, 0, 1 );
+ mea->setName( "transparent" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domPhong,elemTransparent) );
+ mea->setElementType( domFx_common_transparent::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 8, 0, 1 );
+ mea->setName( "transparency" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domPhong,elemTransparency) );
+ mea->setElementType( domFx_common_float_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 9, 0, 1 );
+ mea->setName( "index_of_refraction" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domPhong,elemIndex_of_refraction) );
+ mea->setElementType( domFx_common_float_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 9 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domProfile_common::domTechnique::domPhong));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_common::domTechnique::domBlinn::create(DAE& dae)
+{
+ domProfile_common::domTechnique::domBlinnRef ref = new domProfile_common::domTechnique::domBlinn(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_common::domTechnique::domBlinn::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "blinn" );
+ meta->registerClass(domProfile_common::domTechnique::domBlinn::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "emission" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domBlinn,elemEmission) );
+ mea->setElementType( domFx_common_color_or_texture::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "ambient" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domBlinn,elemAmbient) );
+ mea->setElementType( domFx_common_color_or_texture::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "diffuse" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domBlinn,elemDiffuse) );
+ mea->setElementType( domFx_common_color_or_texture::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "specular" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domBlinn,elemSpecular) );
+ mea->setElementType( domFx_common_color_or_texture::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
+ mea->setName( "shininess" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domBlinn,elemShininess) );
+ mea->setElementType( domFx_common_float_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
+ mea->setName( "reflective" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domBlinn,elemReflective) );
+ mea->setElementType( domFx_common_color_or_texture::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "reflectivity" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domBlinn,elemReflectivity) );
+ mea->setElementType( domFx_common_float_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 7, 0, 1 );
+ mea->setName( "transparent" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domBlinn,elemTransparent) );
+ mea->setElementType( domFx_common_transparent::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 8, 0, 1 );
+ mea->setName( "transparency" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domBlinn,elemTransparency) );
+ mea->setElementType( domFx_common_float_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 9, 0, 1 );
+ mea->setName( "index_of_refraction" );
+ mea->setOffset( daeOffsetOf(domProfile_common::domTechnique::domBlinn,elemIndex_of_refraction) );
+ mea->setElementType( domFx_common_float_or_param::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 9 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domProfile_common::domTechnique::domBlinn));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domProfile_gles.cpp b/1.4.0/dom/src/1.5/dom/domProfile_gles.cpp
new file mode 100644
index 0000000..ea125bc
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domProfile_gles.cpp
@@ -0,0 +1,393 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domProfile_gles.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domProfile_gles::create(DAE& dae)
+{
+ domProfile_glesRef ref = new domProfile_gles(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_gles::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "profile_gles" );
+ meta->registerClass(domProfile_gles::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domProfile_gles,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "newparam" );
+ mea->setOffset( daeOffsetOf(domProfile_gles,elemNewparam_array) );
+ mea->setElementType( domGles_newparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 1, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domProfile_gles,elemTechnique_array) );
+ mea->setElementType( domProfile_gles::domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domProfile_gles,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domProfile_gles , attrId ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: platform
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "platform" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domProfile_gles , attrPlatform ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "PC");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_gles));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_gles::domTechnique::create(DAE& dae)
+{
+ domProfile_gles::domTechniqueRef ref = new domProfile_gles::domTechnique(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_gles::domTechnique::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique" );
+ meta->registerClass(domProfile_gles::domTechnique::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domProfile_gles::domTechnique,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domProfile_gles::domTechnique,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 1, -1 );
+ mea->setName( "pass" );
+ mea->setOffset( daeOffsetOf(domProfile_gles::domTechnique,elemPass_array) );
+ mea->setElementType( domProfile_gles::domTechnique::domPass::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domProfile_gles::domTechnique,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domProfile_gles::domTechnique , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domProfile_gles::domTechnique , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_gles::domTechnique));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_gles::domTechnique::domPass::create(DAE& dae)
+{
+ domProfile_gles::domTechnique::domPassRef ref = new domProfile_gles::domTechnique::domPass(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_gles::domTechnique::domPass::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "pass" );
+ meta->registerClass(domProfile_gles::domTechnique::domPass::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domProfile_gles::domTechnique::domPass,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "states" );
+ mea->setOffset( daeOffsetOf(domProfile_gles::domTechnique::domPass,elemStates) );
+ mea->setElementType( domProfile_gles::domTechnique::domPass::domStates::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "evaluate" );
+ mea->setOffset( daeOffsetOf(domProfile_gles::domTechnique::domPass,elemEvaluate) );
+ mea->setElementType( domProfile_gles::domTechnique::domPass::domEvaluate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domProfile_gles::domTechnique::domPass,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domProfile_gles::domTechnique::domPass , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_gles::domTechnique::domPass));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_gles::domTechnique::domPass::domStates::create(DAE& dae)
+{
+ domProfile_gles::domTechnique::domPass::domStatesRef ref = new domProfile_gles::domTechnique::domPass::domStates(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_gles::domTechnique::domPass::domStates::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "states" );
+ meta->registerClass(domProfile_gles::domTechnique::domPass::domStates::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "gles_pipeline_settings" );
+ mea->setOffset( daeOffsetOf(domProfile_gles::domTechnique::domPass::domStates,elemGles_pipeline_settings_array) );
+ mea->setElementType( domGles_pipeline_settings::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 0, -1 ) );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domProfile_gles::domTechnique::domPass::domStates));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_gles::domTechnique::domPass::domEvaluate::create(DAE& dae)
+{
+ domProfile_gles::domTechnique::domPass::domEvaluateRef ref = new domProfile_gles::domTechnique::domPass::domEvaluate(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_gles::domTechnique::domPass::domEvaluate::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "evaluate" );
+ meta->registerClass(domProfile_gles::domTechnique::domPass::domEvaluate::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "color_target" );
+ mea->setOffset( daeOffsetOf(domProfile_gles::domTechnique::domPass::domEvaluate,elemColor_target_array) );
+ mea->setElementType( domFx_colortarget::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "depth_target" );
+ mea->setOffset( daeOffsetOf(domProfile_gles::domTechnique::domPass::domEvaluate,elemDepth_target_array) );
+ mea->setElementType( domFx_depthtarget::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "stencil_target" );
+ mea->setOffset( daeOffsetOf(domProfile_gles::domTechnique::domPass::domEvaluate,elemStencil_target_array) );
+ mea->setElementType( domFx_stenciltarget::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "color_clear" );
+ mea->setOffset( daeOffsetOf(domProfile_gles::domTechnique::domPass::domEvaluate,elemColor_clear_array) );
+ mea->setElementType( domFx_clearcolor::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 4, 0, -1 );
+ mea->setName( "depth_clear" );
+ mea->setOffset( daeOffsetOf(domProfile_gles::domTechnique::domPass::domEvaluate,elemDepth_clear_array) );
+ mea->setElementType( domFx_cleardepth::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 5, 0, -1 );
+ mea->setName( "stencil_clear" );
+ mea->setOffset( daeOffsetOf(domProfile_gles::domTechnique::domPass::domEvaluate,elemStencil_clear_array) );
+ mea->setElementType( domFx_clearstencil::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "draw" );
+ mea->setOffset( daeOffsetOf(domProfile_gles::domTechnique::domPass::domEvaluate,elemDraw) );
+ mea->setElementType( domProfile_gles::domTechnique::domPass::domEvaluate::domDraw::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 6 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domProfile_gles::domTechnique::domPass::domEvaluate));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_gles::domTechnique::domPass::domEvaluate::domDraw::create(DAE& dae)
+{
+ domProfile_gles::domTechnique::domPass::domEvaluate::domDrawRef ref = new domProfile_gles::domTechnique::domPass::domEvaluate::domDraw(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_gles::domTechnique::domPass::domEvaluate::domDraw::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "draw" );
+ meta->registerClass(domProfile_gles::domTechnique::domPass::domEvaluate::domDraw::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_draw"));
+ ma->setOffset( daeOffsetOf( domProfile_gles::domTechnique::domPass::domEvaluate::domDraw , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_gles::domTechnique::domPass::domEvaluate::domDraw));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domProfile_gles2.cpp b/1.4.0/dom/src/1.5/dom/domProfile_gles2.cpp
new file mode 100644
index 0000000..d56f831
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domProfile_gles2.cpp
@@ -0,0 +1,280 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domProfile_gles2.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domProfile_gles2::create(DAE& dae)
+{
+ domProfile_gles2Ref ref = new domProfile_gles2(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_gles2::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "profile_gles2" );
+ meta->registerClass(domProfile_gles2::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domProfile_gles2,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "include" );
+ mea->setOffset( daeOffsetOf(domProfile_gles2,elemInclude_array) );
+ mea->setElementType( domFx_include::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "code" );
+ mea->setOffset( daeOffsetOf(domProfile_gles2,elemCode_array) );
+ mea->setElementType( domFx_code::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3002, 0, -1 );
+ mea->setName( "newparam" );
+ mea->setOffset( daeOffsetOf(domProfile_gles2,elemNewparam_array) );
+ mea->setElementType( domProfile_gles2::domNewparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3003, 1, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domProfile_gles2,elemTechnique_array) );
+ mea->setElementType( domProfile_gles2::domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3004, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domProfile_gles2,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3004 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domProfile_gles2,_contents));
+ meta->addContentsOrder(daeOffsetOf(domProfile_gles2,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domProfile_gles2,_CMData), 1);
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domProfile_gles2 , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: language
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "language" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domProfile_gles2 , attrLanguage ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: platforms
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "platforms" );
+ ma->setType( dae.getAtomicTypes().get("List_of_names"));
+ ma->setOffset( daeOffsetOf( domProfile_gles2 , attrPlatforms ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_gles2));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_gles2::domNewparam::create(DAE& dae)
+{
+ domProfile_gles2::domNewparamRef ref = new domProfile_gles2::domNewparam(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_gles2::domNewparam::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "newparam" );
+ meta->registerClass(domProfile_gles2::domNewparam::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domProfile_gles2::domNewparam,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "semantic" );
+ mea->setOffset( daeOffsetOf(domProfile_gles2::domNewparam,elemSemantic) );
+ mea->setElementType( domSemantic::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "modifier" );
+ mea->setOffset( daeOffsetOf(domProfile_gles2::domNewparam,elemModifier) );
+ mea->setElementType( domModifier::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 1, 1 );
+ mea->setName( "gles2_value" );
+ mea->setOffset( daeOffsetOf(domProfile_gles2::domNewparam,elemGles2_value) );
+ mea->setElementType( domGles2_value::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 3, 1, 1 ) );
+
+ cm->setMaxOrdinal( 3 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domProfile_gles2::domNewparam , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_gles2::domNewparam));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_gles2::domTechnique::create(DAE& dae)
+{
+ domProfile_gles2::domTechniqueRef ref = new domProfile_gles2::domTechnique(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_gles2::domTechnique::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique" );
+ meta->registerClass(domProfile_gles2::domTechnique::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domProfile_gles2::domTechnique,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domProfile_gles2::domTechnique,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 1, -1 );
+ mea->setName( "pass" );
+ mea->setOffset( daeOffsetOf(domProfile_gles2::domTechnique,elemPass_array) );
+ mea->setElementType( domGles2_pass::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domProfile_gles2::domTechnique,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domProfile_gles2::domTechnique , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domProfile_gles2::domTechnique , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_gles2::domTechnique));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domProfile_glsl.cpp b/1.4.0/dom/src/1.5/dom/domProfile_glsl.cpp
new file mode 100644
index 0000000..8b67058
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domProfile_glsl.cpp
@@ -0,0 +1,421 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domProfile_glsl.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domProfile_glsl::create(DAE& dae)
+{
+ domProfile_glslRef ref = new domProfile_glsl(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_glsl::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "profile_glsl" );
+ meta->registerClass(domProfile_glsl::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domProfile_glsl,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "code" );
+ mea->setOffset( daeOffsetOf(domProfile_glsl,elemCode_array) );
+ mea->setElementType( domFx_code::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "include" );
+ mea->setOffset( daeOffsetOf(domProfile_glsl,elemInclude_array) );
+ mea->setElementType( domFx_include::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3002, 0, -1 );
+ mea->setName( "newparam" );
+ mea->setOffset( daeOffsetOf(domProfile_glsl,elemNewparam_array) );
+ mea->setElementType( domGlsl_newparam::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3003, 1, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domProfile_glsl,elemTechnique_array) );
+ mea->setElementType( domProfile_glsl::domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3004, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domProfile_glsl,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3004 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domProfile_glsl,_contents));
+ meta->addContentsOrder(daeOffsetOf(domProfile_glsl,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domProfile_glsl,_CMData), 1);
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domProfile_glsl , attrId ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: platform
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "platform" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domProfile_glsl , attrPlatform ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "PC");
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_glsl));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_glsl::domTechnique::create(DAE& dae)
+{
+ domProfile_glsl::domTechniqueRef ref = new domProfile_glsl::domTechnique(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_glsl::domTechnique::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique" );
+ meta->registerClass(domProfile_glsl::domTechnique::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domProfile_glsl::domTechnique,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domProfile_glsl::domTechnique,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 1, -1 );
+ mea->setName( "pass" );
+ mea->setOffset( daeOffsetOf(domProfile_glsl::domTechnique,elemPass_array) );
+ mea->setElementType( domProfile_glsl::domTechnique::domPass::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domProfile_glsl::domTechnique,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domProfile_glsl::domTechnique , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domProfile_glsl::domTechnique , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_glsl::domTechnique));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_glsl::domTechnique::domPass::create(DAE& dae)
+{
+ domProfile_glsl::domTechnique::domPassRef ref = new domProfile_glsl::domTechnique::domPass(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_glsl::domTechnique::domPass::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "pass" );
+ meta->registerClass(domProfile_glsl::domTechnique::domPass::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "annotate" );
+ mea->setOffset( daeOffsetOf(domProfile_glsl::domTechnique::domPass,elemAnnotate_array) );
+ mea->setElementType( domFx_annotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "states" );
+ mea->setOffset( daeOffsetOf(domProfile_glsl::domTechnique::domPass,elemStates) );
+ mea->setElementType( domProfile_glsl::domTechnique::domPass::domStates::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "program" );
+ mea->setOffset( daeOffsetOf(domProfile_glsl::domTechnique::domPass,elemProgram) );
+ mea->setElementType( domGlsl_program::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "evaluate" );
+ mea->setOffset( daeOffsetOf(domProfile_glsl::domTechnique::domPass,elemEvaluate) );
+ mea->setElementType( domProfile_glsl::domTechnique::domPass::domEvaluate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 4, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domProfile_glsl::domTechnique::domPass,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 4 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domProfile_glsl::domTechnique::domPass , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_glsl::domTechnique::domPass));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_glsl::domTechnique::domPass::domStates::create(DAE& dae)
+{
+ domProfile_glsl::domTechnique::domPass::domStatesRef ref = new domProfile_glsl::domTechnique::domPass::domStates(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_glsl::domTechnique::domPass::domStates::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "states" );
+ meta->registerClass(domProfile_glsl::domTechnique::domPass::domStates::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "gl_pipeline_settings" );
+ mea->setOffset( daeOffsetOf(domProfile_glsl::domTechnique::domPass::domStates,elemGl_pipeline_settings_array) );
+ mea->setElementType( domGl_pipeline_settings::registerElement(dae) );
+ cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 0, -1 ) );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domProfile_glsl::domTechnique::domPass::domStates));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_glsl::domTechnique::domPass::domEvaluate::create(DAE& dae)
+{
+ domProfile_glsl::domTechnique::domPass::domEvaluateRef ref = new domProfile_glsl::domTechnique::domPass::domEvaluate(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_glsl::domTechnique::domPass::domEvaluate::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "evaluate" );
+ meta->registerClass(domProfile_glsl::domTechnique::domPass::domEvaluate::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "color_target" );
+ mea->setOffset( daeOffsetOf(domProfile_glsl::domTechnique::domPass::domEvaluate,elemColor_target_array) );
+ mea->setElementType( domFx_colortarget::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "depth_target" );
+ mea->setOffset( daeOffsetOf(domProfile_glsl::domTechnique::domPass::domEvaluate,elemDepth_target_array) );
+ mea->setElementType( domFx_depthtarget::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "stencil_target" );
+ mea->setOffset( daeOffsetOf(domProfile_glsl::domTechnique::domPass::domEvaluate,elemStencil_target_array) );
+ mea->setElementType( domFx_stenciltarget::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "color_clear" );
+ mea->setOffset( daeOffsetOf(domProfile_glsl::domTechnique::domPass::domEvaluate,elemColor_clear_array) );
+ mea->setElementType( domFx_clearcolor::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 4, 0, -1 );
+ mea->setName( "depth_clear" );
+ mea->setOffset( daeOffsetOf(domProfile_glsl::domTechnique::domPass::domEvaluate,elemDepth_clear_array) );
+ mea->setElementType( domFx_cleardepth::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 5, 0, -1 );
+ mea->setName( "stencil_clear" );
+ mea->setOffset( daeOffsetOf(domProfile_glsl::domTechnique::domPass::domEvaluate,elemStencil_clear_array) );
+ mea->setElementType( domFx_clearstencil::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 );
+ mea->setName( "draw" );
+ mea->setOffset( daeOffsetOf(domProfile_glsl::domTechnique::domPass::domEvaluate,elemDraw) );
+ mea->setElementType( domProfile_glsl::domTechnique::domPass::domEvaluate::domDraw::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 6 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domProfile_glsl::domTechnique::domPass::domEvaluate));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domProfile_glsl::domTechnique::domPass::domEvaluate::domDraw::create(DAE& dae)
+{
+ domProfile_glsl::domTechnique::domPass::domEvaluate::domDrawRef ref = new domProfile_glsl::domTechnique::domPass::domEvaluate::domDraw(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domProfile_glsl::domTechnique::domPass::domEvaluate::domDraw::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "draw" );
+ meta->registerClass(domProfile_glsl::domTechnique::domPass::domEvaluate::domDraw::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Fx_draw"));
+ ma->setOffset( daeOffsetOf( domProfile_glsl::domTechnique::domPass::domEvaluate::domDraw , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domProfile_glsl::domTechnique::domPass::domEvaluate::domDraw));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domRigid_body.cpp b/1.4.0/dom/src/1.5/dom/domRigid_body.cpp
new file mode 100644
index 0000000..7b2336b
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domRigid_body.cpp
@@ -0,0 +1,464 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domRigid_body.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domRigid_body::create(DAE& dae)
+{
+ domRigid_bodyRef ref = new domRigid_body(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_body::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "rigid_body" );
+ meta->registerClass(domRigid_body::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "technique_common" );
+ mea->setOffset( daeOffsetOf(domRigid_body,elemTechnique_common) );
+ mea->setElementType( domRigid_body::domTechnique_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domRigid_body,elemTechnique_array) );
+ mea->setElementType( domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domRigid_body,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domRigid_body , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domRigid_body , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domRigid_body , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domRigid_body));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_body::domTechnique_common::create(DAE& dae)
+{
+ domRigid_body::domTechnique_commonRef ref = new domRigid_body::domTechnique_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_body::domTechnique_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique_common" );
+ meta->registerClass(domRigid_body::domTechnique_common::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "dynamic" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common,elemDynamic) );
+ mea->setElementType( domRigid_body::domTechnique_common::domDynamic::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "mass" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common,elemMass) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "mass_frame" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common,elemMass_frame) );
+ mea->setElementType( domRigid_body::domTechnique_common::domMass_frame::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "inertia" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common,elemInertia) );
+ mea->setElementType( domTargetable_float3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 4, 0, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "instance_physics_material" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common,elemInstance_physics_material) );
+ mea->setElementType( domInstance_physics_material::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "physics_material" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common,elemPhysics_material) );
+ mea->setElementType( domPhysics_material::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 5, 1, -1 );
+ mea->setName( "shape" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common,elemShape_array) );
+ mea->setElementType( domRigid_body::domTechnique_common::domShape::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 5 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domRigid_body::domTechnique_common,_contents));
+ meta->addContentsOrder(daeOffsetOf(domRigid_body::domTechnique_common,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domRigid_body::domTechnique_common,_CMData), 1);
+ meta->setElementSize(sizeof(domRigid_body::domTechnique_common));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_body::domTechnique_common::domDynamic::create(DAE& dae)
+{
+ domRigid_body::domTechnique_common::domDynamicRef ref = new domRigid_body::domTechnique_common::domDynamic(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_body::domTechnique_common::domDynamic::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "dynamic" );
+ meta->registerClass(domRigid_body::domTechnique_common::domDynamic::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domRigid_body::domTechnique_common::domDynamic , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domRigid_body::domTechnique_common::domDynamic , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domRigid_body::domTechnique_common::domDynamic));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_body::domTechnique_common::domMass_frame::create(DAE& dae)
+{
+ domRigid_body::domTechnique_common::domMass_frameRef ref = new domRigid_body::domTechnique_common::domMass_frame(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_body::domTechnique_common::domMass_frame::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "mass_frame" );
+ meta->registerClass(domRigid_body::domTechnique_common::domMass_frame::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "translate" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domMass_frame,elemTranslate_array) );
+ mea->setElementType( domTranslate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "rotate" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domMass_frame,elemRotate_array) );
+ mea->setElementType( domRotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3000 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domRigid_body::domTechnique_common::domMass_frame,_contents));
+ meta->addContentsOrder(daeOffsetOf(domRigid_body::domTechnique_common::domMass_frame,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domRigid_body::domTechnique_common::domMass_frame,_CMData), 1);
+ meta->setElementSize(sizeof(domRigid_body::domTechnique_common::domMass_frame));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_body::domTechnique_common::domShape::create(DAE& dae)
+{
+ domRigid_body::domTechnique_common::domShapeRef ref = new domRigid_body::domTechnique_common::domShape(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_body::domTechnique_common::domShape::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "shape" );
+ meta->registerClass(domRigid_body::domTechnique_common::domShape::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "hollow" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemHollow) );
+ mea->setElementType( domRigid_body::domTechnique_common::domShape::domHollow::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "mass" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemMass) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "density" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemDensity) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 3, 0, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "instance_physics_material" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemInstance_physics_material) );
+ mea->setElementType( domInstance_physics_material::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "physics_material" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemPhysics_material) );
+ mea->setElementType( domPhysics_material::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm = new daeMetaChoice( meta, cm, 1, 4, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "instance_geometry" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemInstance_geometry) );
+ mea->setElementType( domInstance_geometry::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "plane" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemPlane) );
+ mea->setElementType( domPlane::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "box" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemBox) );
+ mea->setElementType( domBox::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sphere" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemSphere) );
+ mea->setElementType( domSphere::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "cylinder" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemCylinder) );
+ mea->setElementType( domCylinder::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "capsule" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemCapsule) );
+ mea->setElementType( domCapsule::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm = new daeMetaChoice( meta, cm, 2, 5, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "translate" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemTranslate_array) );
+ mea->setElementType( domTranslate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "rotate" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemRotate_array) );
+ mea->setElementType( domRotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3006, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domRigid_body::domTechnique_common::domShape,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3006 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domRigid_body::domTechnique_common::domShape,_contents));
+ meta->addContentsOrder(daeOffsetOf(domRigid_body::domTechnique_common::domShape,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domRigid_body::domTechnique_common::domShape,_CMData), 3);
+ meta->setElementSize(sizeof(domRigid_body::domTechnique_common::domShape));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_body::domTechnique_common::domShape::domHollow::create(DAE& dae)
+{
+ domRigid_body::domTechnique_common::domShape::domHollowRef ref = new domRigid_body::domTechnique_common::domShape::domHollow(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_body::domTechnique_common::domShape::domHollow::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "hollow" );
+ meta->registerClass(domRigid_body::domTechnique_common::domShape::domHollow::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domRigid_body::domTechnique_common::domShape::domHollow , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domRigid_body::domTechnique_common::domShape::domHollow , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domRigid_body::domTechnique_common::domShape::domHollow));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domRigid_constraint.cpp b/1.4.0/dom/src/1.5/dom/domRigid_constraint.cpp
new file mode 100644
index 0000000..435375c
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domRigid_constraint.cpp
@@ -0,0 +1,677 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domRigid_constraint.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domRigid_constraint::create(DAE& dae)
+{
+ domRigid_constraintRef ref = new domRigid_constraint(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_constraint::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "rigid_constraint" );
+ meta->registerClass(domRigid_constraint::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "ref_attachment" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint,elemRef_attachment) );
+ mea->setElementType( domRigid_constraint::domRef_attachment::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "attachment" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint,elemAttachment) );
+ mea->setElementType( domRigid_constraint::domAttachment::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "technique_common" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint,elemTechnique_common) );
+ mea->setElementType( domRigid_constraint::domTechnique_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint,elemTechnique_array) );
+ mea->setElementType( domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 4, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 4 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domRigid_constraint , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domRigid_constraint , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domRigid_constraint));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_constraint::domRef_attachment::create(DAE& dae)
+{
+ domRigid_constraint::domRef_attachmentRef ref = new domRigid_constraint::domRef_attachment(dae);
+ ref->attrRigid_body.setContainer( (domRigid_constraint::domRef_attachment*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_constraint::domRef_attachment::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "ref_attachment" );
+ meta->registerClass(domRigid_constraint::domRef_attachment::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "translate" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domRef_attachment,elemTranslate_array) );
+ mea->setElementType( domTranslate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "rotate" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domRef_attachment,elemRotate_array) );
+ mea->setElementType( domRotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3001, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domRef_attachment,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3001 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domRigid_constraint::domRef_attachment,_contents));
+ meta->addContentsOrder(daeOffsetOf(domRigid_constraint::domRef_attachment,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domRigid_constraint::domRef_attachment,_CMData), 1);
+ // Add attribute: rigid_body
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "rigid_body" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domRigid_constraint::domRef_attachment , attrRigid_body ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domRigid_constraint::domRef_attachment));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_constraint::domAttachment::create(DAE& dae)
+{
+ domRigid_constraint::domAttachmentRef ref = new domRigid_constraint::domAttachment(dae);
+ ref->attrRigid_body.setContainer( (domRigid_constraint::domAttachment*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_constraint::domAttachment::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "attachment" );
+ meta->registerClass(domRigid_constraint::domAttachment::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 0, -1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "translate" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domAttachment,elemTranslate_array) );
+ mea->setElementType( domTranslate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "rotate" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domAttachment,elemRotate_array) );
+ mea->setElementType( domRotate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3001, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domAttachment,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3001 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domRigid_constraint::domAttachment,_contents));
+ meta->addContentsOrder(daeOffsetOf(domRigid_constraint::domAttachment,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domRigid_constraint::domAttachment,_CMData), 1);
+ // Add attribute: rigid_body
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "rigid_body" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domRigid_constraint::domAttachment , attrRigid_body ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domRigid_constraint::domAttachment));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_constraint::domTechnique_common::create(DAE& dae)
+{
+ domRigid_constraint::domTechnique_commonRef ref = new domRigid_constraint::domTechnique_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_constraint::domTechnique_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique_common" );
+ meta->registerClass(domRigid_constraint::domTechnique_common::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "enabled" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common,elemEnabled) );
+ mea->setElementType( domRigid_constraint::domTechnique_common::domEnabled::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "interpenetrate" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common,elemInterpenetrate) );
+ mea->setElementType( domRigid_constraint::domTechnique_common::domInterpenetrate::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "limits" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common,elemLimits) );
+ mea->setElementType( domRigid_constraint::domTechnique_common::domLimits::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
+ mea->setName( "spring" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common,elemSpring) );
+ mea->setElementType( domRigid_constraint::domTechnique_common::domSpring::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domRigid_constraint::domTechnique_common));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_constraint::domTechnique_common::domEnabled::create(DAE& dae)
+{
+ domRigid_constraint::domTechnique_common::domEnabledRef ref = new domRigid_constraint::domTechnique_common::domEnabled(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_constraint::domTechnique_common::domEnabled::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "enabled" );
+ meta->registerClass(domRigid_constraint::domTechnique_common::domEnabled::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domRigid_constraint::domTechnique_common::domEnabled , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domRigid_constraint::domTechnique_common::domEnabled , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domRigid_constraint::domTechnique_common::domEnabled));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_constraint::domTechnique_common::domInterpenetrate::create(DAE& dae)
+{
+ domRigid_constraint::domTechnique_common::domInterpenetrateRef ref = new domRigid_constraint::domTechnique_common::domInterpenetrate(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_constraint::domTechnique_common::domInterpenetrate::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "interpenetrate" );
+ meta->registerClass(domRigid_constraint::domTechnique_common::domInterpenetrate::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domRigid_constraint::domTechnique_common::domInterpenetrate , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domRigid_constraint::domTechnique_common::domInterpenetrate , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domRigid_constraint::domTechnique_common::domInterpenetrate));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_constraint::domTechnique_common::domLimits::create(DAE& dae)
+{
+ domRigid_constraint::domTechnique_common::domLimitsRef ref = new domRigid_constraint::domTechnique_common::domLimits(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_constraint::domTechnique_common::domLimits::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "limits" );
+ meta->registerClass(domRigid_constraint::domTechnique_common::domLimits::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "swing_cone_and_twist" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domLimits,elemSwing_cone_and_twist) );
+ mea->setElementType( domRigid_constraint::domTechnique_common::domLimits::domSwing_cone_and_twist::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "linear" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domLimits,elemLinear) );
+ mea->setElementType( domRigid_constraint::domTechnique_common::domLimits::domLinear::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domRigid_constraint::domTechnique_common::domLimits));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_constraint::domTechnique_common::domLimits::domSwing_cone_and_twist::create(DAE& dae)
+{
+ domRigid_constraint::domTechnique_common::domLimits::domSwing_cone_and_twistRef ref = new domRigid_constraint::domTechnique_common::domLimits::domSwing_cone_and_twist(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_constraint::domTechnique_common::domLimits::domSwing_cone_and_twist::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "swing_cone_and_twist" );
+ meta->registerClass(domRigid_constraint::domTechnique_common::domLimits::domSwing_cone_and_twist::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "min" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domLimits::domSwing_cone_and_twist,elemMin) );
+ mea->setElementType( domTargetable_float3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "max" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domLimits::domSwing_cone_and_twist,elemMax) );
+ mea->setElementType( domTargetable_float3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domRigid_constraint::domTechnique_common::domLimits::domSwing_cone_and_twist));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_constraint::domTechnique_common::domLimits::domLinear::create(DAE& dae)
+{
+ domRigid_constraint::domTechnique_common::domLimits::domLinearRef ref = new domRigid_constraint::domTechnique_common::domLimits::domLinear(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_constraint::domTechnique_common::domLimits::domLinear::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "linear" );
+ meta->registerClass(domRigid_constraint::domTechnique_common::domLimits::domLinear::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "min" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domLimits::domLinear,elemMin) );
+ mea->setElementType( domTargetable_float3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "max" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domLimits::domLinear,elemMax) );
+ mea->setElementType( domTargetable_float3::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domRigid_constraint::domTechnique_common::domLimits::domLinear));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_constraint::domTechnique_common::domSpring::create(DAE& dae)
+{
+ domRigid_constraint::domTechnique_common::domSpringRef ref = new domRigid_constraint::domTechnique_common::domSpring(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_constraint::domTechnique_common::domSpring::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "spring" );
+ meta->registerClass(domRigid_constraint::domTechnique_common::domSpring::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "angular" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domSpring,elemAngular) );
+ mea->setElementType( domRigid_constraint::domTechnique_common::domSpring::domAngular::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "linear" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domSpring,elemLinear) );
+ mea->setElementType( domRigid_constraint::domTechnique_common::domSpring::domLinear::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domRigid_constraint::domTechnique_common::domSpring));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_constraint::domTechnique_common::domSpring::domAngular::create(DAE& dae)
+{
+ domRigid_constraint::domTechnique_common::domSpring::domAngularRef ref = new domRigid_constraint::domTechnique_common::domSpring::domAngular(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_constraint::domTechnique_common::domSpring::domAngular::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "angular" );
+ meta->registerClass(domRigid_constraint::domTechnique_common::domSpring::domAngular::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "stiffness" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domSpring::domAngular,elemStiffness) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "damping" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domSpring::domAngular,elemDamping) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "target_value" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domSpring::domAngular,elemTarget_value) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domRigid_constraint::domTechnique_common::domSpring::domAngular));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domRigid_constraint::domTechnique_common::domSpring::domLinear::create(DAE& dae)
+{
+ domRigid_constraint::domTechnique_common::domSpring::domLinearRef ref = new domRigid_constraint::domTechnique_common::domSpring::domLinear(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRigid_constraint::domTechnique_common::domSpring::domLinear::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "linear" );
+ meta->registerClass(domRigid_constraint::domTechnique_common::domSpring::domLinear::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "stiffness" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domSpring::domLinear,elemStiffness) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "damping" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domSpring::domLinear,elemDamping) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "target_value" );
+ mea->setOffset( daeOffsetOf(domRigid_constraint::domTechnique_common::domSpring::domLinear,elemTarget_value) );
+ mea->setElementType( domTargetable_float::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domRigid_constraint::domTechnique_common::domSpring::domLinear));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domRotate.cpp b/1.4.0/dom/src/1.5/dom/domRotate.cpp
new file mode 100644
index 0000000..7638d4e
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domRotate.cpp
@@ -0,0 +1,59 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domRotate.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domRotate::create(DAE& dae)
+{
+ domRotateRef ref = new domRotate(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domRotate::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "rotate" );
+ meta->registerClass(domRotate::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domRotate , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domRotate , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domRotate));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domSampler.cpp b/1.4.0/dom/src/1.5/dom/domSampler.cpp
new file mode 100644
index 0000000..ad083eb
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domSampler.cpp
@@ -0,0 +1,84 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domSampler.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domSampler::create(DAE& dae)
+{
+ domSamplerRef ref = new domSampler(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSampler::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "sampler" );
+ meta->registerClass(domSampler::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domSampler,elemInput_array) );
+ mea->setElementType( domInput_local::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domSampler , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: pre_behavior
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "pre_behavior" );
+ ma->setType( dae.getAtomicTypes().get("Sampler_behavior"));
+ ma->setOffset( daeOffsetOf( domSampler , attrPre_behavior ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: post_behavior
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "post_behavior" );
+ ma->setType( dae.getAtomicTypes().get("Sampler_behavior"));
+ ma->setOffset( daeOffsetOf( domSampler , attrPost_behavior ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domSampler));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domScale.cpp b/1.4.0/dom/src/1.5/dom/domScale.cpp
new file mode 100644
index 0000000..4822424
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domScale.cpp
@@ -0,0 +1,59 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domScale.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domScale::create(DAE& dae)
+{
+ domScaleRef ref = new domScale(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domScale::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "scale" );
+ meta->registerClass(domScale::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domScale , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domScale , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domScale));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domShells.cpp b/1.4.0/dom/src/1.5/dom/domShells.cpp
new file mode 100644
index 0000000..a2d3dd4
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domShells.cpp
@@ -0,0 +1,140 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domShells.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domShells::create(DAE& dae)
+{
+ domShellsRef ref = new domShells(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domShells::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "shells" );
+ meta->registerClass(domShells::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 2, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domShells,elemInput_array) );
+ mea->setElementType( domInput_local_offset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "vcount" );
+ mea->setOffset( daeOffsetOf(domShells,elemVcount) );
+ mea->setElementType( domShells::domVcount::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "p" );
+ mea->setOffset( daeOffsetOf(domShells,elemP) );
+ mea->setElementType( domP::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domShells,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domShells , attrId ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domShells , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domShells , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domShells));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domShells::domVcount::create(DAE& dae)
+{
+ domShells::domVcountRef ref = new domShells::domVcount(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domShells::domVcount::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "vcount" );
+ meta->registerClass(domShells::domVcount::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("List_of_uints"));
+ ma->setOffset( daeOffsetOf( domShells::domVcount , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domShells::domVcount));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domSidref_array.cpp b/1.4.0/dom/src/1.5/dom/domSidref_array.cpp
new file mode 100644
index 0000000..767d60c
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domSidref_array.cpp
@@ -0,0 +1,82 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domSidref_array.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domSidref_array::create(DAE& dae)
+{
+ domSidref_arrayRef ref = new domSidref_array(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSidref_array::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "sidref_array" );
+ meta->registerClass(domSidref_array::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("List_of_sidrefs"));
+ ma->setOffset( daeOffsetOf( domSidref_array , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domSidref_array , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domSidref_array , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domSidref_array , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domSidref_array));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domSkew.cpp b/1.4.0/dom/src/1.5/dom/domSkew.cpp
new file mode 100644
index 0000000..b1a319b
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domSkew.cpp
@@ -0,0 +1,59 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domSkew.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domSkew::create(DAE& dae)
+{
+ domSkewRef ref = new domSkew(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSkew::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "skew" );
+ meta->registerClass(domSkew::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float7"));
+ ma->setOffset( daeOffsetOf( domSkew , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domSkew , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domSkew));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domSkin.cpp b/1.4.0/dom/src/1.5/dom/domSkin.cpp
new file mode 100644
index 0000000..a0411d6
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domSkin.cpp
@@ -0,0 +1,310 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domSkin.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domSkin::create(DAE& dae)
+{
+ domSkinRef ref = new domSkin(dae);
+ ref->attrSource.setContainer( (domSkin*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domSkin::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "skin" );
+ meta->registerClass(domSkin::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "bind_shape_matrix" );
+ mea->setOffset( daeOffsetOf(domSkin,elemBind_shape_matrix) );
+ mea->setElementType( domSkin::domBind_shape_matrix::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 3, -1 );
+ mea->setName( "source" );
+ mea->setOffset( daeOffsetOf(domSkin,elemSource_array) );
+ mea->setElementType( domSource::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 1, 1 );
+ mea->setName( "joints" );
+ mea->setOffset( daeOffsetOf(domSkin,elemJoints) );
+ mea->setElementType( domSkin::domJoints::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 3, 1, 1 );
+ mea->setName( "vertex_weights" );
+ mea->setOffset( daeOffsetOf(domSkin,elemVertex_weights) );
+ mea->setElementType( domSkin::domVertex_weights::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 4, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domSkin,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 4 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: source
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "source" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domSkin , attrSource ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domSkin));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domSkin::domBind_shape_matrix::create(DAE& dae)
+{
+ domSkin::domBind_shape_matrixRef ref = new domSkin::domBind_shape_matrix(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSkin::domBind_shape_matrix::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bind_shape_matrix" );
+ meta->registerClass(domSkin::domBind_shape_matrix::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4x4"));
+ ma->setOffset( daeOffsetOf( domSkin::domBind_shape_matrix , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domSkin::domBind_shape_matrix));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domSkin::domJoints::create(DAE& dae)
+{
+ domSkin::domJointsRef ref = new domSkin::domJoints(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSkin::domJoints::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "joints" );
+ meta->registerClass(domSkin::domJoints::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 2, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domSkin::domJoints,elemInput_array) );
+ mea->setElementType( domInput_local::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domSkin::domJoints,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domSkin::domJoints));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domSkin::domVertex_weights::create(DAE& dae)
+{
+ domSkin::domVertex_weightsRef ref = new domSkin::domVertex_weights(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSkin::domVertex_weights::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "vertex_weights" );
+ meta->registerClass(domSkin::domVertex_weights::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 2, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domSkin::domVertex_weights,elemInput_array) );
+ mea->setElementType( domInput_local_offset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "vcount" );
+ mea->setOffset( daeOffsetOf(domSkin::domVertex_weights,elemVcount) );
+ mea->setElementType( domSkin::domVertex_weights::domVcount::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "v" );
+ mea->setOffset( daeOffsetOf(domSkin::domVertex_weights,elemV) );
+ mea->setElementType( domSkin::domVertex_weights::domV::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domSkin::domVertex_weights,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domSkin::domVertex_weights , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domSkin::domVertex_weights));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domSkin::domVertex_weights::domVcount::create(DAE& dae)
+{
+ domSkin::domVertex_weights::domVcountRef ref = new domSkin::domVertex_weights::domVcount(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSkin::domVertex_weights::domVcount::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "vcount" );
+ meta->registerClass(domSkin::domVertex_weights::domVcount::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("List_of_uints"));
+ ma->setOffset( daeOffsetOf( domSkin::domVertex_weights::domVcount , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domSkin::domVertex_weights::domVcount));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domSkin::domVertex_weights::domV::create(DAE& dae)
+{
+ domSkin::domVertex_weights::domVRef ref = new domSkin::domVertex_weights::domV(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSkin::domVertex_weights::domV::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "v" );
+ meta->registerClass(domSkin::domVertex_weights::domV::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("List_of_ints"));
+ ma->setOffset( daeOffsetOf( domSkin::domVertex_weights::domV , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domSkin::domVertex_weights::domV));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domSolids.cpp b/1.4.0/dom/src/1.5/dom/domSolids.cpp
new file mode 100644
index 0000000..6d1eb2a
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domSolids.cpp
@@ -0,0 +1,140 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domSolids.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domSolids::create(DAE& dae)
+{
+ domSolidsRef ref = new domSolids(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSolids::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "solids" );
+ meta->registerClass(domSolids::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 2, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domSolids,elemInput_array) );
+ mea->setElementType( domInput_local_offset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "vcount" );
+ mea->setOffset( daeOffsetOf(domSolids,elemVcount) );
+ mea->setElementType( domSolids::domVcount::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "p" );
+ mea->setOffset( daeOffsetOf(domSolids,elemP) );
+ mea->setElementType( domP::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domSolids,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domSolids , attrId ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domSolids , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domSolids , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domSolids));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domSolids::domVcount::create(DAE& dae)
+{
+ domSolids::domVcountRef ref = new domSolids::domVcount(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSolids::domVcount::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "vcount" );
+ meta->registerClass(domSolids::domVcount::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("List_of_uints"));
+ ma->setOffset( daeOffsetOf( domSolids::domVcount , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domSolids::domVcount));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domSource.cpp b/1.4.0/dom/src/1.5/dom/domSource.cpp
new file mode 100644
index 0000000..5c0541a
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domSource.cpp
@@ -0,0 +1,177 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domSource.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domSource::create(DAE& dae)
+{
+ domSourceRef ref = new domSource(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSource::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "source" );
+ meta->registerClass(domSource::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domSource,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 0, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "token_array" );
+ mea->setOffset( daeOffsetOf(domSource,elemToken_array) );
+ mea->setElementType( domToken_array::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "IDREF_array" );
+ mea->setOffset( daeOffsetOf(domSource,elemIDREF_array) );
+ mea->setElementType( domIdref_array::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "Name_array" );
+ mea->setOffset( daeOffsetOf(domSource,elemName_array) );
+ mea->setElementType( domName_array::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "bool_array" );
+ mea->setOffset( daeOffsetOf(domSource,elemBool_array) );
+ mea->setElementType( domBool_array::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "float_array" );
+ mea->setOffset( daeOffsetOf(domSource,elemFloat_array) );
+ mea->setElementType( domFloat_array::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "int_array" );
+ mea->setOffset( daeOffsetOf(domSource,elemInt_array) );
+ mea->setElementType( domInt_array::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "SIDREF_array" );
+ mea->setOffset( daeOffsetOf(domSource,elemSIDREF_array) );
+ mea->setElementType( domSidref_array::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "technique_common" );
+ mea->setOffset( daeOffsetOf(domSource,elemTechnique_common) );
+ mea->setElementType( domSource::domTechnique_common::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "technique" );
+ mea->setOffset( daeOffsetOf(domSource,elemTechnique_array) );
+ mea->setElementType( domTechnique::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domSource,_contents));
+ meta->addContentsOrder(daeOffsetOf(domSource,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domSource,_CMData), 1);
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domSource , attrId ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domSource , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domSource));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domSource::domTechnique_common::create(DAE& dae)
+{
+ domSource::domTechnique_commonRef ref = new domSource::domTechnique_common(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSource::domTechnique_common::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique_common" );
+ meta->registerClass(domSource::domTechnique_common::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "accessor" );
+ mea->setOffset( daeOffsetOf(domSource::domTechnique_common,elemAccessor) );
+ mea->setElementType( domAccessor::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domSource::domTechnique_common));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domSphere.cpp b/1.4.0/dom/src/1.5/dom/domSphere.cpp
new file mode 100644
index 0000000..e50ed26
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domSphere.cpp
@@ -0,0 +1,93 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domSphere.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domSphere::create(DAE& dae)
+{
+ domSphereRef ref = new domSphere(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSphere::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "sphere" );
+ meta->registerClass(domSphere::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "radius" );
+ mea->setOffset( daeOffsetOf(domSphere,elemRadius) );
+ mea->setElementType( domSphere::domRadius::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domSphere,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domSphere));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domSphere::domRadius::create(DAE& dae)
+{
+ domSphere::domRadiusRef ref = new domSphere::domRadius(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSphere::domRadius::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "radius" );
+ meta->registerClass(domSphere::domRadius::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domSphere::domRadius , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domSphere::domRadius));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domSpline.cpp b/1.4.0/dom/src/1.5/dom/domSpline.cpp
new file mode 100644
index 0000000..bf8a95a
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domSpline.cpp
@@ -0,0 +1,120 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domSpline.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domSpline::create(DAE& dae)
+{
+ domSplineRef ref = new domSpline(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSpline::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "spline" );
+ meta->registerClass(domSpline::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "source" );
+ mea->setOffset( daeOffsetOf(domSpline,elemSource_array) );
+ mea->setElementType( domSource::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "control_vertices" );
+ mea->setOffset( daeOffsetOf(domSpline,elemControl_vertices) );
+ mea->setElementType( domSpline::domControl_vertices::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domSpline,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: closed
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "closed" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domSpline , attrClosed ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "false");
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domSpline));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domSpline::domControl_vertices::create(DAE& dae)
+{
+ domSpline::domControl_verticesRef ref = new domSpline::domControl_vertices(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSpline::domControl_vertices::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "control_vertices" );
+ meta->registerClass(domSpline::domControl_vertices::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domSpline::domControl_vertices,elemInput_array) );
+ mea->setElementType( domInput_local::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domSpline::domControl_vertices,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domSpline::domControl_vertices));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domSurface.cpp b/1.4.0/dom/src/1.5/dom/domSurface.cpp
new file mode 100644
index 0000000..6e01a11
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domSurface.cpp
@@ -0,0 +1,213 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domSurface.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domSurface::create(DAE& dae)
+{
+ domSurfaceRef ref = new domSurface(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSurface::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "surface" );
+ meta->registerClass(domSurface::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaChoice( meta, cm, 0, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "plane" );
+ mea->setOffset( daeOffsetOf(domSurface,elemPlane) );
+ mea->setElementType( domPlane::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "sphere" );
+ mea->setOffset( daeOffsetOf(domSurface,elemSphere) );
+ mea->setElementType( domSphere::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "torus" );
+ mea->setOffset( daeOffsetOf(domSurface,elemTorus) );
+ mea->setElementType( domTorus::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "swept_surface" );
+ mea->setOffset( daeOffsetOf(domSurface,elemSwept_surface) );
+ mea->setElementType( domSwept_surface::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "nurbs_surface" );
+ mea->setOffset( daeOffsetOf(domSurface,elemNurbs_surface) );
+ mea->setElementType( domNurbs_surface::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "cone" );
+ mea->setOffset( daeOffsetOf(domSurface,elemCone) );
+ mea->setElementType( domCone::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "cylinder" );
+ mea->setOffset( daeOffsetOf(domSurface,elemCylinder) );
+ mea->setElementType( domSurface::domCylinder::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "orient" );
+ mea->setOffset( daeOffsetOf(domSurface,elemOrient_array) );
+ mea->setElementType( domOrient::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "origin" );
+ mea->setOffset( daeOffsetOf(domSurface,elemOrigin) );
+ mea->setElementType( domOrigin::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domSurface,_contents));
+ meta->addContentsOrder(daeOffsetOf(domSurface,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domSurface,_CMData), 1);
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domSurface , attrSid ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domSurface , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domSurface));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domSurface::domCylinder::create(DAE& dae)
+{
+ domSurface::domCylinderRef ref = new domSurface::domCylinder(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSurface::domCylinder::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "cylinder" );
+ meta->registerClass(domSurface::domCylinder::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "radius" );
+ mea->setOffset( daeOffsetOf(domSurface::domCylinder,elemRadius) );
+ mea->setElementType( domSurface::domCylinder::domRadius::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domSurface::domCylinder,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domSurface::domCylinder));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domSurface::domCylinder::domRadius::create(DAE& dae)
+{
+ domSurface::domCylinder::domRadiusRef ref = new domSurface::domCylinder::domRadius(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSurface::domCylinder::domRadius::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "radius" );
+ meta->registerClass(domSurface::domCylinder::domRadius::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domSurface::domCylinder::domRadius , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domSurface::domCylinder::domRadius));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domSurface_curves.cpp b/1.4.0/dom/src/1.5/dom/domSurface_curves.cpp
new file mode 100644
index 0000000..de3ee9c
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domSurface_curves.cpp
@@ -0,0 +1,57 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domSurface_curves.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domSurface_curves::create(DAE& dae)
+{
+ domSurface_curvesRef ref = new domSurface_curves(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSurface_curves::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "surface_curves" );
+ meta->registerClass(domSurface_curves::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "curve" );
+ mea->setOffset( daeOffsetOf(domSurface_curves,elemCurve_array) );
+ mea->setElementType( domCurve::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domSurface_curves,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domSurface_curves));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domSurfaces.cpp b/1.4.0/dom/src/1.5/dom/domSurfaces.cpp
new file mode 100644
index 0000000..c1c989a
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domSurfaces.cpp
@@ -0,0 +1,57 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domSurfaces.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domSurfaces::create(DAE& dae)
+{
+ domSurfacesRef ref = new domSurfaces(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSurfaces::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "surfaces" );
+ meta->registerClass(domSurfaces::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "surface" );
+ mea->setOffset( daeOffsetOf(domSurfaces,elemSurface_array) );
+ mea->setElementType( domSurface::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domSurfaces,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domSurfaces));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domSwept_surface.cpp b/1.4.0/dom/src/1.5/dom/domSwept_surface.cpp
new file mode 100644
index 0000000..ea7b4a0
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domSwept_surface.cpp
@@ -0,0 +1,199 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domSwept_surface.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domSwept_surface::create(DAE& dae)
+{
+ domSwept_surfaceRef ref = new domSwept_surface(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSwept_surface::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "swept_surface" );
+ meta->registerClass(domSwept_surface::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "curve" );
+ mea->setOffset( daeOffsetOf(domSwept_surface,elemCurve) );
+ mea->setElementType( domCurve::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaChoice( meta, cm, 0, 1, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "direction" );
+ mea->setOffset( daeOffsetOf(domSwept_surface,elemDirection) );
+ mea->setElementType( domSwept_surface::domDirection::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "origin" );
+ mea->setOffset( daeOffsetOf(domSwept_surface,elemOrigin) );
+ mea->setElementType( domSwept_surface::domOrigin::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "axis" );
+ mea->setOffset( daeOffsetOf(domSwept_surface,elemAxis) );
+ mea->setElementType( domSwept_surface::domAxis::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 1 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domSwept_surface,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domSwept_surface,_contents));
+ meta->addContentsOrder(daeOffsetOf(domSwept_surface,_contentsOrder));
+
+ meta->addCMDataArray(daeOffsetOf(domSwept_surface,_CMData), 1);
+ meta->setElementSize(sizeof(domSwept_surface));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domSwept_surface::domDirection::create(DAE& dae)
+{
+ domSwept_surface::domDirectionRef ref = new domSwept_surface::domDirection(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSwept_surface::domDirection::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "direction" );
+ meta->registerClass(domSwept_surface::domDirection::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domSwept_surface::domDirection , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domSwept_surface::domDirection));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domSwept_surface::domOrigin::create(DAE& dae)
+{
+ domSwept_surface::domOriginRef ref = new domSwept_surface::domOrigin(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSwept_surface::domOrigin::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "origin" );
+ meta->registerClass(domSwept_surface::domOrigin::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domSwept_surface::domOrigin , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domSwept_surface::domOrigin));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domSwept_surface::domAxis::create(DAE& dae)
+{
+ domSwept_surface::domAxisRef ref = new domSwept_surface::domAxis(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domSwept_surface::domAxis::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "axis" );
+ meta->registerClass(domSwept_surface::domAxis::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domSwept_surface::domAxis , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domSwept_surface::domAxis));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domTargetable_float.cpp b/1.4.0/dom/src/1.5/dom/domTargetable_float.cpp
new file mode 100644
index 0000000..7d0ca0e
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domTargetable_float.cpp
@@ -0,0 +1,59 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domTargetable_float.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domTargetable_float::create(DAE& dae)
+{
+ domTargetable_floatRef ref = new domTargetable_float(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domTargetable_float::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "targetable_float" );
+ meta->registerClass(domTargetable_float::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float"));
+ ma->setOffset( daeOffsetOf( domTargetable_float , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domTargetable_float , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domTargetable_float));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domTargetable_float3.cpp b/1.4.0/dom/src/1.5/dom/domTargetable_float3.cpp
new file mode 100644
index 0000000..07425d8
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domTargetable_float3.cpp
@@ -0,0 +1,59 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domTargetable_float3.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domTargetable_float3::create(DAE& dae)
+{
+ domTargetable_float3Ref ref = new domTargetable_float3(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domTargetable_float3::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "targetable_float3" );
+ meta->registerClass(domTargetable_float3::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domTargetable_float3 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domTargetable_float3 , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domTargetable_float3));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domTargetable_float4.cpp b/1.4.0/dom/src/1.5/dom/domTargetable_float4.cpp
new file mode 100644
index 0000000..5f92b49
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domTargetable_float4.cpp
@@ -0,0 +1,59 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domTargetable_float4.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domTargetable_float4::create(DAE& dae)
+{
+ domTargetable_float4Ref ref = new domTargetable_float4(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domTargetable_float4::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "targetable_float4" );
+ meta->registerClass(domTargetable_float4::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float4"));
+ ma->setOffset( daeOffsetOf( domTargetable_float4 , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domTargetable_float4 , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domTargetable_float4));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domTechnique.cpp b/1.4.0/dom/src/1.5/dom/domTechnique.cpp
new file mode 100644
index 0000000..fe08317
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domTechnique.cpp
@@ -0,0 +1,67 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domTechnique.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domTechnique::create(DAE& dae)
+{
+ domTechniqueRef ref = new domTechnique(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domTechnique::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique" );
+ meta->registerClass(domTechnique::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ cm = new daeMetaAny( meta, cm, 0, 0, -1 );
+
+ cm->setMaxOrdinal( 0 );
+ cm->getParent()->appendChild( cm );
+ cm = cm->getParent();
+
+ cm->setMaxOrdinal( 0 );
+ meta->setCMRoot( cm );
+ meta->setAllowsAny( true );
+ // Ordered list of sub-elements
+ meta->addContents(daeOffsetOf(domTechnique,_contents));
+ meta->addContentsOrder(daeOffsetOf(domTechnique,_contentsOrder));
+
+
+ // Add attribute: profile
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "profile" );
+ ma->setType( dae.getAtomicTypes().get("xsNMTOKEN"));
+ ma->setOffset( daeOffsetOf( domTechnique , attrProfile ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domTechnique));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domToken_array.cpp b/1.4.0/dom/src/1.5/dom/domToken_array.cpp
new file mode 100644
index 0000000..5761598
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domToken_array.cpp
@@ -0,0 +1,82 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domToken_array.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domToken_array::create(DAE& dae)
+{
+ domToken_arrayRef ref = new domToken_array(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domToken_array::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "token_array" );
+ meta->registerClass(domToken_array::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("List_of_tokens"));
+ ma->setOffset( daeOffsetOf( domToken_array , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domToken_array , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domToken_array , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domToken_array , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domToken_array));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domTorus.cpp b/1.4.0/dom/src/1.5/dom/domTorus.cpp
new file mode 100644
index 0000000..d32fe66
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domTorus.cpp
@@ -0,0 +1,93 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domTorus.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domTorus::create(DAE& dae)
+{
+ domTorusRef ref = new domTorus(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domTorus::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "torus" );
+ meta->registerClass(domTorus::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
+ mea->setName( "radius" );
+ mea->setOffset( daeOffsetOf(domTorus,elemRadius) );
+ mea->setElementType( domTorus::domRadius::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domTorus,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ meta->setElementSize(sizeof(domTorus));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domTorus::domRadius::create(DAE& dae)
+{
+ domTorus::domRadiusRef ref = new domTorus::domRadius(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domTorus::domRadius::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "radius" );
+ meta->registerClass(domTorus::domRadius::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float2"));
+ ma->setOffset( daeOffsetOf( domTorus::domRadius , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domTorus::domRadius));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domTranslate.cpp b/1.4.0/dom/src/1.5/dom/domTranslate.cpp
new file mode 100644
index 0000000..ec132e4
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domTranslate.cpp
@@ -0,0 +1,59 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domTranslate.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domTranslate::create(DAE& dae)
+{
+ domTranslateRef ref = new domTranslate(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domTranslate::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "translate" );
+ meta->registerClass(domTranslate::create);
+
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("Float3"));
+ ma->setOffset( daeOffsetOf( domTranslate , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domTranslate , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domTranslate));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domTriangles.cpp b/1.4.0/dom/src/1.5/dom/domTriangles.cpp
new file mode 100644
index 0000000..6d6877e
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domTriangles.cpp
@@ -0,0 +1,97 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domTriangles.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domTriangles::create(DAE& dae)
+{
+ domTrianglesRef ref = new domTriangles(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domTriangles::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "triangles" );
+ meta->registerClass(domTriangles::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domTriangles,elemInput_array) );
+ mea->setElementType( domInput_local_offset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "p" );
+ mea->setOffset( daeOffsetOf(domTriangles,elemP) );
+ mea->setElementType( domP::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domTriangles,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domTriangles , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domTriangles , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: material
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "material" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domTriangles , attrMaterial ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domTriangles));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domTrifans.cpp b/1.4.0/dom/src/1.5/dom/domTrifans.cpp
new file mode 100644
index 0000000..9faa7fb
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domTrifans.cpp
@@ -0,0 +1,97 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domTrifans.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domTrifans::create(DAE& dae)
+{
+ domTrifansRef ref = new domTrifans(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domTrifans::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "trifans" );
+ meta->registerClass(domTrifans::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domTrifans,elemInput_array) );
+ mea->setElementType( domInput_local_offset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "p" );
+ mea->setOffset( daeOffsetOf(domTrifans,elemP_array) );
+ mea->setElementType( domP::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domTrifans,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domTrifans , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domTrifans , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: material
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "material" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domTrifans , attrMaterial ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domTrifans));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domTristrips.cpp b/1.4.0/dom/src/1.5/dom/domTristrips.cpp
new file mode 100644
index 0000000..f82b9c9
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domTristrips.cpp
@@ -0,0 +1,97 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domTristrips.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domTristrips::create(DAE& dae)
+{
+ domTristripsRef ref = new domTristrips(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domTristrips::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "tristrips" );
+ meta->registerClass(domTristrips::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domTristrips,elemInput_array) );
+ mea->setElementType( domInput_local_offset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "p" );
+ mea->setOffset( daeOffsetOf(domTristrips,elemP_array) );
+ mea->setElementType( domP::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domTristrips,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domTristrips , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domTristrips , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: material
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "material" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domTristrips , attrMaterial ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domTristrips));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domTypes.cpp b/1.4.0/dom/src/1.5/dom/domTypes.cpp
new file mode 100644
index 0000000..1a57a00
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domTypes.cpp
@@ -0,0 +1,1670 @@
+#include <dae.h>
+#include <1.5/dom/domTypes.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domCOLLADA.h>
+
+namespace ColladaDOM150 {
+
+void registerDomTypes(DAE& dae)
+{
+ daeAtomicType* type = NULL;
+ daeAtomicTypeList& atomicTypes = dae.getAtomicTypes();
+
+ // TYPEDEF: Float //check if this type has an existing base
+ type = atomicTypes.get("xsDouble");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Float");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Float");
+ }
+
+ // TYPEDEF: Int //check if this type has an existing base
+ type = atomicTypes.get("xsLong");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Int");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Int");
+ }
+
+ // TYPEDEF: Uint //check if this type has an existing base
+ type = atomicTypes.get("xsUnsignedLong");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Uint");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Uint");
+ }
+
+ // TYPEDEF: Sidref //check if this type has an existing base
+ type = atomicTypes.get("xsString");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Sidref");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Sidref");
+ }
+
+ // TYPEDEF: Sid //check if this type has an existing base
+ type = atomicTypes.get("xsNCName");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Sid");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Sid");
+ }
+
+ // TYPEDEF: List_of_bools //check if this type has an existing base
+ type = atomicTypes.get("xsBoolean");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("List_of_bools");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("List_of_bools");
+ }
+
+ // TYPEDEF: List_of_floats //check if this type has an existing base
+ type = atomicTypes.get("Float");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("List_of_floats");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("List_of_floats");
+ }
+
+ // TYPEDEF: List_of_hex_binary //check if this type has an existing base
+ type = atomicTypes.get("xsHexBinary");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("List_of_hex_binary");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("List_of_hex_binary");
+ }
+
+ // TYPEDEF: List_of_ints //check if this type has an existing base
+ type = atomicTypes.get("Int");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("List_of_ints");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("List_of_ints");
+ }
+
+ // TYPEDEF: List_of_names //check if this type has an existing base
+ type = atomicTypes.get("xsName");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("List_of_names");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("List_of_names");
+ }
+
+ // TYPEDEF: List_of_idrefs //check if this type has an existing base
+ type = atomicTypes.get("xsName");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("List_of_idrefs");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("List_of_idrefs");
+ }
+
+ // TYPEDEF: List_of_sidrefs //check if this type has an existing base
+ type = atomicTypes.get("Sidref");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("List_of_sidrefs");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("List_of_sidrefs");
+ }
+
+ // TYPEDEF: List_of_tokens //check if this type has an existing base
+ type = atomicTypes.get("xsToken");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("List_of_tokens");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("List_of_tokens");
+ }
+
+ // TYPEDEF: List_of_uints //check if this type has an existing base
+ type = atomicTypes.get("Uint");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("List_of_uints");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("List_of_uints");
+ }
+
+ // TYPEDEF: Bool2 //check if this type has an existing base
+ type = atomicTypes.get("List_of_bools");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Bool2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Bool2");
+ }
+
+ // TYPEDEF: Bool3 //check if this type has an existing base
+ type = atomicTypes.get("List_of_bools");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Bool3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Bool3");
+ }
+
+ // TYPEDEF: Bool4 //check if this type has an existing base
+ type = atomicTypes.get("List_of_bools");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Bool4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Bool4");
+ }
+
+ // TYPEDEF: Bool2x2 //check if this type has an existing base
+ type = atomicTypes.get("List_of_bools");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Bool2x2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Bool2x2");
+ }
+
+ // TYPEDEF: Bool2x3 //check if this type has an existing base
+ type = atomicTypes.get("List_of_bools");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Bool2x3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Bool2x3");
+ }
+
+ // TYPEDEF: Bool2x4 //check if this type has an existing base
+ type = atomicTypes.get("List_of_bools");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Bool2x4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Bool2x4");
+ }
+
+ // TYPEDEF: Bool3x2 //check if this type has an existing base
+ type = atomicTypes.get("List_of_bools");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Bool3x2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Bool3x2");
+ }
+
+ // TYPEDEF: Bool3x3 //check if this type has an existing base
+ type = atomicTypes.get("List_of_bools");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Bool3x3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Bool3x3");
+ }
+
+ // TYPEDEF: Bool3x4 //check if this type has an existing base
+ type = atomicTypes.get("List_of_bools");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Bool3x4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Bool3x4");
+ }
+
+ // TYPEDEF: Bool4x2 //check if this type has an existing base
+ type = atomicTypes.get("List_of_bools");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Bool4x2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Bool4x2");
+ }
+
+ // TYPEDEF: Bool4x3 //check if this type has an existing base
+ type = atomicTypes.get("List_of_bools");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Bool4x3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Bool4x3");
+ }
+
+ // TYPEDEF: Bool4x4 //check if this type has an existing base
+ type = atomicTypes.get("List_of_bools");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Bool4x4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Bool4x4");
+ }
+
+ // TYPEDEF: Float2 //check if this type has an existing base
+ type = atomicTypes.get("List_of_floats");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Float2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Float2");
+ }
+
+ // TYPEDEF: Float3 //check if this type has an existing base
+ type = atomicTypes.get("List_of_floats");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Float3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Float3");
+ }
+
+ // TYPEDEF: Float4 //check if this type has an existing base
+ type = atomicTypes.get("List_of_floats");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Float4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Float4");
+ }
+
+ // TYPEDEF: Float7 //check if this type has an existing base
+ type = atomicTypes.get("List_of_floats");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Float7");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Float7");
+ }
+
+ // TYPEDEF: Float2x2 //check if this type has an existing base
+ type = atomicTypes.get("List_of_floats");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Float2x2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Float2x2");
+ }
+
+ // TYPEDEF: Float2x3 //check if this type has an existing base
+ type = atomicTypes.get("List_of_floats");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Float2x3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Float2x3");
+ }
+
+ // TYPEDEF: Float2x4 //check if this type has an existing base
+ type = atomicTypes.get("List_of_floats");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Float2x4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Float2x4");
+ }
+
+ // TYPEDEF: Float3x2 //check if this type has an existing base
+ type = atomicTypes.get("List_of_floats");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Float3x2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Float3x2");
+ }
+
+ // TYPEDEF: Float3x3 //check if this type has an existing base
+ type = atomicTypes.get("List_of_floats");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Float3x3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Float3x3");
+ }
+
+ // TYPEDEF: Float3x4 //check if this type has an existing base
+ type = atomicTypes.get("List_of_floats");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Float3x4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Float3x4");
+ }
+
+ // TYPEDEF: Float4x2 //check if this type has an existing base
+ type = atomicTypes.get("List_of_floats");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Float4x2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Float4x2");
+ }
+
+ // TYPEDEF: Float4x3 //check if this type has an existing base
+ type = atomicTypes.get("List_of_floats");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Float4x3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Float4x3");
+ }
+
+ // TYPEDEF: Float4x4 //check if this type has an existing base
+ type = atomicTypes.get("List_of_floats");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Float4x4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Float4x4");
+ }
+
+ // TYPEDEF: Int2 //check if this type has an existing base
+ type = atomicTypes.get("List_of_ints");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Int2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Int2");
+ }
+
+ // TYPEDEF: Int3 //check if this type has an existing base
+ type = atomicTypes.get("List_of_ints");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Int3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Int3");
+ }
+
+ // TYPEDEF: Int4 //check if this type has an existing base
+ type = atomicTypes.get("List_of_ints");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Int4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Int4");
+ }
+
+ // TYPEDEF: Int2x2 //check if this type has an existing base
+ type = atomicTypes.get("List_of_ints");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Int2x2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Int2x2");
+ }
+
+ // TYPEDEF: Int2x3 //check if this type has an existing base
+ type = atomicTypes.get("List_of_ints");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Int2x3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Int2x3");
+ }
+
+ // TYPEDEF: Int2x4 //check if this type has an existing base
+ type = atomicTypes.get("List_of_ints");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Int2x4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Int2x4");
+ }
+
+ // TYPEDEF: Int3x2 //check if this type has an existing base
+ type = atomicTypes.get("List_of_ints");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Int3x2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Int3x2");
+ }
+
+ // TYPEDEF: Int3x3 //check if this type has an existing base
+ type = atomicTypes.get("List_of_ints");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Int3x3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Int3x3");
+ }
+
+ // TYPEDEF: Int3x4 //check if this type has an existing base
+ type = atomicTypes.get("List_of_ints");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Int3x4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Int3x4");
+ }
+
+ // TYPEDEF: Int4x2 //check if this type has an existing base
+ type = atomicTypes.get("List_of_ints");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Int4x2");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Int4x2");
+ }
+
+ // TYPEDEF: Int4x3 //check if this type has an existing base
+ type = atomicTypes.get("List_of_ints");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Int4x3");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Int4x3");
+ }
+
+ // TYPEDEF: Int4x4 //check if this type has an existing base
+ type = atomicTypes.get("List_of_ints");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Int4x4");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Int4x4");
+ }
+
+ // TYPEDEF: Digits //check if this type has an existing base
+ type = atomicTypes.get("xsUnsignedByte");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Digits");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Digits");
+ }
+
+ // TYPEDEF: Magnitude //check if this type has an existing base
+ type = atomicTypes.get("xsShort");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Magnitude");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Magnitude");
+ }
+
+ // ENUM: Morph_method
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Morph_method");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("NORMALIZED");
+ ((daeEnumType*)type)->_values->append(MORPH_METHOD_NORMALIZED);
+ ((daeEnumType*)type)->_strings->append("RELATIVE");
+ ((daeEnumType*)type)->_values->append(MORPH_METHOD_RELATIVE);
+ atomicTypes.append( type );
+
+ // ENUM: Node_enum
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Node_enum");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("JOINT");
+ ((daeEnumType*)type)->_values->append(NODE_ENUM_JOINT);
+ ((daeEnumType*)type)->_strings->append("NODE");
+ ((daeEnumType*)type)->_values->append(NODE_ENUM_NODE);
+ atomicTypes.append( type );
+
+ // ENUM: Sampler_behavior
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Sampler_behavior");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("CONSTANT");
+ ((daeEnumType*)type)->_values->append(SAMPLER_BEHAVIOR_CONSTANT);
+ ((daeEnumType*)type)->_strings->append("CYCLE");
+ ((daeEnumType*)type)->_values->append(SAMPLER_BEHAVIOR_CYCLE);
+ ((daeEnumType*)type)->_strings->append("CYCLE_RELATIVE");
+ ((daeEnumType*)type)->_values->append(SAMPLER_BEHAVIOR_CYCLE_RELATIVE);
+ ((daeEnumType*)type)->_strings->append("GRADIENT");
+ ((daeEnumType*)type)->_values->append(SAMPLER_BEHAVIOR_GRADIENT);
+ ((daeEnumType*)type)->_strings->append("OSCILLATE");
+ ((daeEnumType*)type)->_values->append(SAMPLER_BEHAVIOR_OSCILLATE);
+ ((daeEnumType*)type)->_strings->append("UNDEFINED");
+ ((daeEnumType*)type)->_values->append(SAMPLER_BEHAVIOR_UNDEFINED);
+ atomicTypes.append( type );
+
+ // TYPEDEF: Urifragment //check if this type has an existing base
+ type = atomicTypes.get("xsAnyURI");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Urifragment");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Urifragment");
+ }
+
+ // ENUM: Up_axis
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Up_axis");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("X_UP");
+ ((daeEnumType*)type)->_values->append(UP_AXIS_X_UP);
+ ((daeEnumType*)type)->_strings->append("Y_UP");
+ ((daeEnumType*)type)->_values->append(UP_AXIS_Y_UP);
+ ((daeEnumType*)type)->_strings->append("Z_UP");
+ ((daeEnumType*)type)->_values->append(UP_AXIS_Z_UP);
+ atomicTypes.append( type );
+
+ // ENUM: Version
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Version");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("1.5.0");
+ ((daeEnumType*)type)->_values->append(VERSION_1_5_0);
+ atomicTypes.append( type );
+
+ // ENUM: Image_face
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Image_face");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("POSITIVE_X");
+ ((daeEnumType*)type)->_values->append(IMAGE_FACE_POSITIVE_X);
+ ((daeEnumType*)type)->_strings->append("NEGATIVE_X");
+ ((daeEnumType*)type)->_values->append(IMAGE_FACE_NEGATIVE_X);
+ ((daeEnumType*)type)->_strings->append("POSITIVE_Y");
+ ((daeEnumType*)type)->_values->append(IMAGE_FACE_POSITIVE_Y);
+ ((daeEnumType*)type)->_strings->append("NEGATIVE_Y");
+ ((daeEnumType*)type)->_values->append(IMAGE_FACE_NEGATIVE_Y);
+ ((daeEnumType*)type)->_strings->append("POSITIVE_Z");
+ ((daeEnumType*)type)->_values->append(IMAGE_FACE_POSITIVE_Z);
+ ((daeEnumType*)type)->_strings->append("NEGATIVE_Z");
+ ((daeEnumType*)type)->_values->append(IMAGE_FACE_NEGATIVE_Z);
+ atomicTypes.append( type );
+
+ // ENUM: Image_format_hint_channels
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Image_format_hint_channels");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("RGB");
+ ((daeEnumType*)type)->_values->append(IMAGE_FORMAT_HINT_CHANNELS_RGB);
+ ((daeEnumType*)type)->_strings->append("RGBA");
+ ((daeEnumType*)type)->_values->append(IMAGE_FORMAT_HINT_CHANNELS_RGBA);
+ ((daeEnumType*)type)->_strings->append("RGBE");
+ ((daeEnumType*)type)->_values->append(IMAGE_FORMAT_HINT_CHANNELS_RGBE);
+ ((daeEnumType*)type)->_strings->append("L");
+ ((daeEnumType*)type)->_values->append(IMAGE_FORMAT_HINT_CHANNELS_L);
+ ((daeEnumType*)type)->_strings->append("LA");
+ ((daeEnumType*)type)->_values->append(IMAGE_FORMAT_HINT_CHANNELS_LA);
+ ((daeEnumType*)type)->_strings->append("D");
+ ((daeEnumType*)type)->_values->append(IMAGE_FORMAT_HINT_CHANNELS_D);
+ atomicTypes.append( type );
+
+ // ENUM: Image_format_hint_precision
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Image_format_hint_precision");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("DEFAULT");
+ ((daeEnumType*)type)->_values->append(IMAGE_FORMAT_HINT_PRECISION_DEFAULT);
+ ((daeEnumType*)type)->_strings->append("LOW");
+ ((daeEnumType*)type)->_values->append(IMAGE_FORMAT_HINT_PRECISION_LOW);
+ ((daeEnumType*)type)->_strings->append("MID");
+ ((daeEnumType*)type)->_values->append(IMAGE_FORMAT_HINT_PRECISION_MID);
+ ((daeEnumType*)type)->_strings->append("HIGH");
+ ((daeEnumType*)type)->_values->append(IMAGE_FORMAT_HINT_PRECISION_HIGH);
+ ((daeEnumType*)type)->_strings->append("MAX");
+ ((daeEnumType*)type)->_values->append(IMAGE_FORMAT_HINT_PRECISION_MAX);
+ atomicTypes.append( type );
+
+ // ENUM: Image_format_hint_range
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Image_format_hint_range");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("SNORM");
+ ((daeEnumType*)type)->_values->append(IMAGE_FORMAT_HINT_RANGE_SNORM);
+ ((daeEnumType*)type)->_strings->append("UNORM");
+ ((daeEnumType*)type)->_values->append(IMAGE_FORMAT_HINT_RANGE_UNORM);
+ ((daeEnumType*)type)->_strings->append("SINT");
+ ((daeEnumType*)type)->_values->append(IMAGE_FORMAT_HINT_RANGE_SINT);
+ ((daeEnumType*)type)->_strings->append("UINT");
+ ((daeEnumType*)type)->_values->append(IMAGE_FORMAT_HINT_RANGE_UINT);
+ ((daeEnumType*)type)->_strings->append("FLOAT");
+ ((daeEnumType*)type)->_values->append(IMAGE_FORMAT_HINT_RANGE_FLOAT);
+ atomicTypes.append( type );
+
+ // ENUM: Altitude_mode
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Altitude_mode");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("absolute");
+ ((daeEnumType*)type)->_values->append(ALTITUDE_MODE_absolute);
+ ((daeEnumType*)type)->_strings->append("relativeToGround");
+ ((daeEnumType*)type)->_values->append(ALTITUDE_MODE_relativeToGround);
+ atomicTypes.append( type );
+
+ // TYPEDEF: Fx_color //check if this type has an existing base
+ type = atomicTypes.get("Float4");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Fx_color");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Fx_color");
+ }
+
+ // ENUM: Fx_opaque
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Fx_opaque");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("A_ONE");
+ ((daeEnumType*)type)->_values->append(FX_OPAQUE_A_ONE);
+ ((daeEnumType*)type)->_strings->append("A_ZERO");
+ ((daeEnumType*)type)->_values->append(FX_OPAQUE_A_ZERO);
+ ((daeEnumType*)type)->_strings->append("RGB_ONE");
+ ((daeEnumType*)type)->_values->append(FX_OPAQUE_RGB_ONE);
+ ((daeEnumType*)type)->_strings->append("RGB_ZERO");
+ ((daeEnumType*)type)->_values->append(FX_OPAQUE_RGB_ZERO);
+ atomicTypes.append( type );
+
+ // ENUM: Fx_sampler_wrap
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Fx_sampler_wrap");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("WRAP");
+ ((daeEnumType*)type)->_values->append(FX_SAMPLER_WRAP_WRAP);
+ ((daeEnumType*)type)->_strings->append("CLAMP");
+ ((daeEnumType*)type)->_values->append(FX_SAMPLER_WRAP_CLAMP);
+ ((daeEnumType*)type)->_strings->append("BORDER");
+ ((daeEnumType*)type)->_values->append(FX_SAMPLER_WRAP_BORDER);
+ ((daeEnumType*)type)->_strings->append("MIRROR");
+ ((daeEnumType*)type)->_values->append(FX_SAMPLER_WRAP_MIRROR);
+ ((daeEnumType*)type)->_strings->append("MIRROR_ONCE");
+ ((daeEnumType*)type)->_values->append(FX_SAMPLER_WRAP_MIRROR_ONCE);
+ atomicTypes.append( type );
+
+ // ENUM: Fx_sampler_min_filter
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Fx_sampler_min_filter");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("NEAREST");
+ ((daeEnumType*)type)->_values->append(FX_SAMPLER_MIN_FILTER_NEAREST);
+ ((daeEnumType*)type)->_strings->append("LINEAR");
+ ((daeEnumType*)type)->_values->append(FX_SAMPLER_MIN_FILTER_LINEAR);
+ ((daeEnumType*)type)->_strings->append("ANISOTROPIC");
+ ((daeEnumType*)type)->_values->append(FX_SAMPLER_MIN_FILTER_ANISOTROPIC);
+ atomicTypes.append( type );
+
+ // ENUM: Fx_sampler_mag_filter
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Fx_sampler_mag_filter");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("NEAREST");
+ ((daeEnumType*)type)->_values->append(FX_SAMPLER_MAG_FILTER_NEAREST);
+ ((daeEnumType*)type)->_strings->append("LINEAR");
+ ((daeEnumType*)type)->_values->append(FX_SAMPLER_MAG_FILTER_LINEAR);
+ atomicTypes.append( type );
+
+ // ENUM: Fx_sampler_mip_filter
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Fx_sampler_mip_filter");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("NONE");
+ ((daeEnumType*)type)->_values->append(FX_SAMPLER_MIP_FILTER_NONE);
+ ((daeEnumType*)type)->_strings->append("NEAREST");
+ ((daeEnumType*)type)->_values->append(FX_SAMPLER_MIP_FILTER_NEAREST);
+ ((daeEnumType*)type)->_strings->append("LINEAR");
+ ((daeEnumType*)type)->_values->append(FX_SAMPLER_MIP_FILTER_LINEAR);
+ atomicTypes.append( type );
+
+ // ENUM: Fx_modifier
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Fx_modifier");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("CONST");
+ ((daeEnumType*)type)->_values->append(FX_MODIFIER_CONST);
+ ((daeEnumType*)type)->_strings->append("UNIFORM");
+ ((daeEnumType*)type)->_values->append(FX_MODIFIER_UNIFORM);
+ ((daeEnumType*)type)->_strings->append("VARYING");
+ ((daeEnumType*)type)->_values->append(FX_MODIFIER_VARYING);
+ ((daeEnumType*)type)->_strings->append("STATIC");
+ ((daeEnumType*)type)->_values->append(FX_MODIFIER_STATIC);
+ ((daeEnumType*)type)->_strings->append("VOLATILE");
+ ((daeEnumType*)type)->_values->append(FX_MODIFIER_VOLATILE);
+ ((daeEnumType*)type)->_strings->append("EXTERN");
+ ((daeEnumType*)type)->_values->append(FX_MODIFIER_EXTERN);
+ ((daeEnumType*)type)->_strings->append("SHARED");
+ ((daeEnumType*)type)->_values->append(FX_MODIFIER_SHARED);
+ atomicTypes.append( type );
+
+ // TYPEDEF: Fx_draw //check if this type has an existing base
+ type = atomicTypes.get("xsString");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Fx_draw");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Fx_draw");
+ }
+
+ // ENUM: Fx_pipeline_stage
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Fx_pipeline_stage");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("TESSELLATION");
+ ((daeEnumType*)type)->_values->append(FX_PIPELINE_STAGE_TESSELLATION);
+ ((daeEnumType*)type)->_strings->append("VERTEX");
+ ((daeEnumType*)type)->_values->append(FX_PIPELINE_STAGE_VERTEX);
+ ((daeEnumType*)type)->_strings->append("GEOMETRY");
+ ((daeEnumType*)type)->_values->append(FX_PIPELINE_STAGE_GEOMETRY);
+ ((daeEnumType*)type)->_strings->append("FRAGMENT");
+ ((daeEnumType*)type)->_values->append(FX_PIPELINE_STAGE_FRAGMENT);
+ atomicTypes.append( type );
+
+ // TYPEDEF: Gl_max_lights_index //check if this type has an existing base
+ type = atomicTypes.get("xsNonNegativeInteger");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Gl_max_lights_index");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Gl_max_lights_index");
+ }
+
+ // TYPEDEF: Gl_max_clip_planes_index //check if this type has an existing base
+ type = atomicTypes.get("xsNonNegativeInteger");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Gl_max_clip_planes_index");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Gl_max_clip_planes_index");
+ }
+
+ // TYPEDEF: Gl_max_texture_image_units_index //check if this type has an existing base
+ type = atomicTypes.get("xsNonNegativeInteger");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Gl_max_texture_image_units_index");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Gl_max_texture_image_units_index");
+ }
+
+ // ENUM: Gl_blend
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gl_blend");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("ZERO");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_ZERO);
+ ((daeEnumType*)type)->_strings->append("ONE");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_ONE);
+ ((daeEnumType*)type)->_strings->append("SRC_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_SRC_COLOR);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_SRC_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_ONE_MINUS_SRC_COLOR);
+ ((daeEnumType*)type)->_strings->append("DEST_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_DEST_COLOR);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_DEST_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_ONE_MINUS_DEST_COLOR);
+ ((daeEnumType*)type)->_strings->append("SRC_ALPHA");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_SRC_ALPHA);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_SRC_ALPHA");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_ONE_MINUS_SRC_ALPHA);
+ ((daeEnumType*)type)->_strings->append("DST_ALPHA");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_DST_ALPHA);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_DST_ALPHA");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_ONE_MINUS_DST_ALPHA);
+ ((daeEnumType*)type)->_strings->append("CONSTANT_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_CONSTANT_COLOR);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_CONSTANT_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_ONE_MINUS_CONSTANT_COLOR);
+ ((daeEnumType*)type)->_strings->append("CONSTANT_ALPHA");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_CONSTANT_ALPHA);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_CONSTANT_ALPHA");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_ONE_MINUS_CONSTANT_ALPHA);
+ ((daeEnumType*)type)->_strings->append("SRC_ALPHA_SATURATE");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_SRC_ALPHA_SATURATE);
+ atomicTypes.append( type );
+
+ // ENUM: Gl_face
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gl_face");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("FRONT");
+ ((daeEnumType*)type)->_values->append(GL_FACE_FRONT);
+ ((daeEnumType*)type)->_strings->append("BACK");
+ ((daeEnumType*)type)->_values->append(GL_FACE_BACK);
+ ((daeEnumType*)type)->_strings->append("FRONT_AND_BACK");
+ ((daeEnumType*)type)->_values->append(GL_FACE_FRONT_AND_BACK);
+ atomicTypes.append( type );
+
+ // ENUM: Gl_blend_equation
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gl_blend_equation");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("FUNC_ADD");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_EQUATION_FUNC_ADD);
+ ((daeEnumType*)type)->_strings->append("FUNC_SUBTRACT");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_EQUATION_FUNC_SUBTRACT);
+ ((daeEnumType*)type)->_strings->append("FUNC_REVERSE_SUBTRACT");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_EQUATION_FUNC_REVERSE_SUBTRACT);
+ ((daeEnumType*)type)->_strings->append("MIN");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_EQUATION_MIN);
+ ((daeEnumType*)type)->_strings->append("MAX");
+ ((daeEnumType*)type)->_values->append(GL_BLEND_EQUATION_MAX);
+ atomicTypes.append( type );
+
+ // ENUM: Gl_func
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gl_func");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("NEVER");
+ ((daeEnumType*)type)->_values->append(GL_FUNC_NEVER);
+ ((daeEnumType*)type)->_strings->append("LESS");
+ ((daeEnumType*)type)->_values->append(GL_FUNC_LESS);
+ ((daeEnumType*)type)->_strings->append("LEQUAL");
+ ((daeEnumType*)type)->_values->append(GL_FUNC_LEQUAL);
+ ((daeEnumType*)type)->_strings->append("EQUAL");
+ ((daeEnumType*)type)->_values->append(GL_FUNC_EQUAL);
+ ((daeEnumType*)type)->_strings->append("GREATER");
+ ((daeEnumType*)type)->_values->append(GL_FUNC_GREATER);
+ ((daeEnumType*)type)->_strings->append("NOTEQUAL");
+ ((daeEnumType*)type)->_values->append(GL_FUNC_NOTEQUAL);
+ ((daeEnumType*)type)->_strings->append("GEQUAL");
+ ((daeEnumType*)type)->_values->append(GL_FUNC_GEQUAL);
+ ((daeEnumType*)type)->_strings->append("ALWAYS");
+ ((daeEnumType*)type)->_values->append(GL_FUNC_ALWAYS);
+ atomicTypes.append( type );
+
+ // ENUM: Gl_stencil_op
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gl_stencil_op");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("KEEP");
+ ((daeEnumType*)type)->_values->append(GL_STENCIL_OP_KEEP);
+ ((daeEnumType*)type)->_strings->append("ZERO");
+ ((daeEnumType*)type)->_values->append(GL_STENCIL_OP_ZERO);
+ ((daeEnumType*)type)->_strings->append("REPLACE");
+ ((daeEnumType*)type)->_values->append(GL_STENCIL_OP_REPLACE);
+ ((daeEnumType*)type)->_strings->append("INCR");
+ ((daeEnumType*)type)->_values->append(GL_STENCIL_OP_INCR);
+ ((daeEnumType*)type)->_strings->append("DECR");
+ ((daeEnumType*)type)->_values->append(GL_STENCIL_OP_DECR);
+ ((daeEnumType*)type)->_strings->append("INVERT");
+ ((daeEnumType*)type)->_values->append(GL_STENCIL_OP_INVERT);
+ ((daeEnumType*)type)->_strings->append("INCR_WRAP");
+ ((daeEnumType*)type)->_values->append(GL_STENCIL_OP_INCR_WRAP);
+ ((daeEnumType*)type)->_strings->append("DECR_WRAP");
+ ((daeEnumType*)type)->_values->append(GL_STENCIL_OP_DECR_WRAP);
+ atomicTypes.append( type );
+
+ // ENUM: Gl_material
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gl_material");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("EMISSION");
+ ((daeEnumType*)type)->_values->append(GL_MATERIAL_EMISSION);
+ ((daeEnumType*)type)->_strings->append("AMBIENT");
+ ((daeEnumType*)type)->_values->append(GL_MATERIAL_AMBIENT);
+ ((daeEnumType*)type)->_strings->append("DIFFUSE");
+ ((daeEnumType*)type)->_values->append(GL_MATERIAL_DIFFUSE);
+ ((daeEnumType*)type)->_strings->append("SPECULAR");
+ ((daeEnumType*)type)->_values->append(GL_MATERIAL_SPECULAR);
+ ((daeEnumType*)type)->_strings->append("AMBIENT_AND_DIFFUSE");
+ ((daeEnumType*)type)->_values->append(GL_MATERIAL_AMBIENT_AND_DIFFUSE);
+ atomicTypes.append( type );
+
+ // ENUM: Gl_fog
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gl_fog");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("LINEAR");
+ ((daeEnumType*)type)->_values->append(GL_FOG_LINEAR);
+ ((daeEnumType*)type)->_strings->append("EXP");
+ ((daeEnumType*)type)->_values->append(GL_FOG_EXP);
+ ((daeEnumType*)type)->_strings->append("EXP2");
+ ((daeEnumType*)type)->_values->append(GL_FOG_EXP2);
+ atomicTypes.append( type );
+
+ // ENUM: Gl_fog_coord_src
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gl_fog_coord_src");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("FOG_COORDINATE");
+ ((daeEnumType*)type)->_values->append(GL_FOG_COORD_SRC_FOG_COORDINATE);
+ ((daeEnumType*)type)->_strings->append("FRAGMENT_DEPTH");
+ ((daeEnumType*)type)->_values->append(GL_FOG_COORD_SRC_FRAGMENT_DEPTH);
+ atomicTypes.append( type );
+
+ // ENUM: Gl_front_face
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gl_front_face");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("CW");
+ ((daeEnumType*)type)->_values->append(GL_FRONT_FACE_CW);
+ ((daeEnumType*)type)->_strings->append("CCW");
+ ((daeEnumType*)type)->_values->append(GL_FRONT_FACE_CCW);
+ atomicTypes.append( type );
+
+ // ENUM: Gl_light_model_color_control
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gl_light_model_color_control");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("SINGLE_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_LIGHT_MODEL_COLOR_CONTROL_SINGLE_COLOR);
+ ((daeEnumType*)type)->_strings->append("SEPARATE_SPECULAR_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_LIGHT_MODEL_COLOR_CONTROL_SEPARATE_SPECULAR_COLOR);
+ atomicTypes.append( type );
+
+ // ENUM: Gl_logic_op
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gl_logic_op");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("CLEAR");
+ ((daeEnumType*)type)->_values->append(GL_LOGIC_OP_CLEAR);
+ ((daeEnumType*)type)->_strings->append("AND");
+ ((daeEnumType*)type)->_values->append(GL_LOGIC_OP_AND);
+ ((daeEnumType*)type)->_strings->append("AND_REVERSE");
+ ((daeEnumType*)type)->_values->append(GL_LOGIC_OP_AND_REVERSE);
+ ((daeEnumType*)type)->_strings->append("COPY");
+ ((daeEnumType*)type)->_values->append(GL_LOGIC_OP_COPY);
+ ((daeEnumType*)type)->_strings->append("AND_INVERTED");
+ ((daeEnumType*)type)->_values->append(GL_LOGIC_OP_AND_INVERTED);
+ ((daeEnumType*)type)->_strings->append("NOOP");
+ ((daeEnumType*)type)->_values->append(GL_LOGIC_OP_NOOP);
+ ((daeEnumType*)type)->_strings->append("XOR");
+ ((daeEnumType*)type)->_values->append(GL_LOGIC_OP_XOR);
+ ((daeEnumType*)type)->_strings->append("OR");
+ ((daeEnumType*)type)->_values->append(GL_LOGIC_OP_OR);
+ ((daeEnumType*)type)->_strings->append("NOR");
+ ((daeEnumType*)type)->_values->append(GL_LOGIC_OP_NOR);
+ ((daeEnumType*)type)->_strings->append("EQUIV");
+ ((daeEnumType*)type)->_values->append(GL_LOGIC_OP_EQUIV);
+ ((daeEnumType*)type)->_strings->append("INVERT");
+ ((daeEnumType*)type)->_values->append(GL_LOGIC_OP_INVERT);
+ ((daeEnumType*)type)->_strings->append("OR_REVERSE");
+ ((daeEnumType*)type)->_values->append(GL_LOGIC_OP_OR_REVERSE);
+ ((daeEnumType*)type)->_strings->append("COPY_INVERTED");
+ ((daeEnumType*)type)->_values->append(GL_LOGIC_OP_COPY_INVERTED);
+ ((daeEnumType*)type)->_strings->append("NAND");
+ ((daeEnumType*)type)->_values->append(GL_LOGIC_OP_NAND);
+ ((daeEnumType*)type)->_strings->append("SET");
+ ((daeEnumType*)type)->_values->append(GL_LOGIC_OP_SET);
+ atomicTypes.append( type );
+
+ // ENUM: Gl_polygon_mode
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gl_polygon_mode");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("POINT");
+ ((daeEnumType*)type)->_values->append(GL_POLYGON_MODE_POINT);
+ ((daeEnumType*)type)->_strings->append("LINE");
+ ((daeEnumType*)type)->_values->append(GL_POLYGON_MODE_LINE);
+ ((daeEnumType*)type)->_strings->append("FILL");
+ ((daeEnumType*)type)->_values->append(GL_POLYGON_MODE_FILL);
+ atomicTypes.append( type );
+
+ // ENUM: Gl_shade_model
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gl_shade_model");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("FLAT");
+ ((daeEnumType*)type)->_values->append(GL_SHADE_MODEL_FLAT);
+ ((daeEnumType*)type)->_strings->append("SMOOTH");
+ ((daeEnumType*)type)->_values->append(GL_SHADE_MODEL_SMOOTH);
+ atomicTypes.append( type );
+
+ // TYPEDEF: Gl_alpha_value //check if this type has an existing base
+ type = atomicTypes.get("xsFloat");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Gl_alpha_value");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Gl_alpha_value");
+ }
+
+ // ENUM: Gl_enumeration
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gl_enumeration");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("ZERO");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_ZERO);
+ ((daeEnumType*)type)->_strings->append("ONE");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_ONE);
+ ((daeEnumType*)type)->_strings->append("SRC_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_SRC_COLOR);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_SRC_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_ONE_MINUS_SRC_COLOR);
+ ((daeEnumType*)type)->_strings->append("DEST_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_DEST_COLOR);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_DEST_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_ONE_MINUS_DEST_COLOR);
+ ((daeEnumType*)type)->_strings->append("SRC_ALPHA");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_SRC_ALPHA);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_SRC_ALPHA");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_ONE_MINUS_SRC_ALPHA);
+ ((daeEnumType*)type)->_strings->append("DST_ALPHA");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_DST_ALPHA);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_DST_ALPHA");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_ONE_MINUS_DST_ALPHA);
+ ((daeEnumType*)type)->_strings->append("CONSTANT_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_CONSTANT_COLOR);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_CONSTANT_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_ONE_MINUS_CONSTANT_COLOR);
+ ((daeEnumType*)type)->_strings->append("CONSTANT_ALPHA");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_CONSTANT_ALPHA);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_CONSTANT_ALPHA");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_ONE_MINUS_CONSTANT_ALPHA);
+ ((daeEnumType*)type)->_strings->append("SRC_ALPHA_SATURATE");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_SRC_ALPHA_SATURATE);
+ ((daeEnumType*)type)->_strings->append("FRONT");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_FRONT);
+ ((daeEnumType*)type)->_strings->append("BACK");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_BACK);
+ ((daeEnumType*)type)->_strings->append("FRONT_AND_BACK");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_FRONT_AND_BACK);
+ ((daeEnumType*)type)->_strings->append("FUNC_ADD");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_FUNC_ADD);
+ ((daeEnumType*)type)->_strings->append("FUNC_SUBTRACT");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_FUNC_SUBTRACT);
+ ((daeEnumType*)type)->_strings->append("FUNC_REVERSE_SUBTRACT");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_FUNC_REVERSE_SUBTRACT);
+ ((daeEnumType*)type)->_strings->append("MIN");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_MIN);
+ ((daeEnumType*)type)->_strings->append("MAX");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_MAX);
+ ((daeEnumType*)type)->_strings->append("NEVER");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_NEVER);
+ ((daeEnumType*)type)->_strings->append("LESS");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_LESS);
+ ((daeEnumType*)type)->_strings->append("LEQUAL");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_LEQUAL);
+ ((daeEnumType*)type)->_strings->append("EQUAL");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_EQUAL);
+ ((daeEnumType*)type)->_strings->append("GREATER");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_GREATER);
+ ((daeEnumType*)type)->_strings->append("NOTEQUAL");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_NOTEQUAL);
+ ((daeEnumType*)type)->_strings->append("GEQUAL");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_GEQUAL);
+ ((daeEnumType*)type)->_strings->append("ALWAYS");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_ALWAYS);
+ ((daeEnumType*)type)->_strings->append("KEEP");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_KEEP);
+ ((daeEnumType*)type)->_strings->append("REPLACE");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_REPLACE);
+ ((daeEnumType*)type)->_strings->append("INCR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_INCR);
+ ((daeEnumType*)type)->_strings->append("DECR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_DECR);
+ ((daeEnumType*)type)->_strings->append("INVERT");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_INVERT);
+ ((daeEnumType*)type)->_strings->append("INCR_WRAP");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_INCR_WRAP);
+ ((daeEnumType*)type)->_strings->append("DECR_WRAP");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_DECR_WRAP);
+ ((daeEnumType*)type)->_strings->append("EMISSION");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_EMISSION);
+ ((daeEnumType*)type)->_strings->append("AMBIENT");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_AMBIENT);
+ ((daeEnumType*)type)->_strings->append("DIFFUSE");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_DIFFUSE);
+ ((daeEnumType*)type)->_strings->append("SPECULAR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_SPECULAR);
+ ((daeEnumType*)type)->_strings->append("AMBIENT_AND_DIFFUSE");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_AMBIENT_AND_DIFFUSE);
+ ((daeEnumType*)type)->_strings->append("LINEAR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_LINEAR);
+ ((daeEnumType*)type)->_strings->append("EXP");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_EXP);
+ ((daeEnumType*)type)->_strings->append("EXP2");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_EXP2);
+ ((daeEnumType*)type)->_strings->append("FOG_COORDINATE");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_FOG_COORDINATE);
+ ((daeEnumType*)type)->_strings->append("FRAGMENT_DEPTH");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_FRAGMENT_DEPTH);
+ ((daeEnumType*)type)->_strings->append("CW");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_CW);
+ ((daeEnumType*)type)->_strings->append("CCW");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_CCW);
+ ((daeEnumType*)type)->_strings->append("SINGLE_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_SINGLE_COLOR);
+ ((daeEnumType*)type)->_strings->append("SEPARATE_SPECULAR_COLOR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_SEPARATE_SPECULAR_COLOR);
+ ((daeEnumType*)type)->_strings->append("CLEAR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_CLEAR);
+ ((daeEnumType*)type)->_strings->append("AND");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_AND);
+ ((daeEnumType*)type)->_strings->append("AND_REVERSE");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_AND_REVERSE);
+ ((daeEnumType*)type)->_strings->append("COPY");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_COPY);
+ ((daeEnumType*)type)->_strings->append("AND_INVERTED");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_AND_INVERTED);
+ ((daeEnumType*)type)->_strings->append("NOOP");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_NOOP);
+ ((daeEnumType*)type)->_strings->append("XOR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_XOR);
+ ((daeEnumType*)type)->_strings->append("OR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_OR);
+ ((daeEnumType*)type)->_strings->append("NOR");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_NOR);
+ ((daeEnumType*)type)->_strings->append("EQUIV");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_EQUIV);
+ ((daeEnumType*)type)->_strings->append("OR_REVERSE");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_OR_REVERSE);
+ ((daeEnumType*)type)->_strings->append("COPY_INVERTED");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_COPY_INVERTED);
+ ((daeEnumType*)type)->_strings->append("NAND");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_NAND);
+ ((daeEnumType*)type)->_strings->append("SET");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_SET);
+ ((daeEnumType*)type)->_strings->append("POINT");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_POINT);
+ ((daeEnumType*)type)->_strings->append("LINE");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_LINE);
+ ((daeEnumType*)type)->_strings->append("FILL");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_FILL);
+ ((daeEnumType*)type)->_strings->append("FLAT");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_FLAT);
+ ((daeEnumType*)type)->_strings->append("SMOOTH");
+ ((daeEnumType*)type)->_values->append(GL_ENUMERATION_SMOOTH);
+ atomicTypes.append( type );
+
+ // TYPEDEF: Gles_max_lights_index //check if this type has an existing base
+ type = atomicTypes.get("xsNonNegativeInteger");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Gles_max_lights_index");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Gles_max_lights_index");
+ }
+
+ // TYPEDEF: Gles_max_clip_planes_index //check if this type has an existing base
+ type = atomicTypes.get("xsNonNegativeInteger");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Gles_max_clip_planes_index");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Gles_max_clip_planes_index");
+ }
+
+ // TYPEDEF: Gles_max_texture_coords_index //check if this type has an existing base
+ type = atomicTypes.get("xsNonNegativeInteger");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Gles_max_texture_coords_index");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Gles_max_texture_coords_index");
+ }
+
+ // TYPEDEF: Gles_max_texture_image_units_index //check if this type has an existing base
+ type = atomicTypes.get("xsNonNegativeInteger");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Gles_max_texture_image_units_index");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Gles_max_texture_image_units_index");
+ }
+
+ // ENUM: Gles_texenv_mode
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gles_texenv_mode");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("REPLACE");
+ ((daeEnumType*)type)->_values->append(GLES_TEXENV_MODE_REPLACE);
+ ((daeEnumType*)type)->_strings->append("MODULATE");
+ ((daeEnumType*)type)->_values->append(GLES_TEXENV_MODE_MODULATE);
+ ((daeEnumType*)type)->_strings->append("DECAL");
+ ((daeEnumType*)type)->_values->append(GLES_TEXENV_MODE_DECAL);
+ ((daeEnumType*)type)->_strings->append("BLEND");
+ ((daeEnumType*)type)->_values->append(GLES_TEXENV_MODE_BLEND);
+ ((daeEnumType*)type)->_strings->append("ADD");
+ ((daeEnumType*)type)->_values->append(GLES_TEXENV_MODE_ADD);
+ atomicTypes.append( type );
+
+ // ENUM: Gles_texcombiner_operator_rgb
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gles_texcombiner_operator_rgb");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("REPLACE");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATOR_RGB_REPLACE);
+ ((daeEnumType*)type)->_strings->append("MODULATE");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATOR_RGB_MODULATE);
+ ((daeEnumType*)type)->_strings->append("ADD");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATOR_RGB_ADD);
+ ((daeEnumType*)type)->_strings->append("ADD_SIGNED");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATOR_RGB_ADD_SIGNED);
+ ((daeEnumType*)type)->_strings->append("INTERPOLATE");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATOR_RGB_INTERPOLATE);
+ ((daeEnumType*)type)->_strings->append("SUBTRACT");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATOR_RGB_SUBTRACT);
+ ((daeEnumType*)type)->_strings->append("DOT3_RGB");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATOR_RGB_DOT3_RGB);
+ ((daeEnumType*)type)->_strings->append("DOT3_RGBA");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATOR_RGB_DOT3_RGBA);
+ atomicTypes.append( type );
+
+ // ENUM: Gles_texcombiner_operator_alpha
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gles_texcombiner_operator_alpha");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("REPLACE");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATOR_ALPHA_REPLACE);
+ ((daeEnumType*)type)->_strings->append("MODULATE");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATOR_ALPHA_MODULATE);
+ ((daeEnumType*)type)->_strings->append("ADD");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATOR_ALPHA_ADD);
+ ((daeEnumType*)type)->_strings->append("ADD_SIGNED");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATOR_ALPHA_ADD_SIGNED);
+ ((daeEnumType*)type)->_strings->append("INTERPOLATE");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATOR_ALPHA_INTERPOLATE);
+ ((daeEnumType*)type)->_strings->append("SUBTRACT");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATOR_ALPHA_SUBTRACT);
+ atomicTypes.append( type );
+
+ // ENUM: Gles_texcombiner_source
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gles_texcombiner_source");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("TEXTURE");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_SOURCE_TEXTURE);
+ ((daeEnumType*)type)->_strings->append("CONSTANT");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_SOURCE_CONSTANT);
+ ((daeEnumType*)type)->_strings->append("PRIMARY");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_SOURCE_PRIMARY);
+ ((daeEnumType*)type)->_strings->append("PREVIOUS");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_SOURCE_PREVIOUS);
+ atomicTypes.append( type );
+
+ // ENUM: Gles_texcombiner_operand_rgb
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gles_texcombiner_operand_rgb");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("SRC_COLOR");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERAND_RGB_SRC_COLOR);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_SRC_COLOR");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERAND_RGB_ONE_MINUS_SRC_COLOR);
+ ((daeEnumType*)type)->_strings->append("SRC_ALPHA");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERAND_RGB_SRC_ALPHA);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_SRC_ALPHA");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERAND_RGB_ONE_MINUS_SRC_ALPHA);
+ atomicTypes.append( type );
+
+ // ENUM: Gles_texcombiner_operand_alpha
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gles_texcombiner_operand_alpha");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("SRC_ALPHA");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERAND_ALPHA_SRC_ALPHA);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_SRC_ALPHA");
+ ((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERAND_ALPHA_ONE_MINUS_SRC_ALPHA);
+ atomicTypes.append( type );
+
+ // TYPEDEF: Gles_texcombiner_argument_index //check if this type has an existing base
+ type = atomicTypes.get("xsNonNegativeInteger");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Gles_texcombiner_argument_index");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Gles_texcombiner_argument_index");
+ }
+
+ // ENUM: Gles_sampler_wrap
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gles_sampler_wrap");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("REPEAT");
+ ((daeEnumType*)type)->_values->append(GLES_SAMPLER_WRAP_REPEAT);
+ ((daeEnumType*)type)->_strings->append("CLAMP");
+ ((daeEnumType*)type)->_values->append(GLES_SAMPLER_WRAP_CLAMP);
+ ((daeEnumType*)type)->_strings->append("CLAMP_TO_EDGE");
+ ((daeEnumType*)type)->_values->append(GLES_SAMPLER_WRAP_CLAMP_TO_EDGE);
+ ((daeEnumType*)type)->_strings->append("MIRRORED_REPEAT");
+ ((daeEnumType*)type)->_values->append(GLES_SAMPLER_WRAP_MIRRORED_REPEAT);
+ atomicTypes.append( type );
+
+ // ENUM: Gles_stencil_op
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gles_stencil_op");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("KEEP");
+ ((daeEnumType*)type)->_values->append(GLES_STENCIL_OP_KEEP);
+ ((daeEnumType*)type)->_strings->append("ZERO");
+ ((daeEnumType*)type)->_values->append(GLES_STENCIL_OP_ZERO);
+ ((daeEnumType*)type)->_strings->append("REPLACE");
+ ((daeEnumType*)type)->_values->append(GLES_STENCIL_OP_REPLACE);
+ ((daeEnumType*)type)->_strings->append("INCR");
+ ((daeEnumType*)type)->_values->append(GLES_STENCIL_OP_INCR);
+ ((daeEnumType*)type)->_strings->append("DECR");
+ ((daeEnumType*)type)->_values->append(GLES_STENCIL_OP_DECR);
+ ((daeEnumType*)type)->_strings->append("INVERT");
+ ((daeEnumType*)type)->_values->append(GLES_STENCIL_OP_INVERT);
+ atomicTypes.append( type );
+
+ // ENUM: Gles_enumeration
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Gles_enumeration");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("ZERO");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_ZERO);
+ ((daeEnumType*)type)->_strings->append("ONE");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_ONE);
+ ((daeEnumType*)type)->_strings->append("SRC_COLOR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_SRC_COLOR);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_SRC_COLOR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_ONE_MINUS_SRC_COLOR);
+ ((daeEnumType*)type)->_strings->append("DEST_COLOR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_DEST_COLOR);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_DEST_COLOR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_ONE_MINUS_DEST_COLOR);
+ ((daeEnumType*)type)->_strings->append("SRC_ALPHA");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_SRC_ALPHA);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_SRC_ALPHA");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_ONE_MINUS_SRC_ALPHA);
+ ((daeEnumType*)type)->_strings->append("DST_ALPHA");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_DST_ALPHA);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_DST_ALPHA");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_ONE_MINUS_DST_ALPHA);
+ ((daeEnumType*)type)->_strings->append("CONSTANT_COLOR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_CONSTANT_COLOR);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_CONSTANT_COLOR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_ONE_MINUS_CONSTANT_COLOR);
+ ((daeEnumType*)type)->_strings->append("CONSTANT_ALPHA");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_CONSTANT_ALPHA);
+ ((daeEnumType*)type)->_strings->append("ONE_MINUS_CONSTANT_ALPHA");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_ONE_MINUS_CONSTANT_ALPHA);
+ ((daeEnumType*)type)->_strings->append("SRC_ALPHA_SATURATE");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_SRC_ALPHA_SATURATE);
+ ((daeEnumType*)type)->_strings->append("FRONT");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_FRONT);
+ ((daeEnumType*)type)->_strings->append("BACK");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_BACK);
+ ((daeEnumType*)type)->_strings->append("FRONT_AND_BACK");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_FRONT_AND_BACK);
+ ((daeEnumType*)type)->_strings->append("NEVER");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_NEVER);
+ ((daeEnumType*)type)->_strings->append("LESS");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_LESS);
+ ((daeEnumType*)type)->_strings->append("LEQUAL");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_LEQUAL);
+ ((daeEnumType*)type)->_strings->append("EQUAL");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_EQUAL);
+ ((daeEnumType*)type)->_strings->append("GREATER");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_GREATER);
+ ((daeEnumType*)type)->_strings->append("NOTEQUAL");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_NOTEQUAL);
+ ((daeEnumType*)type)->_strings->append("GEQUAL");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_GEQUAL);
+ ((daeEnumType*)type)->_strings->append("ALWAYS");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_ALWAYS);
+ ((daeEnumType*)type)->_strings->append("KEEP");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_KEEP);
+ ((daeEnumType*)type)->_strings->append("REPLACE");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_REPLACE);
+ ((daeEnumType*)type)->_strings->append("INCR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_INCR);
+ ((daeEnumType*)type)->_strings->append("DECR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_DECR);
+ ((daeEnumType*)type)->_strings->append("INVERT");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_INVERT);
+ ((daeEnumType*)type)->_strings->append("INCR_WRAP");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_INCR_WRAP);
+ ((daeEnumType*)type)->_strings->append("DECR_WRAP");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_DECR_WRAP);
+ ((daeEnumType*)type)->_strings->append("EMISSION");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_EMISSION);
+ ((daeEnumType*)type)->_strings->append("AMBIENT");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_AMBIENT);
+ ((daeEnumType*)type)->_strings->append("DIFFUSE");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_DIFFUSE);
+ ((daeEnumType*)type)->_strings->append("SPECULAR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_SPECULAR);
+ ((daeEnumType*)type)->_strings->append("AMBIENT_AND_DIFFUSE");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_AMBIENT_AND_DIFFUSE);
+ ((daeEnumType*)type)->_strings->append("LINEAR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_LINEAR);
+ ((daeEnumType*)type)->_strings->append("EXP");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_EXP);
+ ((daeEnumType*)type)->_strings->append("EXP2");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_EXP2);
+ ((daeEnumType*)type)->_strings->append("CW");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_CW);
+ ((daeEnumType*)type)->_strings->append("CCW");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_CCW);
+ ((daeEnumType*)type)->_strings->append("SINGLE_COLOR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_SINGLE_COLOR);
+ ((daeEnumType*)type)->_strings->append("SEPARATE_SPECULAR_COLOR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_SEPARATE_SPECULAR_COLOR);
+ ((daeEnumType*)type)->_strings->append("CLEAR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_CLEAR);
+ ((daeEnumType*)type)->_strings->append("AND");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_AND);
+ ((daeEnumType*)type)->_strings->append("AND_REVERSE");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_AND_REVERSE);
+ ((daeEnumType*)type)->_strings->append("COPY");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_COPY);
+ ((daeEnumType*)type)->_strings->append("AND_INVERTED");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_AND_INVERTED);
+ ((daeEnumType*)type)->_strings->append("NOOP");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_NOOP);
+ ((daeEnumType*)type)->_strings->append("XOR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_XOR);
+ ((daeEnumType*)type)->_strings->append("OR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_OR);
+ ((daeEnumType*)type)->_strings->append("NOR");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_NOR);
+ ((daeEnumType*)type)->_strings->append("EQUIV");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_EQUIV);
+ ((daeEnumType*)type)->_strings->append("OR_REVERSE");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_OR_REVERSE);
+ ((daeEnumType*)type)->_strings->append("COPY_INVERTED");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_COPY_INVERTED);
+ ((daeEnumType*)type)->_strings->append("NAND");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_NAND);
+ ((daeEnumType*)type)->_strings->append("SET");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_SET);
+ ((daeEnumType*)type)->_strings->append("POINT");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_POINT);
+ ((daeEnumType*)type)->_strings->append("LINE");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_LINE);
+ ((daeEnumType*)type)->_strings->append("FILL");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_FILL);
+ ((daeEnumType*)type)->_strings->append("FLAT");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_FLAT);
+ ((daeEnumType*)type)->_strings->append("SMOOTH");
+ ((daeEnumType*)type)->_values->append(GLES_ENUMERATION_SMOOTH);
+ atomicTypes.append( type );
+
+ // ENUM: Spring
+ type = new daeEnumType(dae);
+ type->_nameBindings.append("Spring");
+ ((daeEnumType*)type)->_strings = new daeStringRefArray;
+ ((daeEnumType*)type)->_values = new daeEnumArray;
+ ((daeEnumType*)type)->_strings->append("LINEAR");
+ ((daeEnumType*)type)->_values->append(SPRING_LINEAR);
+ ((daeEnumType*)type)->_strings->append("ANGULAR");
+ ((daeEnumType*)type)->_values->append(SPRING_ANGULAR);
+ atomicTypes.append( type );
+
+ // TYPEDEF: Dynamic_limit //check if this type has an existing base
+ type = atomicTypes.get("Float2");
+ if ( type == NULL ) { //register as a raw type
+ type = new daeRawRefType(dae);
+ type->_nameBindings.append("Dynamic_limit");
+ atomicTypes.append( type );
+ }
+ else { //add binding to existing type
+ type->_nameBindings.append("Dynamic_limit");
+ }
+
+}
+
+daeMetaElement* registerDomElements(DAE& dae)
+{
+ daeMetaElement* meta = domCOLLADA::registerElement(dae);
+ // Enable tracking of top level object by default
+ meta->setIsTrackableForQueries(true);
+ return meta;
+}
+
+daeInt colladaTypeCount() {
+ return 969;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domVertices.cpp b/1.4.0/dom/src/1.5/dom/domVertices.cpp
new file mode 100644
index 0000000..0de6e89
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domVertices.cpp
@@ -0,0 +1,80 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domVertices.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domVertices::create(DAE& dae)
+{
+ domVerticesRef ref = new domVertices(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domVertices::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "vertices" );
+ meta->registerClass(domVertices::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domVertices,elemInput_array) );
+ mea->setElementType( domInput_local::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domVertices,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 1 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domVertices , attrId ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domVertices , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domVertices));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domVisual_scene.cpp b/1.4.0/dom/src/1.5/dom/domVisual_scene.cpp
new file mode 100644
index 0000000..d3780aa
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domVisual_scene.cpp
@@ -0,0 +1,475 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domVisual_scene.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domVisual_scene::create(DAE& dae)
+{
+ domVisual_sceneRef ref = new domVisual_scene(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domVisual_scene::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "visual_scene" );
+ meta->registerClass(domVisual_scene::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domVisual_scene,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 1, -1 );
+ mea->setName( "node" );
+ mea->setOffset( daeOffsetOf(domVisual_scene,elemNode_array) );
+ mea->setElementType( domNode::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "evaluate_scene" );
+ mea->setOffset( daeOffsetOf(domVisual_scene,elemEvaluate_scene_array) );
+ mea->setElementType( domVisual_scene::domEvaluate_scene::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domVisual_scene,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domVisual_scene , attrId ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domVisual_scene , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domVisual_scene));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domVisual_scene::domEvaluate_scene::create(DAE& dae)
+{
+ domVisual_scene::domEvaluate_sceneRef ref = new domVisual_scene::domEvaluate_scene(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domVisual_scene::domEvaluate_scene::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "evaluate_scene" );
+ meta->registerClass(domVisual_scene::domEvaluate_scene::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "asset" );
+ mea->setOffset( daeOffsetOf(domVisual_scene::domEvaluate_scene,elemAsset) );
+ mea->setElementType( domAsset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "render" );
+ mea->setOffset( daeOffsetOf(domVisual_scene::domEvaluate_scene,elemRender_array) );
+ mea->setElementType( domVisual_scene::domEvaluate_scene::domRender::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domVisual_scene::domEvaluate_scene,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domVisual_scene::domEvaluate_scene , attrId ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domVisual_scene::domEvaluate_scene , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domVisual_scene::domEvaluate_scene , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: enable
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "enable" );
+ ma->setType( dae.getAtomicTypes().get("xsBoolean"));
+ ma->setOffset( daeOffsetOf( domVisual_scene::domEvaluate_scene , attrEnable ));
+ ma->setContainer( meta );
+ ma->setDefaultString( "true");
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domVisual_scene::domEvaluate_scene));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domVisual_scene::domEvaluate_scene::domRender::create(DAE& dae)
+{
+ domVisual_scene::domEvaluate_scene::domRenderRef ref = new domVisual_scene::domEvaluate_scene::domRender(dae);
+ ref->attrCamera_node.setContainer( (domVisual_scene::domEvaluate_scene::domRender*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domVisual_scene::domEvaluate_scene::domRender::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "render" );
+ meta->registerClass(domVisual_scene::domEvaluate_scene::domRender::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 );
+ mea->setName( "layer" );
+ mea->setOffset( daeOffsetOf(domVisual_scene::domEvaluate_scene::domRender,elemLayer_array) );
+ mea->setElementType( domVisual_scene::domEvaluate_scene::domRender::domLayer::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
+ mea->setName( "instance_material" );
+ mea->setOffset( daeOffsetOf(domVisual_scene::domEvaluate_scene::domRender,elemInstance_material) );
+ mea->setElementType( domVisual_scene::domEvaluate_scene::domRender::domInstance_material::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domVisual_scene::domEvaluate_scene::domRender,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: sid
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "sid" );
+ ma->setType( dae.getAtomicTypes().get("Sid"));
+ ma->setOffset( daeOffsetOf( domVisual_scene::domEvaluate_scene::domRender , attrSid ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domVisual_scene::domEvaluate_scene::domRender , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: camera_node
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "camera_node" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domVisual_scene::domEvaluate_scene::domRender , attrCamera_node ));
+ ma->setContainer( meta );
+ ma->setIsRequired( false );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domVisual_scene::domEvaluate_scene::domRender));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domVisual_scene::domEvaluate_scene::domRender::domLayer::create(DAE& dae)
+{
+ domVisual_scene::domEvaluate_scene::domRender::domLayerRef ref = new domVisual_scene::domEvaluate_scene::domRender::domLayer(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domVisual_scene::domEvaluate_scene::domRender::domLayer::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "layer" );
+ meta->registerClass(domVisual_scene::domEvaluate_scene::domRender::domLayer::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domVisual_scene::domEvaluate_scene::domRender::domLayer , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domVisual_scene::domEvaluate_scene::domRender::domLayer));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domVisual_scene::domEvaluate_scene::domRender::domInstance_material::create(DAE& dae)
+{
+ domVisual_scene::domEvaluate_scene::domRender::domInstance_materialRef ref = new domVisual_scene::domEvaluate_scene::domRender::domInstance_material(dae);
+ ref->attrUrl.setContainer( (domVisual_scene::domEvaluate_scene::domRender::domInstance_material*)ref );
+ return ref;
+}
+
+
+daeMetaElement *
+domVisual_scene::domEvaluate_scene::domRender::domInstance_material::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "instance_material" );
+ meta->registerClass(domVisual_scene::domEvaluate_scene::domRender::domInstance_material::create);
+
+ meta->setIsInnerClass( true );
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
+ mea->setName( "technique_override" );
+ mea->setOffset( daeOffsetOf(domVisual_scene::domEvaluate_scene::domRender::domInstance_material,elemTechnique_override) );
+ mea->setElementType( domVisual_scene::domEvaluate_scene::domRender::domInstance_material::domTechnique_override::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
+ mea->setName( "bind" );
+ mea->setOffset( daeOffsetOf(domVisual_scene::domEvaluate_scene::domRender::domInstance_material,elemBind_array) );
+ mea->setElementType( domVisual_scene::domEvaluate_scene::domRender::domInstance_material::domBind::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domVisual_scene::domEvaluate_scene::domRender::domInstance_material,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 2 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: url
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "url" );
+ ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
+ ma->setOffset( daeOffsetOf( domVisual_scene::domEvaluate_scene::domRender::domInstance_material , attrUrl ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domVisual_scene::domEvaluate_scene::domRender::domInstance_material));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domVisual_scene::domEvaluate_scene::domRender::domInstance_material::domTechnique_override::create(DAE& dae)
+{
+ domVisual_scene::domEvaluate_scene::domRender::domInstance_material::domTechnique_overrideRef ref = new domVisual_scene::domEvaluate_scene::domRender::domInstance_material::domTechnique_override(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domVisual_scene::domEvaluate_scene::domRender::domInstance_material::domTechnique_override::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "technique_override" );
+ meta->registerClass(domVisual_scene::domEvaluate_scene::domRender::domInstance_material::domTechnique_override::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: ref
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "ref" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domVisual_scene::domEvaluate_scene::domRender::domInstance_material::domTechnique_override , attrRef ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: pass
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "pass" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domVisual_scene::domEvaluate_scene::domRender::domInstance_material::domTechnique_override , attrPass ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domVisual_scene::domEvaluate_scene::domRender::domInstance_material::domTechnique_override));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domVisual_scene::domEvaluate_scene::domRender::domInstance_material::domBind::create(DAE& dae)
+{
+ domVisual_scene::domEvaluate_scene::domRender::domInstance_material::domBindRef ref = new domVisual_scene::domEvaluate_scene::domRender::domInstance_material::domBind(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domVisual_scene::domEvaluate_scene::domRender::domInstance_material::domBind::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "bind" );
+ meta->registerClass(domVisual_scene::domEvaluate_scene::domRender::domInstance_material::domBind::create);
+
+ meta->setIsInnerClass( true );
+
+ // Add attribute: semantic
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "semantic" );
+ ma->setType( dae.getAtomicTypes().get("xsNCName"));
+ ma->setOffset( daeOffsetOf( domVisual_scene::domEvaluate_scene::domRender::domInstance_material::domBind , attrSemantic ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: target
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "target" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domVisual_scene::domEvaluate_scene::domRender::domInstance_material::domBind , attrTarget ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domVisual_scene::domEvaluate_scene::domRender::domInstance_material::domBind));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/1.5/dom/domWires.cpp b/1.4.0/dom/src/1.5/dom/domWires.cpp
new file mode 100644
index 0000000..e90a07b
--- /dev/null
+++ b/1.4.0/dom/src/1.5/dom/domWires.cpp
@@ -0,0 +1,140 @@
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <1.5/dom/domWires.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaSequence.h>
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+
+
+namespace ColladaDOM150 {
+daeElementRef
+domWires::create(DAE& dae)
+{
+ domWiresRef ref = new domWires(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domWires::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "wires" );
+ meta->registerClass(domWires::create);
+
+ daeMetaCMPolicy *cm = NULL;
+ daeMetaElementAttribute *mea = NULL;
+ cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 0, 2, -1 );
+ mea->setName( "input" );
+ mea->setOffset( daeOffsetOf(domWires,elemInput_array) );
+ mea->setElementType( domInput_local_offset::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 );
+ mea->setName( "vcount" );
+ mea->setOffset( daeOffsetOf(domWires,elemVcount) );
+ mea->setElementType( domWires::domVcount::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
+ mea->setName( "p" );
+ mea->setOffset( daeOffsetOf(domWires,elemP) );
+ mea->setElementType( domP::registerElement(dae) );
+ cm->appendChild( mea );
+
+ mea = new daeMetaElementArrayAttribute( meta, cm, 3, 0, -1 );
+ mea->setName( "extra" );
+ mea->setOffset( daeOffsetOf(domWires,elemExtra_array) );
+ mea->setElementType( domExtra::registerElement(dae) );
+ cm->appendChild( mea );
+
+ cm->setMaxOrdinal( 3 );
+ meta->setCMRoot( cm );
+
+ // Add attribute: id
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "id" );
+ ma->setType( dae.getAtomicTypes().get("xsID"));
+ ma->setOffset( daeOffsetOf( domWires , attrId ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: name
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "name" );
+ ma->setType( dae.getAtomicTypes().get("xsToken"));
+ ma->setOffset( daeOffsetOf( domWires , attrName ));
+ ma->setContainer( meta );
+
+ meta->appendAttribute(ma);
+ }
+
+ // Add attribute: count
+ {
+ daeMetaAttribute *ma = new daeMetaAttribute;
+ ma->setName( "count" );
+ ma->setType( dae.getAtomicTypes().get("Uint"));
+ ma->setOffset( daeOffsetOf( domWires , attrCount ));
+ ma->setContainer( meta );
+ ma->setIsRequired( true );
+
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domWires));
+ meta->validate();
+
+ return meta;
+}
+
+daeElementRef
+domWires::domVcount::create(DAE& dae)
+{
+ domWires::domVcountRef ref = new domWires::domVcount(dae);
+ return ref;
+}
+
+
+daeMetaElement *
+domWires::domVcount::registerElement(DAE& dae)
+{
+ daeMetaElement* meta = dae.getMeta(ID());
+ if ( meta != NULL ) return meta;
+
+ meta = new daeMetaElement(dae);
+ dae.setMeta(ID(), *meta);
+ meta->setName( "vcount" );
+ meta->registerClass(domWires::domVcount::create);
+
+ meta->setIsInnerClass( true );
+ // Add attribute: _value
+ {
+ daeMetaAttribute *ma = new daeMetaArrayAttribute;
+ ma->setName( "_value" );
+ ma->setType( dae.getAtomicTypes().get("List_of_uints"));
+ ma->setOffset( daeOffsetOf( domWires::domVcount , _value ));
+ ma->setContainer( meta );
+ meta->appendAttribute(ma);
+ }
+
+ meta->setElementSize(sizeof(domWires::domVcount));
+ meta->validate();
+
+ return meta;
+}
+
+} // ColladaDOM150
diff --git a/1.4.0/dom/src/dae/dae.cpp b/1.4.0/dom/src/dae/dae.cpp
new file mode 100644
index 0000000..49a2b0d
--- /dev/null
+++ b/1.4.0/dom/src/dae/dae.cpp
@@ -0,0 +1,370 @@
+/*
+ * Copyright 2006 Sony Computer Entertainment Inc.
+ *
+ * Licensed under the MIT Open Source License, for details please see license.txt or the website
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ */
+
+#include <dae.h>
+#include <dae/daeDatabase.h>
+#include <dae/daeDom.h>
+#include <dae/daeIDRef.h>
+#include <dae/daeMetaElement.h>
+#include <modules/daeSTLDatabase.h>
+#include <dae/daeErrorHandler.h>
+#include <dae/daeRawResolver.h>
+#include <dae/daeStandardURIResolver.h>
+
+#ifdef DOM_INCLUDE_LIBXML
+#include <modules/daeLIBXMLPlugin.h>
+#endif
+
+#ifdef DOM_INCLUDE_TINYXML
+#include <dae/daeTinyXMLPlugin.h>
+#endif
+
+using namespace std;
+
+// Don't include domConstants.h because it varies depending on the dom version,
+
+daeInt DAEInstanceCount = 0;
+DAE::charEncoding DAE::globalCharEncoding = DAE::Utf8;
+
+void
+DAE::cleanup()
+{
+ //Contributed by Nus - Wed, 08 Nov 2006
+ daeStringRef::releaseStringTable();
+ //----------------------
+
+#ifndef NO_BOOST
+ try
+ {
+ boost::filesystem::remove_all(cdom::getSafeTmpDir());
+ }
+ catch (...)
+ {
+ daeErrorHandler::get()->handleWarning("Could not remove temporary directory in DAE::cleanup()\n");
+ }
+#endif
+}
+
+void DAE::init(daeDatabase* database_, daeIOPlugin* ioPlugin, const char* version) {
+ database = NULL;
+ plugin = NULL;
+ defaultDatabase = false;
+ defaultPlugin = false;
+
+ metas.setCount(GetColladaTypeCount(version));
+ initializeDomMeta(*this,version);
+ COLLADA_VERSION = GetCOLLADA_VERSION(version);
+ COLLADA_NAMESPACE = GetCOLLADA_NAMESPACE(version);
+ DAEInstanceCount++;
+
+ // The order of the URI resolvers is significant, so be careful
+ uriResolvers.list().append(new daeRawResolver(*this));
+ uriResolvers.list().append(new daeStandardURIResolver(*this));
+
+ idRefResolvers.addResolver(new daeDefaultIDRefResolver(*this));
+
+ setDatabase(database_);
+ setIOPlugin(ioPlugin);
+}
+
+DAE::~DAE()
+{
+ if (defaultDatabase)
+ delete database;
+ if (defaultPlugin)
+ delete plugin;
+ if ( --DAEInstanceCount <= 0 )
+ cleanup();
+}
+
+// Database setup
+daeDatabase* DAE::getDatabase()
+{
+ return database;
+}
+
+daeInt DAE::setDatabase(daeDatabase* _database)
+{
+ if (defaultDatabase)
+ delete database;
+ if (_database)
+ {
+ defaultDatabase = false;
+ database = _database;
+ }
+ else
+ {
+ //create default database
+ database = new daeSTLDatabase(*this);
+ defaultDatabase = true;
+ }
+ database->setMeta(getMeta(getDomCOLLADAID()));
+ return DAE_OK;
+}
+
+// IO Plugin setup
+daeIOPlugin* DAE::getIOPlugin()
+{
+ return plugin;
+}
+
+daeInt DAE::setIOPlugin(daeIOPlugin* _plugin)
+{
+ if (defaultPlugin)
+ delete plugin;
+ if (_plugin) {
+ defaultPlugin = false;
+ plugin = _plugin;
+ }
+ else {
+ plugin = NULL;
+ defaultPlugin = true;
+
+ //create default plugin
+#ifdef DOM_INCLUDE_LIBXML
+ plugin = new daeLIBXMLPlugin(*this);
+#else
+#ifdef DOM_INCLUDE_TINYXML
+ plugin = new daeTinyXMLPlugin;
+#endif
+#endif
+
+ if (!plugin) {
+ daeErrorHandler::get()->handleWarning("No IOPlugin Set");
+ plugin = new daeIOEmpty;
+ return DAE_ERROR;
+ }
+ }
+
+ int res = plugin->setMeta(getMeta(getDomCOLLADAID()));
+ if (res != DAE_OK) {
+ if (defaultPlugin) {
+ defaultPlugin = false;
+ delete plugin;
+ }
+ plugin = NULL;
+ }
+ return res;
+}
+
+
+// Take a path (either a URI ref or a file system path) and return a full URI,
+// using the current working directory as the base URI if a relative URI
+// reference is given.
+string DAE::makeFullUri(const string& path) {
+ daeURI uri(*this, cdom::nativePathToUri(path));
+ return uri.str();
+}
+
+
+daeElement* DAE::add(const string& path) {
+ close(path);
+ string uri = makeFullUri(path);
+ database->insertDocument(uri.c_str());
+ return getRoot(uri);
+}
+
+domCOLLADAProxy* DAE::openCommon(const string& path, daeString buffer) {
+ close(path);
+ string uri = makeFullUri(path);
+ plugin->setDatabase(database);
+ if (plugin->read(daeURI(*this, uri.c_str()), buffer) != DAE_OK)
+ return NULL;
+ return getRoot(uri);
+}
+
+domCOLLADAProxy* DAE::open(const string& path) {
+ return openCommon(path, NULL);
+}
+
+domCOLLADAProxy* DAE::openFromMemory(const string& path, daeString buffer) {
+ return openCommon(path, buffer);
+}
+
+bool DAE::writeCommon(const string& docPath, const string& pathToWriteTo, bool replace) {
+ string docUri = makeFullUri(docPath),
+ uriToWriteTo = makeFullUri(pathToWriteTo);
+ plugin->setDatabase(database);
+ if (daeDocument* doc = getDoc(docUri))
+ return plugin->write(daeURI(*this, uriToWriteTo.c_str()), doc, replace) == DAE_OK;
+ return false;
+}
+
+bool DAE::write(const string& path) {
+ return writeCommon(path, path, true);
+}
+
+bool DAE::writeTo(const string& docPath, const string& pathToWriteTo) {
+ return writeCommon(docPath, pathToWriteTo, true);
+}
+
+bool DAE::writeAll() {
+ for (int i = 0; i < getDocCount(); i++)
+ if (save((daeUInt)i, true) != DAE_OK)
+ return false;
+ return true;
+}
+
+void DAE::close(const string& path) {
+ database->removeDocument(getDoc(makeFullUri(path).c_str()));
+}
+
+daeInt DAE::clear() {
+ database->clear();
+ rawRefCache.clear();
+ sidRefCache.clear();
+ return DAE_OK;
+}
+
+
+// Deprecated methods
+daeInt DAE::load(daeString uri, daeString docBuffer) {
+ return openCommon(uri, docBuffer) ? DAE_OK : DAE_ERROR;
+}
+
+daeInt DAE::save(daeString uri, daeBool replace) {
+ return writeCommon(uri, uri, replace) ? DAE_OK : DAE_ERROR;
+}
+
+daeInt DAE::save(daeUInt documentIndex, daeBool replace) {
+ if ((int)documentIndex >= getDocCount())
+ return DAE_ERROR;
+
+ // Save it out to the URI it was loaded from
+ daeString uri = getDoc((int)documentIndex)->getDocumentURI()->getURI();
+ return writeCommon(uri, uri, replace) ? DAE_OK : DAE_ERROR;
+}
+
+daeInt DAE::saveAs(daeString uriToSaveTo, daeString docUri, daeBool replace) {
+ return writeCommon(docUri, uriToSaveTo, replace) ? DAE_OK : DAE_ERROR;
+}
+
+daeInt DAE::saveAs(daeString uriToSaveTo, daeUInt documentIndex, daeBool replace) {
+ if ((int)documentIndex >= getDocCount())
+ return DAE_ERROR;
+
+ daeString docUri = getDoc((int)documentIndex)->getDocumentURI()->getURI();
+ return writeCommon(docUri, uriToSaveTo, replace) ? DAE_OK : DAE_ERROR;
+}
+
+daeInt DAE::unload(daeString uri) {
+ close(uri);
+ return DAE_OK;
+}
+
+
+int DAE::getDocCount() {
+ return (int)database->getDocumentCount();
+}
+
+daeDocument* DAE::getDoc(int i) {
+ return database->getDocument(i);
+}
+
+daeDocument* DAE::getDoc(const string& path) {
+ return database->getDocument(makeFullUri(path).c_str(), true);
+}
+
+domCOLLADAProxy* DAE::getRoot(const string& path) {
+ if (daeDocument* doc = getDoc(path))
+ return (domCOLLADAProxy*)doc->getDomRoot();
+ return NULL;
+}
+
+bool DAE::setRoot(const string& path, domCOLLADAProxy* root) {
+ if (daeDocument* doc = getDoc(path))
+ doc->setDomRoot(root);
+ else
+ database->insertDocument(makeFullUri(path).c_str(), root);
+ return getRoot(path) != NULL;
+}
+
+domCOLLADAProxy* DAE::getDom(daeString uri) {
+ return getRoot(uri);
+}
+
+daeInt DAE::setDom(daeString uri, domCOLLADAProxy* dom) {
+ return setRoot(uri, dom);
+}
+
+daeString DAE::getDomVersion()
+{
+ return(COLLADA_VERSION);
+}
+
+daeString DAE::getColladaNamespace()
+{
+ return(COLLADA_NAMESPACE);
+}
+
+daeAtomicTypeList& DAE::getAtomicTypes() {
+ return atomicTypes;
+}
+
+daeMetaElement* DAE::getMeta(daeInt typeID) {
+ if (typeID < 0 || typeID >= daeInt(metas.getCount()))
+ return NULL;
+ return metas[typeID];
+}
+
+daeMetaElementRefArray& DAE::getAllMetas() {
+ return metas;
+}
+
+void DAE::setMeta(daeInt typeID, daeMetaElement& meta) {
+ if (typeID < 0 || typeID >= daeInt(metas.getCount()))
+ return;
+ metas[typeID] = &meta;
+}
+
+daeURIResolverList& DAE::getURIResolvers() {
+ return uriResolvers;
+}
+
+daeURI& DAE::getBaseURI() {
+ return baseUri;
+}
+
+void DAE::setBaseURI(const daeURI& uri) {
+ baseUri = uri;
+}
+
+void DAE::setBaseURI(const string& uri) {
+ baseUri = uri.c_str();
+}
+
+daeIDRefResolverList& DAE::getIDRefResolvers() {
+ return idRefResolvers;
+}
+
+daeRawRefCache& DAE::getRawRefCache() {
+ return rawRefCache;
+}
+
+daeSidRefCache& DAE::getSidRefCache() {
+ return sidRefCache;
+}
+
+void DAE::dummyFunction1() {
+}
+
+DAE::charEncoding DAE::getGlobalCharEncoding() {
+ return globalCharEncoding;
+}
+
+void DAE::setGlobalCharEncoding(charEncoding encoding) {
+ globalCharEncoding = encoding;
+}
+
+DAE::charEncoding DAE::getCharEncoding() {
+ return localCharEncoding.get() ? *localCharEncoding : getGlobalCharEncoding();
+}
+
+void DAE::setCharEncoding(charEncoding encoding) {
+ localCharEncoding.reset(new charEncoding(encoding));
+}
diff --git a/1.4.0/dom/src/dae/daeArray.cpp b/1.4.0/dom/src/dae/daeArray.cpp
new file mode 100644
index 0000000..25983ff
--- /dev/null
+++ b/1.4.0/dom/src/dae/daeArray.cpp
@@ -0,0 +1,23 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae/daeArrayTypes.h>
+#include <dae/daeArray.h>
+
+daeArray::daeArray():_count(0),_capacity(0),_data(NULL),_elementSize(4),_type(NULL)
+{
+}
+
+daeArray::~daeArray()
+{
+}
+
+void daeArray::setElementSize(size_t elementSize) {
+ clear();
+ _elementSize = elementSize;
+}
diff --git a/1.4.0/dom/src/dae/daeAtomicType.cpp b/1.4.0/dom/src/dae/daeAtomicType.cpp
new file mode 100644
index 0000000..304b3a1
--- /dev/null
+++ b/1.4.0/dom/src/dae/daeAtomicType.cpp
@@ -0,0 +1,958 @@
+/*
+ * Copyright 2006 Sony Computer Entertainment Inc.
+ *
+ * Licensed under the MIT Open Source License, for details please see license.txt or the website
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ */
+
+#include <sstream>
+#include <iomanip>
+#include <limits>
+#include <dae/daeAtomicType.h>
+#include <dae/daeElement.h>
+#include <dae/daeURI.h>
+#include <dae/daeIDRef.h>
+#include <dae/daeMetaElement.h>
+#include <dae/daeDatabase.h>
+#include <dae/daeErrorHandler.h>
+#include <dae/daeUtils.h>
+
+namespace {
+// Skip leading whitespace
+daeChar* skipWhitespace(daeChar* s) {
+ if (s) {
+ // !!!GAC NEEDS TO BE CHANGED to use XML standard whitespace parsing
+ while(*s == ' ' || *s == '\r' || *s == '\n' || *s == '\t') s++;
+ }
+
+ return s;
+}
+
+// Move forward past this token
+daeChar* skipToken(daeChar* s) {
+ while(*s != ' ' && *s != '\r' && *s != '\n' && *s != '\t' && *s != 0) s++;
+ return s;
+}
+
+// Given a string of whitespace-separated tokens, this function returns a null-terminated string
+// containing the next token. If the next token is already null-terminated, no memory is allocated
+// and the function returns the pointer that was passed in. Note that this function assumes that
+// the string passed in starts with the next token and not a whitespace.
+// If returnValue != s, the client should free the returnValue with delete[].
+daeChar* extractToken(daeChar* s) {
+ if (!s)
+ return 0;
+
+ daeChar* tmp = skipToken(s);
+ if (*tmp != 0) {
+ daeChar* scopy = new daeChar[tmp-s+1];
+ strncpy(scopy, s, tmp-s);
+ scopy[tmp-s] = 0;
+ return scopy;
+ }
+
+ return s;
+}
+}
+
+
+daeAtomicTypeList::daeAtomicTypeList(DAE& dae) {
+ types.append(new daeUIntType(dae));
+ types.append(new daeIntType(dae));
+ types.append(new daeLongType(dae));
+ types.append(new daeShortType(dae));
+ types.append(new daeULongType(dae));
+ types.append(new daeFloatType(dae));
+ types.append(new daeDoubleType(dae));
+ types.append(new daeStringRefType(dae));
+ types.append(new daeElementRefType(dae));
+ types.append(new daeEnumType(dae));
+ types.append(new daeRawRefType(dae));
+ types.append(new daeResolverType(dae));
+ types.append(new daeIDResolverType(dae));
+ types.append(new daeBoolType(dae));
+ types.append(new daeTokenType(dae));
+}
+
+daeAtomicTypeList::~daeAtomicTypeList() {
+ size_t types_count = types.getCount();
+ for (size_t i = 0; i < types_count; i++)
+ delete types[i];
+}
+
+daeInt daeAtomicTypeList::append(daeAtomicType* t) {
+ return (daeInt)types.append(t);
+}
+
+const daeAtomicType* daeAtomicTypeList::getByIndex(daeInt index) {
+ return types[index];
+}
+
+daeInt daeAtomicTypeList::getCount() {
+ return (daeInt)types.getCount();
+}
+
+daeAtomicType* daeAtomicTypeList::get(daeStringRef typeString) {
+ size_t types_count = types.getCount();
+ for (size_t i = 0; i < types_count; i++) {
+ daeStringRefArray& nameBindings = types[i]->getNameBindings();
+ size_t nameBindings_count = nameBindings.getCount();
+ for (size_t j = 0; j < nameBindings_count; j++) {
+ if (strcmp(typeString, nameBindings[j]) == 0)
+ return types[i];
+ }
+ }
+
+ return NULL;
+}
+
+daeAtomicType* daeAtomicTypeList::get(daeEnum typeEnum) {
+ size_t types_count = types.getCount();
+ for (size_t i = 0; i < types_count; i++)
+ if (typeEnum == types[i]->getTypeEnum())
+ return types[i];
+ return NULL;
+}
+
+
+daeAtomicType::daeAtomicType(DAE& dae)
+{
+ _dae = &dae;
+ _size = -1;
+ _alignment = -1;
+ _typeEnum = -1;
+ _typeString = "notype";
+ _printFormat = "badtype";
+ _scanFormat = "";
+ _maxStringLength = -1;
+}
+
+daeBool
+daeAtomicType::stringToMemory(daeChar *src, daeChar* dstMemory)
+{
+ sscanf(src, _scanFormat, dstMemory);
+ return true;
+}
+
+void daeAtomicType::arrayToString(daeArray& array, std::ostringstream& buffer) {
+ if (array.getCount() > 0)
+ memoryToString(array.getRaw(0), buffer);
+
+ size_t array_count = array.getCount();
+ for (size_t i = 1; i < array_count; i++) {
+ buffer << ' ';
+ memoryToString(array.getRaw(i), buffer);
+ }
+}
+
+daeBool
+daeAtomicType::stringToArray(daeChar* src, daeArray& array) {
+ array.clear();
+ array.setElementSize(_size);
+
+ if (src == 0)
+ return false;
+
+ // We're about to insert null terminators into the string so that scanf doesn't take forever
+ // doing strlens. Since the memory might not be writable, I need to duplicate the string and
+ // write into the duplicate, or else I might get access violations.
+ // This sucks... surely we can do better than this.
+ daeChar* srcDup = new daeChar[strlen(src)+1];
+ strcpy(srcDup, src);
+ src = srcDup;
+
+ while (*src != 0)
+ {
+ src = skipWhitespace(src);
+ if(*src != 0)
+ {
+ daeChar* token = src;
+ src = skipToken(src);
+ daeChar temp = *src;
+ *src = 0;
+ size_t count = array.getCount();
+ array.setCount(count+1);
+ if (!stringToMemory(token, array.getRaw(count))) {
+ delete[] srcDup;
+ return false;
+ }
+
+ *src = temp;
+ }
+ }
+
+ delete[] srcDup;
+ return true;
+}
+
+daeInt daeAtomicType::compareArray(daeArray& value1, daeArray& value2) {
+ if (value1.getCount() != value2.getCount())
+ return value1.getCount() > value2.getCount() ? 1 : -1;
+
+ size_t value1_count = value1.getCount();
+ for (size_t i = 0; i < value1_count; i++) {
+ daeInt result = compare(value1.getRaw(i), value2.getRaw(i));
+ if (result != 0)
+ return result;
+ }
+
+ return 0;
+}
+
+void daeAtomicType::copyArray(daeArray& src, daeArray& dst) {
+ dst.setCount(src.getCount());
+ size_t src_count = src.getCount();
+ for (size_t i = 0; i < src_count; i++)
+ copy(src.getRaw(i), dst.getRaw(i));
+}
+
+daeInt
+daeAtomicType::compare(daeChar* value1, daeChar* value2) {
+ return memcmp(value1, value2, _size);
+}
+
+daeEnumType::daeEnumType(DAE& dae) : daeAtomicType(dae)
+{
+ _size = sizeof(daeEnum);
+ _alignment = sizeof(daeEnum);
+ _typeEnum = EnumType;
+ _nameBindings.append("enum");
+ _printFormat = "%s"; //"%%.%ds";
+ _scanFormat = "%s";
+ _strings = NULL;
+ _values = NULL;
+ _typeString = "enum";
+}
+
+daeEnumType::~daeEnumType() {
+ if ( _strings ) {
+ delete _strings;
+ _strings = NULL;
+ }
+ if ( _values ) {
+ delete _values;
+ _values = NULL;
+ }
+}
+
+daeBoolType::daeBoolType(DAE& dae) : daeAtomicType(dae)
+{
+ _size = sizeof(daeBool);
+ _alignment = sizeof(daeBool);
+ _typeEnum = BoolType;
+ _printFormat = "%d";
+ _scanFormat = "%d";
+ _typeString = "bool";
+ _maxStringLength = (daeInt)strlen("false")+1;
+ _nameBindings.append("bool");
+ //_nameBindings.append("xsBool");
+ _nameBindings.append("xsBoolean");
+}
+
+daeIntType::daeIntType(DAE& dae) : daeAtomicType(dae)
+{
+ _size = sizeof(daeInt);
+ _alignment = sizeof(daeInt);
+ _typeEnum = IntType;
+ _maxStringLength = 16;
+ _nameBindings.append("int");
+ _nameBindings.append("xsInteger");
+ _nameBindings.append("xsHexBinary");
+ _nameBindings.append("xsIntegerArray");
+ _nameBindings.append("xsHexBinaryArray");
+ _nameBindings.append("xsByte");
+ _nameBindings.append("xsInt");
+ _printFormat = "%d";
+ _scanFormat = "%d";
+ _typeString = "int";
+}
+daeLongType::daeLongType(DAE& dae) : daeAtomicType(dae)
+{
+ _size = sizeof(daeLong);
+ _alignment = sizeof(daeLong);
+ _typeEnum = LongType;
+ _maxStringLength = 32;
+ _nameBindings.append("xsLong");
+ _nameBindings.append("xsLongArray");
+#if defined(_MSC_VER) || defined(__MINGW32__)
+ _printFormat = "%I64d";
+ _scanFormat = "%I64d";
+#else
+ _printFormat = "%lld";
+ _scanFormat = "%lld";
+#endif
+ _typeString = "long";
+}
+daeShortType::daeShortType(DAE& dae) : daeAtomicType(dae)
+{
+ _maxStringLength = 8;
+ _size = sizeof(daeShort);
+ _alignment = sizeof(daeShort);
+ _typeEnum = ShortType;
+ _nameBindings.append("short");
+ _nameBindings.append("xsShort");
+ _printFormat = "%hd";
+ _scanFormat = "%hd";
+ _typeString = "short";
+}
+daeUIntType::daeUIntType(DAE& dae) : daeAtomicType(dae)
+{
+ _maxStringLength = 16;
+ _size = sizeof(daeUInt);
+ _alignment = sizeof(daeUInt);
+ _typeEnum = UIntType;
+ _nameBindings.append("uint");
+ _nameBindings.append("xsNonNegativeInteger");
+ _nameBindings.append("xsUnsignedByte");
+ _nameBindings.append("xsUnsignedInt");
+ _nameBindings.append("xsPositiveInteger");
+ _printFormat = "%u";
+ _scanFormat = "%u";
+ _typeString = "uint";
+}
+daeULongType::daeULongType(DAE& dae) : daeAtomicType(dae)
+{
+ _size = sizeof(daeULong);
+ _alignment = sizeof(daeULong);
+ _typeEnum = ULongType;
+ _maxStringLength = 32;
+ _nameBindings.append("ulong");
+ _nameBindings.append("xsUnsignedLong");
+#if defined(_MSC_VER) || defined(__MINGW32__)
+ _printFormat = "%I64u";
+ _scanFormat = "%I64u";
+#else
+ _printFormat = "%llu";
+ _scanFormat = "%llu";
+#endif
+ _typeString = "ulong";
+}
+daeFloatType::daeFloatType(DAE& dae) : daeAtomicType(dae)
+{
+ _maxStringLength = 64;
+ _size = sizeof(daeFloat);
+ _alignment = sizeof(daeFloat);
+ _typeEnum = FloatType;
+ _nameBindings.append("float");
+ _nameBindings.append("xsFloat");
+ _printFormat = "%g";
+ _scanFormat = "%g";
+ _typeString = "float";
+}
+daeDoubleType::daeDoubleType(DAE& dae) : daeAtomicType(dae)
+{
+ _size = sizeof(daeDouble);
+ _alignment = sizeof(daeDouble);
+ _typeEnum = DoubleType;
+ _nameBindings.append("double");
+ _nameBindings.append("xsDouble");
+ _nameBindings.append("xsDecimal");
+ _printFormat = "%lg";
+ _scanFormat = "%lg";
+ _typeString = "double";
+ _maxStringLength = 64;
+}
+
+daeStringRefType::daeStringRefType(DAE& dae) : daeAtomicType(dae)
+{
+ _size = sizeof(daeStringRef);
+ _alignment = sizeof(daeStringRef);
+ _typeEnum = StringRefType;
+ _nameBindings.append("string");
+ _nameBindings.append("xsString");
+ _nameBindings.append("xsDateTime");
+ _printFormat = "%s";
+ _scanFormat = "%s";
+ _typeString = "string";
+}
+
+daeTokenType::daeTokenType(DAE& dae) : daeStringRefType(dae)
+{
+ _size = sizeof(daeStringRef);
+ _alignment = sizeof(daeStringRef);
+ _typeEnum = TokenType;
+ _nameBindings.append("token");
+ _nameBindings.append("xsID");
+ _nameBindings.append("xsNCName");
+ _nameBindings.append("xsNMTOKEN");
+ _nameBindings.append("xsName");
+ _nameBindings.append("xsToken");
+ _nameBindings.append("xsNameArray");
+ _nameBindings.append("xsTokenArray");
+ _nameBindings.append("xsNCNameArray");
+ _printFormat = "%s";
+ _scanFormat = "%s";
+ _typeString = "token";
+}
+
+daeElementRefType::daeElementRefType(DAE& dae) : daeAtomicType(dae)
+{
+ _size = sizeof(daeElementRef);
+ _alignment = sizeof(daeElementRef);
+ _typeEnum = ElementRefType;
+ _nameBindings.append("element");
+ _nameBindings.append("Element");
+ _nameBindings.append("TrackedElement");
+ _printFormat = "%p";
+ _scanFormat = "%p";
+ _typeString = "element";
+ _maxStringLength = 64;
+}
+
+daeRawRefType::daeRawRefType(DAE& dae) : daeAtomicType(dae)
+{
+ _size = sizeof(daeRawRef);
+ _alignment = sizeof(daeRawRef);
+ _typeEnum = RawRefType;
+ _nameBindings.append("raw");
+ _printFormat = "%p";
+ _scanFormat = "%p";
+ _typeString = "raw";
+ _maxStringLength = 64;
+}
+
+daeResolverType::daeResolverType(DAE& dae) : daeAtomicType(dae)
+{
+ _size = sizeof(daeURI);
+ _alignment = sizeof(daeURI);
+ _typeEnum = ResolverType;
+ _nameBindings.append("resolver");
+ _nameBindings.append("xsAnyURI");
+ _printFormat = "%s";
+ _scanFormat = "%s";
+ _typeString = "resolver";
+}
+daeIDResolverType::daeIDResolverType(DAE& dae) : daeAtomicType(dae)
+{
+ _size = sizeof(daeIDRef);
+ _alignment = sizeof(daeIDRef);
+ _typeEnum = IDResolverType;
+ _nameBindings.append("xsIDREF");
+ _nameBindings.append("xsIDREFS");
+ _printFormat = "%s";
+ _scanFormat = "%s";
+ _typeString = "idref_resolver";
+}
+
+daeBool daeIntType::memoryToString(daeChar* src, std::ostringstream& dst) {
+ dst << *(daeInt*)src;
+ return true;
+}
+
+daeBool daeLongType::memoryToString(daeChar* src, std::ostringstream& dst) {
+ dst << *(daeLong*)src;
+ return true;
+}
+
+daeBool daeShortType::memoryToString(daeChar* src, std::ostringstream& dst) {
+ dst << *(daeShort*)src;
+ return true;
+}
+
+daeBool daeUIntType::memoryToString(daeChar* src, std::ostringstream& dst) {
+ dst << *(daeUInt*)src;
+ return true;
+}
+
+daeBool daeULongType::memoryToString(daeChar* src, std::ostringstream& dst) {
+#ifdef _MSC_VER
+ // Microsoft's stringstream implementation has weird performance issues
+ static char buffer[64];
+ _snprintf(buffer, 64, _printFormat, *((daeULong*)src));
+ dst << buffer;
+#else
+ dst << *(daeULong*)src;
+#endif
+ return true;
+}
+
+daeBool daeFloatType::memoryToString(daeChar* src, std::ostringstream& dst) {
+ if ( *(daeFloat*)src != *(daeFloat*)src ) // NAN
+ dst << "NaN";
+ else if ( *(daeUInt*)src == 0x7f800000 ) // +INF
+ dst << "INF";
+ else if ( *(daeUInt*)src == 0xff800000 ) // -INF
+ dst << "-INF";
+ else {
+#ifndef COLLADA_DOM_DAEFLOAT_IS64
+ dst << std::setprecision(std::numeric_limits<daeFloat>::digits10+1) << *(daeFloat*)src;
+#else
+ dst << *(daeFloat*)src;
+#endif
+ }
+ return true;
+}
+
+daeBool
+daeFloatType::stringToMemory(daeChar *src, daeChar* dstMemory)
+{
+ src = skipWhitespace(src);
+
+ if ( strncmp(src, "NaN", 3) == 0 ) {
+ daeErrorHandler::get()->handleWarning("NaN encountered while setting an attribute or value\n");
+ *(daeInt*)(dstMemory) = 0x7f800002;
+ }
+ else if ( strncmp(src, "INF", 3) == 0 ) {
+ daeErrorHandler::get()->handleWarning( "INF encountered while setting an attribute or value\n" );
+ *(daeInt*)(dstMemory) = 0x7f800000;
+ }
+ else if ( strncmp(src, "-INF", 4) == 0 ) {
+ daeErrorHandler::get()->handleWarning( "-INF encountered while setting an attribute or value\n" );
+ *(daeInt*)(dstMemory) = 0xff800000;
+ }
+ else
+ {
+ sscanf(src, _scanFormat, dstMemory);
+ }
+ return true;
+}
+
+daeBool daeDoubleType::memoryToString(daeChar* src, std::ostringstream& dst) {
+ if ( *(daeDouble*)src != *(daeDouble*)src ) // NAN
+ dst << "NaN";
+ else if ( *(daeULong*)src == 0x7ff0000000000000LL ) // +INF
+ dst << "INF";
+ else if ( *(daeULong*)src == 0xfff0000000000000LL ) // -INF
+ dst << "-INF";
+ else {
+#ifdef _MSC_VER
+ // Microsoft's stringstream implementation has weird performance issues
+ static char buffer[64];
+ _snprintf(buffer, 64, _printFormat, *((daeDouble*)src));
+ dst << buffer;
+#else
+
+#ifndef COLLADA_DOM_DAEFLOAT_IS64
+ dst << std::setprecision(std::numeric_limits<daeDouble>::digits10+1) << *(daeDouble*)src;
+#else
+ dst << *(daeDouble*)src;
+#endif
+#endif
+ }
+ return true;
+}
+
+daeBool
+daeDoubleType::stringToMemory(daeChar *src, daeChar* dstMemory)
+{
+ src = skipWhitespace(src);
+
+ if ( strncmp(src, "NaN", 3) == 0 ) {
+ daeErrorHandler::get()->handleWarning( "NaN encountered while setting an attribute or value\n" );
+ *(daeLong*)(dstMemory) = 0x7ff0000000000002LL;
+ }
+ else if ( strncmp(src, "INF", 3) == 0 ) {
+ daeErrorHandler::get()->handleWarning( "INF encountered while setting an attribute or value\n" );
+ *(daeLong*)(dstMemory) = 0x7ff0000000000000LL;
+ }
+ else if ( strncmp(src, "-INF", 4) == 0 ) {
+ daeErrorHandler::get()->handleWarning( "-INF encountered while setting an attribute or value\n" );
+ *(daeLong*)(dstMemory) = 0xfff0000000000000LL;
+ }
+ else
+ {
+ sscanf(src, _scanFormat, dstMemory);
+ }
+ return true;
+}
+
+daeBool daeRawRefType::memoryToString(daeChar* src, std::ostringstream& dst) {
+ dst << (void *)(*((daeRawRef*)src));
+ return true;
+}
+
+daeBool daeStringRefType::memoryToString(daeChar* src, std::ostringstream& dst) {
+ daeString s = *((daeStringRef *)src);
+ if (s)
+ dst << s;
+ return true;
+}
+
+daeBool daeResolverType::memoryToString(daeChar* src, std::ostringstream& dst) {
+ // Get the URI we are trying to write
+ daeURI *thisURI = ((daeURI *)src);
+ // Encode spaces with %20
+ dst << cdom::replace(thisURI->originalStr(), " ", "%20");
+ return true;
+}
+
+daeBool daeIDResolverType::memoryToString(daeChar* src, std::ostringstream& dst) {
+ dst << ((daeIDRef *)src)->getID();
+ return true;
+}
+
+daeBool
+daeResolverType::stringToMemory(daeChar* src, daeChar* dstMemory)
+{
+ ((daeURI*)dstMemory)->set(cdom::replace(src, " ", "%20"));
+ return true;
+}
+
+daeBool
+daeIDResolverType::stringToMemory(daeChar* src, daeChar* dstMemory)
+{
+ src = skipWhitespace(src);
+ daeChar* id = extractToken(src);
+ ((daeIDRef*)dstMemory)->setID(id);
+ if (id != src)
+ delete[] id;
+ return true;
+}
+
+daeBool
+daeStringRefType::stringToMemory(daeChar* srcChars, daeChar* dstMemory)
+{
+ *((daeStringRef*)dstMemory) = srcChars;
+ return true;
+}
+
+daeBool
+daeTokenType::stringToMemory(daeChar* src, daeChar* dst)
+{
+ src = skipWhitespace(src);
+ daeChar* srcTmp = extractToken(src);
+ *((daeStringRef*)dst) = srcTmp;
+ if (srcTmp != src)
+ delete[] srcTmp;
+ return true;
+}
+
+daeBool
+daeEnumType::stringToMemory(daeChar* src, daeChar* dst )
+{
+ src = skipWhitespace(src);
+ daeChar* srcTmp = extractToken(src);
+
+ size_t index(0);
+ bool result = _strings->find(srcTmp, index) != DAE_ERR_QUERY_NO_MATCH;
+ if (result) {
+ daeEnum val = _values->get( index );
+ *((daeEnum*)dst) = val;
+ }
+
+ if (srcTmp != src)
+ delete[] srcTmp;
+
+ return result;
+}
+
+daeBool daeEnumType::memoryToString(daeChar* src, std::ostringstream& dst) {
+ daeStringRef s = "unknown";
+ if (_strings != NULL) {
+ size_t index;
+ if (_values->find(*((daeEnum*)src), index) == DAE_OK)
+ s = _strings->get(index);
+ }
+ dst << (const char*)s;
+ return true;
+}
+
+daeBool
+daeBoolType::stringToMemory(daeChar* srcChars, daeChar* dstMemory)
+{
+ if (strncmp(srcChars,"true",4)==0 || strncmp(srcChars,"1",1)==0)
+ *((daeBool*)dstMemory) = true;
+ else
+ *((daeBool*)dstMemory) = false;
+ return true;
+}
+
+daeBool daeBoolType::memoryToString(daeChar* src, std::ostringstream& dst) {
+ if (*((daeBool*)src))
+ dst << "true";
+ else
+ dst << "false";
+ return true;
+}
+//!!!ACL added for 1.4 complex types and groups
+
+// Unimplemented
+daeBool daeElementRefType::memoryToString(daeChar* src, std::ostringstream& dst) {
+ (void)src;
+ (void)dst;
+ return false;
+}
+
+daeMemoryRef daeBoolType::create() {
+ return (daeMemoryRef) new daeBool;
+}
+
+daeMemoryRef daeIntType::create() {
+ return (daeMemoryRef) new daeInt;
+}
+
+daeMemoryRef daeLongType::create() {
+ return (daeMemoryRef) new daeLong;
+}
+
+daeMemoryRef daeUIntType::create() {
+ return (daeMemoryRef) new daeUInt;
+}
+
+daeMemoryRef daeULongType::create() {
+ return (daeMemoryRef) new daeULong;
+}
+
+daeMemoryRef daeShortType::create() {
+ return (daeMemoryRef) new daeShort;
+}
+
+daeMemoryRef daeFloatType::create() {
+ return (daeMemoryRef) new daeFloat;
+}
+
+daeMemoryRef daeDoubleType::create() {
+ return (daeMemoryRef) new daeDouble;
+}
+
+daeMemoryRef daeStringRefType::create() {
+ return (daeMemoryRef) new daeStringRef;
+}
+
+daeMemoryRef daeTokenType::create() {
+ return (daeMemoryRef) new daeStringRef;
+}
+
+daeMemoryRef daeElementRefType::create() {
+ return (daeMemoryRef) new daeElementRef;
+}
+
+daeMemoryRef daeEnumType::create() {
+ return (daeMemoryRef) new daeEnum;
+}
+
+daeMemoryRef daeRawRefType::create() {
+ return (daeMemoryRef) new daeRawRef;
+}
+
+daeMemoryRef daeResolverType::create() {
+ return (daeMemoryRef) new daeURI(*_dae);
+}
+
+daeMemoryRef daeIDResolverType::create() {
+ return (daeMemoryRef) new daeIDRef;
+}
+
+
+void daeBoolType::destroy(daeMemoryRef obj) {
+ delete (daeBool*)obj;
+}
+
+void daeIntType::destroy(daeMemoryRef obj) {
+ delete (daeInt*)obj;
+}
+
+void daeLongType::destroy(daeMemoryRef obj) {
+ delete (daeLong*)obj;
+}
+
+void daeUIntType::destroy(daeMemoryRef obj) {
+ delete (daeUInt*)obj;
+}
+
+void daeULongType::destroy(daeMemoryRef obj) {
+ delete (daeULong*)obj;
+}
+
+void daeShortType::destroy(daeMemoryRef obj) {
+ delete (daeShort*)obj;
+}
+
+void daeFloatType::destroy(daeMemoryRef obj) {
+ delete (daeFloat*)obj;
+}
+
+void daeDoubleType::destroy(daeMemoryRef obj) {
+ delete (daeDouble*)obj;
+}
+
+void daeStringRefType::destroy(daeMemoryRef obj) {
+ delete (daeStringRef*)obj;
+}
+
+void daeTokenType::destroy(daeMemoryRef obj) {
+ delete (daeStringRef*)obj;
+}
+
+void daeElementRefType::destroy(daeMemoryRef obj) {
+ delete (daeElementRef*)obj;
+}
+
+void daeEnumType::destroy(daeMemoryRef obj) {
+ delete (daeEnum*)obj;
+}
+
+void daeRawRefType::destroy(daeMemoryRef obj) {
+ delete (daeRawRef*)obj;
+}
+
+void daeResolverType::destroy(daeMemoryRef obj) {
+ delete (daeURI*)obj;
+}
+
+void daeIDResolverType::destroy(daeMemoryRef obj) {
+ delete (daeIDRef*)obj;
+}
+
+
+daeInt daeStringRefType::compare(daeChar* value1, daeChar* value2) {
+ daeString s1 = *((daeStringRef *)value1);
+ daeString s2 = *((daeStringRef *)value2);
+ // For string types, the empty string and null are considered equivalent
+ if (!s1)
+ s1 = "";
+ if (!s2)
+ s2 = "";
+ return strcmp(s1, s2);
+}
+
+daeInt daeResolverType::compare(daeChar* value1, daeChar* value2) {
+ return strcmp(((daeURI*)value1)->str().c_str(), ((daeURI*)value2)->str().c_str());
+}
+
+daeInt daeIDResolverType::compare(daeChar* value1, daeChar* value2) {
+ return (daeIDRef&)*value1 == (daeIDRef&)*value2;
+}
+
+
+daeArray* daeBoolType::createArray() {
+ return new daeTArray<daeBool>;
+}
+
+daeArray* daeIntType::createArray() {
+ return new daeTArray<daeInt>;
+}
+
+daeArray* daeLongType::createArray() {
+ return new daeTArray<daeLong>;
+}
+
+daeArray* daeUIntType::createArray() {
+ return new daeTArray<daeUInt>;
+}
+
+daeArray* daeULongType::createArray() {
+ return new daeTArray<daeULong>;
+}
+
+daeArray* daeShortType::createArray() {
+ return new daeTArray<daeShort>;
+}
+
+daeArray* daeFloatType::createArray() {
+ return new daeTArray<daeFloat>;
+}
+
+daeArray* daeDoubleType::createArray() {
+ return new daeTArray<daeDouble>;
+}
+
+daeArray* daeStringRefType::createArray() {
+ return new daeTArray<daeStringRef>;
+}
+
+daeArray* daeTokenType::createArray() {
+ return new daeTArray<daeStringRef>;
+}
+
+daeArray* daeElementRefType::createArray() {
+ return new daeTArray<daeElementRef>;
+}
+
+daeArray* daeEnumType::createArray() {
+ return new daeTArray<daeEnum>;
+}
+
+daeArray* daeRawRefType::createArray() {
+ return new daeTArray<daeRawRef>;
+}
+
+daeArray* daeResolverType::createArray() {
+ // !!!steveT
+ // The daeURI object no longer has a constructor that takes no arguments, so
+ // it's not compatible with daeTArray. Therefore this method currently can't be used,
+ // and asserts if you try to use it. The DOM doesn't ever call this code now,
+ // so the situation is sort of alright, but we might need to fix this in the future.
+ assert(false);
+ return NULL;
+}
+
+daeArray* daeIDResolverType::createArray() {
+ return new daeTArray<daeIDRef>;
+}
+
+
+void daeBoolType::copy(daeChar* src, daeChar* dst) {
+ (daeBool&)*dst = (daeBool&)*src;
+}
+
+void daeIntType::copy(daeChar* src, daeChar* dst) {
+ (daeInt&)*dst = (daeInt&)*src;
+}
+
+void daeLongType::copy(daeChar* src, daeChar* dst) {
+ (daeLong&)*dst = (daeLong&)*src;
+}
+
+void daeUIntType::copy(daeChar* src, daeChar* dst) {
+ (daeUInt&)*dst = (daeUInt&)*src;
+}
+
+void daeULongType::copy(daeChar* src, daeChar* dst) {
+ (daeULong&)*dst = (daeULong&)*src;
+}
+
+void daeShortType::copy(daeChar* src, daeChar* dst) {
+ (daeShort&)*dst = (daeShort&)*src;
+}
+
+void daeFloatType::copy(daeChar* src, daeChar* dst) {
+ (daeFloat&)*dst = (daeFloat&)*src;
+}
+
+void daeDoubleType::copy(daeChar* src, daeChar* dst) {
+ (daeDouble&)*dst = (daeDouble&)*src;
+}
+
+void daeStringRefType::copy(daeChar* src, daeChar* dst) {
+ (daeStringRef&)*dst = (daeStringRef&)*src;
+}
+
+void daeTokenType::copy(daeChar* src, daeChar* dst) {
+ (daeStringRef&)*dst = (daeStringRef&)*src;
+}
+
+void daeElementRefType::copy(daeChar* src, daeChar* dst) {
+ (daeElementRef&)*dst = (daeElementRef&)*src;
+}
+
+void daeEnumType::copy(daeChar* src, daeChar* dst) {
+ (daeEnum&)*dst = (daeEnum&)*src;
+}
+
+void daeRawRefType::copy(daeChar* src, daeChar* dst) {
+ (daeRawRef&)*dst = (daeRawRef&)*src;
+}
+
+void daeResolverType::copy(daeChar* src, daeChar* dst) {
+ (daeURI&)*dst = (daeURI&)*src;
+}
+
+void daeIDResolverType::copy(daeChar* src, daeChar* dst) {
+ (daeIDRef&)*dst = (daeIDRef&)*src;
+}
+
+void daeResolverType::setDocument(daeChar* value, daeDocument* doc) {
+ daeURI* uri = (daeURI*)value;
+ uri->setContainer(uri->getContainer());
+}
+
+void daeResolverType::setDocument(daeArray& array, daeDocument* doc) {
+ // !!!steveT
+ // The daeURI object no longer has a constructor that takes no arguments, so
+ // it's not compatible with daeTArray. Therefore this method currently can't be used,
+ // and asserts if you try to use it. The DOM doesn't ever call this code now,
+ // so the situation is sort of alright, but we might need to fix this in the future.
+ assert(false);
+}
diff --git a/1.4.0/dom/src/dae/daeDatabase.cpp b/1.4.0/dom/src/dae/daeDatabase.cpp
new file mode 100644
index 0000000..fe0fd62
--- /dev/null
+++ b/1.4.0/dom/src/dae/daeDatabase.cpp
@@ -0,0 +1,40 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include "dae/daeDatabase.h"
+using namespace std;
+
+daeDatabase::daeDatabase(DAE& dae) : dae(dae) { }
+
+DAE* daeDatabase::getDAE() {
+ return &dae;
+}
+
+daeDocument* daeDatabase::getDoc(daeUInt index) {
+ return getDocument(index);
+}
+
+daeElement* daeDatabase::idLookup(const string& id, daeDocument* doc) {
+ vector<daeElement*> elts = idLookup(id);
+ for (size_t i = 0; i < elts.size(); i++)
+ if (elts[i]->getDocument() == doc)
+ return elts[i];
+ return NULL;
+}
+
+vector<daeElement*> daeDatabase::typeLookup(daeInt typeID, daeDocument* doc) {
+ vector<daeElement*> result;
+ typeLookup(typeID, result);
+ return result;
+}
+
+vector<daeElement*> daeDatabase::sidLookup(const string& sid, daeDocument* doc) {
+ vector<daeElement*> result;
+ sidLookup(sid, result, doc);
+ return result;
+}
diff --git a/1.4.0/dom/src/dae/daeDocument.cpp b/1.4.0/dom/src/dae/daeDocument.cpp
new file mode 100644
index 0000000..2fcba07
--- /dev/null
+++ b/1.4.0/dom/src/dae/daeDocument.cpp
@@ -0,0 +1,43 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae.h>
+#include <dae/daeDocument.h>
+#include <dae/daeDatabase.h>
+
+
+daeDocument::daeDocument(DAE& dae, bool zaeRootDocument, const std::string& extractedFileURI)
+: dae(&dae), uri(dae), mZAERootDocument(zaeRootDocument), mExtractedFileURI(dae, extractedFileURI)
+{ }
+
+daeDocument::~daeDocument() {
+}
+
+void daeDocument::insertElement( daeElementRef element ) {
+ dae->getDatabase()->insertElement( this, element.cast() );
+}
+
+void daeDocument::removeElement( daeElementRef element ) {
+ dae->getDatabase()->removeElement( this, element.cast() );
+}
+
+void daeDocument::changeElementID( daeElementRef element, daeString newID ) {
+ dae->getDatabase()->changeElementID( element.cast(), newID );
+}
+
+void daeDocument::changeElementSID( daeElementRef element, daeString newSID ) {
+ dae->getDatabase()->changeElementSID( element.cast(), newSID );
+}
+
+DAE* daeDocument::getDAE() {
+ return dae;
+}
+
+daeDatabase* daeDocument::getDatabase() {
+ return dae->getDatabase();
+}
diff --git a/1.4.0/dom/src/dae/daeDom.cpp b/1.4.0/dom/src/dae/daeDom.cpp
new file mode 100644
index 0000000..916116e
--- /dev/null
+++ b/1.4.0/dom/src/dae/daeDom.cpp
@@ -0,0 +1,224 @@
+/*
+ * Copyright 2006 Sony Computer Entertainment Inc.
+ *
+ * Licensed under the MIT Open Source License, for details please see license.txt or the website
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ */
+#include <dae.h>
+#include <dae/daeDom.h>
+#include <dae/daeMetaElement.h>
+#include <dom.h>
+#ifdef COLLADA_DOM_SUPPORT150
+#include <1.5/dom/domAny.h>
+#include <1.5/dom/domSource.h>
+#include <1.5/dom/domCOLLADA.h>
+#include <1.5/dom/domConstants.h>
+#endif
+#ifdef COLLADA_DOM_SUPPORT141
+#include <1.4/dom/domAny.h>
+#include <1.4/dom/domSource.h>
+#include <1.4/dom/domCOLLADA.h>
+#include <1.4/dom/domConstants.h>
+#endif
+
+daeMetaElement* initializeDomMeta(DAE& dae, const char* specversion)
+{
+#ifdef COLLADA_DOM_SUPPORT150
+ if( specversion == NULL || strcmp(specversion,"1.5.0") == 0 ) {
+ ColladaDOM150::registerDomTypes(dae);
+ return ColladaDOM150::registerDomElements(dae);
+ }
+#endif
+#ifdef COLLADA_DOM_SUPPORT141
+ if( specversion == NULL || strcmp(specversion,"1.4.1") == 0 ) {
+ ColladaDOM141::registerDomTypes(dae);
+ return ColladaDOM141::registerDomElements(dae);
+ }
+#endif
+ return NULL;
+}
+
+daeInt GetColladaTypeCount(const char* specversion)
+{
+#ifdef COLLADA_DOM_SUPPORT150
+ if( specversion == NULL || strcmp(specversion,"1.5.0") == 0 ) {
+ return ColladaDOM150::colladaTypeCount();
+ }
+#endif
+#ifdef COLLADA_DOM_SUPPORT141
+ if( specversion == NULL || strcmp(specversion,"1.4.1") == 0 ) {
+ return ColladaDOM141::colladaTypeCount();
+ }
+#endif
+ return 0;
+}
+
+daeString GetCOLLADA_VERSION(const char* specversion)
+{
+#ifdef COLLADA_DOM_SUPPORT150
+ if( specversion == NULL || strcmp(specversion,"1.5.0") == 0 ) {
+ return ColladaDOM150::COLLADA_VERSION;
+ }
+#endif
+#ifdef COLLADA_DOM_SUPPORT141
+ if( specversion == NULL || strcmp(specversion,"1.4.1") == 0 ) {
+ return ColladaDOM141::COLLADA_VERSION;
+ }
+#endif
+ return "";
+}
+
+daeString GetCOLLADA_NAMESPACE(const char* specversion)
+{
+#ifdef COLLADA_DOM_SUPPORT150
+ if( specversion == NULL || strcmp(specversion,"1.5.0") == 0 ) {
+ return ColladaDOM150::COLLADA_NAMESPACE;
+ }
+#endif
+#ifdef COLLADA_DOM_SUPPORT141
+ if( specversion == NULL || strcmp(specversion,"1.4.1") == 0 ) {
+ return ColladaDOM141::COLLADA_NAMESPACE;
+ }
+#endif
+ return "";
+}
+
+daeMetaElement * registerElementAny(DAE& dae)
+{
+#ifdef COLLADA_DOM_SUPPORT150
+ if( strcmp(dae.getDomVersion(),"1.5.0") == 0 ) {
+ return ColladaDOM150::domAny::registerElement(dae);
+ }
+#endif
+#ifdef COLLADA_DOM_SUPPORT141
+ if( strcmp(dae.getDomVersion(),"1.4.1") == 0 ) {
+ return ColladaDOM141::domAny::registerElement(dae);
+ }
+#endif
+ return NULL;
+}
+
+daeInt getDomAnyID(DAE& dae)
+{
+#ifdef COLLADA_DOM_SUPPORT150
+ if( strcmp(dae.getDomVersion(),"1.5.0") == 0 ) {
+ return ColladaDOM150::domAny::ID();
+ }
+#endif
+#ifdef COLLADA_DOM_SUPPORT141
+ if( strcmp(dae.getDomVersion(),"1.4.1") == 0 ) {
+ return ColladaDOM141::domAny::ID();
+ }
+#endif
+ return NULL;
+}
+
+daeInt getDomSourceID(DAE& dae)
+{
+#ifdef COLLADA_DOM_SUPPORT150
+ if( strcmp(dae.getDomVersion(),"1.5.0") == 0 ) {
+ return ColladaDOM150::domSource::ID();
+ }
+#endif
+#ifdef COLLADA_DOM_SUPPORT141
+ if( strcmp(dae.getDomVersion(),"1.4.1") == 0 ) {
+ return ColladaDOM141::domSource::ID();
+ }
+#endif
+ return NULL;
+}
+
+daeInt getDomCOLLADAID(const char* specversion)
+{
+#ifdef COLLADA_DOM_SUPPORT150
+ if( specversion == NULL || strcmp(specversion,"1.5.0") == 0 ) {
+ return ColladaDOM150::domCOLLADA::ID();
+ }
+#endif
+#ifdef COLLADA_DOM_SUPPORT141
+ if( specversion == NULL || strcmp(specversion,"1.4.1") == 0 ) {
+ return ColladaDOM141::domCOLLADA::ID();
+ }
+#endif
+ return NULL;
+}
+
+void copyElementAny(daeElementRef dstAny, daeElement* srcAny)
+{
+#ifdef COLLADA_DOM_SUPPORT150
+ if( strcmp(srcAny->getDAE()->getDomVersion(),"1.5.0") == 0 ) {
+ ColladaDOM150::domAny* thisAny = (ColladaDOM150::domAny*)srcAny;
+ ColladaDOM150::domAny* retAny = (ColladaDOM150::domAny*)dstAny.cast();
+ for (daeUInt i = 0; i < (daeUInt)thisAny->getAttributeCount(); i++)
+ retAny->setAttribute(thisAny->getAttributeName(i), thisAny->getAttributeValue(i));
+ retAny->setValue(thisAny->getValue());
+ }
+#endif
+#ifdef COLLADA_DOM_SUPPORT141
+ if( strcmp(srcAny->getDAE()->getDomVersion(),"1.4.1") == 0 ) {
+ ColladaDOM141::domAny* thisAny = (ColladaDOM141::domAny*)srcAny;
+ ColladaDOM141::domAny* retAny = (ColladaDOM141::domAny*)dstAny.cast();
+ for (daeUInt i = 0; i < (daeUInt)thisAny->getAttributeCount(); i++)
+ retAny->setAttribute(thisAny->getAttributeName(i), thisAny->getAttributeValue(i));
+ retAny->setValue(thisAny->getValue());
+ }
+#endif
+}
+
+daeString COLLADA_ELEMENT_TECHNIQUE_COMMON(DAE& dae)
+{
+#ifdef COLLADA_DOM_SUPPORT150
+ if( strcmp(dae.getDomVersion(),"1.5.0") == 0 ) {
+ return ColladaDOM150::COLLADA_ELEMENT_TECHNIQUE_COMMON;
+ }
+#endif
+#ifdef COLLADA_DOM_SUPPORT141
+ if( strcmp(dae.getDomVersion(),"1.4.1") == 0 ) {
+ return ColladaDOM141::COLLADA_ELEMENT_TECHNIQUE_COMMON;
+ }
+#endif
+ return daeString();
+}
+
+daeString COLLADA_ELEMENT_TECHNIQUE(DAE& dae)
+{
+#ifdef COLLADA_DOM_SUPPORT150
+ if( strcmp(dae.getDomVersion(),"1.5.0") == 0 ) {
+ return ColladaDOM150::COLLADA_ELEMENT_TECHNIQUE;
+ }
+#endif
+#ifdef COLLADA_DOM_SUPPORT141
+ if( strcmp(dae.getDomVersion(),"1.4.1") == 0 ) {
+ return ColladaDOM141::COLLADA_ELEMENT_TECHNIQUE;
+ }
+#endif
+ return daeString();
+}
+
+daeDoubleArray* getDomSourceFloatArray(daeElement* elt)
+{
+#ifdef COLLADA_DOM_SUPPORT150
+ if( strcmp(elt->getDAE()->getDomVersion(),"1.5.0") == 0 ) {
+ if( elt->typeID() == ColladaDOM150::domSource::ID() ) {
+ ColladaDOM150::domFloat_array* floatArray = ((ColladaDOM150::domSource*)elt)->getFloat_array();
+ if( floatArray != NULL ) {
+ return (daeDoubleArray*)floatArray->getCharDataObject()->get(floatArray);
+ }
+ }
+ return NULL;
+ }
+#endif
+#ifdef COLLADA_DOM_SUPPORT141
+ if( strcmp(elt->getDAE()->getDomVersion(),"1.4.1") == 0 ) {
+ if( elt->typeID() == ColladaDOM141::domSource::ID() ) {
+ ColladaDOM141::domFloat_array* floatArray = ((ColladaDOM141::domSource*)elt)->getFloat_array();
+ if( floatArray != NULL ) {
+ return (daeDoubleArray*)floatArray->getCharDataObject()->get(floatArray);
+ }
+ }
+ return NULL;
+ }
+#endif
+ return NULL;
+}
diff --git a/1.4.0/dom/src/dae/daeElement.cpp b/1.4.0/dom/src/dae/daeElement.cpp
new file mode 100644
index 0000000..ca70d4d
--- /dev/null
+++ b/1.4.0/dom/src/dae/daeElement.cpp
@@ -0,0 +1,759 @@
+/*
+ * Copyright 2006 Sony Computer Entertainment Inc.
+ *
+ * Licensed under the MIT Open Source License, for details please see license.txt or the website
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ */
+
+#include <iomanip>
+#include <dae/daeElement.h>
+#include <dae/daeArray.h>
+#include <dae/daeMetaAttribute.h>
+#include <dae/daeMetaElementAttribute.h>
+#include <dae/daeMetaElement.h>
+#include <dae/daeDatabase.h>
+#include <dae/daeErrorHandler.h>
+#include <dae/daeURI.h>
+#include <dae/daeUtils.h>
+#include <dae/daeDom.h>
+
+#include <limits>
+#include <iomanip>
+
+using namespace std;
+
+daeElement* daeElement::simpleAdd(daeString name, int index) {
+ if (daeElementRef elt = _meta->create(name))
+ return add(elt, index);
+ return NULL;
+}
+
+daeElement* daeElement::add(daeString names_, int index) {
+ list<string> names;
+ cdom::tokenize(names_, " ", names);
+ cdom::tokenIter iter = names.begin();
+ daeElement* root = simpleAdd(iter->c_str(), index);
+ if (!root)
+ return NULL;
+
+ iter++;
+ daeElement* elt = root;
+ for (; iter != names.end(); iter++) {
+ elt = elt->simpleAdd(iter->c_str());
+ if (!elt) {
+ removeChildElement(root);
+ return NULL;
+ }
+ }
+
+ return elt;
+}
+
+daeElement* daeElement::add(daeElement* elt, int index) {
+ if (!elt)
+ return NULL;
+ if (elt == this)
+ return this;
+ bool result = (index == -1 ? _meta->place(this, elt) : _meta->placeAt(index, this, elt));
+ return result ? elt : NULL;
+}
+
+daeElement* daeElement::addBefore(daeElement* elt, daeElement* index) {
+ if (!index || !elt || index->getParent() != this)
+ return NULL;
+ return _meta->placeBefore(index, this, elt) ? elt : NULL;
+}
+
+daeElement* daeElement::addAfter(daeElement* elt, daeElement* index) {
+ if (!index || !elt || index->getParent() != this)
+ return NULL;
+ return _meta->placeAfter(index, this, elt) ? elt : NULL;
+}
+
+daeElementRef
+daeElement::createElement(daeString className)
+{
+ daeElementRef elem = _meta->create(className);
+ // Bug #225 work around
+// if ( elem != NULL)
+// elem->ref(); // change premature delete into memory leak.
+ return elem;
+}
+
+daeElement* daeElement::createAndPlace(daeString className) {
+ return add(className);
+}
+
+daeElement* daeElement::createAndPlaceAt(daeInt index, daeString className) {
+ return add(className, index);
+}
+
+daeBool daeElement::placeElement(daeElement* e) {
+ return add(e) != NULL;
+}
+
+daeBool daeElement::placeElementAt(daeInt index, daeElement* e) {
+ return add(e, index) != NULL;
+}
+
+daeBool daeElement::placeElementBefore( daeElement *marker, daeElement *element ) {
+ return addBefore(element, marker) != NULL;
+}
+
+daeBool daeElement::placeElementAfter( daeElement *marker, daeElement *element ) {
+ return addAfter(element, marker) != NULL;
+}
+
+daeInt daeElement::findLastIndexOf( daeString elementName ) {
+ if ( _meta->getContents() != NULL ) {
+ daeElementRefArray* contents =
+ (daeElementRefArray*)_meta->getContents()->getWritableMemory(this);
+ for ( int i = (int)contents->getCount()-1; i >= 0; --i ) {
+ if ( strcmp( contents->get(i)->getElementName(), elementName ) == 0 ) {
+ return i;
+ }
+ }
+ }
+ return -1;
+}
+
+daeBool
+daeElement::removeChildElement(daeElement* element)
+{
+ // error traps
+ if(element==NULL)
+ return false;
+ if(element->_parent != this)
+ return false;
+
+ return _meta->remove( this, element );
+}
+
+void daeElement::setDocument( daeDocument *c, bool notifyDocument ) {
+ if( _document == c )
+ return;
+
+ // Notify our parent document if necessary.
+ if ( _document != NULL && notifyDocument )
+ _document->removeElement(this);
+ _document = c;
+ if ( _document != NULL && notifyDocument )
+ _document->insertElement(this);
+
+ // Notify our attributes
+ daeMetaAttributeRefArray& metaAttrs = getMeta()->getMetaAttributes();
+ for (size_t i = 0; i < metaAttrs.getCount(); i++)
+ metaAttrs[i]->setDocument(this, c);
+
+ // Notify our char data object
+ if (getCharDataObject())
+ getCharDataObject()->setDocument(this, c);
+
+ // Notify our children
+ daeElementRefArray ea;
+ getChildren( ea );
+ for ( size_t x = 0; x < ea.getCount(); x++ ) {
+ // Since inserting and removing elements works recursively in the database,
+ // we don't need to notify it about inserts/removals as we process the
+ // children of this element.
+ ea[x]->setDocument( c, false );
+ }
+}
+
+void daeElement::deleteCMDataArray(daeTArray<daeCharArray*>& cmData) {
+ for (unsigned int i = 0; i < cmData.getCount(); i++)
+ delete cmData.get(i);
+ cmData.clear();
+}
+
+size_t daeElement::getAttributeCount() {
+ return getMeta()->getMetaAttributes().getCount();
+}
+
+namespace {
+// A helper function to get the index of an attribute given the attribute name.
+size_t getAttributeIndex(daeElement& el, daeString name) {
+ if (el.getMeta()) {
+ daeMetaAttributeRefArray& metaAttrs = el.getMeta()->getMetaAttributes();
+ for (size_t i = 0; i < metaAttrs.getCount(); i++)
+ if (metaAttrs[i]->getName() && strcmp(metaAttrs[i]->getName(), name) == 0)
+ return i;
+ }
+ return (size_t)-1;
+}
+}
+
+daeMetaAttribute* daeElement::getAttributeObject(size_t i) {
+ daeMetaAttributeRefArray& attrs = getMeta()->getMetaAttributes();
+ if (i >= attrs.getCount())
+ return NULL;
+ return attrs[i];
+}
+
+daeMetaAttribute* daeElement::getAttributeObject(daeString name) {
+ return getAttributeObject(getAttributeIndex(*this, name));
+}
+
+std::string daeElement::getAttributeName(size_t i) {
+ if (daeMetaAttribute* attr = getAttributeObject(i))
+ return (daeString)attr->getName();
+ return "";
+}
+
+daeBool daeElement::hasAttribute(daeString name) {
+ return getAttributeObject(name) != 0;
+}
+
+daeBool daeElement::isAttributeSet(daeString name) {
+ size_t i = getAttributeIndex(*this, name);
+ if (i != (size_t)-1)
+ return _validAttributeArray[i];
+ return false;
+}
+
+std::string daeElement::getAttribute(size_t i) {
+ std::string value;
+ getAttribute(i, value);
+ return value;
+}
+
+void daeElement::getAttribute(size_t i, std::string& value) {
+ value = "";
+ if (daeMetaAttribute* attr = getAttributeObject(i)) {
+ std::ostringstream buffer;
+#ifdef COLLADA_DOM_DAEFLOAT_IS64
+ buffer << std::setprecision(std::numeric_limits<PLATFORM_FLOAT64>::digits10+1); // set the default precision to daeFloat digit
+#endif
+ attr->memoryToString(this, buffer);
+ value = buffer.str();
+ }
+}
+
+std::string daeElement::getAttribute(daeString name) {
+ std::string value;
+ getAttribute(name, value);
+ return value;
+}
+
+void daeElement::getAttribute(daeString name, std::string& value) {
+ getAttribute(getAttributeIndex(*this, name), value);
+}
+
+daeElement::attr::attr() {
+}
+daeElement::attr::attr(const std::string& name, const std::string& value)
+ : name(name), value(value) {
+}
+
+daeTArray<daeElement::attr> daeElement::getAttributes() {
+ daeTArray<daeElement::attr> attrs;
+ getAttributes(attrs);
+ return attrs;
+}
+
+void daeElement::getAttributes(daeTArray<attr>& attrs) {
+ attrs.clear();
+ for (size_t i = 0; i < getAttributeCount(); i++) {
+ std::string value;
+ getAttribute(i, value);
+ attrs.append(attr(getAttributeName(i), value));
+ }
+}
+
+daeBool daeElement::setAttribute(size_t i, daeString value) {
+ if (daeMetaAttribute* attr = getAttributeObject(i)) {
+ if (attr->getType()) {
+ attr->stringToMemory(this, value);
+ _validAttributeArray.set(i, true);
+ return true;
+ }
+ }
+ return false;
+}
+
+daeBool daeElement::setAttribute(daeString name, daeString value) {
+ return setAttribute(getAttributeIndex(*this, name), value);
+}
+
+// Deprecated
+daeMemoryRef daeElement::getAttributeValue(daeString name) {
+ if (daeMetaAttribute* attr = getAttributeObject(name))
+ return attr->get(this);
+ return NULL;
+}
+
+daeMetaAttribute* daeElement::getCharDataObject() {
+ if (_meta)
+ return _meta->getValueAttribute();
+ return NULL;
+}
+
+daeBool daeElement::hasCharData() {
+ return getCharDataObject() != NULL;
+}
+
+std::string daeElement::getCharData() {
+ std::string result;
+ getCharData(result);
+ return result;
+}
+
+void daeElement::getCharData(std::string& data) {
+ data = "";
+ if (daeMetaAttribute* charDataAttr = getCharDataObject()) {
+ std::ostringstream buffer; // no need to setprecision since this is char data?
+ charDataAttr->memoryToString(this, buffer);
+ data = buffer.str();
+ }
+}
+
+daeBool daeElement::setCharData(const std::string& data) {
+ if (daeMetaAttribute* charDataAttr = getCharDataObject()) {
+ charDataAttr->stringToMemory(this, data.c_str());
+ return true;
+ }
+ return false;
+}
+
+daeBool daeElement::hasValue() {
+ return hasCharData();
+}
+
+daeMemoryRef daeElement::getValuePointer() {
+ if (daeMetaAttribute* charDataAttr = getCharDataObject())
+ return charDataAttr->get(this);
+ return NULL;
+}
+
+void
+daeElement::setup(daeMetaElement* meta)
+{
+ if (_meta)
+ return;
+ _meta = meta;
+ daeMetaAttributeRefArray& attrs = meta->getMetaAttributes();
+ int macnt = (int)attrs.getCount();
+
+ _validAttributeArray.setCount(macnt, false);
+
+ for (int i = 0; i < macnt; i++) {
+ if (attrs[i]->getDefaultValue() != NULL)
+ attrs[i]->copyDefault(this);
+ }
+
+ //set up the _CMData array if there is one
+ if ( _meta->getMetaCMData() != NULL )
+ {
+ daeTArray< daeCharArray *> *CMData = (daeTArray< daeCharArray *>*)_meta->getMetaCMData()->getWritableMemory(this);
+ CMData->setCount( _meta->getNumChoices() );
+ for ( unsigned int i = 0; i < _meta->getNumChoices(); i++ )
+ {
+ CMData->set( i, new daeCharArray() );
+ }
+ }
+}
+
+void daeElement::init() {
+ _parent = NULL;
+ _document = NULL;
+ _meta = NULL;
+ _elementName = NULL;
+ _userData = NULL;
+}
+
+daeElement::daeElement() {
+ init();
+}
+
+daeElement::daeElement(DAE& dae) {
+ init();
+}
+
+daeElement::~daeElement()
+{
+ if (_elementName) {
+ delete[] _elementName;
+ _elementName = NULL;
+ }
+}
+
+//function used until we clarify what's a type and what's a name for an element
+daeString daeElement::getTypeName() const
+{
+ return _meta->getName();
+}
+daeString daeElement::getElementName() const
+{
+ return _elementName ? _elementName : (daeString)_meta->getName();
+}
+void daeElement::setElementName( daeString nm ) {
+ if ( nm == NULL ) {
+ if ( _elementName ) delete[] _elementName;
+ _elementName = NULL;
+ return;
+ }
+ if ( !_elementName ) _elementName = new daeChar[128];
+ strcpy( (char*)_elementName, nm );
+}
+
+daeString daeElement::getID() const {
+ daeElement* this_ = const_cast<daeElement*>(this);
+ if (_meta)
+ if (daeMetaAttribute* idAttr = this_->getAttributeObject("id"))
+ return *(daeStringRef*)idAttr->get(this_);
+ return NULL;
+}
+
+daeElementRefArray daeElement::getChildren() {
+ daeElementRefArray array;
+ getChildren(array);
+ return array;
+}
+
+void daeElement::getChildren( daeElementRefArray &array ) {
+ _meta->getChildren( this, array );
+}
+
+daeSmartRef<daeElement> daeElement::clone(daeString idSuffix, daeString nameSuffix) {
+ // Use the meta object system to create a new instance of this element. We need to
+ // create a new meta if we're cloning a domAny object because domAnys never share meta objects.
+ // Ideally we'd be able to clone the _meta for domAny objects. Then we wouldn't need
+ // any additional special case code for cloning domAny. Unfortunately, we don't have a
+ // daeMetaElement::clone method.
+ bool any = typeID() == getDomAnyID(*getDAE());
+ daeElementRef ret = any ? registerElementAny(*getDAE())->create() : _meta->create();
+ ret->setElementName( _elementName );
+
+ // Copy the attributes and character data. Requires special care for domAny.
+ if (any) {
+ copyElementAny(ret, this);
+ } else {
+ // Use the meta system to copy attributes
+ daeMetaAttributeRefArray &attrs = _meta->getMetaAttributes();
+ for (unsigned int i = 0; i < attrs.getCount(); i++) {
+ attrs[i]->copy( ret, this );
+ ret->_validAttributeArray[i] = _validAttributeArray[i];
+ }
+ if (daeMetaAttribute* valueAttr = getCharDataObject())
+ valueAttr->copy( ret, this );
+ }
+
+ daeElementRefArray children;
+ _meta->getChildren( this, children );
+ for ( size_t x = 0; x < children.getCount(); x++ ) {
+ ret->placeElement( children.get(x)->clone( idSuffix, nameSuffix ) );
+ }
+
+ // Mangle the id
+ if (idSuffix) {
+ std::string id = ret->getAttribute("id");
+ if (!id.empty())
+ ret->setAttribute("id", (id + idSuffix).c_str());
+ }
+ // Mangle the name
+ if (nameSuffix) {
+ std::string name = ret->getAttribute("name");
+ if (!name.empty())
+ ret->setAttribute("name", (name + nameSuffix).c_str());
+ }
+ return ret;
+}
+
+
+// Element comparison
+
+namespace { // Utility functions
+int getNecessaryColumnWidth(const vector<string>& tokens) {
+ int result = 0;
+ for (size_t i = 0; i < tokens.size(); i++) {
+ int tokenLength = int(tokens[i].length() > 0 ? tokens[i].length()+2 : 0);
+ result = max(tokenLength, result);
+ }
+ return result;
+}
+
+string formatToken(const string& token) {
+ if (token.length() <= 50)
+ return token;
+ return token.substr(0, 47) + "...";
+}
+} // namespace {
+
+daeElement::compareResult::compareResult()
+ : compareValue(0),
+ elt1(NULL),
+ elt2(NULL),
+ nameMismatch(false),
+ attrMismatch(""),
+ charDataMismatch(false),
+ childCountMismatch(false) {
+}
+
+string daeElement::compareResult::format() {
+ if (!elt1 || !elt2)
+ return "";
+
+ // Gather the data we'll be printing
+ string name1 = formatToken(elt1->getElementName()),
+ name2 = formatToken(elt2->getElementName()),
+ type1 = formatToken(elt1->getTypeName()),
+ type2 = formatToken(elt2->getTypeName()),
+ id1 = formatToken(elt1->getAttribute("id")),
+ id2 = formatToken(elt2->getAttribute("id")),
+ attrName1 = formatToken(attrMismatch),
+ attrName2 = formatToken(attrMismatch),
+ attrValue1 = formatToken(elt1->getAttribute(attrMismatch.c_str())),
+ attrValue2 = formatToken(elt2->getAttribute(attrMismatch.c_str())),
+ charData1 = formatToken(elt1->getCharData()),
+ charData2 = formatToken(elt2->getCharData()),
+ childCount1 = formatToken(cdom::toString(elt1->getChildren().getCount())),
+ childCount2 = formatToken(cdom::toString(elt2->getChildren().getCount()));
+
+ // Compute formatting information
+ vector<string> col1Tokens = cdom::makeStringArray("Name", "Type", "ID",
+ "Attr name", "Attr value", "Char data", "Child count", 0);
+ vector<string> col2Tokens = cdom::makeStringArray("Element 1", name1.c_str(),
+ type1.c_str(), id1.c_str(), attrName1.c_str(), attrValue1.c_str(),
+ charData1.c_str(), childCount1.c_str(), 0);
+
+ int c1w = getNecessaryColumnWidth(col1Tokens),
+ c2w = getNecessaryColumnWidth(col2Tokens);
+ ostringstream msg;
+ msg << setw(c1w) << left << "" << setw(c2w) << left << "Element 1" << "Element 2\n"
+ << setw(c1w) << left << "" << setw(c2w) << left << "---------" << "---------\n"
+ << setw(c1w) << left << "Name" << setw(c2w) << left << name1 << name2 << endl
+ << setw(c1w) << left << "Type" << setw(c2w) << left << type1 << type2 << endl
+ << setw(c1w) << left << "ID" << setw(c2w) << left << id1 << id2 << endl
+ << setw(c1w) << left << "Attr name" << setw(c2w) << left << attrName1 << attrName2 << endl
+ << setw(c1w) << left << "Attr value" << setw(c2w) << left << attrValue1 << attrValue2 << endl
+ << setw(c1w) << left << "Char data" << setw(c2w) << left << charData1 << charData2 << endl
+ << setw(c1w) << left << "Child count" << setw(c2w) << left << childCount1 << childCount2;
+
+ return msg.str();
+}
+
+namespace {
+daeElement::compareResult compareMatch() {
+ daeElement::compareResult result;
+ result.compareValue = 0;
+ return result;
+}
+
+daeElement::compareResult nameMismatch(daeElement& elt1, daeElement& elt2) {
+ daeElement::compareResult result;
+ result.elt1 = &elt1;
+ result.elt2 = &elt2;
+ result.compareValue = strcmp(elt1.getElementName(), elt2.getElementName());
+ result.nameMismatch = true;
+ return result;
+}
+
+daeElement::compareResult attrMismatch(daeElement& elt1, daeElement& elt2, const string& attr) {
+ daeElement::compareResult result;
+ result.elt1 = &elt1;
+ result.elt2 = &elt2;
+ result.compareValue = strcmp(elt1.getAttribute(attr.c_str()).c_str(),
+ elt2.getAttribute(attr.c_str()).c_str());
+ result.attrMismatch = attr;
+ return result;
+}
+
+daeElement::compareResult charDataMismatch(daeElement& elt1, daeElement& elt2) {
+ daeElement::compareResult result;
+ result.elt1 = &elt1;
+ result.elt2 = &elt2;
+ result.compareValue = strcmp(elt1.getCharData().c_str(),
+ elt2.getCharData().c_str());
+ result.charDataMismatch = true;
+ return result;
+}
+
+daeElement::compareResult childCountMismatch(daeElement& elt1, daeElement& elt2) {
+ daeElement::compareResult result;
+ result.elt1 = &elt1;
+ result.elt2 = &elt2;
+ daeElementRefArray children1 = elt1.getChildren(),
+ children2 = elt2.getChildren();
+ result.compareValue = int(children1.getCount()) - int(children2.getCount());
+ result.childCountMismatch = true;
+ return result;
+}
+
+daeElement::compareResult compareElementsSameType(daeElement& elt1, daeElement& elt2) {
+ // Compare attributes
+ for (size_t i = 0; i < elt1.getAttributeCount(); i++)
+ if (elt1.getAttributeObject(i)->compare(&elt1, &elt2) != 0)
+ return attrMismatch(elt1, elt2, elt1.getAttributeName(i));
+
+ // Compare character data
+ if (elt1.getCharDataObject())
+ if (elt1.getCharDataObject()->compare(&elt1, &elt2) != 0)
+ return charDataMismatch(elt1, elt2);
+
+ // Compare children
+ daeElementRefArray children1 = elt1.getChildren(),
+ children2 = elt2.getChildren();
+ if (children1.getCount() != children2.getCount())
+ return childCountMismatch(elt1, elt2);
+ for (size_t i = 0; i < children1.getCount(); i++) {
+ daeElement::compareResult result = daeElement::compareWithFullResult(*children1[i], *children2[i]);
+ if (result.compareValue != 0)
+ return result;
+ }
+
+ return compareMatch();
+}
+
+daeElement::compareResult compareElementsDifferentTypes(daeElement& elt1, daeElement& elt2) {
+ string value1, value2;
+
+ // Compare attributes. Be careful because each element could have a
+ // different number of attributes.
+ if (elt1.getAttributeCount() > elt2.getAttributeCount())
+ return attrMismatch(elt1, elt2, elt1.getAttributeName(elt2.getAttributeCount()));
+ if (elt2.getAttributeCount() > elt1.getAttributeCount())
+ return attrMismatch(elt1, elt2, elt2.getAttributeName(elt1.getAttributeCount()));
+ for (size_t i = 0; i < elt1.getAttributeCount(); i++) {
+ elt1.getAttribute(i, value1);
+ elt2.getAttribute(elt1.getAttributeName(i).c_str(), value2);
+ if (value1 != value2)
+ return attrMismatch(elt1, elt2, elt1.getAttributeName(i));
+ }
+
+ // Compare character data
+ elt1.getCharData(value1);
+ elt2.getCharData(value2);
+ if (value1 != value2)
+ return charDataMismatch(elt1, elt2);
+
+ // Compare children
+ daeElementRefArray children1 = elt1.getChildren(),
+ children2 = elt2.getChildren();
+ if (children1.getCount() != children2.getCount())
+ return childCountMismatch(elt1, elt2);
+ for (size_t i = 0; i < children1.getCount(); i++) {
+ daeElement::compareResult result = daeElement::compareWithFullResult(*children1[i], *children2[i]);
+ if (result.compareValue != 0)
+ return result;
+ }
+
+ return compareMatch();
+}
+} // namespace {
+
+int daeElement::compare(daeElement& elt1, daeElement& elt2) {
+ return compareWithFullResult(elt1, elt2).compareValue;
+}
+
+daeElement::compareResult daeElement::compareWithFullResult(daeElement& elt1, daeElement& elt2) {
+ // Check the element name
+ if (strcmp(elt1.getElementName(), elt2.getElementName()) != 0)
+ return nameMismatch(elt1, elt2);
+
+ // Dispatch to a specific function based on whether or not the types are the same
+ if ((elt1.typeID() != elt2.typeID()) || elt1.typeID() == getDomAnyID(*elt1.getDAE()))
+ return compareElementsDifferentTypes(elt1, elt2);
+ else
+ return compareElementsSameType(elt1, elt2);
+}
+
+
+daeURI *daeElement::getDocumentURI() const {
+ if ( _document == NULL ) {
+ return NULL;
+ }
+ return _document->getDocumentURI();
+}
+
+
+daeElement::matchName::matchName(daeString name) : name(name) {
+}
+
+bool daeElement::matchName::operator()(daeElement* elt) const {
+ return strcmp(elt->getElementName(), name.c_str()) == 0;
+}
+
+daeElement::matchType::matchType(daeInt typeID) : typeID(typeID) {
+}
+
+bool daeElement::matchType::operator()(daeElement* elt) const {
+ return elt->typeID() == typeID;
+}
+
+daeElement* daeElement::getChild(const matchElement& matcher) {
+ daeElementRefArray children;
+ getChildren(children);
+ for (size_t i = 0; i < children.getCount(); i++)
+ if (matcher(children[i]))
+ return children[i];
+
+ return NULL;
+}
+
+daeElement* daeElement::getDescendant(const matchElement& matcher) {
+ daeElementRefArray elts;
+ getChildren(elts);
+
+ for (size_t i = 0; i < elts.getCount(); i++) {
+ // Check the current element for a match
+ if (matcher(elts[i]))
+ return elts[i];
+
+ // Append the element's children to the queue
+ daeElementRefArray children;
+ elts[i]->getChildren(children);
+ size_t oldCount = elts.getCount();
+ elts.setCount(elts.getCount() + children.getCount());
+ for (size_t j = 0; j < children.getCount(); j++)
+ elts[oldCount + j] = children[j];
+ }
+
+ return NULL;
+}
+
+daeElement* daeElement::getAncestor(const matchElement& matcher) {
+ daeElement* elt = getParent();
+ while (elt) {
+ if (matcher(elt))
+ return elt;
+ elt = elt->getParent();
+ }
+
+ return NULL;
+}
+
+daeElement* daeElement::getParent() {
+ return _parent;
+}
+
+daeElement* daeElement::getChild(daeString eltName) {
+ if (!eltName)
+ return NULL;
+ matchName test(eltName);
+ return getChild(matchName(eltName));
+}
+
+daeElement* daeElement::getDescendant(daeString eltName) {
+ if (!eltName)
+ return NULL;
+ return getDescendant(matchName(eltName));
+}
+
+daeElement* daeElement::getAncestor(daeString eltName) {
+ if (!eltName)
+ return NULL;
+ return getAncestor(matchName(eltName));
+}
+
+DAE* daeElement::getDAE() {
+ return _meta->getDAE();
+}
+
+void daeElement::setUserData(void* data) {
+ _userData = data;
+}
+
+void* daeElement::getUserData() {
+ return _userData;
+}
diff --git a/1.4.0/dom/src/dae/daeError.cpp b/1.4.0/dom/src/dae/daeError.cpp
new file mode 100644
index 0000000..22688d5
--- /dev/null
+++ b/1.4.0/dom/src/dae/daeError.cpp
@@ -0,0 +1,41 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae/daeError.h>
+
+typedef struct
+{
+ int errCode;
+ const char *errString;
+} DAEERROR;
+
+static DAEERROR errorsArray[] =
+{
+ { DAE_OK, "Success" },
+ { DAE_ERROR, "Generic error" },
+ { DAE_ERR_INVALID_CALL, "Invalid function call" },
+ { DAE_ERR_FATAL, "Fatal" },
+ { DAE_ERR_BACKEND_IO, "Backend IO" },
+ { DAE_ERR_BACKEND_VALIDATION, "Backend validation" },
+ { DAE_ERR_QUERY_SYNTAX, "Query syntax" },
+ { DAE_ERR_QUERY_NO_MATCH, "Query no match" },
+ { DAE_ERR_COLLECTION_ALREADY_EXISTS, "A document with the same name exists already" },
+ { DAE_ERR_COLLECTION_DOES_NOT_EXIST, "No document is loaded with that name or index" },
+ { DAE_ERR_NOT_IMPLEMENTED, "This function is not implemented in this reference implementation" },
+};
+
+const char *daeErrorString(int errorCode)
+{
+ int iErrorCount = (int)(sizeof(errorsArray)/sizeof(DAEERROR));
+ for (int i=0;i<iErrorCount;i++)
+ {
+ if (errorsArray[i].errCode == errorCode)
+ return errorsArray[i].errString;
+ }
+ return "Unknown Error code";
+}
diff --git a/1.4.0/dom/src/dae/daeErrorHandler.cpp b/1.4.0/dom/src/dae/daeErrorHandler.cpp
new file mode 100644
index 0000000..264c343
--- /dev/null
+++ b/1.4.0/dom/src/dae/daeErrorHandler.cpp
@@ -0,0 +1,30 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae/daeErrorHandler.h>
+#include <modules/stdErrPlugin.h>
+
+daeErrorHandler *daeErrorHandler::_instance = NULL;
+std::auto_ptr<daeErrorHandler> daeErrorHandler::_defaultInstance(new stdErrPlugin);
+
+daeErrorHandler::daeErrorHandler() {
+}
+
+daeErrorHandler::~daeErrorHandler() {
+}
+
+void daeErrorHandler::setErrorHandler( daeErrorHandler *eh ) {
+ _instance = eh;
+}
+
+daeErrorHandler *daeErrorHandler::get() {
+ if ( _instance == NULL ) {
+ return _defaultInstance.get();
+ }
+ return _instance;
+}
diff --git a/1.4.0/dom/src/dae/daeIDRef.cpp b/1.4.0/dom/src/dae/daeIDRef.cpp
new file mode 100644
index 0000000..2cf89dd
--- /dev/null
+++ b/1.4.0/dom/src/dae/daeIDRef.cpp
@@ -0,0 +1,172 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <sstream>
+#include <dae.h>
+#include <dae/daeIDRef.h>
+#include <dae/daeDatabase.h>
+#include <dae/daeErrorHandler.h>
+
+using namespace std;
+
+void
+daeIDRef::initialize()
+{
+ id = "";
+ container = NULL;
+}
+
+daeIDRef::daeIDRef()
+{
+ initialize();
+}
+
+daeIDRef::daeIDRef(daeString IDRefString)
+{
+ initialize();
+ setID(IDRefString);
+}
+
+daeIDRef::daeIDRef(const daeIDRef& copyFrom_)
+{
+ initialize();
+ copyFrom(copyFrom_);
+}
+
+daeIDRef::daeIDRef(daeElement& container) {
+ initialize();
+ setContainer(&container);
+}
+
+
+void
+daeIDRef::reset()
+{
+ setID("");
+}
+
+bool daeIDRef::operator==(const daeIDRef& other) const {
+ return (!strcmp(other.getID(), getID()));
+}
+
+daeIDRef &daeIDRef::operator=( const daeIDRef& other) {
+ if (!container)
+ container = other.container;
+ id = other.getID();
+ return *this;
+}
+
+daeString
+daeIDRef::getID() const
+{
+ return id.c_str();
+}
+
+void
+daeIDRef::setID(daeString _IDString)
+{
+ id = _IDString ? _IDString : "";
+}
+
+daeElement* daeIDRef::getElement() const {
+ if (container)
+ return container->getDAE()->getIDRefResolvers().resolveElement(id, container->getDocument());
+ return NULL;
+}
+
+daeElement* daeIDRef::getContainer() const {
+ return(container);
+}
+
+void daeIDRef::setContainer(daeElement* cont) {
+ container = cont;
+}
+
+void
+daeIDRef::print()
+{
+ fprintf(stderr,"id = %s\n",id.c_str());
+ fflush(stderr);
+}
+
+// These methods are provided for backward compatibility only.
+void daeIDRef::validate() { }
+
+void daeIDRef::resolveElement( daeString ) { }
+
+void daeIDRef::resolveID() { }
+
+daeIDRef &daeIDRef::get( daeUInt idx ) {
+ (void)idx;
+ return *this;
+}
+
+size_t daeIDRef::getCount() const {
+ return 1;
+}
+
+daeIDRef& daeIDRef::operator[](size_t index) {
+ (void)index;
+ return *this;
+}
+
+void
+daeIDRef::copyFrom(const daeIDRef& copyFrom) {
+ *this = copyFrom;
+}
+
+daeIDRef::ResolveState daeIDRef::getState() const {
+ if (id.empty())
+ return id_empty;
+ if (getElement())
+ return id_success;
+ return id_failed_id_not_found;
+}
+
+
+daeIDRefResolver::daeIDRefResolver(DAE& dae) : dae(&dae) { }
+
+daeIDRefResolver::~daeIDRefResolver() { }
+
+
+daeDefaultIDRefResolver::daeDefaultIDRefResolver(DAE& dae) : daeIDRefResolver(dae) { }
+
+daeDefaultIDRefResolver::~daeDefaultIDRefResolver() { }
+
+daeString
+daeDefaultIDRefResolver::getName()
+{
+ return "DefaultIDRefResolver";
+}
+
+daeElement* daeDefaultIDRefResolver::resolveElement(const string& id, daeDocument* doc) {
+ return doc ? dae->getDatabase()->idLookup(id, doc) : NULL;
+}
+
+
+daeIDRefResolverList::daeIDRefResolverList() { }
+
+daeIDRefResolverList::~daeIDRefResolverList() {
+ for (size_t i = 0; i < resolvers.getCount(); i++)
+ delete resolvers[i];
+}
+
+void daeIDRefResolverList::addResolver(daeIDRefResolver* resolver) {
+ resolvers.append(resolver);
+}
+
+void daeIDRefResolverList::removeResolver(daeIDRefResolver* resolver) {
+ resolvers.remove(resolver);
+}
+
+daeElement* daeIDRefResolverList::resolveElement(const string& id, daeDocument* doc) {
+ for(size_t i = 0; i < resolvers.getCount(); i++)
+ if (daeElement* el = resolvers[i]->resolveElement(id, doc))
+ return el;
+ return NULL;
+}
diff --git a/1.4.0/dom/src/dae/daeIOPluginCommon.cpp b/1.4.0/dom/src/dae/daeIOPluginCommon.cpp
new file mode 100644
index 0000000..1553454
--- /dev/null
+++ b/1.4.0/dom/src/dae/daeIOPluginCommon.cpp
@@ -0,0 +1,189 @@
+/*
+ * Copyright 2006 Sony Computer Entertainment Inc.
+ *
+ * Licensed under the MIT Open Source License, for details please see license.txt or the website
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ */
+
+#include <sstream>
+#include <dae.h>
+#include <dom.h>
+#include <dae/daeDatabase.h>
+#include <dae/daeIOPluginCommon.h>
+#include <dae/daeMetaElement.h>
+#include <dae/daeErrorHandler.h>
+#include <dae/daeMetaElementAttribute.h>
+#ifndef NO_ZAE
+#include <dae/daeZAEUncompressHandler.h>
+#endif
+
+using namespace std;
+
+daeIOPluginCommon::daeIOPluginCommon()
+ : database(NULL),
+ topMeta(NULL)
+{
+}
+
+daeIOPluginCommon::~daeIOPluginCommon()
+{
+}
+
+daeInt daeIOPluginCommon::setMeta(daeMetaElement *_topMeta)
+{
+ topMeta = _topMeta;
+ return DAE_OK;
+}
+
+void daeIOPluginCommon::setDatabase(daeDatabase* _database)
+{
+ database = _database;
+}
+
+// This function needs to be re-entrant, it can be called recursively from inside of resolveAll
+// to load files that the first file depends on.
+daeInt daeIOPluginCommon::read(const daeURI& uri, daeString docBuffer)
+{
+ // Make sure topMeta has been set before proceeding
+ if (topMeta == NULL)
+ {
+ return DAE_ERR_BACKEND_IO;
+ }
+
+ // Generate a version of the URI with the fragment removed
+ daeURI fileURI(*uri.getDAE(), uri.str(), true);
+
+ //check if document already exists
+ if ( database->isDocumentLoaded( fileURI.getURI() ) )
+ {
+ return DAE_ERR_COLLECTION_ALREADY_EXISTS;
+ }
+
+ daeElementRef domObject = docBuffer ?
+ readFromMemory(docBuffer, fileURI) :
+ readFromFile(fileURI); // Load from URI
+
+#ifdef NO_ZAE
+
+ if (!domObject) {
+ string msg = docBuffer ?
+ "Failed to load XML document from memory\n" :
+ string("Failed to load ") + fileURI.str() + "\n";
+ daeErrorHandler::get()->handleError(msg.c_str());
+ return DAE_ERR_BACKEND_IO;
+ }
+
+ // Insert the document into the database, the Database will keep a ref on the main dom, so it won't get deleted
+ // until we clear the database
+
+ daeDocument *document = NULL;
+
+ int res = database->insertDocument(fileURI.getURI(),domObject,&document);
+ if (res!= DAE_OK)
+ return res;
+
+#else
+
+ bool zaeRoot = false;
+ string extractedURI = "";
+ if (!domObject) {
+ daeZAEUncompressHandler zaeHandler(fileURI);
+ if (zaeHandler.isZipFile())
+ {
+ string rootFilePath = zaeHandler.obtainRootFilePath();
+ daeURI rootFileURI(*fileURI.getDAE(), rootFilePath);
+ domObject = readFromFile(rootFileURI);
+ if (!domObject)
+ {
+ string msg = string("Failed to load ") + fileURI.str() + "\n";
+ daeErrorHandler::get()->handleError(msg.c_str());
+ return DAE_ERR_BACKEND_IO;
+ }
+ zaeRoot = true;
+ extractedURI = rootFileURI.str();
+ }
+ else
+ {
+ string msg = docBuffer ?
+ "Failed to load XML document from memory\n" :
+ string("Failed to load ") + fileURI.str() + "\n";
+ daeErrorHandler::get()->handleError(msg.c_str());
+ return DAE_ERR_BACKEND_IO;
+ }
+ }
+
+ // Insert the document into the database, the Database will keep a ref on the main dom, so it won't get deleted
+ // until we clear the database
+
+ daeDocument *document = NULL;
+
+ int res = database->insertDocument(fileURI.getURI(),domObject,&document, zaeRoot, extractedURI);
+ if (res!= DAE_OK)
+ return res;
+
+#endif
+
+ return DAE_OK;
+}
+
+
+
+
+
+
+
+
+
+
+daeElementRef daeIOPluginCommon::beginReadElement(daeElement* parentElement,
+ daeString elementName,
+ const vector<attrPair>& attributes,
+ daeInt lineNumber) {
+ daeMetaElement* parentMeta = parentElement ? parentElement->getMeta() : topMeta;
+ daeElementRef element = parentMeta->create(elementName);
+
+ if(!element)
+ {
+ ostringstream msg;
+ msg << "The DOM was unable to create an element named " << elementName << " at line "
+ << lineNumber << ". Probably a schema violation.\n";
+ daeErrorHandler::get()->handleWarning( msg.str().c_str() );
+ return NULL;
+ }
+
+ // Process the attributes
+ for (size_t i = 0; i < attributes.size(); i++) {
+ daeString name = attributes[i].first,
+ value = attributes[i].second;
+ if (!element->setAttribute(name, value)) {
+ ostringstream msg;
+ msg << "The DOM was unable to create an attribute " << name << " = " << value
+ << " at line " << lineNumber << ".\nProbably a schema violation.\n";
+ daeErrorHandler::get()->handleWarning(msg.str().c_str());
+ }
+ }
+
+ if (parentElement == NULL) {
+ // This is the root element. Check the COLLADA version.
+ daeURI *xmlns = (daeURI*)(element->getMeta()->getMetaAttribute( "xmlns" )->getWritableMemory( element ));
+ if ( strcmp( xmlns->getURI(), element->getDAE()->getColladaNamespace() ) != 0 ) {
+ // Invalid COLLADA version
+ daeErrorHandler::get()->handleError("Trying to load an invalid COLLADA version for this DOM build!");
+ return NULL;
+ }
+ }
+
+ return element;
+}
+
+bool daeIOPluginCommon::readElementText(daeElement* element, daeString text, daeInt elementLineNumber) {
+ if (element->setCharData(text))
+ return true;
+
+ ostringstream msg;
+ msg << "The DOM was unable to set a value for element of type " << element->getTypeName()
+ << " at line " << elementLineNumber << ".\nProbably a schema violation.\n";
+ daeErrorHandler::get()->handleWarning(msg.str().c_str());
+ return false;
+}
diff --git a/1.4.0/dom/src/dae/daeMemorySystem.cpp b/1.4.0/dom/src/dae/daeMemorySystem.cpp
new file mode 100644
index 0000000..65c037d
--- /dev/null
+++ b/1.4.0/dom/src/dae/daeMemorySystem.cpp
@@ -0,0 +1,29 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae/daeMemorySystem.h>
+//#include <malloc.h>
+
+daeRawRef
+daeMemorySystem::alloc(daeString pool, size_t n)
+{
+ (void)pool;
+ void *mem = malloc(n);
+// memset(mem,0,n);
+// printf("alloc[%s] - %d = 0x%x\n",pool,n,mem);
+ return (daeRawRef)mem;
+}
+
+void
+daeMemorySystem::dealloc(daeString pool, daeRawRef mem)
+{
+ (void)pool;
+// printf("free[%s] - 0x%x\n",pool,mem);
+ free(mem);
+}
+
diff --git a/1.4.0/dom/src/dae/daeMetaAny.cpp b/1.4.0/dom/src/dae/daeMetaAny.cpp
new file mode 100644
index 0000000..fa093b9
--- /dev/null
+++ b/1.4.0/dom/src/dae/daeMetaAny.cpp
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2006 Sony Computer Entertainment Inc.
+ *
+ * Licensed under the MIT Open Source License, for details please see license.txt or the website
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ */
+
+#include <dae/daeMetaAny.h>
+#include <dae/daeMetaElementAttribute.h>
+#include <dae.h>
+#include <dae/daeDom.h>
+
+daeMetaAny::daeMetaAny( daeMetaElement *container, daeMetaCMPolicy *parent, daeUInt ordinal,
+ daeInt minO, daeInt maxO) : daeMetaCMPolicy( container, parent, ordinal, minO, maxO )
+{
+}
+
+daeMetaAny::~daeMetaAny()
+{
+}
+
+daeElement *daeMetaAny::placeElement( daeElement *parent, daeElement *child, daeUInt &ordinal, daeInt offset, daeElement* before, daeElement *after ) {
+ //remove element from praent
+ (void)offset;
+ (void)before;
+ (void)after;
+ daeElement::removeFromParent( child );
+ child->setParentElement( parent );
+ //*************************************************************************
+ ordinal = 0;
+ return child;
+}
+
+daeBool daeMetaAny::removeElement( daeElement *parent, daeElement *child ) {
+ (void)parent;
+ (void)child;
+ return true;
+}
+
+daeMetaElement * daeMetaAny::findChild( daeString elementName ) {
+ if ( elementName != NULL ) {
+ const daeMetaElementRefArray &metas = _container->getDAE()->getAllMetas();
+ size_t cnt = metas.getCount();
+ for ( size_t x = 0; x < cnt; x++ ) {
+ if ( metas[x] && !metas[x]->getIsInnerClass() && strcmp( elementName, metas[x]->getName() ) == 0 ) {
+ return metas[x];
+ }
+ }
+ }
+ return registerElementAny(*_container->getDAE());
+}
+
+void daeMetaAny::getChildren( daeElement *parent, daeElementRefArray &array ) {
+ (void)parent;
+ (void)array;
+ //this is taken care of by the _contents in metaElement
+}
+
diff --git a/1.4.0/dom/src/dae/daeMetaAttribute.cpp b/1.4.0/dom/src/dae/daeMetaAttribute.cpp
new file mode 100644
index 0000000..eb3eea7
--- /dev/null
+++ b/1.4.0/dom/src/dae/daeMetaAttribute.cpp
@@ -0,0 +1,182 @@
+/*
+ * Copyright 2006 Sony Computer Entertainment Inc.
+ *
+ * Licensed under the MIT Open Source License, for details please see license.txt or the website
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ */
+
+#include <sstream>
+#include <dae/daeMetaAttribute.h>
+#include <dae/daeMetaElement.h>
+#include <dae/daeErrorHandler.h>
+#include <dae/daeDocument.h>
+
+#include <limits>
+#include <iomanip>
+
+void daeMetaAttribute::set(daeElement* e, daeString s) {
+ stringToMemory(e, s);
+}
+
+void daeMetaAttribute::copy(daeElement* to, daeElement *from) {
+ _type->copy(get(from), get(to));
+}
+
+void daeMetaArrayAttribute::copy(daeElement* to, daeElement *from) {
+ daeArray& fromArray = (daeArray&)*get(from);
+ daeArray& toArray = (daeArray&)*get(to);
+ _type->copyArray(fromArray, toArray);
+}
+
+void daeMetaAttribute::copyDefault(daeElement* element) {
+ if (_defaultValue)
+ _type->copy(_defaultValue, get(element));
+}
+
+void daeMetaArrayAttribute::copyDefault(daeElement* element) {
+ if (_defaultValue)
+ _type->copyArray((daeArray&)*_defaultValue, (daeArray&)*get(element));
+}
+
+daeInt daeMetaAttribute::compare(daeElement* elt1, daeElement* elt2) {
+ return _type->compare(get(elt1), get(elt2));
+}
+
+daeInt daeMetaArrayAttribute::compare(daeElement* elt1, daeElement* elt2) {
+ daeArray& value1 = (daeArray&)*get(elt1);
+ daeArray& value2 = (daeArray&)*get(elt2);
+ return _type->compareArray(value1, value2);
+}
+
+daeInt daeMetaAttribute::compareToDefault(daeElement* e) {
+ if (!_defaultValue)
+ return 1;
+ return _type->compare(get(e), _defaultValue);
+}
+
+daeInt daeMetaArrayAttribute::compareToDefault(daeElement* e) {
+ if (!_defaultValue)
+ return 1;
+ daeArray& value1 = (daeArray&)*get(e);
+ daeArray& value2 = (daeArray&)*_defaultValue;
+ return _type->compareArray(value1, value2);
+}
+
+daeMetaAttribute::daeMetaAttribute()
+{
+ _name = "noname";
+ _offset = -1;
+ _type = NULL;
+ _container = NULL;
+ _defaultString = "";
+ _defaultValue = NULL;
+ _isRequired = false;
+}
+
+daeMetaAttribute::~daeMetaAttribute() {
+ if (_defaultValue)
+ _type->destroy(_defaultValue);
+ _defaultValue = NULL;
+}
+
+daeMetaArrayAttribute::~daeMetaArrayAttribute() {
+ delete (daeArray*)_defaultValue;
+ _defaultValue = NULL;
+}
+
+daeInt
+daeMetaAttribute::getSize()
+{
+ return _type->getSize();
+}
+daeInt
+daeMetaAttribute::getAlignment()
+{
+ return _type->getAlignment();
+}
+
+void daeMetaAttribute::memoryToString(daeElement* e, std::ostringstream& buffer) {
+ _type->memoryToString(get(e), buffer);
+}
+
+void daeMetaAttribute::stringToMemory(daeElement* e, daeString s) {
+ if (!strcmp(_name, "id") && e->getDocument())
+ e->getDocument()->changeElementID(e, s);
+ else if (!strcmp(_name, "sid") && e->getDocument())
+ e->getDocument()->changeElementSID(e, s);
+
+ _type->stringToMemory((daeChar*)s, get(e));
+}
+
+daeChar* daeMetaAttribute::getWritableMemory(daeElement* e) {
+ return (daeChar*)e + _offset;
+}
+
+daeMemoryRef daeMetaAttribute::get(daeElement* e) {
+ return getWritableMemory(e);
+}
+
+void daeMetaAttribute::setDefaultString(daeString defaultVal) {
+ _defaultString = defaultVal;
+ if (!_defaultValue)
+ _defaultValue = _type->create();
+ _type->stringToMemory((daeChar*)_defaultString.c_str(), _defaultValue);
+}
+
+void daeMetaAttribute::setDefaultValue(daeMemoryRef defaultVal) {
+ if (!_defaultValue)
+ _defaultValue = _type->create();
+ _type->copy(defaultVal, _defaultValue);
+ std::ostringstream buffer;
+#ifdef COLLADA_DOM_DAEFLOAT_IS64
+ buffer << std::setprecision(std::numeric_limits<PLATFORM_FLOAT64>::digits10+1); // set the default precision to daeFloat digit
+#endif
+ _type->memoryToString(_defaultValue, buffer);
+ _defaultString = buffer.str();
+}
+
+void daeMetaArrayAttribute::memoryToString(daeElement* e, std::ostringstream& buffer) {
+ if (e)
+ _type->arrayToString(*(daeArray*)get(e), buffer);
+}
+
+void daeMetaArrayAttribute::stringToMemory(daeElement* e, daeString s) {
+ if (e)
+ _type->stringToArray((daeChar*)s, *(daeArray*)get(e));
+}
+
+void daeMetaArrayAttribute::setDefaultString(daeString defaultVal) {
+ _defaultString = defaultVal;
+ if (!_defaultValue)
+ _defaultValue = (daeMemoryRef)_type->createArray();
+ _type->stringToArray((daeChar*)_defaultString.c_str(), (daeArray&)*_defaultValue);
+}
+
+void daeMetaArrayAttribute::setDefaultValue(daeMemoryRef defaultVal) {
+ if (!_defaultValue)
+ _defaultValue = (daeMemoryRef)_type->createArray();
+ _type->copyArray((daeArray&)*defaultVal, (daeArray&)*_defaultValue);
+ std::ostringstream buffer;
+#ifdef COLLADA_DOM_DAEFLOAT_IS64
+ buffer << std::setprecision(std::numeric_limits<PLATFORM_FLOAT64>::digits10+1); // set the default precision to daeFloat digit
+#endif
+ _type->arrayToString((daeArray&)*_defaultValue, buffer);
+ _defaultString = buffer.str();
+}
+
+daeString daeMetaAttribute::getDefaultString() {
+ return _defaultString.c_str();
+}
+
+daeMemoryRef daeMetaAttribute::getDefaultValue() {
+ return _defaultValue;
+}
+
+void daeMetaAttribute::setDocument(daeElement* e, daeDocument* doc) {
+ _type->setDocument(get(e), doc);
+}
+
+void daeMetaArrayAttribute::setDocument(daeElement* e, daeDocument* doc) {
+ _type->setDocument(*(daeArray*)get(e), doc);
+}
diff --git a/1.4.0/dom/src/dae/daeMetaCMPolicy.cpp b/1.4.0/dom/src/dae/daeMetaCMPolicy.cpp
new file mode 100644
index 0000000..8d332b2
--- /dev/null
+++ b/1.4.0/dom/src/dae/daeMetaCMPolicy.cpp
@@ -0,0 +1,17 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae/daeMetaCMPolicy.h>
+
+daeMetaCMPolicy::~daeMetaCMPolicy()
+{
+ for( size_t i = 0; i < _children.getCount(); i++ ) {
+ delete _children[i];
+ }
+}
+
diff --git a/1.4.0/dom/src/dae/daeMetaChoice.cpp b/1.4.0/dom/src/dae/daeMetaChoice.cpp
new file mode 100644
index 0000000..a8b5396
--- /dev/null
+++ b/1.4.0/dom/src/dae/daeMetaChoice.cpp
@@ -0,0 +1,151 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae/daeMetaChoice.h>
+#include <dae/daeMetaElement.h>
+
+daeMetaChoice::daeMetaChoice( daeMetaElement *container, daeMetaCMPolicy *parent, daeUInt choiceNum, daeUInt ordinal,
+ daeInt minO, daeInt maxO) : daeMetaCMPolicy( container, parent, ordinal, minO, maxO ), _choiceNum(choiceNum)
+{}
+
+daeMetaChoice::~daeMetaChoice()
+{}
+
+daeElement *daeMetaChoice::placeElement( daeElement *parent, daeElement *child, daeUInt &ordinal, daeInt offset, daeElement* before, daeElement *after ) {
+ (void)offset;
+ if ( _maxOccurs == -1 ) {
+ //Needed to prevent infinate loops. If unbounded check to see if you have the child before just trying to place
+ if ( findChild( child->getElementName() ) == NULL ) {
+ return NULL;
+ }
+ }
+
+ daeElement *retVal = NULL;
+
+ daeTArray< daeCharArray *> *CMData = (daeTArray< daeCharArray *>*)_container->getMetaCMData()->getWritableMemory(parent);
+ daeCharArray *myData = CMData->get( _choiceNum );
+ size_t count = myData->getCount();
+
+ for ( daeInt i = 0; ( i < _maxOccurs || _maxOccurs == -1 ); i++ )
+ {
+ if ( (daeInt) count > i && myData->get(i) != -1 ) //choice has already been made
+ {
+ if ( _children[ myData->get(i) ]->placeElement( parent, child, ordinal, i, before, after ) != NULL )
+ {
+ retVal = child;
+ ordinal = ordinal + _ordinalOffset;
+ break;
+ }
+ //else //try to see if everything can be in a different choice
+ //{
+ // daeElementRefArray childsInChoice;
+ // _children[ myData->get(i) ]->getChildren( parent, childsInChoice );
+ // for ( size_t x = myData->get(i) +1; x < cnt; x++ )
+ // {
+ // daeElementRefArray childsInNext;
+ // _children[ x ]->getChildren( parent, childsInNext ); //If you get children in another choice then
+ // //both choices can have the same type of children.
+ // if ( childsInNext.getCount() == childsInChoice.getCount() )
+ // {
+ // //if there are the same ammount of children then all present children can belong to both
+ // //choices. Try to place the new child in this next choice.
+ // if ( _children[x]->placeElement( parent, child, ordinal, i, before, after ) != NULL )
+ // {
+ // retVal = child;
+ // ordinal = ordinal + _ordinalOffset;
+
+ // myData->set( i, (daeChar)x ); //change the choice to this new one
+ // break;
+ // }
+ // }
+ // }
+ // if ( retVal != NULL ) break;
+ //}
+ }
+ else //no choice has been made yet
+ {
+ size_t cnt = _children.getCount();
+ for ( size_t x = 0; x < cnt; x++ )
+ {
+ if ( _children[x]->placeElement( parent, child, ordinal, i, before, after ) != NULL )
+ {
+ retVal = child;
+ ordinal = ordinal + _ordinalOffset;
+
+ myData->append( (daeChar)x ); //you always place in the next available choice up to maxOccurs
+ count ++;
+ break;
+ }
+ }
+ if ( retVal != NULL ) break;
+ }
+ }
+ if ( retVal == NULL )
+ {
+ if ( findChild( child->getElementName() ) == NULL ) {
+ return NULL;
+ }
+ for ( daeInt i = 0; ( i < _maxOccurs || _maxOccurs == -1 ); i++ )
+ {
+ daeElementRefArray childsInChoice;
+ _children[ myData->get(i) ]->getChildren( parent, childsInChoice );
+ size_t cnt = _children.getCount();
+ for ( size_t x = myData->get(i) +1; x < cnt; x++ )
+ {
+ daeElementRefArray childsInNext;
+ _children[ x ]->getChildren( parent, childsInNext ); //If you get children in another choice then
+ //both choices can have the same type of children.
+ if ( childsInNext.getCount() == childsInChoice.getCount() )
+ {
+ //if there are the same ammount of children then all present children can belong to both
+ //choices. Try to place the new child in this next choice.
+ if ( _children[x]->placeElement( parent, child, ordinal, i, before, after ) != NULL )
+ {
+ retVal = child;
+ ordinal = ordinal + _ordinalOffset;
+
+ myData->set( i, (daeChar)x ); //change the choice to this new one
+ break;
+ }
+ }
+ }
+ if ( retVal != NULL ) break;
+ }
+ }
+ return retVal;
+}
+
+daeBool daeMetaChoice::removeElement( daeElement *parent, daeElement *child ) {
+ size_t cnt = _children.getCount();
+ for ( size_t x = 0; x < cnt; x++ ) {
+ if ( _children[x]->removeElement( parent, child ) ) {
+ return true;
+ }
+ }
+ return false;
+}
+
+daeMetaElement * daeMetaChoice::findChild( daeString elementName ) {
+ daeMetaElement *me = NULL;
+ size_t cnt = _children.getCount();
+ for ( size_t x = 0; x < cnt; x++ ) {
+ me = _children[x]->findChild( elementName );
+ if ( me != NULL ) {
+ return me;
+ }
+ }
+ return NULL;
+}
+
+void daeMetaChoice::getChildren( daeElement *parent, daeElementRefArray &array ) {
+ size_t cnt = _children.getCount();
+ for ( size_t x = 0; x < cnt; x++ ) {
+ _children[x]->getChildren( parent, array );
+ }
+}
+
diff --git a/1.4.0/dom/src/dae/daeMetaElement.cpp b/1.4.0/dom/src/dae/daeMetaElement.cpp
new file mode 100644
index 0000000..ae10dc6
--- /dev/null
+++ b/1.4.0/dom/src/dae/daeMetaElement.cpp
@@ -0,0 +1,472 @@
+/*
+ * Copyright 2006 Sony Computer Entertainment Inc.
+ *
+ * Licensed under the MIT Open Source License, for details please see license.txt or the website
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ */
+
+#include <dae.h>
+#include <dae/daeMetaElement.h>
+#include <dae/daeElement.h>
+#include <dae/daeDocument.h>
+#include <dae/daeMetaCMPolicy.h>
+#include <dae/daeMetaElementAttribute.h>
+#include <dae/daeDom.h>
+
+daeElementRef
+daeMetaElement::create()
+{
+ daeElementRef ret = (*_createFunc)(dae);
+ ret->setup(this);
+
+ return ret;
+}
+
+daeElementRef
+daeMetaElement::create(daeString s)
+{
+ daeMetaElement* me = NULL;
+ if ( strcmp( s, _name ) == 0 ) {
+ //looking for this meta
+ me = this;
+ }
+ else if ( _contentModel != NULL ) {
+ me = _contentModel->findChild(s);
+ }
+ if (me != NULL) {
+ daeElementRef ret = me->create();
+ if ( strcmp(s, me->getName() ) != 0 ) {
+ ret->setElementName(s);
+ }
+ return ret;
+ }
+ if ( getAllowsAny() ) {
+ daeElementRef ret = registerElementAny(dae)->create();
+ ret->setElementName(s);
+ return ret;
+ }
+ return NULL;
+}
+
+daeMetaElement::daeMetaElement(DAE& dae) : dae(dae)
+{
+ _name = "noname";
+ _createFunc = NULL;
+ _elementSize = sizeof(daeElement);
+ _metaValue = NULL;
+ _metaContents = NULL;
+ _metaContentsOrder = NULL; // sthomas
+ _metaID = NULL;
+ _isTrackableForQueries = true;
+ _usesStringContents = false;
+ _isTransparent = false;
+ _isAbstract = false;
+ _allowsAny = false;
+ _innerClass = false;
+ _contentModel = NULL;
+ _metaCMData = NULL;
+ _numMetaChoices = 0;
+}
+
+daeMetaElement::~daeMetaElement()
+{
+ delete _metaContents;
+ delete _contentModel;
+ delete _metaContentsOrder;
+ delete _metaCMData;
+}
+
+DAE* daeMetaElement::getDAE() {
+ return &dae;
+}
+
+void daeMetaElement::setCMRoot( daeMetaCMPolicy *cm )
+{
+ if (_contentModel)
+ delete _contentModel;
+ _contentModel = cm;
+}
+
+void
+daeMetaElement::addContents(daeInt offset)
+{
+ daeMetaElementArrayAttribute* meaa = new daeMetaElementArrayAttribute( this, NULL, 0, 1, -1 );
+ meaa->setType(dae.getAtomicTypes().get("element"));
+ meaa->setName("contents");
+ meaa->setOffset(offset);
+ meaa->setContainer( this);
+ _metaContents = meaa;
+}
+void
+daeMetaElement::addContentsOrder(daeInt offset)
+{
+ daeMetaArrayAttribute* meaa = new daeMetaArrayAttribute();
+ meaa->setType(dae.getAtomicTypes().get("uint"));
+ meaa->setName("contentsOrder");
+ meaa->setOffset(offset);
+ meaa->setContainer( this);
+
+ if (_metaContentsOrder)
+ delete _metaContentsOrder;
+
+ _metaContentsOrder = meaa;
+}
+
+void daeMetaElement::addCMDataArray(daeInt offset, daeUInt numChoices)
+{
+ daeMetaArrayAttribute* meaa = new daeMetaArrayAttribute();
+ meaa->setType(dae.getAtomicTypes().get("int"));
+ meaa->setName("CMData");
+ meaa->setOffset(offset);
+ meaa->setContainer( this);
+
+ if (_metaCMData)
+ delete _metaCMData;
+
+ _metaCMData = meaa;
+
+ _numMetaChoices = numChoices;
+}
+
+
+/*void
+ daeMetaElement::appendArrayElement(daeMetaElement* element, daeInt offset, daeString name)
+ {
+ daeMetaElementArrayAttribute* meaa = new daeMetaElementArrayAttribute;
+ meaa->setType(daeAtomicType::get("element"));
+ if ( name ) {
+ meaa->setName(name);
+ }
+ else {
+ meaa->setName(element->getName());
+ }
+ meaa->setOffset(offset);
+ meaa->setContainer(this);
+ meaa->setElementType( element);
+ _metaElements.append(meaa);
+ }
+ void
+ daeMetaElement::appendElement(daeMetaElement* element, daeInt offset, daeString name)
+ {
+ daeMetaElementAttribute* meaa = new daeMetaElementAttribute;
+ meaa->setType(daeAtomicType::get("element"));
+ if ( name ) {
+ meaa->setName(name);
+ }
+ else {
+ meaa->setName(element->getName());
+ }
+ meaa->setOffset( offset);
+ meaa->setContainer( this );
+ meaa->setElementType( element );
+ _metaElements.append(meaa);
+ }*/
+
+void
+daeMetaElement::appendAttribute(daeMetaAttribute* attr)
+{
+ if (attr == NULL)
+ return;
+
+ if (strcmp(attr->getName(),"_value") == 0) {
+ _metaValue = attr;
+ }
+ else
+ _metaAttributes.append(attr);
+
+ if ((attr->getName() != NULL) &&
+ (strcmp(attr->getName(),"id") == 0)) {
+ _metaID = attr;
+ _isTrackableForQueries = true;
+ }
+}
+
+void
+daeMetaElement::validate()
+{
+ if (_elementSize == 0)
+ {
+ daeInt place=0;
+ unsigned int i;
+ for(i=0; i<_metaAttributes.getCount(); i++) {
+ place += _metaAttributes[i]->getSize();
+ int align = _metaAttributes[i]->getAlignment();
+ place += align;
+ place &= (~(align-1));
+ }
+ _elementSize = place;
+ }
+}
+
+daeMetaAttribute*
+daeMetaElement::getMetaAttribute(daeString s)
+{
+ int cnt = (int)_metaAttributes.getCount();
+ int i;
+ for(i=0; i<cnt; i++)
+ if (strcmp(_metaAttributes[i]->getName(),s) == 0)
+ return _metaAttributes[i];
+ return NULL;
+}
+
+
+// void daeMetaElement::releaseMetas()
+// {
+// _metas().clear();
+// size_t count = _classMetaPointers().getCount();
+// for ( size_t i = 0; i < count; i++ )
+// {
+// *(_classMetaPointers()[i]) = NULL;
+// }
+// _classMetaPointers().clear();
+// if (mera)
+// {
+// delete mera;
+// mera = NULL;
+// }
+// if (mes)
+// {
+// delete mes;
+// mes = NULL;
+// }
+// }
+
+daeBool daeMetaElement::place(daeElement *parent, daeElement *child, daeUInt *ordinal )
+{
+ if (child->getMeta()->getIsAbstract() || parent->getMeta() != this ) {
+ return false;
+ }
+ daeUInt ord;
+ daeElement *retVal = _contentModel->placeElement( parent, child, ord );
+ if ( retVal != NULL ) {
+ //update document pointer
+ child->setDocument( parent->getDocument() );
+ retVal->setDocument( parent->getDocument() );
+ //add to _contents array
+ if (_metaContents != NULL) {
+ daeElementRefArray* contents =
+ (daeElementRefArray*)_metaContents->getWritableMemory(parent);
+ daeUIntArray* contentsOrder =
+ (daeUIntArray*)_metaContentsOrder->getWritableMemory(parent);
+ daeBool needsAppend = true;
+ size_t cnt = contentsOrder->getCount();
+ for ( size_t x = 0; x < cnt; x++ ) {
+ if ( contentsOrder->get(x) > ord ) {
+ contents->insertAt( x, retVal );
+ contentsOrder->insertAt( x, ord );
+ needsAppend = false;
+ break;
+ }
+ }
+ if ( needsAppend ) {
+ contents->append(retVal);
+ contentsOrder->append( ord );
+ }
+ }
+ if ( ordinal != NULL ) {
+ *ordinal = ord;
+ }
+ }
+ return retVal!=NULL;
+}
+
+daeBool daeMetaElement::placeAt( daeInt index, daeElement *parent, daeElement *child )
+{
+ if (child->getMeta()->getIsAbstract() || parent->getMeta() != this || index < 0 ) {
+ return false;
+ }
+ daeUInt ord;
+ daeElement *retVal = _contentModel->placeElement( parent, child, ord );
+ if ( retVal != NULL ) {
+ //add to _contents array
+ if (_metaContents != NULL) {
+ daeElementRefArray* contents =
+ (daeElementRefArray*)_metaContents->getWritableMemory(parent);
+ daeUIntArray* contentsOrder =
+ (daeUIntArray*)_metaContentsOrder->getWritableMemory(parent);
+ daeBool validLoc;
+ if ( index > 0 ) {
+ validLoc = contentsOrder->get(index) >= ord && contentsOrder->get(index) <= ord;
+ }
+ else {
+ if ( contentsOrder->getCount() == 0 ) {
+ validLoc = true;
+ }
+ else {
+ validLoc = contentsOrder->get(index) >= ord;
+ }
+ }
+ if ( validLoc ) {
+ contents->insertAt( index, retVal );
+ contentsOrder->insertAt( index, ord );
+ }
+ else {
+ _contentModel->removeElement( parent, retVal );
+ retVal = NULL;
+ }
+ }
+ }
+ if ( retVal != NULL ) {
+ //update document pointer
+ child->setDocument( parent->getDocument() );
+ retVal->setDocument( parent->getDocument() );
+ }
+ return retVal!=NULL;
+}
+
+daeBool daeMetaElement::placeBefore( daeElement *marker, daeElement *parent, daeElement *child, daeUInt *ordinal )
+{
+ if (child->getMeta()->getIsAbstract() || parent->getMeta() != this ) {
+ return false;
+ }
+ daeUInt ord;
+ daeElement *retVal = _contentModel->placeElement( parent, child, ord, 0, marker, NULL );
+ if ( retVal != NULL ) {
+ //add to _contents array
+ if (_metaContents != NULL) {
+ daeElementRefArray* contents =
+ (daeElementRefArray*)_metaContents->getWritableMemory(parent);
+ daeUIntArray* contentsOrder =
+ (daeUIntArray*)_metaContentsOrder->getWritableMemory(parent);
+ size_t index(0);
+ daeBool validLoc = false;
+ if ( contents->find( marker, index ) == DAE_OK ) {
+ if ( index > 0 ) {
+ daeUInt gt = contentsOrder->get(index-1);
+ daeUInt lt = contentsOrder->get(index);
+ validLoc = gt <= ord && lt >= ord;
+ }
+ else {
+ validLoc = contentsOrder->get(index) >= ord;
+ }
+ }
+ if ( validLoc ) {
+ contents->insertAt( index, retVal );
+ contentsOrder->insertAt( index, ord );
+ if ( ordinal != NULL ) {
+ *ordinal = ord;
+ }
+ }
+ else {
+ _contentModel->removeElement( parent, retVal );
+ retVal = NULL;
+ }
+ }
+ }
+ if ( retVal != NULL ) {
+ //update document pointer
+ child->setDocument( parent->getDocument() );
+ retVal->setDocument( parent->getDocument() );
+ }
+ return retVal!=NULL;
+}
+
+daeBool daeMetaElement::placeAfter( daeElement *marker, daeElement *parent, daeElement *child, daeUInt *ordinal )
+{
+ if (child->getMeta()->getIsAbstract() || parent->getMeta() != this ) {
+ return false;
+ }
+ daeUInt ord;
+ daeElement *retVal = _contentModel->placeElement( parent, child, ord, 0, NULL, marker );
+ if ( retVal != NULL ) {
+ //add to _contents array
+ if (_metaContents != NULL) {
+ daeElementRefArray* contents =
+ (daeElementRefArray*)_metaContents->getWritableMemory(parent);
+ daeUIntArray* contentsOrder =
+ (daeUIntArray*)_metaContentsOrder->getWritableMemory(parent);
+ size_t index(0);
+ daeBool validLoc = false;
+ if ( contents->find( marker, index ) == DAE_OK ) {
+ if ( index < contentsOrder->getCount()-1 ) {
+ validLoc = contentsOrder->get(index) <= ord && contentsOrder->get(index+1) >= ord;
+ }
+ else {
+ validLoc = contentsOrder->get(index) <= ord;
+ }
+ }
+ if ( validLoc ) {
+ contents->insertAt( index+1, retVal );
+ contentsOrder->insertAt( index+1, ord );
+ if ( ordinal != NULL ) {
+ *ordinal = ord;
+ }
+ }
+ else {
+ _contentModel->removeElement( parent, retVal );
+ retVal = NULL;
+ }
+ }
+ }
+ if ( retVal != NULL ) {
+ //update document pointer
+ child->setDocument( parent->getDocument() );
+ retVal->setDocument( parent->getDocument() );
+ }
+ return retVal!=NULL;
+}
+
+daeBool daeMetaElement::remove(daeElement *parent, daeElement *child)
+{
+ if ( parent->getMeta() != this ) {
+ return false;
+ }
+ //prevent child from being deleted
+ daeElementRef el( child );
+ if ( _contentModel->removeElement( parent, child ) ) {
+ if ( _metaContents != NULL)
+ {
+ daeElementRefArray* contents = (daeElementRefArray*)_metaContents->getWritableMemory(parent);
+ daeUIntArray* contentsOrder = (daeUIntArray*)_metaContentsOrder->getWritableMemory(parent);
+ size_t idx(0);
+ if ( contents->remove(child, &idx) == DAE_OK ) {
+ contentsOrder->removeIndex( idx );
+ }
+ }
+ if ( child->getDocument() ) {
+ child->getDocument()->removeElement( child );
+ }
+
+ // Clear the child's parent pointer
+ child->setParentElement( NULL );
+
+ return true;
+ }
+ return false;
+}
+
+void daeMetaElement::getChildren( daeElement* parent, daeElementRefArray &array )
+{
+ if ( parent->getMeta() != this ) {
+ return;
+ }
+ if ( _metaContents != NULL ) {
+ daeElementRefArray* contents = (daeElementRefArray*)_metaContents->getWritableMemory(parent);
+ for ( size_t x = 0; x < contents->getCount(); x++ ) {
+ array.append( contents->get(x) );
+ }
+ }
+ else if ( _contentModel != NULL ) {
+ _contentModel->getChildren( parent, array );
+ }
+}
+
+// daeMetaElementRefArray &daeMetaElement::_metas()
+// {
+// if (!mera)
+// {
+// mera = new daeMetaElementRefArray();
+// }
+// return *mera;
+// }
+
+// daeTArray< daeMetaElement** > &daeMetaElement::_classMetaPointers()
+// {
+// if (!mes)
+// {
+// mes = new daeTArray< daeMetaElement** >();
+// }
+// return *mes;
+// }
+
diff --git a/1.4.0/dom/src/dae/daeMetaElementAttribute.cpp b/1.4.0/dom/src/dae/daeMetaElementAttribute.cpp
new file mode 100644
index 0000000..86854bb
--- /dev/null
+++ b/1.4.0/dom/src/dae/daeMetaElementAttribute.cpp
@@ -0,0 +1,231 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae/daeMetaElementAttribute.h>
+#include <dae/daeMetaElement.h>
+
+daeMetaElementAttribute::daeMetaElementAttribute( daeMetaElement *container, daeMetaCMPolicy *parent, daeUInt ordinal,
+ daeInt minO, daeInt maxO) : daeMetaCMPolicy( container, parent, ordinal, minO, maxO )
+{
+ _elementType = NULL;
+}
+
+daeMetaElementAttribute::~daeMetaElementAttribute()
+{}
+
+daeMetaElementArrayAttribute::daeMetaElementArrayAttribute( daeMetaElement *container, daeMetaCMPolicy *parent, daeUInt ordinal,
+ daeInt minO, daeInt maxO) : daeMetaElementAttribute( container, parent, ordinal, minO, maxO )
+{
+}
+
+daeMetaElementArrayAttribute::~daeMetaElementArrayAttribute()
+{}
+
+
+void daeMetaElementAttribute::set(daeElement* e, daeString s)
+{
+ //_type->stringToMemory((char*)s, getWritableMemory(e));
+ daeElementRef *ref = (daeElementRef*)(getWritableMemory(e));
+ if ((*ref) == NULL) {
+ (*ref) = _elementType->create();
+ }
+ (*ref)->getMeta()->getValueAttribute()->stringToMemory((*ref), s);
+}
+
+void daeMetaElementAttribute::copy(daeElement* to, daeElement *from) {
+ daeElement *cpy = (*(daeElementRef*)(getWritableMemory(from)))->clone();
+ (*(daeElementRef*)(getWritableMemory(to))) = cpy;
+}
+
+void daeMetaElementArrayAttribute::copy(daeElement* to, daeElement *from) {
+ (void)to;
+ (void)from;
+}
+
+void
+daeMetaElementAttribute::setDocument( daeElement * parent, daeDocument* c )
+{
+ daeElementRef* er = (daeElementRef*)getWritableMemory( parent );
+ if ( ((daeElement*)(*er)) != NULL ) {
+ (*er)->setDocument( c );
+ }
+}
+
+void
+daeMetaElementArrayAttribute::setDocument( daeElement * parent, daeDocument* c )
+{
+ daeElementRefArray* era = (daeElementRefArray*)getWritableMemory( parent );
+ for ( unsigned int i = 0; i < era->getCount(); i++ ) {
+ era->get(i)->setDocument( c );
+ }
+}
+
+daeInt
+daeMetaElementAttribute::getCount(daeElement* e)
+{
+ if (e == NULL)
+ return 0;
+ return ((*((daeElementRef*)getWritableMemory(e))) != NULL);
+}
+
+daeMemoryRef
+daeMetaElementAttribute::get(daeElement *e, daeInt index)
+{
+ (void)index;
+ return getWritableMemory(e);
+}
+
+daeInt
+daeMetaElementArrayAttribute::getCount(daeElement *e)
+{
+ if (e == NULL)
+ return 0;
+ daeElementRefArray* era = (daeElementRefArray*)getWritableMemory(e);
+ if (era == NULL)
+ return 0;
+ return (daeInt)era->getCount();
+}
+
+daeMemoryRef
+daeMetaElementArrayAttribute::get(daeElement* e, daeInt index)
+{
+ if (e == NULL)
+ return NULL;
+ daeElementRefArray* era = (daeElementRefArray*)getWritableMemory(e);
+ if (era == NULL || index >= (daeInt)era->getCount() )
+ return NULL;
+ return (daeMemoryRef)&(era->get(index));
+}
+
+daeElement *
+daeMetaElementAttribute::placeElement(daeElement* parent, daeElement* child, daeUInt &ordinal, daeInt offset, daeElement* before, daeElement *after )
+{
+ (void)offset;
+ (void)before;
+ (void)after;
+ if ((parent == NULL)||(child == NULL))
+ return NULL;
+ if ( child->getMeta() != _elementType || strcmp( child->getElementName(), _name ) != 0 ) {
+ return NULL;
+ }
+ if (child->getParentElement() == parent) {
+ //I Don't know why this gets called when the child already has this as parent.
+ return child;
+ }
+ daeElementRef* er = (daeElementRef*)getWritableMemory(parent);
+
+ if ( *er != NULL )
+ {
+ return NULL;
+ }
+
+ daeElement::removeFromParent( child );
+ child->setParentElement( parent );
+
+ *er = child;
+ ordinal = _ordinalOffset;
+
+ return child;
+}
+
+daeElement *
+daeMetaElementArrayAttribute::placeElement(daeElement* parent, daeElement* child, daeUInt &ordinal, daeInt offset, daeElement* before, daeElement *after )
+{
+ if ((parent == NULL)||(child == NULL))
+ return NULL;
+ if ( child->getMeta() != _elementType)
+ return NULL;
+
+ daeElementRefArray* era = (daeElementRefArray*)getWritableMemory(parent);
+ if ( _maxOccurs != -1 && (daeInt)era->getCount()-offset >= _maxOccurs ) {
+ return NULL;
+ }
+
+ if (strcmp( child->getElementName(), _name ) != 0 )
+ return NULL;
+
+ daeElement *p = child->getParentElement();
+ removeElement( p, child );
+ child->setParentElement( parent );
+
+ if ( before != NULL && before->getMeta() == _elementType ) {
+ size_t idx(0);
+ if ( era->find( before, idx ) == DAE_OK ) {
+ era->insertAt( idx, child );
+ }
+ }
+ else if ( after != NULL && after->getMeta() == _elementType ) {
+ size_t idx(0);
+ if ( era->find( after, idx ) == DAE_OK ) {
+ era->insertAt( idx+1, child );
+ }
+ }
+ else {
+ era->append(child);
+ }
+ ordinal = _ordinalOffset;
+
+ return child;
+}
+
+// These are the opposite of the placeElement functions above
+daeBool
+daeMetaElementAttribute::removeElement(daeElement* parent, daeElement* child)
+{
+ (void)child; // silence unused variable warning
+
+ if ((parent == NULL)||(child == NULL ))
+ return false;
+
+ daeElementRef* er = (daeElementRef*)getWritableMemory(parent);
+ if ( *er != child ) {
+ return false;
+ }
+ *er = NULL;
+ return true;
+}
+
+daeBool
+daeMetaElementArrayAttribute::removeElement(daeElement* parent,
+ daeElement* child)
+{
+ if ((parent == NULL)||(child == NULL))
+ return false ;
+
+ daeElementRefArray* era = (daeElementRefArray*)getWritableMemory(parent);
+/* if ( (daeInt)era->getCount() <= _minOccurs ) {
+ return false;
+ }*/
+ daeInt error = era->remove(child);
+ if ( error != DAE_OK ) {
+ return false;
+ }
+ return true;
+}
+
+daeMetaElement *daeMetaElementAttribute::findChild( daeString elementName ) {
+ if ( strcmp( elementName, _name ) == 0 ) {
+ return _elementType;
+ }
+ return NULL;
+}
+
+void daeMetaElementAttribute::getChildren( daeElement *parent, daeElementRefArray &array ) {
+ daeElementRef* er = (daeElementRef*)getWritableMemory(parent);
+ if ( *er != NULL ) {
+ array.appendUnique( *er );
+ }
+}
+
+void daeMetaElementArrayAttribute::getChildren( daeElement *parent, daeElementRefArray &array ) {
+ daeElementRefArray* era = (daeElementRefArray*)getWritableMemory(parent);
+ size_t cnt = era->getCount();
+ for ( size_t x = 0; x < cnt; x++ ) {
+ array.appendUnique( era->get(x) );
+ }
+}
diff --git a/1.4.0/dom/src/dae/daeMetaGroup.cpp b/1.4.0/dom/src/dae/daeMetaGroup.cpp
new file mode 100644
index 0000000..32e097b
--- /dev/null
+++ b/1.4.0/dom/src/dae/daeMetaGroup.cpp
@@ -0,0 +1,144 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae/daeMetaGroup.h>
+#include <dae/daeMetaElementAttribute.h>
+#include <dae/daeMetaElement.h>
+
+daeMetaGroup::daeMetaGroup( daeMetaElementAttribute *econ, daeMetaElement *container,
+ daeMetaCMPolicy *parent, daeUInt ordinal, daeInt minO, daeInt maxO) :
+ daeMetaCMPolicy( container, parent, ordinal, minO, maxO ), _elementContainer( econ )
+{}
+
+daeMetaGroup::~daeMetaGroup()
+{
+ if ( _elementContainer != NULL ) {
+ delete _elementContainer;
+ }
+}
+
+daeElement *daeMetaGroup::placeElement( daeElement *parent, daeElement *child, daeUInt &ordinal, daeInt offset, daeElement* before, daeElement *after ) {
+ (void)offset;
+ daeString nm = child->getElementName();
+ if ( findChild( nm ) == NULL ) {
+ return nullptr;
+ }
+ daeElementRef el;
+
+ //check if the element trying to be placed is a group element. If so Just add it don't create a new one.
+ if ( strcmp( nm, _elementContainer->getName() ) == 0 ) {
+ if ( _elementContainer->placeElement(parent, child, ordinal, offset ) != NULL ) {
+ return child;
+ }
+ }
+
+#if 1
+ daeInt elCnt = _elementContainer->getCount(parent);
+ //check existing groups
+ //This doesn't work properly. Because the choice can't check if you make two decisions you cannot fail
+ //here when you are supposed to. Luckily the current schema just has groups with single choices so
+ //every element needs a new group container. Wasteful but thats how the schema is and its how it works.
+ for ( daeInt x = 0; x < elCnt; x++ ) {
+ daeMemoryRef mem = _elementContainer->get(parent, x );
+ if ( mem != NULL ) {
+ el = *(daeElementRef*)mem;
+ }
+ if ( el == NULL ) {
+ continue;
+ }
+ if ( before != NULL ) {
+ if ( _elementContainer->_elementType->placeBefore( before, el, child, &ordinal ) ) {
+ ordinal = ordinal + _ordinalOffset;
+ return el;
+ }
+ }
+ else if ( after != NULL ) {
+ if ( _elementContainer->_elementType->placeAfter( after, el, child, &ordinal ) ) {
+ ordinal = ordinal + _ordinalOffset;
+ return el;
+ }
+ }
+ else {
+ if ( _elementContainer->_elementType->place( el, child, &ordinal ) ) {
+ ordinal = ordinal + _ordinalOffset;
+ return el;
+ }
+ }
+ }
+#endif
+ //if you couldn't place in existing groups make a new one if you can
+ el = _elementContainer->placeElement(parent, _elementContainer->_elementType->create(), ordinal, offset );
+ if ( el != NULL ) {
+ //el = *(daeElementRef*)_elementContainer->get(parent, elCnt );
+ if ( before != NULL ) {
+ if ( _elementContainer->_elementType->placeBefore( before, el, child, &ordinal ) ) {
+ ordinal = ordinal + _ordinalOffset;
+ return el;
+ }
+ }
+ else if ( after != NULL ) {
+ if ( _elementContainer->_elementType->placeAfter( after, el, child, &ordinal ) ) {
+ ordinal = ordinal + _ordinalOffset;
+ return el;
+ }
+ }
+ else {
+ if ( _elementContainer->_elementType->place( el, child, &ordinal ) ) {
+ ordinal = ordinal + _ordinalOffset;
+ return el;
+ }
+ }
+ }
+ return NULL;
+}
+
+daeBool daeMetaGroup::removeElement( daeElement *parent, daeElement *child ) {
+ daeElementRef el;
+ daeInt elCnt = _elementContainer->getCount(parent);
+ for ( daeInt x = 0; x < elCnt; x++ ) {
+ daeMemoryRef mem = _elementContainer->get(parent, x );
+ if ( mem != NULL ) {
+ el = *(daeElementRef*)mem;
+ }
+ if ( el == NULL ) {
+ continue;
+ }
+ if ( el->removeChildElement( child ) ) {
+ //check if there are any more children in this group. If not remove the group container element too.
+ daeElementRefArray array;
+ getChildren( parent, array );
+ if ( array.getCount() == 0 )
+ {
+ _elementContainer->removeElement( parent, el );
+ }
+ return true;
+ }
+ }
+ return false;
+}
+
+daeMetaElement * daeMetaGroup::findChild( daeString elementName ) {
+ if ( strcmp( _elementContainer->getName(), elementName ) == 0 ) {
+ return _elementContainer->getElementType();
+ }
+ return _elementContainer->_elementType->getCMRoot()->findChild( elementName );
+}
+
+void daeMetaGroup::getChildren( daeElement *parent, daeElementRefArray &array ) {
+ size_t cnt = _elementContainer->getCount( parent );
+ for ( size_t x = 0; x < cnt; x++ ) {
+ (*((daeElementRef*)_elementContainer->get(parent, (daeInt)x )))->getChildren( array );
+ /*daeElementRef el = (*((daeElementRef*)_elementContainer->get(parent, (daeInt)x )));
+ size_t cnt2 = _children.getCount();
+ for ( size_t i = 0; i < cnt2; i++ ) {
+ _children[i]->getChildren( el, array );
+ }*/
+ }
+ //_elementContainer->_elementType->getChildren( parent, array );
+}
+
diff --git a/1.4.0/dom/src/dae/daeMetaSequence.cpp b/1.4.0/dom/src/dae/daeMetaSequence.cpp
new file mode 100644
index 0000000..6e45ce0
--- /dev/null
+++ b/1.4.0/dom/src/dae/daeMetaSequence.cpp
@@ -0,0 +1,67 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae/daeMetaSequence.h>
+
+daeMetaSequence::daeMetaSequence( daeMetaElement *container, daeMetaCMPolicy *parent, daeUInt ordinal,
+ daeInt minO, daeInt maxO) :
+ daeMetaCMPolicy( container, parent, ordinal, minO, maxO )
+{}
+
+daeMetaSequence::~daeMetaSequence()
+{}
+
+daeElement *daeMetaSequence::placeElement( daeElement *parent, daeElement *child, daeUInt &ordinal, daeInt offset, daeElement* before, daeElement *after ) {
+ (void)offset;
+ if ( _maxOccurs == -1 ) {
+ //Needed to prevent infinate loops. If unbounded check to see if you have the child before just trying to place
+ if ( findChild( child->getElementName() ) == NULL ) {
+ return NULL;
+ }
+ }
+
+ size_t cnt = _children.getCount();
+ for ( daeInt i = 0; ( i < _maxOccurs || _maxOccurs == -1 ); i++ ) {
+ for ( size_t x = 0; x < cnt; x++ ) {
+ if ( _children[x]->placeElement( parent, child, ordinal, i, before, after ) != NULL ) {
+ ordinal = ordinal + (i * ( _maxOrdinal + 1 )) + _ordinalOffset;
+ return child;
+ }
+ }
+ }
+ return NULL;
+}
+
+daeBool daeMetaSequence::removeElement( daeElement *parent, daeElement *child ) {
+ size_t cnt = _children.getCount();
+ for ( size_t x = 0; x < cnt; x++ ) {
+ if ( _children[x]->removeElement( parent, child ) ) {
+ return true;
+ }
+ }
+ return false;
+}
+
+daeMetaElement * daeMetaSequence::findChild( daeString elementName ) {
+ daeMetaElement *me = NULL;
+ size_t cnt = _children.getCount();
+ for ( size_t x = 0; x < cnt; x++ ) {
+ me = _children[x]->findChild( elementName );
+ if ( me != NULL ) {
+ return me;
+ }
+ }
+ return NULL;
+}
+
+void daeMetaSequence::getChildren( daeElement *parent, daeElementRefArray &array ) {
+ size_t cnt = _children.getCount();
+ for ( size_t x = 0; x < cnt; x++ ) {
+ _children[x]->getChildren( parent, array );
+ }
+}
diff --git a/1.4.0/dom/src/dae/daeRawResolver.cpp b/1.4.0/dom/src/dae/daeRawResolver.cpp
new file mode 100644
index 0000000..0bfa553
--- /dev/null
+++ b/1.4.0/dom/src/dae/daeRawResolver.cpp
@@ -0,0 +1,124 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae/daeRawResolver.h>
+#include <dae.h>
+#include <dae/daeURI.h>
+#include <dae/daeErrorHandler.h>
+#include <dae/daeUtils.h>
+
+using namespace std;
+
+daeRawResolver::daeRawResolver(DAE& dae) : daeURIResolver(dae)
+{
+}
+
+daeRawResolver::~daeRawResolver()
+{
+}
+
+daeString
+daeRawResolver::getName()
+{
+ return "RawResolver";
+}
+
+daeElement* daeRawResolver::resolveElement(const daeURI& uri) {
+ if (cdom::tolower(uri.pathExt()).find(".raw") == string::npos)
+ return NULL;
+
+ daeRawRefCache& cache = dae->getRawRefCache();
+ if (daeElement* elt = cache.lookup(uri))
+ return elt;
+
+ string fileName = cdom::uriToNativePath(uri.str());
+ if (fileName.empty())
+ {
+ daeErrorHandler::get()->handleError( "daeRawResolver::resolveElement() - Can't get path from URI\n" );
+ return NULL;
+ }
+ FILE *rawFile = fopen(fileName.c_str(), "rb");
+ if (rawFile == NULL )
+ return NULL;
+ long byteOffset = atoi( uri.getID() ); //get the fragment
+
+ daeElement *src;
+ daeElement *array;
+ daeElement *accessor;
+
+ accessor = uri.getContainer();
+ if ( accessor == NULL )
+ return NULL;
+ src = accessor->getParentElement()->getParentElement();
+ daeElementRefArray children;
+ accessor->getChildren( children );
+ bool hasInts = children[0]->getAttribute("type") == "int";
+
+ if ( hasInts )
+ {
+ array = src->createAndPlace( "int_array" );
+ }
+ else
+ {
+ array = src->createAndPlace( "float_array" );
+ }
+
+ daeULong *countPtr = (daeULong*)accessor->getAttributeValue( "count" );
+ daeULong count = countPtr != NULL ? *countPtr : 0;
+
+ daeULong *stridePtr = (daeULong*)accessor->getAttributeValue( "stride" );
+ daeULong stride = stridePtr != NULL ? *stridePtr : 1;
+
+ *(daeULong*)(array->getAttributeValue("count")) = count*stride;
+ array->setAttribute( "id", (src->getAttribute("id") + "-array").c_str() );
+
+ daeArray *valArray = (daeArray*)array->getValuePointer();
+ valArray->setCount( (size_t)(count*stride) );
+
+ fseek( rawFile, byteOffset, SEEK_SET );
+ if ( hasInts )
+ {
+ daeInt val;
+ for ( unsigned int i = 0; i < count*stride; i++ )
+ {
+ fread( &val, sizeof(daeInt), 1, rawFile );
+ *(daeLong*)(valArray->getRaw(i)) = (daeLong)val;
+ }
+ }
+ else
+ {
+ daeFloat val;
+ for ( unsigned int i = 0; i < count*stride; i++ )
+ {
+ fread( &val, sizeof(daeFloat), 1, rawFile );
+ *(daeDouble*)(valArray->getRaw(i)) = (daeDouble)val;
+ }
+ }
+
+ fclose(rawFile);
+ cache.add(uri, array);
+ return array;
+}
+
+
+daeElement* daeRawRefCache::lookup(const daeURI& uri) {
+ map<string, daeElement*>::iterator iter = lookupTable->find(uri.str());
+ return iter == lookupTable->end() ? NULL : iter->second;
+}
+
+void daeRawRefCache::add(const daeURI& uri, daeElement* elt) {
+ (*lookupTable)[uri.str()] = elt;
+}
+
+void daeRawRefCache::remove(const daeURI& uri) {
+ lookupTable->erase(uri.str());
+}
+
+void daeRawRefCache::clear() {
+ lookupTable->clear();
+}
diff --git a/1.4.0/dom/src/dae/daeRefCountedObj.cpp b/1.4.0/dom/src/dae/daeRefCountedObj.cpp
new file mode 100644
index 0000000..3f30d8b
--- /dev/null
+++ b/1.4.0/dom/src/dae/daeRefCountedObj.cpp
@@ -0,0 +1,32 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae/daeRefCountedObj.h>
+
+daeRefCountedObj::daeRefCountedObj() : _refCount(0) { }
+
+daeRefCountedObj::~daeRefCountedObj() { }
+
+void daeRefCountedObj::release() const {
+ if (--_refCount <= 0)
+ delete this;
+}
+
+void daeRefCountedObj::ref() const {
+ _refCount++;
+}
+
+void checkedRelease(const daeRefCountedObj* obj) {
+ if (obj)
+ obj->release();
+}
+
+void checkedRef(const daeRefCountedObj* obj) {
+ if (obj)
+ obj->ref();
+}
diff --git a/1.4.0/dom/src/dae/daeSIDResolver.cpp b/1.4.0/dom/src/dae/daeSIDResolver.cpp
new file mode 100644
index 0000000..94de494
--- /dev/null
+++ b/1.4.0/dom/src/dae/daeSIDResolver.cpp
@@ -0,0 +1,556 @@
+/*
+ * Copyright 2006 Sony Computer Entertainment Inc.
+ *
+ * Licensed under the MIT Open Source License, for details please see license.txt or the website
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ */
+
+#include <list>
+#include <vector>
+#include <sstream>
+#include <algorithm>
+#include <dae/daeSIDResolver.h>
+#include <dae/daeIDRef.h>
+#include <dae/daeAtomicType.h>
+#include <dae/daeMetaAttribute.h>
+#include <dae/daeMetaElement.h>
+#include <dae/daeURI.h>
+#include <dae/daeDocument.h>
+#include <dae/daeDatabase.h>
+#include <dae/daeUtils.h>
+#include <dae/daeDom.h>
+
+using namespace std;
+
+
+namespace {
+template<typename T>
+T nextIter(const T& iter) {
+ T next = iter;
+ return ++next;
+}
+
+template<typename T>
+T moveIter(const T& iter, int n) {
+ T result = iter;
+ advance(result, n);
+ return result;
+}
+
+// Implements a breadth-first sid search by starting at the container element and
+// traversing downward through the element tree.
+daeElement* findSidTopDown(daeElement* container, const string& sid, const string& profile) {
+ if (!container)
+ return NULL;
+
+ vector<daeElement*> elts, matchingElts;
+ elts.push_back(container);
+
+ for (size_t i = 0; i < elts.size(); i++) {
+ daeElement* elt = elts[i];
+
+ // Bail if we're looking for an element in a different profile
+ if (!profile.empty()) {
+ if (strcmp(elt->getElementName(), COLLADA_ELEMENT_TECHNIQUE_COMMON(*container->getDAE())) == 0)
+ continue;
+ if (strcmp(elt->getElementName(), COLLADA_ELEMENT_TECHNIQUE(*container->getDAE())) == 0 &&
+ profile != elt->getAttribute("profile"))
+ continue;
+ }
+
+ // See if this is a matching element
+ if (elt->getAttribute("sid") == sid)
+ return elt;
+ else {
+ // Add the children to the list of elements to check
+ daeElementRefArray children;
+ elt->getChildren(children);
+ for (size_t j = 0; j < children.getCount(); j++)
+ elts.push_back(children[j]);
+ }
+ }
+
+ return NULL;
+}
+
+// Returns the distance between an element and an ancestor of the element. If 'container
+// isn't an ancestor of 'elt', or if 'elt' is in a profile that doesn't match 'profile'
+// UINT_MAX is returned.
+unsigned int computeDistance(daeElement* container, daeElement* elt, const string& profile) {
+ if (!container || !elt)
+ return UINT_MAX;
+
+ unsigned int distance = 0;
+ do {
+ // Bail if we're looking for an element in a different profile
+ if (!profile.empty()) {
+ if (strcmp(elt->getElementName(), COLLADA_ELEMENT_TECHNIQUE_COMMON(*container->getDAE())) == 0)
+ return UINT_MAX;
+ if (strcmp(elt->getElementName(), COLLADA_ELEMENT_TECHNIQUE(*container->getDAE())) == 0 &&
+ profile != elt->getAttribute("profile"))
+ return UINT_MAX;
+ }
+
+ if (elt == container)
+ return distance;
+ distance++;
+ } while ((elt = elt->getParentElement()) != NULL);
+
+ return UINT_MAX;
+}
+
+// Implements a breadth-first sid search by using the database to find all elements
+// matching 'sid', then finding the element closest to 'container'.
+daeElement* findSidBottomUp(daeElement* container, const string& sid, const string& profile) {
+ if (!container || !container->getDocument())
+ return NULL;
+
+ // Get the elements with a matching sid
+ vector<daeElement*> elts;
+ container->getDocument()->getDAE()->getDatabase()->sidLookup(sid, elts, container->getDocument());
+
+ // Compute the distance from each matching element to the container element
+ unsigned int minDistance = UINT_MAX;
+ daeElement* closestElt = NULL;
+ for (size_t i = 0; i < elts.size(); i++) {
+ unsigned int distance = computeDistance(container, elts[i], profile);
+ if (distance < minDistance) {
+ minDistance = distance;
+ closestElt = elts[i];
+ }
+ }
+
+ return closestElt;
+}
+
+daeElement* findID(daeElement* elt, const string& id, const string& profile) {
+ return elt ? elt->getDAE()->getDatabase()->idLookup(id, elt->getDocument()) : NULL;
+}
+
+void buildString(const list<string>::iterator& begin,
+ const list<string>::iterator& end,
+ string& result) {
+ ostringstream stream;
+ for (list<string>::iterator iter = begin; iter != end; iter++)
+ stream << *iter;
+ result = stream.str();
+}
+
+// Finds an element with a matching ID or sid (depending on the 'finder' function)
+// passed in. First it tries to resolve the whole ID/sid, then it tries to resolve
+// successively smaller parts. For example, consider this sid ref: "my.sid.ref".
+// First this function will try to resolve "my.sid.ref" entirely, then if that
+// fails it'll try to resolve "my.sid.", "my.sid", "my.", and "my", in that order.
+// The part that wasn't matched is returned in the 'remainingPart' parameter.
+daeElement* findWithDots(daeElement* container,
+ const string& s,
+ const string& profile,
+ daeElement* (*finder)(daeElement*, const string &, const string &),
+ list<string>& remainingPart) {
+ remainingPart.clear();
+
+ // need to follow instance urls since they are just copies of code in the url.
+ if ( strncmp( container->getElementName(), "instance_", 9 ) == 0 ) {
+ daeURI *uri = (daeURI*)container->getAttributeValue("url");
+ if ( !!uri && !!uri->getElement() ) {
+ // found the url, now resolve the left over part
+ daeElement *e = findWithDots( uri->getElement(), s, profile, finder, remainingPart );
+ if ( !!e ) {
+ return e;
+ }
+ }
+ }
+
+ // First see if the whole thing resolves correctly
+ if (daeElement* result = finder(container, s, profile))
+ return result;
+
+ // It didn't resolve. Let's tokenize it by '.'s and see if we can resolve a
+ // portion of it.
+ cdom::tokenize(s, ".", remainingPart, true);
+ if (remainingPart.size() == 1)
+ return NULL; // There were no '.'s, so the result won't be any different
+
+ list<string>::iterator iter = moveIter(remainingPart.end(), -1);
+ for (int i = int(remainingPart.size())-1; i >= 1; i--, iter--) {
+ string substr;
+ buildString(remainingPart.begin(), iter, substr);
+ if (daeElement* result = finder(container, substr, profile)) {
+ // Remove the part we matched against from the list
+ remainingPart.erase(remainingPart.begin(), iter);
+ return result;
+ }
+ }
+
+ remainingPart.clear();
+ return NULL;
+}
+
+daeSidRef::resolveData resolveImpl(const daeSidRef& sidRef) {
+ if (sidRef.sidRef.empty() || !sidRef.refElt)
+ return daeSidRef::resolveData();
+
+ daeSidRef::resolveData result;
+ string separators = "/()";
+ list<string> tokens;
+ cdom::tokenize(sidRef.sidRef, separators, /* out */ tokens, true);
+
+ list<string>::iterator tok = tokens.begin();
+
+ // The first token should be either an ID or a '.' to indicate
+ // that we should start the search from the container element.
+ if (tok == tokens.end())
+ return daeSidRef::resolveData();
+
+ list<string> remainingPart;
+ if (*tok == ".") {
+ result.elt = sidRef.refElt;
+ tok++;
+ } else {
+ // Try to resolve it as an ID
+ result.elt = findWithDots(sidRef.refElt, *tok, sidRef.profile, findID, remainingPart);
+ if (result.elt) {
+ if (!remainingPart.empty()) {
+ // Insert the "remaining part" from the ID resolve into our list of tokens
+ tokens.erase(tokens.begin());
+ tokens.splice(tokens.begin(), remainingPart);
+ tok = tokens.begin();
+ } else
+ tok++;
+ }
+ }
+
+ if (!result.elt)
+ return daeSidRef::resolveData();
+
+ // Next we have an optional list of SIDs, each one separated by "/". Once we hit one of "()",
+ // we know we're done with the SID section.
+ for (; tok != tokens.end() && *tok == "/"; tok++) {
+ tok++; // Read the '/'
+ if (tok == tokens.end())
+ return daeSidRef::resolveData();
+
+ // Find the element matching the SID
+ result.elt = findWithDots(result.elt, *tok, sidRef.profile, findSidTopDown, remainingPart);
+ if (!result.elt)
+ return daeSidRef::resolveData();
+
+ if (!remainingPart.empty()) {
+ list<string>::iterator tmp = tok;
+ tok--;
+ tokens.splice(tmp, remainingPart);
+ tokens.erase(tmp);
+ }
+ }
+
+ // Now we want to parse the member selection tokens. It can either be
+ // (a) '.' followed by a string representing the member to access
+ // (b) '(x)' where x is a number, optionally followed by another '(x)'
+ // Anything else is an error.
+ string member;
+ bool haveArrayIndex1 = false, haveArrayIndex2 = false;
+ int arrayIndex1 = -1, arrayIndex2 = -1;
+ if (tok != tokens.end()) {
+ if (*tok == ".") {
+ tok++;
+ if (tok == tokens.end())
+ return daeSidRef::resolveData();
+ member = *tok;
+ tok++;
+ }
+ else if (*tok == "(") {
+ tok++;
+ if (tok == tokens.end())
+ return daeSidRef::resolveData();
+
+ istringstream stream(*tok);
+ stream >> arrayIndex1;
+ haveArrayIndex1 = true;
+ if (!stream.good() && !stream.eof())
+ return daeSidRef::resolveData();
+ tok++;
+ if (tok == tokens.end() || *tok != ")")
+ return daeSidRef::resolveData();
+ tok++;
+
+ if (tok != tokens.end() && *tok == "(") {
+ tok++;
+ if (tok == tokens.end())
+ return daeSidRef::resolveData();
+
+ stream.clear();
+ stream.str(*tok);
+ stream >> arrayIndex2;
+ haveArrayIndex2 = true;
+ if (!stream.good() && !stream.eof())
+ return daeSidRef::resolveData();
+ tok++;
+ if (tok == tokens.end() || *tok != ")")
+ return daeSidRef::resolveData();
+ tok++;
+ }
+ }
+ }
+
+ // We shouldn't have any tokens left. If we do it's an error.
+ if (tok != tokens.end())
+ return daeSidRef::resolveData();
+
+ // At this point we've parsed a correctly formatted SID reference. The only thing left is to resolve
+ // the member selection portion of the SID ref. First, see if the resolved element has a float array we
+ // can use.
+ if (result.elt->typeID() == getDomSourceID(*result.elt->getDAE())) {
+ result.array = getDomSourceFloatArray(result.elt);
+ }
+ else
+ {
+ daeMetaAttribute *ma = result.elt->getCharDataObject();
+ if ( ma != NULL ) {
+ if ( ma->isArrayAttribute() && ma->getType()->getTypeEnum() == daeAtomicType::DoubleType ) {
+ result.array = (daeDoubleArray*)ma->get( result.elt );
+ }
+ }
+ }
+
+ if( result.array ) {
+ // We have an array to use for indexing. Let's see if the SID ref uses member selection.
+ if (!member.empty()) {
+ // Do member lookup based on the constants defined in the COMMON profile
+ if (member == "ANGLE") {
+ result.scalar = &(result.array->get(3));
+ } else if (member.length() == 1) {
+ switch(member[0]) {
+ case 'X':
+ case 'R':
+ case 'U':
+ case 'S':
+ result.scalar = &(result.array->get(0));
+ break;
+ case 'Y':
+ case 'G':
+ case 'V':
+ case 'T':
+ result.scalar = &(result.array->get(1));
+ break;
+ case 'Z':
+ case 'B':
+ case 'P':
+ result.scalar = &(result.array->get(2));
+ break;
+ case 'W':
+ case 'A':
+ case 'Q':
+ result.scalar = &(result.array->get(3));
+ break;
+ };
+ }
+ } else if (haveArrayIndex1) {
+ // Use the indices to lookup a value in the array
+ if (haveArrayIndex2 && result.array->getCount() == 16) {
+ // We're doing a matrix lookup. Make sure the index is valid.
+ int i = arrayIndex1*4 + arrayIndex2;
+ if (i >= 0 && i < int(result.array->getCount()))
+ result.scalar = &(result.array->get(i));
+ } else {
+ // Vector lookup. Make sure the index is valid.
+ if (arrayIndex1 >= 0 && arrayIndex1 < int(result.array->getCount()))
+ result.scalar = &(result.array->get(arrayIndex1));
+ }
+ }
+ }
+
+ // If we tried to do member selection but we couldn't resolve it to a doublePtr, fail.
+ if ((!member.empty() || haveArrayIndex1) && result.scalar == NULL)
+ return daeSidRef::resolveData();
+
+ if( !!result.elt && !result.array && !result.scalar ) {
+ // <newparam> can have a SIDREF specification, so if the current sid resolves to this newparam, then start a new search
+ // for the <newparam>'s SIDREF
+ if( strcmp(result.elt->getElementName(),"newparam") == 0) {
+ daeElement* psidref = result.elt->getChild("SIDREF");
+ if( !!psidref ) {
+ daeSidRef::resolveData newresult;
+ daeSidRef newsidref(psidref->getCharData(),result.elt->getParent(),sidRef.profile);
+ newresult = result.elt->getDAE()->getSidRefCache().lookup(newsidref);
+ if (!!newresult.elt) {
+ return newresult;
+ }
+ // try resolving as an animation-style sid ref, where the first part is an ID.
+ newresult = resolveImpl(newsidref);
+ if( !newresult.elt ) {
+ // this is actually not part of the standard, it is only a hack
+ newresult = resolveImpl(daeSidRef(string("./") + psidref->getCharData(),result.elt->getParent(),sidRef.profile));
+ if( !!newresult.elt ) {
+ fprintf(stderr,"SID '%s' that needs './' prefixed to it to resolve correctly\n",psidref->getCharData().c_str());
+ }
+ }
+ if( !!newresult.elt ) {
+ return newresult;
+ }
+ }
+ }
+
+ }
+
+ // SID resolution was successful.
+ return result;
+}
+} // namespace {
+
+
+daeSidRef::resolveData::resolveData() : elt(NULL), array(NULL), scalar(NULL) {
+}
+
+daeSidRef::resolveData::resolveData(daeElement* elt, daeDoubleArray* array, daeDouble* scalar)
+ : elt(elt),
+ array(array),
+ scalar(scalar) {
+}
+
+
+daeSidRef::daeSidRef() : refElt(NULL) {
+}
+
+daeSidRef::daeSidRef(const string& sidRef, daeElement* referenceElt, const string& profile)
+ : sidRef(sidRef),
+ refElt(referenceElt),
+ profile(profile) {
+}
+
+bool daeSidRef::operator<(const daeSidRef& other) const {
+ if (refElt != other.refElt)
+ return refElt < other.refElt;
+ if (sidRef != other.sidRef)
+ return sidRef < other.sidRef;
+ return profile < other.profile;
+}
+
+daeSidRef::resolveData daeSidRef::resolve() {
+ if (!refElt)
+ return daeSidRef::resolveData();
+
+ // First check the cache
+ daeSidRef::resolveData result = refElt->getDAE()->getSidRefCache().lookup(*this);
+ if (result.elt)
+ return result;
+
+ // Try to resolve as an effect-style sid ref by prepending "./" to the sid ref.
+ // If that fails, try resolving as an animation-style sid ref, where the first part is an ID.
+ result = resolveImpl(daeSidRef(string("./") + sidRef, refElt, profile));
+ if (!result.elt)
+ result = resolveImpl(*this);
+
+ if (result.elt) // Add the result to the cache
+ refElt->getDAE()->getSidRefCache().add(*this, result);
+
+ return result;
+}
+
+
+daeSIDResolver::daeSIDResolver( daeElement *container, daeString target, daeString profile )
+ : container(NULL)
+{
+ setContainer(container);
+ setTarget(target);
+ setProfile(profile);
+}
+
+daeString daeSIDResolver::getTarget() const {
+ return target.empty() ? NULL : target.c_str();
+}
+
+void daeSIDResolver::setTarget( daeString t )
+{
+ target = t ? t : "";
+}
+
+daeString daeSIDResolver::getProfile() const {
+ return profile.empty() ? NULL : profile.c_str();
+}
+
+void daeSIDResolver::setProfile( daeString p )
+{
+ profile = p ? p : "";
+}
+
+daeElement* daeSIDResolver::getContainer() const {
+ return container;
+}
+
+void daeSIDResolver::setContainer(daeElement* element)
+{
+ container = element;
+}
+
+daeSIDResolver::ResolveState daeSIDResolver::getState() const {
+ if (target.empty())
+ return target_empty;
+
+ daeSidRef::resolveData result = daeSidRef(target, container, profile).resolve();
+ if (!result.elt)
+ return sid_failed_not_found;
+ if (result.scalar)
+ return sid_success_double;
+ if (result.array)
+ return sid_success_array;
+
+ return sid_success_element;
+}
+
+daeElement* daeSIDResolver::getElement()
+{
+ return daeSidRef(target, container, profile).resolve().elt;
+}
+
+daeDoubleArray *daeSIDResolver::getDoubleArray()
+{
+ return daeSidRef(target, container, profile).resolve().array;
+}
+
+daeDouble *daeSIDResolver::getDouble()
+{
+ return daeSidRef(target, container, profile).resolve().scalar;
+}
+
+
+daeSidRefCache::daeSidRefCache() : hitCount(0), missCount(0)
+{
+ lookupTable = new std::map<daeSidRef, daeSidRef::resolveData>();
+}
+
+daeSidRefCache::~daeSidRefCache()
+{
+ delete lookupTable;
+}
+
+daeSidRef::resolveData daeSidRefCache::lookup(const daeSidRef& sidRef) {
+ map<daeSidRef, daeSidRef::resolveData>::iterator iter = lookupTable->find(sidRef);
+ if (iter != lookupTable->end()) {
+ hitCount++;
+ return iter->second;
+ }
+ missCount++;
+ return daeSidRef::resolveData();
+}
+
+void daeSidRefCache::add(const daeSidRef& sidRef, const daeSidRef::resolveData& result) {
+ (*lookupTable)[sidRef] = result;
+}
+
+void daeSidRefCache::clear() {
+ lookupTable->clear();
+ hitCount = missCount = 0;
+}
+
+bool daeSidRefCache::empty() {
+ return lookupTable->empty();
+}
+
+int daeSidRefCache::misses() {
+ return missCount;
+}
+
+int daeSidRefCache::hits() {
+ return hitCount;
+}
diff --git a/1.4.0/dom/src/dae/daeStandardURIResolver.cpp b/1.4.0/dom/src/dae/daeStandardURIResolver.cpp
new file mode 100644
index 0000000..16def1d
--- /dev/null
+++ b/1.4.0/dom/src/dae/daeStandardURIResolver.cpp
@@ -0,0 +1,54 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <sstream>
+#include <dae.h>
+#include <dae/daeStandardURIResolver.h>
+#include <dae/daeDatabase.h>
+#include <dae/daeURI.h>
+#include <dae/daeIOPlugin.h>
+#include <dae/daeErrorHandler.h>
+
+using namespace std;
+
+daeStandardURIResolver::daeStandardURIResolver(DAE& dae)
+ : daeURIResolver(dae) { }
+
+daeStandardURIResolver::~daeStandardURIResolver() { }
+
+daeString
+daeStandardURIResolver::getName()
+{
+ return "XMLResolver";
+}
+
+namespace {
+ void printErrorMsg(const daeURI& uri) {
+ ostringstream msg;
+ msg << "daeStandardURIResolver::resolveElement() - Failed to resolve " << uri.str() << endl;
+ daeErrorHandler::get()->handleError(msg.str().c_str());
+ }
+}
+
+daeElement* daeStandardURIResolver::resolveElement(const daeURI& uri) {
+ daeDocument* doc = uri.getReferencedDocument();
+ if (!doc) {
+ dae->open(uri.str());
+ doc = uri.getReferencedDocument();
+ if (!doc) {
+ printErrorMsg(uri);
+ return NULL;
+ }
+ }
+
+ daeElement* elt = dae->getDatabase()->idLookup(uri.id(), doc);
+ if (!elt)
+ printErrorMsg(uri);
+
+ return elt;
+}
diff --git a/1.4.0/dom/src/dae/daeStringRef.cpp b/1.4.0/dom/src/dae/daeStringRef.cpp
new file mode 100644
index 0000000..f9b0ef3
--- /dev/null
+++ b/1.4.0/dom/src/dae/daeStringRef.cpp
@@ -0,0 +1,53 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae/daeStringRef.h>
+
+//Contributed by Nus - Wed, 08 Nov 2006
+// Nus: Use global pointer instead of local static.
+static daeStringTable *pST = NULL;
+//---------------------------
+
+daeStringTable &daeStringRef::_stringTable()
+{
+//Contributed by Nus - Wed, 08 Nov 2006
+ // static daeStringTable *st = new daeStringTable();
+ // return *st;
+ if(!pST)
+ pST = new daeStringTable();
+ return *pST;
+}
+
+void daeStringRef::releaseStringTable(void)
+{
+ if(pST) {
+ delete pST;
+ pST = NULL;
+ }
+}
+//--------------------------------
+
+daeStringRef::daeStringRef(daeString string)
+{
+ daeStringTable &st = _stringTable();
+ _string = st.allocString(string);
+}
+
+const daeStringRef&
+daeStringRef::set(daeString string)
+{
+ daeStringTable &st = _stringTable();
+ _string = st.allocString(string);
+ return *this;
+}
+
+const daeStringRef&
+daeStringRef::operator= (daeString string)
+{
+ return set(string);
+}
diff --git a/1.4.0/dom/src/dae/daeStringTable.cpp b/1.4.0/dom/src/dae/daeStringTable.cpp
new file mode 100644
index 0000000..ccf6700
--- /dev/null
+++ b/1.4.0/dom/src/dae/daeStringTable.cpp
@@ -0,0 +1,64 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <dae/daeStringTable.h>
+
+daeStringTable::daeStringTable(int stringBufferSize):_stringBufferSize(stringBufferSize), _empty( "" )
+{
+ _stringBufferIndex = _stringBufferSize;
+ //allocate initial buffer
+ //allocateBuffer();
+}
+
+daeString daeStringTable::allocateBuffer()
+{
+ daeString buf = new daeChar[_stringBufferSize];
+ _stringBuffersList.append(buf);
+ _stringBufferIndex = 0;
+ return buf;
+}
+
+daeString daeStringTable::allocString(daeString string)
+{
+ if ( string == NULL ) return _empty;
+ size_t stringSize = strlen(string) + 1;
+ size_t sizeLeft = _stringBufferSize - _stringBufferIndex;
+ daeString buf;
+ if (sizeLeft < stringSize)
+ {
+ if (stringSize > _stringBufferSize)
+ _stringBufferSize = ((stringSize / _stringBufferSize) + 1) * _stringBufferSize ;
+ buf = allocateBuffer();
+ }
+ else
+ {
+ buf = _stringBuffersList.get((daeInt)_stringBuffersList.getCount()-1);
+ }
+ daeChar *str = (char*)buf + _stringBufferIndex;
+ memcpy(str,string,stringSize);
+ _stringBufferIndex += stringSize;
+
+ int align = sizeof(void*);
+ _stringBufferIndex = (_stringBufferIndex+(align-1)) & (~(align-1));
+
+ return str;
+}
+
+void daeStringTable::clear()
+{
+ unsigned int i;
+ for (i=0;i<_stringBuffersList.getCount();i++)
+#if _MSC_VER <= 1200
+ delete [] (char *) _stringBuffersList[i];
+#else
+ delete [] _stringBuffersList[i];
+#endif
+
+ _stringBuffersList.clear();
+ _stringBufferIndex = _stringBufferSize;
+}
diff --git a/1.4.0/dom/src/dae/daeTinyXMLPlugin.cpp b/1.4.0/dom/src/dae/daeTinyXMLPlugin.cpp
new file mode 100644
index 0000000..3165401
--- /dev/null
+++ b/1.4.0/dom/src/dae/daeTinyXMLPlugin.cpp
@@ -0,0 +1,237 @@
+/*
+ * Copyright 2006 Sony Computer Entertainment Inc.
+ *
+ * Licensed under the MIT Open Source License, for details please see license.txt or the website
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ */
+
+// The user can choose whether or not to include TinyXML support in the DOM. Supporting TinyXML will
+// require linking against it. By default TinyXML support isn't included.
+#if defined(DOM_INCLUDE_TINYXML)
+
+#if defined(DOM_DYNAMIC) && defined(_MSC_VER)
+#pragma comment(lib, "tinyxml.lib")
+#endif
+
+#if defined(_MSC_VER)
+#pragma warning(disable: 4100) // warning C4100: 'element' : unreferenced formal parameter
+#endif
+
+#include <string>
+#include <tinyxml.h>
+#include <dae.h>
+#include <dom.h>
+#include <dae/daeMetaElement.h>
+#include <dae/daeErrorHandler.h>
+#include <dae/daeMetaElementAttribute.h>
+#include <dae/daeTinyXMLPlugin.h>
+#include <dae/daeDocument.h>
+
+using namespace std;
+
+namespace {
+daeInt getCurrentLineNumber(TiXmlElement* element) {
+ return -1;
+}
+}
+
+daeTinyXMLPlugin::daeTinyXMLPlugin()
+{
+ m_doc = NULL;
+ supportedProtocols.push_back("*");
+}
+
+daeTinyXMLPlugin::~daeTinyXMLPlugin()
+{
+}
+
+daeInt daeTinyXMLPlugin::setOption( daeString option, daeString value )
+{
+ return DAE_ERR_INVALID_CALL;
+}
+
+daeString daeTinyXMLPlugin::getOption( daeString option )
+{
+ return NULL;
+}
+
+daeElementRef daeTinyXMLPlugin::readFromFile(const daeURI& uri) {
+ string file = cdom::uriToNativePath(uri.str());
+ if (file.empty())
+ return NULL;
+ TiXmlDocument doc;
+ doc.LoadFile(file.c_str());
+ if (!doc.RootElement()) {
+ daeErrorHandler::get()->handleError((std::string("Failed to open ") + uri.str() +
+ " in daeTinyXMLPlugin::readFromFile\n").c_str());
+ return NULL;
+ }
+ return readElement(doc.RootElement(), NULL);
+}
+
+daeElementRef daeTinyXMLPlugin::readFromMemory(daeString buffer, const daeURI& baseUri) {
+ TiXmlDocument doc;
+ doc.Parse(buffer);
+ if (!doc.RootElement()) {
+ daeErrorHandler::get()->handleError("Failed to open XML document from memory buffer in "
+ "daeTinyXMLPlugin::readFromMemory\n");
+ return NULL;
+ }
+ return readElement(doc.RootElement(), NULL);
+}
+
+daeElementRef daeTinyXMLPlugin::readElement(TiXmlElement* tinyXmlElement, daeElement* parentElement) {
+ std::vector<attrPair> attributes;
+ for (TiXmlAttribute* attrib = tinyXmlElement->FirstAttribute(); attrib != NULL; attrib = attrib->Next())
+ attributes.push_back(attrPair(attrib->Name(), attrib->Value()));
+
+ daeElementRef element = beginReadElement(parentElement, tinyXmlElement->Value(),
+ attributes, getCurrentLineNumber(tinyXmlElement));
+ if (!element) {
+ // We couldn't create the element. beginReadElement already printed an error message.
+ return NULL;
+ }
+
+ if (tinyXmlElement->GetText() != NULL)
+ readElementText(element, tinyXmlElement->GetText(), getCurrentLineNumber(tinyXmlElement));
+
+ // Recurse children
+ for (TiXmlElement* child = tinyXmlElement->FirstChildElement(); child != NULL; child = child->NextSiblingElement())
+ element->placeElement(readElement(child, element));
+
+ return element;
+}
+
+daeInt daeTinyXMLPlugin::write(const daeURI& name, daeDocument *document, daeBool replace)
+{
+ // Make sure database and document are both set
+ if (!database)
+ return DAE_ERR_INVALID_CALL;
+ if(!document)
+ return DAE_ERR_COLLECTION_DOES_NOT_EXIST;
+
+ string fileName = cdom::uriToNativePath(name.str());
+ if (fileName.empty())
+ {
+ daeErrorHandler::get()->handleError( "can't get path in write\n" );
+ return DAE_ERR_BACKEND_IO;
+ }
+ // If replace=false, don't replace existing files
+ if(!replace)
+ {
+ // Using "stat" would be better, but it's not available on all platforms
+ FILE *tempfd = fopen(fileName.c_str(), "r");
+ if(tempfd != NULL)
+ {
+ // File exists, return error
+ fclose(tempfd);
+ return DAE_ERR_BACKEND_FILE_EXISTS;
+ }
+ fclose(tempfd);
+ }
+
+ m_doc = new TiXmlDocument(name.getURI());
+ if (m_doc)
+ {
+ m_doc->SetTabSize(4);
+
+ TiXmlDeclaration* decl = new TiXmlDeclaration( "1.0", "", "" );
+ m_doc->LinkEndChild( decl );
+
+ writeElement(document->getDomRoot());
+
+ // TODO check if writing to zae
+// if( 0 ) {
+// // Declare a printer
+// TiXmlPrinter printer;
+//
+// // attach it to the document you want to convert in to a std::string
+// m_doc->Accept(&printer);
+//
+// // Create a std::string and copy your document data in to the string
+// std::string str = printer.CStr();
+//
+// // compress str and size to fileName
+//
+// }
+
+ m_doc->SaveFile(fileName.c_str());
+ delete m_doc;
+ m_doc = NULL;
+ }
+ return DAE_OK;
+}
+
+void daeTinyXMLPlugin::writeElement( daeElement* element )
+{
+ daeMetaElement* _meta = element->getMeta();
+ if (!_meta->getIsTransparent() )
+ {
+ TiXmlElement* tiElm = new TiXmlElement( element->getElementName() );
+
+ if (m_elements.empty() == true) {
+ m_doc->LinkEndChild(tiElm);
+ } else {
+ TiXmlElement* first = m_elements.front();
+ first->LinkEndChild(tiElm);
+ }
+ m_elements.push_front(tiElm);
+
+ daeMetaAttributeRefArray& attrs = _meta->getMetaAttributes();
+
+ int acnt = (int)attrs.getCount();
+
+ for(int i=0; i<acnt; i++)
+ {
+ writeAttribute( attrs[i], element );
+ }
+ }
+ writeValue(element);
+
+ daeElementRefArray children;
+ element->getChildren( children );
+ for ( size_t x = 0; x < children.getCount(); x++ )
+ {
+ writeElement( children.get(x) );
+ }
+
+ if (!_meta->getIsTransparent() )
+ {
+ m_elements.pop_front();
+ }
+}
+
+
+void daeTinyXMLPlugin::writeValue( daeElement* element )
+{
+ if (daeMetaAttribute* attr = element->getMeta()->getValueAttribute()) {
+ std::ostringstream buffer;
+ attr->memoryToString(element, buffer);
+ std::string s = buffer.str();
+ if (!s.empty())
+ m_elements.front()->LinkEndChild( new TiXmlText(buffer.str().c_str()) );
+ }
+}
+
+void daeTinyXMLPlugin::writeAttribute( daeMetaAttribute* attr, daeElement* element )
+{
+ ostringstream buffer;
+ attr->memoryToString(element, buffer);
+ string str = buffer.str();
+
+ // Don't write the attribute if
+ // - The attribute isn't required AND
+ // - The attribute has no default value and the current value is ""
+ // - The attribute has a default value and the current value matches the default
+ if (!attr->getIsRequired()) {
+ if(!attr->getDefaultValue() && str.empty())
+ return;
+ if(attr->getDefaultValue() && attr->compareToDefault(element) == 0)
+ return;
+ }
+
+ m_elements.front()->SetAttribute(attr->getName(), str.c_str());
+}
+
+#endif // DOM_INCLUDE_TINYXML
diff --git a/1.4.0/dom/src/dae/daeURI.cpp b/1.4.0/dom/src/dae/daeURI.cpp
new file mode 100644
index 0000000..c9b6936
--- /dev/null
+++ b/1.4.0/dom/src/dae/daeURI.cpp
@@ -0,0 +1,836 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <algorithm>
+#include <dae.h>
+#include <dae/daeURI.h>
+#include <ctype.h>
+#include <dae/daeDocument.h>
+#include <dae/daeErrorHandler.h>
+#include <dae/daeUtils.h>
+#include <pcrecpp.h>
+
+using namespace std;
+using namespace cdom;
+
+void daeURI::initialize() {
+ reset();
+ container = NULL;
+}
+
+daeURI::~daeURI() { }
+
+daeURI::daeURI(DAE& dae) : dae(&dae) {
+ initialize();
+}
+
+daeURI::daeURI(DAE& dae, const string& uriStr, daeBool nofrag) : dae(&dae) {
+ initialize();
+
+ if (nofrag) {
+ size_t pos = uriStr.find_last_of('#');
+ if (pos != string::npos) {
+ set(uriStr.substr(0, pos));
+ return;
+ }
+ }
+
+ set(uriStr);
+}
+
+daeURI::daeURI(const daeURI& baseURI, const string& uriStr) : dae(baseURI.getDAE())
+{
+ initialize();
+ set(uriStr, &baseURI);
+}
+
+daeURI::daeURI(const daeURI& copyFrom_) : dae(copyFrom_.getDAE()), container(NULL)
+{
+ initialize();
+ copyFrom(copyFrom_);
+}
+
+daeURI::daeURI(daeElement& container_, const std::string& uriStr)
+ : dae(container_.getDAE())
+{
+ initialize();
+ container = &container_;
+ set(uriStr);
+}
+
+daeURI::daeURI(DAE& dae, daeElement& container_, const string& uriStr)
+ : dae(&dae)
+{
+ initialize();
+ container = &container_;
+ set(uriStr);
+}
+
+void
+daeURI::copyFrom(const daeURI& copyFrom)
+{
+ if (!container)
+ container = copyFrom.container;
+ set(copyFrom.originalStr());
+}
+
+daeURI& daeURI::operator=(const daeURI& other) {
+ copyFrom(other);
+ return *this;
+}
+
+daeURI& daeURI::operator=(const string& uriStr) {
+ set(uriStr);
+ return *this;
+}
+
+void daeURI::reset() {
+ // Clear everything except the container, which doesn't change for the lifetime of the daeURI
+ uriString = "";
+ originalURIString = "";
+ _scheme = "";
+ _authority = "";
+ _path = "";
+ _query = "";
+ _fragment = "";
+}
+
+DAE* daeURI::getDAE() const {
+ return dae;
+}
+
+
+const string& daeURI::str() const {
+ return uriString;
+}
+
+const string& daeURI::originalStr() const {
+ return originalURIString;
+}
+
+daeString daeURI::getURI() const {
+ return str().c_str();
+}
+
+daeString daeURI::getOriginalURI() const {
+ return originalStr().c_str();
+}
+
+
+namespace {
+ void parsePath(const string& path,
+ /* out */ string& dir,
+ /* out */ string& baseName,
+ /* out */ string& extension) {
+ // !!!steveT Currently, if we have a file name that begins with a '.', as in
+ // ".emacs", that will be treated as having no base name with an extension
+ // of ".emacs". We might want to change this behavior, so that the base name
+ // is considered ".emacs" and the extension is empty. I think this is more
+ // in line with what path parsers in other libraries/languages do, and it
+ // more accurately reflects the intended structure of the file name.
+
+ // The following implementation cannot handle paths like this:
+ // /tmp/se.3/file
+ //static pcrecpp::RE re("(.*/)?([^.]*)?(\\..*)?");
+ //dir = baseName = extension = "";
+ //re.FullMatch(path, &dir, &baseName, &extension);
+
+ static pcrecpp::RE findDir("(.*/)?(.*)?");
+ static pcrecpp::RE findExt("([^.]*)?(\\..*)?");
+ string tmpFile;
+ dir = baseName = extension = tmpFile = "";
+ findDir.PartialMatch(path, &dir, &tmpFile);
+ findExt.PartialMatch(tmpFile, &baseName, &extension);
+ }
+}
+
+void daeURI::set(const string& uriStr_, const daeURI* baseURI) {
+ // We make a copy of the uriStr so that set(originalURIString, ...) works properly.
+ string uriStr = uriStr_;
+ reset();
+ originalURIString = uriStr;
+
+ if (!parseUriRef(uriStr, _scheme, _authority, _path, _query, _fragment)) {
+ reset();
+ return;
+ }
+
+ validate(baseURI);
+}
+
+void daeURI::set(const string& scheme_,
+ const string& authority_,
+ const string& path_,
+ const string& query_,
+ const string& fragment_,
+ const daeURI* baseURI)
+{
+ set(assembleUri(scheme_, authority_, path_, query_, fragment_), baseURI);
+}
+
+void daeURI::setURI(daeString _URIString, const daeURI* baseURI) {
+ string uriStr = _URIString ? _URIString : "";
+ set(uriStr, baseURI);
+}
+
+
+const string& daeURI::scheme() const { return _scheme; }
+const string& daeURI::authority() const { return _authority; }
+const string& daeURI::path() const { return _path; }
+const string& daeURI::query() const { return _query; }
+const string& daeURI::fragment() const { return _fragment; }
+const string& daeURI::id() const { return fragment(); }
+
+
+namespace {
+ string addSlashToEnd(const string& s) {
+ return (!s.empty() && s[s.length()-1] != '/') ? s + '/' : s;
+ }
+}
+
+void daeURI::pathComponents(string& dir, string& baseName, string& ext) const {
+ parsePath(_path, dir, baseName, ext);
+}
+
+string daeURI::pathDir() const {
+ string dir, base, ext;
+ parsePath(_path, dir, base, ext);
+ return dir;
+}
+
+string daeURI::pathFileBase() const {
+ string dir, base, ext;
+ parsePath(_path, dir, base, ext);
+ return base;
+}
+
+string daeURI::pathExt() const {
+ string dir, base, ext;
+ parsePath(_path, dir, base, ext);
+ return ext;
+}
+
+string daeURI::pathFile() const {
+ string dir, base, ext;
+ parsePath(_path, dir, base, ext);
+ return base + ext;
+}
+
+void daeURI::path(const string& dir, const string& baseName, const string& ext) {
+ path(addSlashToEnd(dir) + baseName + ext);
+}
+
+void daeURI::pathDir(const string& dir) {
+ string tmp, base, ext;
+ parsePath(_path, tmp, base, ext);
+ path(addSlashToEnd(dir), base, ext);
+}
+
+void daeURI::pathFileBase(const string& baseName) {
+ string dir, tmp, ext;
+ parsePath(_path, dir, tmp, ext);
+ path(dir, baseName, ext);
+}
+
+void daeURI::pathExt(const string& ext) {
+ string dir, base, tmp;
+ parsePath(_path, dir, base, tmp);
+ path(dir, base, ext);
+}
+
+void daeURI::pathFile(const string& file) {
+ string dir, base, ext;
+ parsePath(_path, dir, base, ext);
+ path(dir, file, "");
+}
+
+
+daeString daeURI::getScheme() const { return _scheme.c_str(); }
+daeString daeURI::getProtocol() const { return getScheme(); }
+daeString daeURI::getAuthority() const { return _authority.c_str(); }
+daeString daeURI::getPath() const { return _path.c_str(); }
+daeString daeURI::getQuery() const { return _query.c_str(); }
+daeString daeURI::getFragment() const { return _fragment.c_str(); }
+daeString daeURI::getID() const { return getFragment(); }
+daeBool daeURI::getPath(daeChar *dest, daeInt size) const {
+ if (int(_path.length()) < size) {
+ strcpy(dest, _path.c_str());
+ return true;
+ }
+ return false;
+}
+
+
+void daeURI::scheme(const string& scheme_) { set(scheme_, _authority, _path, _query, _fragment); };
+void daeURI::authority(const string& authority_) { set(_scheme, authority_, _path, _query, _fragment); }
+void daeURI::path(const string& path_) { set(_scheme, _authority, path_, _query, _fragment); }
+void daeURI::query(const string& query_) { set(_scheme, _authority, _path, query_, _fragment); }
+void daeURI::fragment(const string& fragment_) { set(_scheme, _authority, _path, _query, fragment_); }
+void daeURI::id(const string& id) { fragment(id); }
+
+void
+daeURI::print()
+{
+ fprintf(stderr,"URI(%s)\n",uriString.c_str());
+ fprintf(stderr,"scheme = %s\n",_scheme.c_str());
+ fprintf(stderr,"authority = %s\n",_authority.c_str());
+ fprintf(stderr,"path = %s\n",_path.c_str());
+ fprintf(stderr,"query = %s\n",_query.c_str());
+ fprintf(stderr,"fragment = %s\n",_fragment.c_str());
+ fprintf(stderr,"URI without base = %s\n",originalURIString.c_str());
+ fflush(stderr);
+}
+
+namespace {
+ void normalize(string& path) {
+ daeURI::normalizeURIPath(const_cast<char*>(path.c_str()));
+ path = path.substr(0, strlen(path.c_str()));
+ }
+}
+
+void
+daeURI::validate(const daeURI* baseURI)
+{
+ // If no base URI was supplied, use the container's document URI. If there's
+ // no container or the container doesn't have a doc URI, use the application
+ // base URI.
+ if (!baseURI) {
+ if (container)
+ {
+ if (container->getDocument())
+ {
+ if (container->getDocument()->isZAERootDocument())
+ baseURI = &container->getDocument()->getExtractedFileURI();
+ else
+ baseURI = container->getDocumentURI();
+ }
+ }
+ if (!baseURI)
+ baseURI = &dae->getBaseURI();
+ if (this == baseURI)
+ return;
+ }
+
+ // This is rewritten according to the updated rfc 3986
+ if (!_scheme.empty()) // if defined(R.scheme) then
+ {
+ // Everything stays the same except path which we normalize
+ // T.scheme = R.scheme;
+ // T.authority = R.authority;
+ // T.path = remove_dot_segments(R.path);
+ // T.query = R.query;
+ normalize(_path);
+ }
+ else
+ {
+ if (!_authority.empty()) // if defined(R.authority) then
+ {
+ // Authority and query stay the same, path is normalized
+ // T.authority = R.authority;
+ // T.path = remove_dot_segments(R.path);
+ // T.query = R.query;
+ normalize(_path);
+ }
+ else
+ {
+ if (_path.empty()) // if (R.path == "") then
+ {
+ // T.path = Base.path;
+ _path = baseURI->_path;
+
+ //if defined(R.query) then
+ // T.query = R.query;
+ //else
+ // T.query = Base.query;
+ //endif;
+ if (_query.empty())
+ _query = baseURI->_query;
+ }
+ else
+ {
+ if (_path[0] == '/') // if (R.path starts-with "/") then
+ {
+ // T.path = remove_dot_segments(R.path);
+ normalize(_path);
+ }
+ else
+ {
+ // T.path = merge(Base.path, R.path);
+ if (!baseURI->_authority.empty() && baseURI->_path.empty()) // authority defined, path empty
+ _path.insert(0, "/");
+ else {
+ string dir, baseName, ext;
+ parsePath(baseURI->_path, dir, baseName, ext);
+ _path = dir + _path;
+ }
+ // T.path = remove_dot_segments(T.path);
+ normalize(_path);
+ }
+ // T.query = R.query;
+ }
+ // T.authority = Base.authority;
+ _authority = baseURI->_authority;
+ }
+ // T.scheme = Base.scheme;
+ _scheme = baseURI->_scheme;
+ }
+ // T.fragment = R.fragment;
+
+ // Reassemble all this into a string version of the URI
+ uriString = assembleUri(_scheme, _authority, _path, _query, _fragment);
+}
+
+daeElementRef daeURI::getElement() const {
+ return internalResolveElement();
+}
+
+daeElement* daeURI::internalResolveElement() const {
+ if (uriString.empty())
+ return NULL;
+
+ return dae->getURIResolvers().resolveElement(*this);
+}
+
+void daeURI::resolveElement() { }
+
+void daeURI::setContainer(daeElement* cont) {
+ container = cont;
+ // Since we have a new container element, the base URI may have changed. Re-resolve.
+ set(originalURIString);
+}
+
+daeBool daeURI::isExternalReference() const {
+ if (uriString.empty())
+ return false;
+
+ if (container && container->getDocumentURI()) {
+ daeURI* docURI = container->getDocumentURI();
+ if (_path != docURI->_path ||
+ _scheme != docURI->_scheme ||
+ _authority != docURI->_authority) {
+ return true;
+ }
+ }
+
+ return false;
+}
+
+
+daeDocument* daeURI::getReferencedDocument() const {
+ string doc = assembleUri(_scheme, _authority, _path, "", "");
+ return dae->getDatabase()->getDocument(doc.c_str(), true);
+}
+
+daeURI::ResolveState daeURI::getState() const {
+ return uriString.empty() ? uri_empty : uri_loaded;
+}
+
+void daeURI::setState(ResolveState newState) { }
+
+
+// This code is loosely based on the RFC 2396 normalization code from
+// libXML. Specifically it does the RFC steps 6.c->6.g from section 5.2
+// The path is modified in place, there is no error return.
+void daeURI::normalizeURIPath(char* path)
+{
+ char *cur, // location we are currently processing
+ *out; // Everything from this back we are done with
+
+ // Return if the path pointer is null
+
+ if (path == NULL) return;
+
+ // Skip any initial / characters to get us to the start of the first segment
+
+ for(cur=path; *cur == '/'; cur++);
+
+ // Return if we hit the end of the string
+
+ if (*cur == 0) return;
+
+ // Keep everything we've seen so far.
+
+ out = cur;
+
+ // Analyze each segment in sequence for cases (c) and (d).
+
+ while (*cur != 0)
+ {
+ // (c) All occurrences of "./", where "." is a complete path segment, are removed from the buffer string.
+
+ if ((*cur == '.') && (*(cur+1) == '/'))
+ {
+ cur += 2;
+ // If there were multiple slashes, skip them too
+ while (*cur == '/') cur++;
+ continue;
+ }
+
+ // (d) If the buffer string ends with "." as a complete path segment, that "." is removed.
+
+ if ((*cur == '.') && (*(cur+1) == 0))
+ break;
+
+ // If we passed the above tests copy the segment to the output side
+
+ while (*cur != '/' && *cur != 0)
+ {
+ *(out++) = *(cur++);
+ }
+
+ if(*cur != 0)
+ {
+ // Skip any occurrances of // at the end of the segment
+
+ while ((*cur == '/') && (*(cur+1) == '/')) cur++;
+
+ // Bring the last character in the segment (/ or a null terminator) into the output
+
+ *(out++) = *(cur++);
+ }
+ }
+
+ *out = 0;
+
+ // Restart at the beginning of the first segment for the next part
+
+ for(cur=path; *cur == '/'; cur++);
+ if (*cur == 0) return;
+
+ // Analyze each segment in sequence for cases (e) and (f).
+ //
+ // e) All occurrences of "<segment>/../", where <segment> is a
+ // complete path segment not equal to "..", are removed from the
+ // buffer string. Removal of these path segments is performed
+ // iteratively, removing the leftmost matching pattern on each
+ // iteration, until no matching pattern remains.
+ //
+ // f) If the buffer string ends with "<segment>/..", where <segment>
+ // is a complete path segment not equal to "..", that
+ // "<segment>/.." is removed.
+ //
+ // To satisfy the "iterative" clause in (e), we need to collapse the
+ // string every time we find something that needs to be removed. Thus,
+ // we don't need to keep two pointers into the string: we only need a
+ // "current position" pointer.
+ //
+ while (true)
+ {
+ char *segp, *tmp;
+
+ // At the beginning of each iteration of this loop, "cur" points to
+ // the first character of the segment we want to examine.
+
+ // Find the end of the current segment.
+
+ for(segp = cur;(*segp != '/') && (*segp != 0); ++segp);
+
+ // If this is the last segment, we're done (we need at least two
+ // segments to meet the criteria for the (e) and (f) cases).
+
+ if (*segp == 0)
+ break;
+
+ // If the first segment is "..", or if the next segment _isn't_ "..",
+ // keep this segment and try the next one.
+
+ ++segp;
+ if (((*cur == '.') && (cur[1] == '.') && (segp == cur+3))
+ || ((*segp != '.') || (segp[1] != '.')
+ || ((segp[2] != '/') && (segp[2] != 0))))
+ {
+ cur = segp;
+ continue;
+ }
+
+ // If we get here, remove this segment and the next one and back up
+ // to the previous segment (if there is one), to implement the
+ // "iteratively" clause. It's pretty much impossible to back up
+ // while maintaining two pointers into the buffer, so just compact
+ // the whole buffer now.
+
+ // If this is the end of the buffer, we're done.
+
+ if (segp[2] == 0)
+ {
+ *cur = 0;
+ break;
+ }
+
+ // Strings overlap during this copy, but not in a bad way, just avoid using strcpy
+
+ tmp = cur;
+ segp += 3;
+ while ((*(tmp++) = *(segp++)) != 0);
+
+ // If there are no previous segments, then keep going from here.
+
+ segp = cur;
+ while ((segp > path) && (*(--segp) == '/'));
+
+ if (segp == path)
+ continue;
+
+ // "segp" is pointing to the end of a previous segment; find it's
+ // start. We need to back up to the previous segment and start
+ // over with that to handle things like "foo/bar/../..". If we
+ // don't do this, then on the first pass we'll remove the "bar/..",
+ // but be pointing at the second ".." so we won't realize we can also
+ // remove the "foo/..".
+
+ for(cur = segp;(cur > path) && (*(cur-1) != '/'); cur--);
+ }
+
+ *out = 0;
+
+ // g) If the resulting buffer string still begins with one or more
+ // complete path segments of "..", then the reference is
+ // considered to be in error. Implementations may handle this
+ // error by retaining these components in the resolved path (i.e.,
+ // treating them as part of the final URI), by removing them from
+ // the resolved path (i.e., discarding relative levels above the
+ // root), or by avoiding traversal of the reference.
+ //
+ // We discard them from the final path.
+
+ if (*path == '/')
+ {
+ for(cur=path; (*cur == '/') && (cur[1] == '.') && (cur[2] == '.') && ((cur[3] == '/') || (cur[3] == 0)); cur += 3);
+
+ if (cur != path)
+ {
+ for(out=path; *cur != 0; *(out++) = *(cur++));
+
+ *out = 0;
+ }
+ }
+ return;
+}
+
+// This function will take a resolved URI and create a version of it that is relative to
+// another existing URI. The new URI is stored in the "originalURI"
+int daeURI::makeRelativeTo(const daeURI* relativeToURI)
+{
+ // Can only do this function if both URIs have the same scheme and authority
+ if (_scheme != relativeToURI->_scheme || _authority != relativeToURI->_authority)
+ return DAE_ERR_INVALID_CALL;
+
+ // advance till we find a segment that doesn't match
+ const char *this_path = getPath();
+ const char *relativeTo_path = relativeToURI->getPath();
+ const char *this_slash = this_path;
+ const char *relativeTo_slash = relativeTo_path;
+
+ while((*this_path == *relativeTo_path) && *this_path)
+ {
+ if(*this_path == '/')
+ {
+ this_slash = this_path;
+ relativeTo_slash = relativeTo_path;
+ }
+ this_path++;
+ relativeTo_path++;
+ }
+
+ // Decide how many ../ segments are needed (Filepath should always end in a /)
+ int segment_count = 0;
+ relativeTo_slash++;
+ while(*relativeTo_slash != 0)
+ {
+ if(*relativeTo_slash == '/')
+ segment_count ++;
+ relativeTo_slash++;
+ }
+ this_slash++;
+
+ string newPath;
+ for (int i = 0; i < segment_count; i++)
+ newPath += "../";
+ newPath += this_slash;
+
+ set("", "", newPath, _query, _fragment, relativeToURI);
+ return(DAE_OK);
+}
+
+
+daeBool daeURIResolver::_loadExternalDocuments = true;
+
+daeURIResolver::daeURIResolver(DAE& dae) : dae(&dae) { }
+
+daeURIResolver::~daeURIResolver() { }
+
+void daeURIResolver::setAutoLoadExternalDocuments( daeBool load )
+{
+ _loadExternalDocuments = load;
+}
+
+daeBool daeURIResolver::getAutoLoadExternalDocuments()
+{
+ return _loadExternalDocuments;
+}
+
+
+daeURIResolverList::daeURIResolverList() { }
+
+daeURIResolverList::~daeURIResolverList() {
+ for (size_t i = 0; i < resolvers.getCount(); i++)
+ delete resolvers[i];
+}
+
+daeTArray<daeURIResolver*>& daeURIResolverList::list() {
+ return resolvers;
+}
+
+daeElement* daeURIResolverList::resolveElement(const daeURI& uri) {
+ for (size_t i = 0; i < resolvers.getCount(); i++)
+ if (daeElement* elt = resolvers[i]->resolveElement(uri))
+ return elt;
+ return NULL;
+}
+
+
+// Returns true if parsing succeeded, false otherwise. Parsing can fail if the uri
+// reference isn't properly formed.
+bool cdom::parseUriRef(const string& uriRef,
+ string& scheme,
+ string& authority,
+ string& path,
+ string& query,
+ string& fragment) {
+ // This regular expression for parsing URI references comes from the URI spec:
+ // http://tools.ietf.org/html/rfc3986#appendix-B
+ static pcrecpp::RE re("^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?");
+ string s1, s3, s6, s8;
+ if (re.FullMatch(uriRef, &s1, &scheme, &s3, &authority, &path, &s6, &query, &s8, &fragment))
+ return true;
+
+ return false;
+}
+
+namespace {
+ string safeSubstr(const string& s, size_t offset, size_t length) {
+ string result = s.substr(offset, min(length, s.length() - offset));
+ result.resize(length, '\0');
+ return result;
+ }
+}
+
+string cdom::assembleUri(const string& scheme,
+ const string& authority,
+ const string& path,
+ const string& query,
+ const string& fragment,
+ bool forceLibxmlCompatible) {
+ string p = safeSubstr(path, 0, 3);
+ bool libxmlHack = forceLibxmlCompatible && scheme == "file";
+ bool uncPath = false;
+ string uri;
+
+ if (!scheme.empty())
+ uri += scheme + ":";
+
+ if (!authority.empty() || libxmlHack || (p[0] == '/' && p[1] == '/'))
+ uri += "//";
+ if (!authority.empty()) {
+ if (libxmlHack) {
+ // We have a UNC path URI of the form file://otherMachine/file.dae.
+ // Convert it to file://///otherMachine/file.dae, which is how libxml
+ // does UNC paths.
+ uri += "///" + authority;
+ uncPath = true;
+ }
+ else {
+ uri += authority;
+ }
+ }
+
+ if (!uncPath && libxmlHack && getSystemType() == Windows) {
+ // We have to be delicate in how we pass absolute path URIs to libxml on Windows.
+ // If the path is an absolute path with no drive letter, add an extra slash to
+ // appease libxml.
+ if (p[0] == '/' && p[1] != '/' && p[2] != ':') {
+ uri += "/";
+ }
+ }
+ uri += path;
+
+ if (!query.empty())
+ uri += "?" + query;
+ if (!fragment.empty())
+ uri += "#" + fragment;
+
+ return uri;
+}
+
+string cdom::fixUriForLibxml(const string& uriRef) {
+ string scheme, authority, path, query, fragment;
+ cdom::parseUriRef(uriRef, scheme, authority, path, query, fragment);
+ return assembleUri(scheme, authority, path, query, fragment, true);
+}
+
+
+string cdom::nativePathToUri(const string& nativePath, systemType type) {
+ string uri = nativePath;
+
+ if (type == Windows) {
+ // Convert "c:\" to "/c:/"
+ if (uri.length() >= 2 && isalpha(uri[0]) && uri[1] == ':')
+ uri.insert(0, "/");
+ // Convert backslashes to forward slashes
+ uri = replace(uri, "\\", "/");
+ }
+
+ // Convert spaces to %20
+ uri = replace(uri, " ", "%20");
+
+ return uri;
+}
+
+string cdom::filePathToUri(const string& filePath) {
+ return nativePathToUri(filePath);
+}
+
+string cdom::uriToNativePath(const string& uriRef, systemType type) {
+ string scheme, authority, path, query, fragment;
+ parseUriRef(uriRef, scheme, authority, path, query, fragment);
+
+ // Make sure we have a file scheme URI, or that it doesn't have a scheme
+ if (!scheme.empty() && scheme != "file")
+ return "";
+
+ string filePath;
+
+ if (type == Windows) {
+ if (!authority.empty())
+ filePath += string("\\\\") + authority; // UNC path
+
+ // Replace two leading slashes with one leading slash, so that
+ // ///otherComputer/file.dae becomes //otherComputer/file.dae and
+ // //folder/file.dae becomes /folder/file.dae
+ if (path.length() >= 2 && path[0] == '/' && path[1] == '/')
+ path.erase(0, 1);
+
+ // Convert "/C:/" to "C:/"
+ if (path.length() >= 3 && path[0] == '/' && path[2] == ':')
+ path.erase(0, 1);
+
+ // Convert forward slashes to back slashes
+ path = replace(path, "/", "\\");
+ }
+
+ filePath += path;
+
+ // Replace %20 with space
+ filePath = replace(filePath, "%20", " ");
+
+ return filePath;
+}
+
+string cdom::uriToFilePath(const string& uriRef) {
+ return uriToNativePath(uriRef);
+}
diff --git a/1.4.0/dom/src/dae/daeUtils.cpp b/1.4.0/dom/src/dae/daeUtils.cpp
new file mode 100644
index 0000000..7e3dc9a
--- /dev/null
+++ b/1.4.0/dom/src/dae/daeUtils.cpp
@@ -0,0 +1,210 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+#include <cstdarg>
+#include <algorithm>
+#include <iterator>
+#include <dae/daeUtils.h>
+#include <dae/daeURI.h>
+
+#ifdef _WIN32
+#include <direct.h> // for getcwd (windows)
+#else
+#include <unistd.h> // for getcwd (linux)
+#endif
+
+#ifndef NO_BOOST
+#include <boost/filesystem/convenience.hpp> // THIS WAS NOT COMMENTED.
+#endif
+
+#include <cstdio> // for tmpnam
+
+using namespace std;
+
+cdom::systemType cdom::getSystemType() {
+#ifdef WIN32
+ return Windows;
+#else
+ return Posix;
+#endif
+}
+
+string cdom::replace(const string& s, const string& replace, const string& replaceWith) {
+ if (replace.empty())
+ return s;
+
+ string result;
+ size_t pos1 = 0, pos2 = s.find(replace);
+ while (pos2 != string::npos) {
+ result += s.substr(pos1, pos2-pos1);
+ result += replaceWith;
+ pos1 = pos2 + replace.length();
+ pos2 = s.find(replace, pos1);
+ }
+
+ result += s.substr(pos1, s.length()-pos1);
+ return result;
+}
+
+void cdom::trimWhitespaces(string& str) {
+ string whitespaces ( " \t\f\v\n\r" );
+
+ size_t found = str.find_last_not_of( whitespaces );
+ if ( found != std::string::npos )
+ {
+ str.erase( found + 1 );
+ found = str.find_first_not_of( whitespaces );
+ if ( found != std::string::npos )
+ str.erase( 0, found );
+ }
+ else
+ {
+ // whitespaces only
+ str.clear();
+ }
+}
+
+void cdom::tokenize(const string& s,
+ const string& separators,
+ /* out */ list<string>& tokens,
+ bool separatorsInResult) {
+ size_t currentIndex = 0, nextTokenIndex = 0;
+ while (currentIndex < s.length() &&
+ (nextTokenIndex = s.find_first_of(separators, currentIndex)) != string::npos) {
+ if ((nextTokenIndex - currentIndex) > 0)
+ tokens.push_back(s.substr(currentIndex, nextTokenIndex-currentIndex));
+ if (separatorsInResult)
+ tokens.push_back(string(1, s[nextTokenIndex]));
+ currentIndex = nextTokenIndex+1;
+ }
+
+ if (currentIndex < s.length())
+ tokens.push_back(s.substr(currentIndex, s.length()-currentIndex));
+}
+
+list<string> cdom::tokenize(const string& s,
+ const string& separators,
+ bool separatorsInResult) {
+ list<string> result;
+ tokenize(s, separators, result, separatorsInResult);
+ return result;
+}
+
+vector<string> cdom::makeStringArray(const char* s, ...) {
+ va_list args;
+ va_start(args, s);
+ vector<string> result;
+ while (s) {
+ result.push_back(s);
+ s = va_arg(args, const char*);
+ }
+ va_end(args);
+ return result;
+}
+
+list<string> cdom::makeStringList(const char* s, ...) {
+ va_list args;
+ va_start(args, s);
+ list<string> result;
+ while (s) {
+ result.push_back(s);
+ s = va_arg(args, const char*);
+ }
+ va_end(args);
+ return result;
+}
+
+string cdom::getCurrentDir() {
+#ifdef __CELLOS_LV2__
+ // The PS3 has no getcwd call.
+ // !!!steveT Should we return app_home instead?
+ return "/";
+#else
+ char buffer[1024];
+#ifdef _WIN32
+ _getcwd(buffer, 1024);
+#else
+ getcwd(buffer, 1024);
+#endif
+ return buffer;
+#endif
+}
+
+string cdom::getCurrentDirAsUri() {
+ string result = string("file://") + cdom::nativePathToUri(getCurrentDir());
+ // Make sure the last char is a /
+ if (!result.empty() && result[result.length()-1] != '/')
+ result += "/";
+ return result;
+}
+
+char cdom::getFileSeparator() {
+ if (getSystemType() == Windows) {
+ return '\\';
+ }
+ return '/';
+}
+#ifndef NO_BOOST
+const string& cdom::getSystemTmpDir() {
+#ifdef WIN32
+ static string tmpDir = string(getenv("TMP")) + getFileSeparator();
+#elif defined(__linux__) || defined(__linux)
+ static string tmpDir = "/tmp/";
+#elif defined __APPLE_CC__
+static string tmpDir = string(getenv("TMPDIR"));
+#elif defined __CELLOS_LV2__
+#error tmp dir for your system unknown
+#else
+#error tmp dir for your system unknown
+#endif
+ return tmpDir;
+}
+
+string cdom::getRandomFileName() {
+ std::string randomSegment;
+ // have to createa a buffer in order to make it multi-thread safe
+ std::string tmpbuffer; tmpbuffer.resize(L_tmpnam*2+1);
+ std::string tmp(tmpnam(&tmpbuffer[0]));
+#ifdef WIN32
+ randomSegment = tmp.substr(tmp.find_last_of('\\')+1);
+#elif defined(__linux__) || defined(__linux)
+ randomSegment = tmp.substr(tmp.find_last_of('/')+1);
+#elif defined __APPLE_CC__
+ randomSegment = tmp.substr(tmp.find_last_of('/')+1);
+#elif defined __CELLOS_LV2__
+#error usage of tmpnam() for your system unknown
+#else
+#error usage of tmpnam() for your system unknown
+#endif
+ return randomSegment;
+}
+
+const string& cdom::getSafeTmpDir() {
+ // there is a race condition here is multiple collada-dom -enabled processes call getSafeTmpDir at the same time.
+ // Therefore, have to check if directory already exists before using it. This still leaves the race
+ // condition, but makes it more difficult to reproduce. A better alternative would be to stop relying on tmpnam!
+ static string tmpDir;
+ do {
+ tmpDir = getSystemTmpDir() + getRandomFileName() + getFileSeparator();
+ } while(boost::filesystem::is_directory(tmpDir));
+ return tmpDir;
+}
+#endif //NO_BOOST
+
+int cdom::strcasecmp(const char* str1, const char* str2) {
+#ifdef _MSC_VER
+ return _stricmp(str1, str2);
+#else
+ return ::strcasecmp(str1, str2);
+#endif
+}
+
+string cdom::tolower(const string& s) {
+ string result;
+ transform(s.begin(), s.end(), back_inserter(result), ::tolower);
+ return result;
+}
diff --git a/1.4.0/dom/src/dae/daeZAEUncompressHandler.cpp b/1.4.0/dom/src/dae/daeZAEUncompressHandler.cpp
new file mode 100644
index 0000000..309cb0f
--- /dev/null
+++ b/1.4.0/dom/src/dae/daeZAEUncompressHandler.cpp
@@ -0,0 +1,307 @@
+#ifndef NO_ZAE
+#include <fstream>
+#include <dae.h>
+#include <dae/daeErrorHandler.h>
+#include <dae/daeZAEUncompressHandler.h>
+
+//-----------------------------------------------------------------
+const std::string daeZAEUncompressHandler::MANIFEST_FILE_NAME("manifest.xml");
+const std::string daeZAEUncompressHandler::MANIFEST_FILE_ROOT_ELEMENT_NAME("dae_root");
+const int daeZAEUncompressHandler::CASE_INSENSITIVE = 2;
+const int daeZAEUncompressHandler::BUFFER_SIZE = 1024;
+const std::string daeZAEUncompressHandler::EMPTY_STRING = "";
+
+//-----------------------------------------------------------------
+daeZAEUncompressHandler::daeZAEUncompressHandler( const daeURI& zaeFile )
+ : mZipFile(NULL)
+ , mZipFileURI(zaeFile)
+ , mValidZipFile(false)
+ , mRootFilePath("")
+{
+ std::string zipFilePath = cdom::uriToNativePath(zaeFile.getURI());
+ mZipFile = unzOpen(zipFilePath.c_str());
+
+ mValidZipFile = mZipFile != NULL;
+
+ mTmpDir = cdom::getSafeTmpDir() + cdom::getRandomFileName() +
+ cdom::getFileSeparator() + mZipFileURI.pathFile() + cdom::getFileSeparator();
+}
+
+//-----------------------------------------------------------------
+daeZAEUncompressHandler::~daeZAEUncompressHandler()
+{
+ if (mZipFile != NULL)
+ unzClose(mZipFile);
+}
+
+//-----------------------------------------------------------------
+const std::string& daeZAEUncompressHandler::obtainRootFilePath()
+{
+ if (!isZipFile())
+ return EMPTY_STRING;
+
+ if (boost::filesystem::create_directories(mTmpDir))
+ {
+ if (extractArchive(mZipFile, mTmpDir))
+ {
+ if (retrieveRootURIFromManifest(mTmpDir))
+ {
+ return mRootFilePath;
+ }
+ else
+ {
+ // TODO find root file without manifest
+ }
+ }
+ else
+ {
+ daeErrorHandler::get()->handleError("Error extracting archive in daeZAEUncompressHandler::obtainRootFilePath\n");
+ }
+ }
+ else
+ {
+ daeErrorHandler::get()->handleError("Error creating tmp dir in daeZAEUncompressHandler::obtainRootFilePath\n");
+ }
+
+ boost::filesystem::remove_all(this->getTmpDir());
+ return EMPTY_STRING;
+}
+
+//-----------------------------------------------------------------
+bool daeZAEUncompressHandler::retrieveRootURIFromManifest(const std::string& tmpDir)
+{
+ // extract via libxml.
+ bool error = false;
+ xmlTextReaderPtr xmlReader = xmlReaderForFile(
+ (tmpDir + MANIFEST_FILE_NAME).c_str(),
+ NULL,
+ 0
+ );
+
+ if (xmlReader)
+ {
+ if (findManifestRootElement(xmlReader))
+ {
+ if (xmlTextReaderRead(xmlReader))
+ {
+ if (xmlTextReaderNodeType(xmlReader) == XML_READER_TYPE_TEXT) {
+ const xmlChar* xmlText = xmlTextReaderConstValue(xmlReader);
+
+ // copy xmlText.
+ std::string rootFilePath((daeString)xmlText);
+
+ // destroy xmlText.
+ xmlTextReaderRead(xmlReader);
+
+ cdom::trimWhitespaces(rootFilePath);
+ mRootFilePath = cdom::nativePathToUri(tmpDir + rootFilePath);
+ }
+ else
+ {
+ error = true;
+ }
+ }
+ else
+ {
+ error = true;
+ }
+ }
+ else
+ {
+ error = true;
+ }
+ }
+ else
+ {
+ error = true;
+ }
+
+ if (xmlReader)
+ xmlFreeTextReader(xmlReader);
+ if (error)
+ {
+ daeErrorHandler::get()->handleError("Error parsing manifest.xml in daeZAEUncompressHandler::retrieveRootURIFromManifest\n");
+ return false;
+ }
+
+ return true;
+}
+
+//-----------------------------------------------------------------
+bool daeZAEUncompressHandler::findManifestRootElement( xmlTextReaderPtr xmlReader )
+{
+ while(xmlTextReaderNodeType(xmlReader) != XML_READER_TYPE_ELEMENT)
+ {
+ if (xmlTextReaderRead(xmlReader) != 1) {
+ return false;
+ }
+ }
+
+ daeString elementName = (daeString)xmlTextReaderConstName(xmlReader);
+ if (strcmp(elementName, MANIFEST_FILE_ROOT_ELEMENT_NAME.c_str()) == 0)
+ {
+ return true;
+ }
+ return findManifestRootElement(xmlReader);
+}
+
+//-----------------------------------------------------------------
+bool daeZAEUncompressHandler::extractArchive( unzFile zipFile, const std::string& destDir )
+{
+ bool error = false;
+ unz_global_info globalZipInfo;
+
+ if (unzGetGlobalInfo (zipFile, &globalZipInfo) == UNZ_OK)
+ {
+ for (unsigned int i=0; i<globalZipInfo.number_entry; ++i)
+ {
+ if (!extractFile(zipFile, destDir))
+ {
+ error = true;
+ break;
+ }
+
+ if ((i+1)<globalZipInfo.number_entry)
+ {
+ if (unzGoToNextFile(zipFile) != UNZ_OK)
+ {
+ daeErrorHandler::get()->handleError("Error moving to next file in zip archive in daeZAEUncompressHandler::extractArchive\n");
+ error = true;
+ break;
+ }
+ }
+ }
+ }
+ else
+ {
+ daeErrorHandler::get()->handleError("Error getting info for zip archive in daeZAEUncompressHandler::extractArchive\n");
+ error = true;
+ }
+ return !error;
+}
+
+//-----------------------------------------------------------------
+bool daeZAEUncompressHandler::extractFile( unzFile zipFile, const std::string& destDir )
+{
+ bool error = false;
+
+ unz_file_info fileInfo;
+ char currentFileName[256]; // ARGH !!!
+ int fileInfoResult = unzGetCurrentFileInfo(zipFile, &fileInfo, currentFileName, sizeof(currentFileName), 0, 0, 0, 0);
+ if (fileInfoResult == UNZ_OK)
+ {
+ if ( currentFileName[ strlen(currentFileName)-1 ] == '/')
+ {
+ if (!boost::filesystem::create_directories(destDir + currentFileName))
+ {
+ daeErrorHandler::get()->handleError("Error creating dir from zip archive in daeZAEUncompressHandler::extractFile\n");
+ error = true;
+ }
+ }
+ else
+ {
+ if (unzOpenCurrentFile(zipFile) == UNZ_OK)
+ {
+
+ char* buffer = 0;
+ int readBytes = 1;
+ buffer = new char[ BUFFER_SIZE ];
+ std::string currentOutFilePath(destDir + std::string(currentFileName));
+ std::ofstream outFile(currentOutFilePath.c_str(), std::ios::binary);
+
+ while (readBytes > 0)
+ {
+ readBytes = unzReadCurrentFile(zipFile, buffer, BUFFER_SIZE);
+ outFile.write(buffer, readBytes);
+ }
+ delete[] buffer;
+ outFile.close();
+
+ if (readBytes >= 0)
+ {
+ if (unzCloseCurrentFile(zipFile) == UNZ_CRCERROR)
+ {
+ daeErrorHandler::get()->handleError("CRC error while opening file in zip archive in daeZAEUncompressHandler::extractFile\n");
+ error = true;
+ }
+ else
+ {
+ if (!checkAndExtractInternalArchive(currentOutFilePath))
+ {
+ error = true;
+ }
+ }
+ }
+ else
+ {
+ daeErrorHandler::get()->handleError("Error reading file in zip archive in daeZAEUncompressHandler::extractFile\n");
+ error = true;
+ }
+
+ }
+ else
+ {
+ daeErrorHandler::get()->handleError("Error opening file in zip archive in daeZAEUncompressHandler::extractFile\n");
+ error = true;
+ }
+ }
+ }
+ else
+ {
+ daeErrorHandler::get()->handleError("Error getting info for file in zip archive in daeZAEUncompressHandler::extractFile\n");
+ error = true;
+ }
+
+ return !error;
+}
+
+//-----------------------------------------------------------------
+bool daeZAEUncompressHandler::checkAndExtractInternalArchive( const std::string& filePath )
+{
+ unzFile zipFile = unzOpen(filePath.c_str());
+ if (zipFile == NULL)
+ {
+ // TODO check for other compression formats.
+ return true;
+ }
+
+ bool error = false;
+
+ boost::filesystem::path archivePath(filePath);
+ std::string dir = archivePath.branch_path().string();
+
+ const std::string& randomSegment = cdom::getRandomFileName();
+ std::string tmpDir = dir + cdom::getFileSeparator() + randomSegment + cdom::getFileSeparator();
+ if (boost::filesystem::create_directory(tmpDir))
+ {
+ if (!extractArchive(zipFile, tmpDir))
+ {
+ daeErrorHandler::get()->handleError("Could not extract internal zip archive in daeZAEUncompressHandler::checkAndExtractInternalArchive\n");
+ error = true;
+ }
+ }
+ else
+ {
+ daeErrorHandler::get()->handleError("Could not create temporary directory for extracting internal zip archive in daeZAEUncompressHandler::checkAndExtractInternalArchive\n");
+ error = true;
+ }
+
+ unzClose(zipFile);
+
+ if (!error)
+ {
+ if (boost::filesystem::remove(archivePath))
+ {
+ boost::filesystem::rename(tmpDir, archivePath);
+ }
+ else
+ {
+ daeErrorHandler::get()->handleError("Could not remove internal zip archive in daeZAEUncompressHandler::checkAndExtractInternalArchive\n");
+ error = true;
+ }
+ }
+
+ return !error;
+}
+
+#endif //NO_ZAE
diff --git a/1.4.0/dom/src/modules/LIBXMLPlugin/daeLIBXMLPlugin.cpp b/1.4.0/dom/src/modules/LIBXMLPlugin/daeLIBXMLPlugin.cpp
new file mode 100644
index 0000000..4c6cdb2
--- /dev/null
+++ b/1.4.0/dom/src/modules/LIBXMLPlugin/daeLIBXMLPlugin.cpp
@@ -0,0 +1,742 @@
+/*
+ * Copyright 2006 Sony Computer Entertainment Inc.
+ *
+ * Licensed under the MIT Open Source License, for details please see license.txt or the website
+ * http://www.opensource.org/licenses/mit-license.php
+ *
+ */
+
+// The user can choose whether or not to include libxml support in the DOM. Supporting libxml will
+// require linking against it. By default libxml support is included.
+#if defined(DOM_INCLUDE_LIBXML)
+
+// This is a rework of the XML plugin that contains a complete interface to libxml2 "readXML"
+// This is intended to be a seperate plugin but I'm starting out by rewriting it in daeLIBXMLPlugin
+// because I'm not sure if all the plugin handling stuff has been tested. Once I get a working
+// plugin I'll look into renaming it so the old daeLIBXMLPlugin can coexist with it.
+//
+#include <string>
+#include <sstream>
+#include <modules/daeLIBXMLPlugin.h>
+#include <dae.h>
+#include <dom.h>
+#include <dae/daeDatabase.h>
+#include <dae/daeMetaElement.h>
+#include <libxml/xmlreader.h>
+#include <libxml/xmlwriter.h>
+#include <libxml/xmlmemory.h>
+#include <dae/daeErrorHandler.h>
+#include <dae/daeMetaElementAttribute.h>
+
+#include <limits>
+#include <iomanip>
+using namespace std;
+
+#include <zip.h> // for saving compressed files
+#ifdef _WIN32
+#include <iowin32.h>
+#else
+#include <unistd.h>
+#endif
+
+// Some helper functions for working with libxml
+namespace {
+daeInt getCurrentLineNumber(xmlTextReaderPtr reader) {
+#if LIBXML_VERSION >= 20620
+ return xmlTextReaderGetParserLineNumber(reader);
+#else
+ return -1;
+#endif
+}
+
+#ifdef _WIN32
+static const char s_filesep = '\\';
+#else
+static const char s_filesep = '/';
+#endif
+
+// Return value should be freed by caller with delete[]. Passed in value should not
+// be null.
+xmlChar* utf8ToLatin1(const xmlChar* utf8) {
+ int inLen = xmlStrlen(utf8);
+ int outLen = (inLen+1) * 2;
+ xmlChar* latin1 = new xmlChar[outLen];
+ int numBytes = UTF8Toisolat1(latin1, &outLen, utf8, &inLen);
+ if (numBytes < 0) {
+ // Failed. Return an empty string instead.
+ numBytes = 0;
+ }
+ latin1[numBytes] = '\0';
+ return latin1;
+}
+
+// Return value should be freed by caller with delete[].
+xmlChar* latin1ToUtf8(const string& latin1) {
+ int inLen = (int)latin1.length();
+ int outLen = (inLen+1) * 2;
+ xmlChar* utf8 = new xmlChar[outLen];
+ int numBytes = isolat1ToUTF8(utf8, &outLen, (xmlChar*)latin1.c_str(), &inLen);
+ if (numBytes < 0)
+ // Failed. Return an empty string instead.
+ numBytes = 0;
+
+ utf8[numBytes] = '\0';
+ return utf8;
+}
+
+// wrapper that automatically closes the zip file handle
+class zipFileHandler
+{
+public:
+ zipFileHandler() {
+ zf = NULL;
+ }
+ ~zipFileHandler() {
+ if( !!zf ) {
+ int errclose = zipClose(zf,NULL);
+ if (errclose != ZIP_OK) {
+ ostringstream msg;
+ msg << "zipClose error" << errclose << "\n";
+ daeErrorHandler::get()->handleError(msg.str().c_str());
+ }
+ }
+ }
+ zipFile zf;
+};
+
+class xmlBufferHandler
+{
+public:
+ xmlBufferHandler() {
+ buf = NULL;
+ }
+ ~xmlBufferHandler() {
+ if( !!buf ) {
+ xmlBufferFree(buf);
+ }
+ }
+ xmlBufferPtr buf;
+};
+
+typedef pair<daeString, daeString> stringPair;
+
+// The attributes vector passed in should be empty. If 'encoding' is anything
+// other than utf8 the caller should free the returned attribute value
+// strings. The 'freeAttrValues' function is provided for that purpose.
+void packageCurrentAttributes(xmlTextReaderPtr reader,
+ DAE::charEncoding encoding,
+ /* out */ vector<stringPair>& attributes) {
+ int numAttributes = xmlTextReaderAttributeCount(reader);
+ if (numAttributes == -1 || numAttributes == 0)
+ return;
+ attributes.reserve(numAttributes);
+
+ while (xmlTextReaderMoveToNextAttribute(reader) == 1) {
+ const xmlChar* xmlName = xmlTextReaderConstName(reader);
+ const xmlChar* xmlValue = xmlTextReaderConstValue(reader);
+ if (encoding == DAE::Latin1)
+ attributes.push_back(stringPair((daeString)xmlName, (daeString)utf8ToLatin1(xmlValue)));
+ else
+ attributes.push_back(stringPair((daeString)xmlName, (daeString)xmlValue));
+ }
+}
+
+void freeAttrValues(vector<stringPair>& pairs) {
+ for(size_t i=0, size=pairs.size(); i<size; ++i) {
+ delete[] pairs[i].second;
+ pairs[i].second = 0;
+ }
+}
+}
+
+daeLIBXMLPlugin::daeLIBXMLPlugin(DAE& dae) : dae(dae), rawRelPath(dae)
+{
+ supportedProtocols.push_back("*");
+ xmlInitParser();
+ rawFile = NULL;
+ rawByteCount = 0;
+ saveRawFile = false;
+ writer = NULL;
+}
+
+daeLIBXMLPlugin::~daeLIBXMLPlugin()
+{
+ if( !writer ) {
+ xmlFreeTextWriter( writer );
+ writer = NULL;
+ }
+ xmlCleanupParser();
+}
+
+daeInt daeLIBXMLPlugin::setOption( daeString option, daeString value )
+{
+ if ( strcmp( option, "saveRawBinary" ) == 0 )
+ {
+ if ( strcmp( value, "true" ) == 0 || strcmp( value, "TRUE" ) == 0 )
+ {
+ saveRawFile = true;
+ }
+ else
+ {
+ saveRawFile = false;
+ }
+ return DAE_OK;
+ }
+ return DAE_ERR_INVALID_CALL;
+}
+
+daeString daeLIBXMLPlugin::getOption( daeString option )
+{
+ if ( strcmp( option, "saveRawBinary" ) == 0 )
+ {
+ if ( saveRawFile )
+ {
+ return "true";
+ }
+ return "false";
+ }
+ return NULL;
+}
+
+namespace {
+void libxmlErrorHandler(void* arg,
+ const char* msg,
+ xmlParserSeverities severity,
+ xmlTextReaderLocatorPtr locator) {
+ if(severity == XML_PARSER_SEVERITY_VALIDITY_WARNING ||
+ severity == XML_PARSER_SEVERITY_WARNING) {
+ daeErrorHandler::get()->handleWarning(msg);
+ }
+ else
+ daeErrorHandler::get()->handleError(msg);
+}
+}
+
+#if LIBXML_VERSION < 20700
+#ifndef XML_PARSE_HUGE
+#define XML_PARSE_HUGE 0
+#endif
+#endif
+
+// A simple structure to help alloc/free xmlTextReader objects
+struct xmlTextReaderHelper {
+ xmlTextReaderHelper(const daeURI& uri) {
+ if((reader = xmlReaderForFile(cdom::fixUriForLibxml(uri.str()).c_str(), NULL, XML_PARSE_HUGE)))
+ xmlTextReaderSetErrorHandler(reader, libxmlErrorHandler, NULL);
+ }
+
+ xmlTextReaderHelper(daeString buffer, const daeURI& baseUri) {
+ if((reader = xmlReaderForDoc((xmlChar*)buffer, cdom::fixUriForLibxml(baseUri.str()).c_str(), NULL, XML_PARSE_HUGE)))
+ xmlTextReaderSetErrorHandler(reader, libxmlErrorHandler, NULL);
+ };
+
+ ~xmlTextReaderHelper() {
+ if (reader)
+ xmlFreeTextReader(reader);
+ }
+
+ xmlTextReaderPtr reader;
+};
+
+daeElementRef daeLIBXMLPlugin::readFromFile(const daeURI& uri) {
+ xmlTextReaderHelper readerHelper(uri);
+ if (!readerHelper.reader) {
+ daeErrorHandler::get()->handleError((string("Failed to open ") + uri.str() +
+ " in daeLIBXMLPlugin::readFromFile\n").c_str());
+ return NULL;
+ }
+ return read(readerHelper.reader);
+}
+
+daeElementRef daeLIBXMLPlugin::readFromMemory(daeString buffer, const daeURI& baseUri) {
+ xmlTextReaderHelper readerHelper(buffer, baseUri);
+ if (!readerHelper.reader) {
+ daeErrorHandler::get()->handleError("Failed to open XML document from memory buffer in "
+ "daeLIBXMLPlugin::readFromMemory\n");
+ return NULL;
+ }
+ return read(readerHelper.reader);
+}
+
+daeElementRef daeLIBXMLPlugin::read(_xmlTextReader* reader) {
+ // Drop everything up to the first element. In the future, we should try to store header comments somewhere.
+ while(xmlTextReaderNodeType(reader) != XML_READER_TYPE_ELEMENT)
+ {
+ if (xmlTextReaderRead(reader) != 1) {
+ daeErrorHandler::get()->handleError("Error parsing XML in daeLIBXMLPlugin::read\n");
+ return NULL;
+ }
+ }
+
+ int readRetVal = 0;
+ return readElement(reader, NULL, readRetVal);
+}
+
+daeElementRef daeLIBXMLPlugin::readElement(_xmlTextReader* reader,
+ daeElement* parentElement,
+ /* out */ int& readRetVal) {
+ assert(xmlTextReaderNodeType(reader) == XML_READER_TYPE_ELEMENT);
+ daeString elementName = (daeString)xmlTextReaderConstName(reader);
+ bool empty = xmlTextReaderIsEmptyElement(reader) != 0;
+
+ vector<attrPair> attributes;
+ packageCurrentAttributes(reader, dae.getCharEncoding(), /* out */ attributes);
+
+ daeElementRef element = beginReadElement(parentElement, elementName, attributes, getCurrentLineNumber(reader));
+ if (dae.getCharEncoding() != DAE::Utf8) {
+ freeAttrValues(attributes);
+ }
+
+ if (!element) {
+ // We couldn't create the element. beginReadElement already printed an error message. Just make sure
+ // to skip ahead past the bad element.
+ xmlTextReaderNext(reader);
+ return NULL;
+ }
+
+ if ((readRetVal = xmlTextReaderRead(reader)) == -1) {
+ return NULL;
+ }
+ if (empty) {
+ return element;
+ }
+ int nodeType = xmlTextReaderNodeType(reader);
+ while (readRetVal == 1 && nodeType != XML_READER_TYPE_END_ELEMENT) {
+ if (nodeType == XML_READER_TYPE_ELEMENT) {
+ element->placeElement(readElement(reader, element, readRetVal));
+ }
+ else if (nodeType == XML_READER_TYPE_TEXT) {
+ const xmlChar* xmlText = xmlTextReaderConstValue(reader);
+ if (dae.getCharEncoding() == DAE::Latin1) {
+ xmlText = utf8ToLatin1(xmlText);
+ }
+ readElementText(element, (daeString)xmlText, getCurrentLineNumber(reader));
+ if (dae.getCharEncoding() == DAE::Latin1) {
+ delete[] xmlText;
+ }
+ readRetVal = xmlTextReaderRead(reader);
+ }
+ else {
+ readRetVal = xmlTextReaderRead(reader);
+ }
+ nodeType = xmlTextReaderNodeType(reader);
+ }
+
+ if (nodeType == XML_READER_TYPE_END_ELEMENT) {
+ readRetVal = xmlTextReaderRead(reader);
+ }
+ if (readRetVal == -1) { // Something went wrong (bad xml probably)
+ return NULL;
+ }
+
+ return element;
+}
+
+daeInt daeLIBXMLPlugin::write(const daeURI& name, daeDocument *document, daeBool replace)
+{
+ // Make sure database and document are both set
+ if (!database) {
+ return DAE_ERR_INVALID_CALL;
+ }
+ if(!document) {
+ return DAE_ERR_COLLECTION_DOES_NOT_EXIST;
+ }
+ // Convert the URI to a file path, to see if we're about to overwrite a file
+ string file = cdom::uriToNativePath(name.str());
+ if (file.empty() && saveRawFile)
+ {
+ daeErrorHandler::get()->handleError( "can't get path in write\n" );
+ return DAE_ERR_BACKEND_IO;
+ }
+
+ // If replace=false, don't replace existing files
+ if(!replace)
+ {
+ // Using "stat" would be better, but it's not available on all platforms
+ FILE *tempfd = fopen(file.c_str(), "r");
+ if(tempfd != NULL)
+ {
+ // File exists, return error
+ fclose(tempfd);
+ return DAE_ERR_BACKEND_FILE_EXISTS;
+ }
+ fclose(tempfd);
+ }
+ if ( saveRawFile )
+ {
+ string rawFilePath = file + ".raw";
+ if ( !replace )
+ {
+ rawFile = fopen(rawFilePath.c_str(), "rb" );
+ if ( rawFile != NULL )
+ {
+ fclose(rawFile);
+ return DAE_ERR_BACKEND_FILE_EXISTS;
+ }
+ fclose(rawFile);
+ }
+ rawFile = fopen(rawFilePath.c_str(), "wb");
+ if ( rawFile == NULL )
+ {
+ return DAE_ERR_BACKEND_IO;
+ }
+ rawRelPath.set(cdom::nativePathToUri(rawFilePath));
+ rawRelPath.makeRelativeTo( &name );
+ }
+
+ std::string fileName = cdom::uriToNativePath(name.str());
+ bool bcompress = fileName.size() >= 4 && fileName[fileName.size()-4] == '.' && ::tolower(fileName[fileName.size()-3]) == 'z' && ::tolower(fileName[fileName.size()-2]) == 'a' && ::tolower(fileName[fileName.size()-1]) == 'e';
+
+ int err=0;
+ xmlBufferHandler bufhandler;
+
+ if( bcompress ) {
+ // taken from http://xmlsoft.org/examples/testWriter.c
+ // Create a new XML buffer, to which the XML document will be written
+ bufhandler.buf = xmlBufferCreate();
+ if (!bufhandler.buf) {
+ ostringstream msg;
+ msg << "daeLIBXMLPlugin::write(" << name.str() << ") testXmlwriterMemory: Error creating the xml buffer\n";
+ daeErrorHandler::get()->handleError(msg.str().c_str());
+ return DAE_ERR_BACKEND_IO;
+ }
+
+ // Create a new XmlWriter for memory, with no compression. Remark: there is no compression for this kind of xmlTextWriter
+ writer = xmlNewTextWriterMemory(bufhandler.buf, 0);
+ }
+ else {
+ // Open the file we will write to
+ writer = xmlNewTextWriterFilename(cdom::fixUriForLibxml(name.str()).c_str(), 0);
+ }
+
+ if (!writer) {
+ ostringstream msg;
+ msg << "daeLIBXMLPlugin::write(" << name.str() << ") Error creating the xml writer\n";
+ daeErrorHandler::get()->handleError(msg.str().c_str());
+ return DAE_ERR_BACKEND_IO;
+ }
+ err = xmlTextWriterSetIndentString( writer, (const xmlChar*)"\t" ); // Don't change this to spaces
+ if( err < 0 ) {
+ }
+ err = xmlTextWriterSetIndent( writer, 1 ); // Turns indentation on
+ if( err < 0 ) {
+ }
+ err = xmlTextWriterStartDocument( writer, "1.0", "UTF-8", NULL );
+ if( err < 0 ) {
+ }
+
+ writeElement( document->getDomRoot() );
+
+ xmlTextWriterEndDocument( writer );
+ xmlTextWriterFlush( writer );
+ xmlFreeTextWriter( writer );
+ writer = NULL; // reset pointer
+
+ if( bcompress ) {
+ std::string savefilenameinzip;
+ size_t namestart = fileName.find_last_of(s_filesep);
+ if( namestart == string::npos ) {
+ namestart = 0;
+ }
+ else {
+ namestart+=1;
+ }
+ if(namestart+4>=fileName.size()) {
+ daeErrorHandler::get()->handleError("invalid fileName when removing zae extension");
+ return DAE_ERR_BACKEND_IO;
+ }
+ savefilenameinzip = fileName.substr(namestart,fileName.size()-namestart-4);
+ savefilenameinzip += ".dae";
+
+ zipFileHandler zfh;
+#ifdef _WIN32
+ zlib_filefunc64_def ffunc;
+ fill_win32_filefunc64A(&ffunc);
+ zfh.zf = zipOpen2_64(fileName.c_str(),APPEND_STATUS_CREATE,NULL,&ffunc);
+#else
+ zfh.zf = zipOpen64(fileName.c_str(),APPEND_STATUS_CREATE);
+#endif
+ if (!zfh.zf) {
+ ostringstream msg;
+ msg << "daeLIBXMLPlugin::write(" << name.str() << ") Error opening zip file for writing\n";
+ daeErrorHandler::get()->handleError(msg.str().c_str());
+ return DAE_ERR_BACKEND_IO;
+ }
+
+ time_t curtime = time(NULL);
+ struct tm* timeofday = localtime(&curtime);
+ zip_fileinfo zi;
+ zi.tmz_date.tm_sec = timeofday->tm_sec;
+ zi.tmz_date.tm_min = timeofday->tm_min;
+ zi.tmz_date.tm_hour = timeofday->tm_hour;
+ zi.tmz_date.tm_mday = timeofday->tm_mday;
+ zi.tmz_date.tm_mon = timeofday->tm_mon;
+ zi.tmz_date.tm_year = timeofday->tm_year;
+ zi.dosDate = 0;
+ zi.internal_fa = 0;
+ zi.external_fa = 0;
+
+ int zip64 = bufhandler.buf->use >= 0xffffffff;
+
+ char* password=NULL;
+ unsigned long crcFile=0;
+ int opt_compress_level = 9;
+ err = zipOpenNewFileInZip3_64(zfh.zf,savefilenameinzip.c_str(),&zi,NULL,0,NULL,0,"collada file generated by collada-dom",Z_DEFLATED, opt_compress_level,0,-MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY,password,crcFile, zip64);
+ if (err != ZIP_OK) {
+ ostringstream msg;
+ msg << "daeLIBXMLPlugin::write(" << name.str() << ") zipOpenNewFileInZip3_64 error" << err << "\n";
+ daeErrorHandler::get()->handleError(msg.str().c_str());
+ return DAE_ERR_BACKEND_IO;
+ }
+
+ err = zipWriteInFileInZip (zfh.zf,bufhandler.buf->content, bufhandler.buf->use);
+ if (err<0) {
+ ostringstream msg;
+ msg << "daeLIBXMLPlugin::write(" << name.str() << ") zipWriteInFileInZip error for dae file " << err << "\n";
+ daeErrorHandler::get()->handleError(msg.str().c_str());
+ return DAE_ERR_BACKEND_IO;
+ }
+ err = zipCloseFileInZip(zfh.zf);
+ if (err!=ZIP_OK) {
+ ostringstream msg;
+ msg << "daeLIBXMLPlugin::write(" << name.str() << ") zipCloseFileInZip error for dae file " << err << "\n";
+ daeErrorHandler::get()->handleError(msg.str().c_str());
+ return DAE_ERR_BACKEND_IO;
+ }
+
+ // add the manifest
+ string smanifest = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<dae_root>./";
+ smanifest += savefilenameinzip;
+ smanifest += "</dae_root>\n";
+ err = zipOpenNewFileInZip3_64(zfh.zf,"manifest.xml",&zi,NULL,0,NULL,0,NULL,Z_DEFLATED, opt_compress_level,0,-MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY,password,crcFile, zip64);
+ if (err != ZIP_OK) {
+ ostringstream msg;
+ msg << "daeLIBXMLPlugin::write(" << name.str() << ") zipOpenNewFileInZip3_64 error for manifest.xml file " << err << "\n";
+ daeErrorHandler::get()->handleError(msg.str().c_str());
+ return DAE_ERR_BACKEND_IO;
+ }
+
+ err = zipWriteInFileInZip (zfh.zf,&smanifest[0],smanifest.size());
+ if (err != ZIP_OK) {
+ ostringstream msg;
+ msg << "daeLIBXMLPlugin::write(" << name.str() << ") zipWriteInFileInZip error for manifest.xml file " << err << "\n";
+ daeErrorHandler::get()->handleError(msg.str().c_str());
+ return DAE_ERR_BACKEND_IO;
+ }
+
+ err = zipCloseFileInZip(zfh.zf);
+ if (err != ZIP_OK) {
+ ostringstream msg;
+ msg << "daeLIBXMLPlugin::write(" << name.str() << ") zipCloseFileInZip error for manifest.xml file " << err << "\n";
+ daeErrorHandler::get()->handleError(msg.str().c_str());
+ return DAE_ERR_BACKEND_IO;
+ }
+ }
+
+ if ( saveRawFile && rawFile != NULL )
+ {
+ fclose( rawFile );
+ }
+
+ return DAE_OK;
+}
+
+void daeLIBXMLPlugin::writeElement( daeElement* element )
+{
+ daeMetaElement* _meta = element->getMeta();
+
+ //intercept <source> elements for special handling
+ if ( saveRawFile )
+ {
+ if ( strcmp( element->getTypeName(), "source" ) == 0 )
+ {
+ daeElementRefArray children;
+ element->getChildren( children );
+ bool validArray = false, teqCommon = false;
+ for ( unsigned int i = 0; i < children.getCount(); i++ )
+ {
+ if ( strcmp( children[i]->getTypeName(), "float_array" ) == 0 ||
+ strcmp( children[i]->getTypeName(), "int_array" ) == 0 )
+ {
+ validArray = true;
+ }
+ else if ( strcmp( children[i]->getTypeName(), "technique_common" ) == 0 )
+ {
+ teqCommon = true;
+ }
+ }
+ if ( validArray && teqCommon )
+ {
+ writeRawSource( element );
+ return;
+ }
+ }
+ }
+
+ if (!_meta->getIsTransparent() ) {
+ xmlTextWriterStartElement(writer, (xmlChar*)element->getElementName());
+ daeMetaAttributeRefArray& attrs = _meta->getMetaAttributes();
+
+ int acnt = (int)attrs.getCount();
+
+ for(int i=0; i<acnt; i++) {
+ writeAttribute(attrs[i], element);
+ }
+ }
+ writeValue(element);
+
+ daeElementRefArray children;
+ element->getChildren( children );
+ for ( size_t x = 0; x < children.getCount(); x++ ) {
+ writeElement( children.get(x) );
+ }
+
+ /*if (_meta->getContents() != NULL) {
+ daeElementRefArray* era = (daeElementRefArray*)_meta->getContents()->getWritableMemory(element);
+ int elemCnt = (int)era->getCount();
+ for(int i = 0; i < elemCnt; i++) {
+ daeElementRef elem = (daeElementRef)era->get(i);
+ if (elem != NULL) {
+ writeElement( elem );
+ }
+ }
+ }
+ else
+ {
+ daeMetaElementAttributeArray& children = _meta->getMetaElements();
+ int cnt = (int)children.getCount();
+ for(int i=0;i<cnt;i++) {
+ daeMetaElement *type = children[i]->getElementType();
+ if ( !type->getIsAbstract() ) {
+ for (int c = 0; c < children[i]->getCount(element); c++ ) {
+ writeElement( *(daeElementRef*)children[i]->get(element,c) );
+ }
+ }
+ }
+ }*/
+ if (!_meta->getIsTransparent() ) {
+ xmlTextWriterEndElement(writer);
+ }
+}
+
+void daeLIBXMLPlugin::writeAttribute( daeMetaAttribute* attr, daeElement* element)
+{
+ ostringstream buffer;
+#ifdef COLLADA_DOM_DAEFLOAT_IS64
+ buffer << std::setprecision(std::numeric_limits<PLATFORM_FLOAT64>::digits10+1); // set the default precision to daeFloat digit
+#endif
+ attr->memoryToString(element, buffer);
+ string str = buffer.str();
+
+ // Don't write the attribute if
+ // - The attribute isn't required AND
+ // - The attribute has no default value and the current value is ""
+ // - The attribute has a default value and the current value matches the default
+ if (!attr->getIsRequired()) {
+ if(!attr->getDefaultValue() && str.empty())
+ return;
+ if(attr->getDefaultValue() && attr->compareToDefault(element) == 0)
+ return;
+ }
+
+ xmlTextWriterStartAttribute(writer, (xmlChar*)(daeString)attr->getName());
+ xmlChar* utf8 = (xmlChar*)str.c_str();
+ if (dae.getCharEncoding() == DAE::Latin1)
+ utf8 = latin1ToUtf8(str);
+ xmlTextWriterWriteString(writer, utf8);
+ if (dae.getCharEncoding() == DAE::Latin1)
+ delete[] utf8;
+
+ xmlTextWriterEndAttribute(writer);
+}
+
+void daeLIBXMLPlugin::writeValue(daeElement* element) {
+ if (daeMetaAttribute* attr = element->getMeta()->getValueAttribute()) {
+ ostringstream buffer;
+#ifdef COLLADA_DOM_DAEFLOAT_IS64
+ buffer << std::setprecision(std::numeric_limits<PLATFORM_FLOAT64>::digits10+1); // set the default precision to daeFloat digit
+#endif
+ attr->memoryToString(element, buffer);
+ string s = buffer.str();
+ if (!s.empty()) {
+ xmlChar* str = (xmlChar*)s.c_str();
+ if (dae.getCharEncoding() == DAE::Latin1)
+ str = latin1ToUtf8(s);
+ xmlTextWriterWriteString(writer, (xmlChar*)s.c_str());
+ if (dae.getCharEncoding() == DAE::Latin1)
+ delete[] str;
+ }
+ }
+}
+
+void daeLIBXMLPlugin::writeRawSource( daeElement *src )
+{
+ daeElementRef newSrc = src->clone();
+ daeElementRef array = NULL;
+ daeElement *accessor = NULL;
+ daeElementRefArray children;
+ newSrc->getChildren( children );
+ bool isInt = false;
+ for ( int i = 0; i < (int)children.getCount(); i++ )
+ {
+ if ( strcmp( children[i]->getTypeName(), "float_array" ) == 0 )
+ {
+ array = children[i];
+ newSrc->removeChildElement( array );
+ }
+ else if ( strcmp( children[i]->getTypeName(), "int_array" ) == 0 )
+ {
+ array = children[i];
+ isInt = true;
+ newSrc->removeChildElement( array );
+ }
+ else if ( strcmp( children[i]->getTypeName(), "technique_common" ) == 0 )
+ {
+ children[i]->getChildren( children );
+ }
+ else if ( strcmp( children[i]->getTypeName(), "accessor" ) == 0 )
+ {
+ accessor = children[i];
+ }
+ }
+
+ daeULong *countPtr = (daeULong*)array->getAttributeValue( "count" );
+ daeULong count = countPtr != NULL ? *countPtr : 0;
+
+ daeULong *stridePtr = (daeULong*)accessor->getAttributeValue( "stride" );
+ daeULong stride = stridePtr != NULL ? *stridePtr : 1;
+
+ children.clear();
+ accessor->getChildren( children );
+ if ( children.getCount() > stride ) {
+ *stridePtr = children.getCount();
+ }
+
+ daeFixedName newURI;
+ sprintf( newURI, "%s#%ld", rawRelPath.getOriginalURI(), rawByteCount );
+ accessor->setAttribute( "source", newURI );
+
+ daeArray *valArray = (daeArray*)array->getValuePointer();
+
+ //TODO: pay attention to precision for the array.
+ if ( isInt )
+ {
+ for( size_t i = 0; i < count; i++ )
+ {
+ daeInt tmp = (daeInt)*(daeLong*)(valArray->getRaw(i));
+ rawByteCount += (unsigned long)(fwrite( &tmp, sizeof(daeInt), 1, rawFile ) * sizeof(daeInt));
+ }
+ }
+ else
+ {
+ for( size_t i = 0; i < count; i++ )
+ {
+ daeFloat tmp = (daeFloat)*(daeDouble*)(valArray->getRaw(i));
+ rawByteCount += (unsigned long)(fwrite( &tmp, sizeof(daeFloat), 1, rawFile ) * sizeof(daeFloat));
+ }
+ }
+
+ writeElement( newSrc );
+}
+
+#endif // DOM_INCLUDE_LIBXML
diff --git a/1.4.0/dom/src/modules/STLDatabase/daeSTLDatabase.cpp b/1.4.0/dom/src/modules/STLDatabase/daeSTLDatabase.cpp
new file mode 100644
index 0000000..11b3615
--- /dev/null
+++ b/1.4.0/dom/src/modules/STLDatabase/daeSTLDatabase.cpp
@@ -0,0 +1,680 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <modules/daeSTLDatabase.h>
+#include <dae/daeMetaElement.h>
+
+using namespace std;
+
+daeSTLDatabase::daeSTLDatabase(DAE& dae) : daeDatabase(dae)
+{ }
+
+daeSTLDatabase::~daeSTLDatabase()
+{
+ clear();
+}
+
+daeInt daeSTLDatabase::setMeta(daeMetaElement *_topMeta)
+{
+ topMeta = _topMeta;
+ return DAE_OK;
+}
+
+daeBool
+daeSTLDatabase::isDocumentLoaded(daeString name)
+{
+ daeDocument* document = getDocument(name);
+ if(document)
+ return(true);
+ else
+ return(false);
+}
+
+// Element Types of all Elements
+daeUInt daeSTLDatabase::getTypeCount()
+{
+ return (daeUInt)elements.size();
+}
+
+
+daeString daeSTLDatabase::getTypeName(daeUInt index)
+{
+ daeUInt count = 0;
+
+ map<string, vector< daeElement* > >::iterator iter = elements.begin();
+ map<string, vector< daeElement* > >::iterator end = elements.end();
+ while ( iter != end )
+ {
+ if ( count == index )
+ {
+ return (*iter).first.c_str();
+ }
+ ++count;
+ ++iter;
+ }
+
+ return NULL;
+}
+
+// Documents
+daeInt daeSTLDatabase::insertDocument(const char *name, daeElement* dom, daeDocument** document, bool zaeRootDocument, const std::string& extractedFileURI)
+{
+ return createDocument( name, dom, document, zaeRootDocument, extractedFileURI );
+}
+daeInt daeSTLDatabase::createDocument(const char *name, daeElement* dom, daeDocument** document, bool zaeRootDocument, const std::string& extractedFileURI)
+{
+ // If a document already exists with the same name, error
+ if(isDocumentLoaded(name))
+ {
+ if (document)
+ *document = NULL;
+ return DAE_ERR_COLLECTION_ALREADY_EXISTS;
+ }
+
+ // Make a new document
+ daeDocument *newDocument = new daeDocument(dae, zaeRootDocument, extractedFileURI);
+ newDocument->getDocumentURI()->setURI(name);
+ newDocument->setDomRoot(dom);
+ // Push the connection into the database
+ documents.push_back(newDocument);
+
+ if (document)
+ *document = newDocument;
+
+ return DAE_OK;
+}
+// !!!GAC revised version of insertDocument, creates a domCollada and fills it in for you.
+daeInt daeSTLDatabase::insertDocument(const char *name, daeDocument** document)
+{
+ return createDocument( name, document );
+}
+daeInt daeSTLDatabase::createDocument(const char *name, daeDocument** document)
+{
+
+ // If a document already exists with the same name, error
+ if(isDocumentLoaded(name))
+ {
+ if (document)
+ *document = NULL;
+ return DAE_ERR_COLLECTION_ALREADY_EXISTS;
+ }
+ // Make the new document
+ daeDocument *newDocument = new daeDocument(dae);
+ // Make a domCOLLADA to be the root of this new document (this makes a reference so the domCOLLADA won't delete itself
+ daeElementRef myCOLLADA = topMeta->create();
+ myCOLLADA->setDocument(newDocument);
+ newDocument->getDocumentURI()->setURI(name);
+ newDocument->setDomRoot(myCOLLADA);
+
+ // Add this document to the list.
+ documents.push_back(newDocument);
+ // If the user gave us a place to put the document, send it back to them.
+ if (document)
+ *document = newDocument;
+
+ return DAE_OK;
+}
+
+daeInt daeSTLDatabase::insertDocument( daeDocument *c ) {
+ documents.push_back(c);
+ insertElement( c, c->getDomRoot() );
+ return DAE_OK;
+}
+
+daeInt daeSTLDatabase::removeDocument(daeDocument *document)
+{
+ vector< daeDocument* >::iterator iter = documents.begin();
+ while ( iter != documents.end() ) {
+ if ( (*iter) == document ) {
+ //delete all of its children
+ removeElement( *iter, (*iter)->getDomRoot() );
+ delete *iter; // sthomas (see bug 1466019)
+ iter = documents.erase(iter);
+ }
+ else {
+ iter++;
+ }
+ }
+ return DAE_OK;
+}
+
+daeUInt daeSTLDatabase::getDocumentCount()
+{
+ return (daeUInt)documents.size();
+}
+
+daeDocument* daeSTLDatabase::getDocument(daeUInt index)
+{
+ if (index<documents.size())
+ return (documents[index]);
+ else
+ return NULL;
+}
+
+daeDocument* daeSTLDatabase::getDocument(daeString name_, bool skipUriNormalization)
+{
+ string name = name_;
+ if (!skipUriNormalization) {
+ // Normalize the input string to an absolute URI with no fragment
+ name = daeURI(dae, name, true).str();
+ }
+
+ // Try to find a document that matches
+ daeDocument *document;
+ int documentCount = getDocumentCount();
+ for (int i=0;i<documentCount;i++)
+ {
+ document = getDocument(i);
+ if(document->getDocumentURI()->str() == name)
+ return(document);
+ }
+ return(NULL);
+}
+
+daeString daeSTLDatabase::getDocumentName(daeUInt index)
+{
+ if (index<documents.size())
+ return getDocument(index)->getDocumentURI()->getURI();
+ else
+ return NULL;
+}
+
+// Elements
+daeInt daeSTLDatabase::insertElement(daeDocument* document,daeElement* element)
+{
+ insertChildren( document, element );
+
+ map<string, vector< daeElement* > >::iterator iter = elements.find( string( element->getTypeName() ) );
+ if ( iter != elements.end() )
+ {
+ (*iter).second.push_back( element );
+ }
+ else
+ {
+ vector< daeElement* > vec;
+ vec.push_back( element );
+ elements.insert( make_pair( string( element->getTypeName() ), vec ) );
+ }
+
+ // Insert into the type ID map
+ typeMap.insert(make_pair(element->typeID(), element));
+
+ //insert into IDMap if element has an ID. IDMap is used to speed up URI resolution
+ if ( element->getID() != NULL ) {
+ elementsIDMap.insert( make_pair( string( element->getID() ), element ) );
+ }
+
+ // Insert into sid map if the element has a sid
+// string sid = element->getAttribute("sid");
+// if (!sid.empty())
+// sidMap.insert(sidMapPair(sid, element));
+
+ dae.getSidRefCache().clear();
+
+ return DAE_OK;
+}
+
+daeInt daeSTLDatabase::insertChildren( daeDocument *c, daeElement *element )
+{
+ daeElementRefArray era;
+ element->getChildren( era );
+ for ( unsigned int i = 0; i < era.getCount(); i++ ) {
+ insertElement( c, era[i] );
+ }
+ return DAE_OK;
+}
+
+daeInt daeSTLDatabase::removeElement(daeDocument* document,daeElement* element)
+{
+ if ( !element ) {
+ return DAE_ERR_INVALID_CALL;
+ }
+ removeChildren( document, element );
+
+ map<string, vector< daeElement* > >::iterator iter = elements.find( string( element->getTypeName() ) );
+ if ( iter != elements.end() )
+ {
+ vector< daeElement* > &vec = (*iter).second;
+ vector< daeElement* >::iterator i = vec.begin();
+ vector< daeElement* >::iterator end = vec.end();
+ while( i != end )
+ {
+ if ( (*i) == element )
+ {
+ vec.erase( i );
+ break;
+ }
+ ++i;
+ }
+ }
+
+ typeMapRange range = typeMap.equal_range(element->typeID());
+ for (typeMapIter iter = range.first; iter != range.second; iter++) {
+ if (iter->second == element) {
+ typeMap.erase(iter);
+ break;
+ }
+ }
+
+ if ( element->getID() != NULL ) {
+ idMapRange range = elementsIDMap.equal_range( string( element->getID() ) );
+ multimap<string, daeElement* >::iterator iter = range.first;
+ while( iter != range.second ) {
+ if ( (*iter).second == element ) {
+ elementsIDMap.erase( iter );
+ break;
+ }
+ ++iter;
+ }
+ }
+
+// string sid = element->getAttribute("sid");
+// if (!sid.empty()) {
+// pair<sidMapIter, sidMapIter> range = sidMap.equal_range(sid);
+// for (sidMapIter iter = range.first; iter != range.second; iter++) {
+// if (iter->second == element) {
+// sidMap.erase(iter);
+// break;
+// }
+// }
+// }
+
+ dae.getSidRefCache().clear();
+
+ return DAE_OK;
+}
+
+daeInt daeSTLDatabase::removeChildren( daeDocument *c, daeElement *element )
+{
+ daeElementRefArray era;
+ element->getChildren( era );
+ for ( unsigned int i = 0; i < era.getCount(); i++ ) {
+ removeElement( c, era[i] );
+ }
+ return DAE_OK;
+}
+
+daeInt daeSTLDatabase::changeElementID( daeElement* element, daeString newID )
+{
+ if ( !element ) {
+ return DAE_ERR_INVALID_CALL;
+ }
+
+ // Remove the current entry in the ID map if the element has an ID
+ if ( element->getID() != NULL ) {
+ pair< multimap<string, daeElement* >::iterator, multimap<string, daeElement* >::iterator> range;
+ range = elementsIDMap.equal_range( string( element->getID() ) );
+ multimap<string, daeElement* >::iterator iter = range.first;
+ while( iter != range.second ) {
+ if ( (*iter).second == element ) {
+ elementsIDMap.erase( iter );
+ break;
+ }
+ ++iter;
+ }
+ }
+
+ // Add an entry to the ID map if the element will have an ID
+ if ( newID != NULL ) {
+ elementsIDMap.insert( make_pair( string( newID ), element ) );
+ }
+
+ dae.getSidRefCache().clear();
+
+ return DAE_OK;
+}
+
+daeInt daeSTLDatabase::changeElementSID(daeElement* element, daeString newSID) {
+ if (!element)
+ return DAE_ERR_INVALID_CALL;
+
+// // Remove the current entry in the sid map if the element has a sid
+// string sid = element->getAttribute("sid");
+// if (!sid.empty()) {
+// pair<sidMapIter, sidMapIter> range = sidMap.equal_range(sid);
+// for (sidMapIter iter = range.first; iter != range.second; iter++) {
+// if (iter->second == element) {
+// sidMap.erase(iter);
+// break;
+// }
+// }
+// }
+
+// // Add an entry to the sid map if the element will have a sid
+// if ( newSID != NULL )
+// sidMap.insert(sidMapPair(newSID, element));
+
+ dae.getSidRefCache().clear();
+
+ return DAE_OK;
+}
+
+daeInt daeSTLDatabase::clear()
+{
+ elements.clear();
+ typeMap.clear();
+ elementsIDMap.clear();
+ sidMap.clear();
+ int i;
+ for (i=0;i<(int)documents.size();i++)
+ delete documents[i];
+ documents.clear(); //this will free the daeElement
+ dae.getRawRefCache().clear();
+ dae.getSidRefCache().clear();
+ return DAE_OK;
+}
+
+daeUInt daeSTLDatabase::getElementCount(daeString name,daeString type,daeString file)
+{
+ // If none of the search keys was specified, return the total element count in the database
+ if ( !name && !type && !file )
+ {
+ daeUInt count = 0;
+ map< string, vector< daeElement*> >::iterator iter = elements.begin();
+ map< string, vector< daeElement*> >::iterator end = elements.end();
+ while( iter != end )
+ {
+ count += (daeUInt)(*iter).second.size();
+ ++iter;
+ }
+ return count;
+ }
+
+ if ( name )
+ {
+ // name specified
+ int count = 0;
+ if ( file )
+ {
+ // If a document URI was a search key (in file) resolve it to a text URI with no fragment
+ daeURI tempURI(dae, file,true);
+ daeDocument *col = getDocument( tempURI.getURI() );
+ if ( col == NULL ) {
+ return 0;
+ }
+ // a document was specified
+ pair< multimap< string, daeElement* >::iterator, multimap< string, daeElement* >::iterator > range;
+ range = elementsIDMap.equal_range( string( name ) );
+ multimap< string, daeElement* >::iterator i = range.first;
+ while ( i != range.second )
+ {
+ if ( col == (*i).second->getDocument() )
+ {
+ count++;
+ }
+ ++i;
+ }
+ return count;
+ }
+ else
+ {
+ //no file specified - just name
+ return (daeUInt)elementsIDMap.count( string( name ) );
+ }
+ }
+
+ if ( type )
+ {
+ // type specified
+ map< string, vector< daeElement*> >::iterator iter = elements.find( string( type ) );
+ if ( iter == elements.end() )
+ {
+ return 0;
+ }
+
+ int count = 0;
+ if ( file )
+ {
+ // If a document URI was a search key (in file) resolve it to a text URI with no fragment
+ daeURI tempURI(dae, file,true);
+ daeDocument *col = getDocument( tempURI.getURI() );
+ if ( col == NULL ) {
+ return 0;
+ }
+ // a document was specified
+ vector< daeElement* > &vec = (*iter).second;
+ vector< daeElement* >::iterator i = vec.begin();
+ vector< daeElement* >::iterator end = vec.end();
+ while( i != end )
+ {
+ if ( col == (*i)->getDocument() )
+ {
+ ++count;
+ }
+ ++i;
+ }
+ return count;
+ }
+ else
+ {
+ //no file specified - just type
+ return (daeUInt)(*iter).second.size();
+ }
+ }
+
+ //if you get here only a file was specified
+ daeURI tempURI(dae, file,true);
+ daeDocument *col = getDocument( tempURI.getURI() );
+ if ( col == NULL ) {
+ return 0;
+ }
+ //a document was specified
+ int count = 0;
+ map< string, vector< daeElement*> >::iterator iter = elements.begin();
+ map< string, vector< daeElement*> >::iterator end = elements.end();
+ while( iter != end )
+ {
+ vector< daeElement* > &vec = (*iter).second;
+ vector< daeElement* >::iterator i = vec.begin();
+ vector< daeElement* >::iterator end2 = vec.end();
+ while( i != end2 )
+ {
+ if( col == (*i)->getDocument() )
+ {
+ ++count;
+ }
+ ++i;
+ }
+ ++iter;
+ }
+ return count;
+
+}
+
+daeInt daeSTLDatabase::getElement(daeElement** pElement,daeInt index,daeString name,daeString type,daeString file)
+{
+ // If the index is out of range, there can be no match
+ if ( index < 0 )
+ {
+ return DAE_ERR_QUERY_NO_MATCH;
+ }
+
+ // If no name, type or file was specified we return the element at "index" - SLOW
+ if ( !name && !type && !file )
+ {
+ daeUInt count = 0;
+ map< string, vector< daeElement*> >::iterator iter = elements.begin();
+ map< string, vector< daeElement*> >::iterator end = elements.end();
+ while( iter != end )
+ {
+ count += (daeUInt)(*iter).second.size();
+ if ( (daeInt)count > index )
+ {
+ *pElement = (*iter).second[index - (count - (*iter).second.size())] ;
+ return DAE_OK;
+ }
+ ++iter;
+ }
+ return DAE_ERR_QUERY_NO_MATCH;
+ }
+
+ if ( name )
+ {
+ //name specified
+ int count = 0;
+ if ( file )
+ {
+ // If a document URI was a search key (in file) resolve it to a text URI with no fragment
+ daeURI tempURI(dae, file, true);
+ daeDocument *col = getDocument( tempURI.getURI() );
+ if ( col == NULL ) {
+ *pElement = NULL;
+ return DAE_ERR_QUERY_NO_MATCH;
+ }
+ //a document was specified
+ pair< multimap< string, daeElement* >::iterator, multimap< string, daeElement* >::iterator> range;
+ range = elementsIDMap.equal_range( string( name ) );
+ multimap< string, daeElement* >::iterator i = range.first;
+ while ( i != range.second )
+ {
+ if ( col == (*i).second->getDocument() )
+ {
+ if ( count == index )
+ {
+ *pElement = (*i).second;
+ return DAE_OK;
+ }
+ count++;
+ }
+ ++i;
+ }
+ *pElement = NULL;
+ return DAE_ERR_QUERY_NO_MATCH;
+ }
+ else
+ {
+ //no document specified
+ multimap< string, daeElement* >::iterator i = elementsIDMap.find( string( name ) );
+ if ( index > (daeInt)elementsIDMap.count( string( name ) ) || i == elementsIDMap.end() )
+ {
+ *pElement = NULL;
+ return DAE_ERR_QUERY_NO_MATCH;
+ }
+ for ( int x = 0; x < index; x++ )
+ {
+ ++i;
+ }
+ *pElement = i->second;
+ return DAE_OK;
+ }
+ }
+
+ if ( type )
+ {
+ map< string, vector< daeElement*> >::iterator iter = elements.find( string( type ) );
+ if ( iter == elements.end() )
+ {
+ *pElement = NULL;
+ return DAE_ERR_QUERY_NO_MATCH;
+ }
+ //type specified
+ int count = 0;
+ if ( file )
+ {
+ // If a document URI was a search key (in file) resolve it to a text URI with no fragment
+ daeURI tempURI(dae, file, true);
+ daeDocument *col = getDocument( tempURI.getURI() );
+ if ( col == NULL ) {
+ return DAE_ERR_QUERY_NO_MATCH;
+ }
+ //a document was specified
+ // a document was specified
+ vector< daeElement* > &vec = (*iter).second;
+ vector< daeElement* >::iterator i = vec.begin();
+ vector< daeElement* >::iterator end = vec.end();
+ while( i != end )
+ {
+ if ( col == (*i)->getDocument() )
+ {
+ if ( count == index )
+ {
+ *pElement = (*i);
+ return DAE_OK;
+ }
+ ++count;
+ }
+ ++i;
+ }
+ return DAE_ERR_QUERY_NO_MATCH;
+ }
+ else
+ {
+ //no document specified
+ if ( index >= (daeInt)(*iter).second.size() )
+ {
+ *pElement = NULL;
+ return DAE_ERR_QUERY_NO_MATCH;
+ }
+ *pElement = (*iter).second[index];
+ return DAE_OK;
+ }
+ }
+
+ //if you get here only the file was specified - SLOW
+ daeURI tempURI(dae, file, true);
+ daeDocument *col = getDocument( tempURI.getURI() );
+ if ( col == NULL ) {
+ return DAE_ERR_QUERY_NO_MATCH;
+ }
+ //a document was specified
+ int count = 0;
+ map< string, vector< daeElement*> >::iterator iter = elements.begin();
+ map< string, vector< daeElement*> >::iterator end = elements.end();
+ while( iter != end )
+ {
+ vector< daeElement* > &vec = (*iter).second;
+ vector< daeElement* >::iterator i = vec.begin();
+ vector< daeElement* >::iterator end2 = vec.end();
+ while( i != end2 )
+ {
+ if( col == (*i)->getDocument() )
+ {
+ if( count == index )
+ {
+ *pElement = (*i);
+ return DAE_OK;
+ }
+ ++count;
+ }
+ ++i;
+ }
+ ++iter;
+ }
+ return DAE_ERR_QUERY_NO_MATCH;
+
+}
+
+vector<daeElement*> daeSTLDatabase::idLookup(const string& id) {
+ vector<daeElement*> matchingElements;
+ idMapRange range = elementsIDMap.equal_range(id);
+ for (idMapIter iter = range.first; iter != range.second; iter++)
+ matchingElements.push_back(iter->second);
+ return matchingElements;
+}
+
+void daeSTLDatabase::typeLookup(daeInt typeID,
+ vector<daeElement*>& matchingElements,
+ daeDocument* doc) {
+ matchingElements.clear();
+ typeMapRange range = typeMap.equal_range(typeID);
+ for (typeMapIter iter = range.first; iter != range.second; iter++)
+ if (!doc || doc == iter->second->getDocument())
+ matchingElements.push_back(iter->second);
+}
+
+void daeSTLDatabase::sidLookup(const string& sid,
+ vector<daeElement*>& matchingElements,
+ daeDocument* doc) {
+ matchingElements.clear();
+ if (!sid.empty()) {
+ sidMapRange range = sidMap.equal_range(sid);
+ for (sidMapIter iter = range.first; iter != range.second; iter++)
+ if (!doc || doc == iter->second->getDocument())
+ matchingElements.push_back(iter->second);
+ }
+}
diff --git a/1.4.0/dom/src/modules/stdErrPlugin/stdErrPlugin.cpp b/1.4.0/dom/src/modules/stdErrPlugin/stdErrPlugin.cpp
new file mode 100644
index 0000000..c611789
--- /dev/null
+++ b/1.4.0/dom/src/modules/stdErrPlugin/stdErrPlugin.cpp
@@ -0,0 +1,30 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+
+#include <modules/stdErrPlugin.h>
+#include <stdio.h>
+
+quietErrorHandler quietErrorHandler::theInstance;
+
+stdErrPlugin::stdErrPlugin() {
+}
+
+stdErrPlugin::~stdErrPlugin() {
+}
+
+void stdErrPlugin::handleError( daeString msg ) {
+ //fprintf( stderr, "Error: %s\n", msg );
+ //fflush( stderr );
+ printf( "Error: %s\n", msg );
+}
+
+void stdErrPlugin::handleWarning( daeString msg ) {
+ //fprintf( stderr, "Warning: %s\n", msg );
+ //fflush( stderr );
+ printf( "Warning: %s\n", msg );
+}
diff --git a/1.4.0/fx/include/cfxAnnotatable.h b/1.4.0/fx/include/cfxAnnotatable.h
new file mode 100644
index 0000000..fd251d2
--- /dev/null
+++ b/1.4.0/fx/include/cfxAnnotatable.h
@@ -0,0 +1,40 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+#ifndef _CFX_ANNOTATABLE_H
+#define _CFX_ANNOTATABLE_H
+
+
+#include <string>
+#include <vector>
+
+
+class cfxAnnotateData;
+class cfxAnnotate;
+
+
+
+// cfxAnnotatable
+class cfxAnnotatable
+{
+public:
+
+ cfxAnnotatable();
+ virtual ~cfxAnnotatable();
+
+ void pushAnnotate(cfxAnnotate* annotate);
+
+ const std::vector<cfxAnnotate*> &getAnnotateArray() const;
+
+ protected:
+
+ std::vector<cfxAnnotate*> annotateArray; // min 0
+
+};
+
+
+#endif // _CFX_ANNOTATABLE_H
diff --git a/1.4.0/fx/include/cfxAnnotate.h b/1.4.0/fx/include/cfxAnnotate.h
new file mode 100644
index 0000000..e037df8
--- /dev/null
+++ b/1.4.0/fx/include/cfxAnnotate.h
@@ -0,0 +1,59 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+#ifndef _CFX_ANNOTATE_H
+#define _CFX_ANNOTATE_H
+
+
+#include <string>
+
+//#ifndef _LIB
+#include <Cg/cg.h>
+//#else
+//#include <cfxNoCg.h>
+//#endif
+
+
+class cfxData;
+class cfxEffect;
+class cfxParam;
+class cfxPass;
+class cfxTechnique;
+class cfxShader;
+
+
+// cfxAnnotate
+class cfxAnnotate
+{
+public:
+
+ cfxAnnotate(cfxData* _data, const std::string& _name);
+ virtual ~cfxAnnotate();
+
+ virtual bool apply(const cfxEffect* effect);
+ virtual bool apply(const cfxParam* param);
+ virtual bool apply(const cfxPass* pass);
+ virtual bool apply(const cfxTechnique* technique);
+ virtual bool apply(const cfxShader* shader);
+
+ CGannotation getAnnotation() const;
+
+ const cfxData *getData() const;
+ const std::string &getName() const;
+
+protected:
+
+ cfxData* data;
+
+ std::string name;
+
+ CGannotation annotation;
+
+};
+
+
+#endif // _CFX_ANNOTATE_H
diff --git a/1.4.0/fx/include/cfxBinaryUtil.h b/1.4.0/fx/include/cfxBinaryUtil.h
new file mode 100644
index 0000000..e6eeeaa
--- /dev/null
+++ b/1.4.0/fx/include/cfxBinaryUtil.h
@@ -0,0 +1,104 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+#ifndef _CFX_BINARYUTIL_H
+#define _CFX_BINARYUTIL_H
+
+#include <vector>
+#include <string>
+#include <map>
+
+#include <cfxTypes.h>
+
+//#ifndef _LIB
+#include <Cg/cg.h>
+//#else
+//#include <cfxNoCg.h>
+//#endif
+
+class cfxEffect;
+class cfxAnnotate;
+class cfxParam;
+class cfxTechnique;
+class cfxData;
+class cfxPass;
+class cfxShader;
+class cfxGlPipelineSetting;
+class cfxGlSamplerSetting;
+class cfxMaterial;
+
+class cfxBinaryUtil {
+
+public:
+ static cfxBool load(const std::string& file, std::map<std::string, cfxMaterial*>& materials,
+ std::map<std::string, cfxEffect*>& effects, CGcontext _context = NULL );
+ static cfxBool save(const std::string& file, const std::map<std::string, cfxMaterial*>& materials,
+ const std::map<std::string, cfxEffect*>& effects, cfxBool replace = false );
+
+ static void setRemotePath( const std::string &path );
+
+private: // IO utility functions
+ // reads character by character into str until a null character is reached.
+ static size_t readString( std::string &str, FILE *input );
+ // reads bools and does endian-ness conversion if needed
+ static size_t readBool( cfxBool *buf, size_t count, FILE *input );
+ // reads ints and does endian-ness conversion if needed
+ static size_t readInt( cfxInt *buf, size_t count, FILE *input );
+ // reads floats and does endian-ness conversion if needed
+ static size_t readFloat( cfxFloat *buf, size_t count, FILE *input );
+ static size_t readToken( short &token, FILE *input);
+
+ static size_t writeString( const std::string &str, FILE *out );
+ // writes ints and does endian-ness conversion if needed
+ static size_t writeBool( const cfxBool *buf, size_t count, FILE *out );
+ // writes ints and does endian-ness conversion if needed
+ static size_t writeInt( const cfxInt *buf, size_t count, FILE *out );
+ // writes floats and does endian-ness conversion if needed
+ static size_t writeFloat( const cfxFloat *buf, size_t count, FILE *out );
+ static size_t writeToken( short token, FILE *out );
+
+ static void endianSwap( short *s );
+ static void endianSwap( cfxInt *i );
+ static void endianSwap( cfxFloat *f );
+
+ static std::string makeRelativePath( const std::string &path, const std::string &relTo );
+
+private: //read functionality
+ static cfxBool loadFileHeader( FILE *input );
+ static cfxEffect *readEffect( FILE *input, CGcontext _context );
+ static cfxAnnotate *readAnnotate( FILE *input, size_t &size, cfxEffect *effect );
+ static cfxParam *readParam( short token, FILE *input, size_t &size, void *other = NULL );
+ //data should be NULL pointer
+ static size_t readTypedData( cfxData **data, FILE *input, cfxEffect *effect );
+ static cfxTechnique *readTechnique( cfxEffect *effect, FILE *input, size_t &size );
+ static cfxPass *readPass( cfxTechnique *teq, FILE *input, size_t &size );
+ static cfxShader *readShader( cfxPass *pass, FILE *input, size_t &size );
+ static cfxGlPipelineSetting *readGlSetting( cfxPass *pass, FILE *input, size_t &size );
+ static cfxGlSamplerSetting *readSamplerSetting( cfxEffect *effect, FILE *input, size_t &size );
+
+ static cfxMaterial *readMaterial( FILE *input, CGcontext _context, const std::map<std::string, cfxEffect*> *effects = NULL );
+
+private: //write functionality
+ static void writeFileHeader( FILE *out );
+ static void writeEffect( const cfxEffect *effect, FILE *out );
+ static size_t writeAnnotate( const cfxAnnotate *an, FILE *out );
+ static size_t writeParam( const cfxParam *p, FILE *out );
+ static size_t writeTypedData( const cfxData *data, FILE *out );
+ static size_t writeTechnique( const cfxTechnique *teq, FILE *out );
+ static size_t writePass( const cfxPass *pass, FILE *out );
+ static size_t writeShader( const cfxShader *shader, FILE *out );
+ static size_t writeGLSetting( const cfxGlPipelineSetting *s, FILE *out );
+ static size_t writeSamplerSetting( const cfxGlSamplerSetting *s, FILE *out );
+
+ static void writeMaterial( const cfxMaterial *material, FILE *out );
+
+private: //variables
+ static std::string fileName; //Used upon save for creating a relative path for the includes.
+ static std::string remotePath; //The path to prepend for the shaders paths
+};
+
+#endif
diff --git a/1.4.0/fx/include/cfxBindParam.h b/1.4.0/fx/include/cfxBindParam.h
new file mode 100644
index 0000000..a1d925b
--- /dev/null
+++ b/1.4.0/fx/include/cfxBindParam.h
@@ -0,0 +1,41 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+#ifndef _CFX_BINDPARAM_H
+#define _CFX_BINDPARAM_H
+
+#include <string>
+
+#include <cfxParam.h>
+
+class cfxShader;
+class cfxData;
+
+
+// cfxBindParam
+class cfxBindParam : public cfxParam
+{
+public:
+
+ cfxBindParam(const std::string& _name, cfxShader* _shader, cfxData* _data);
+
+ bool apply();
+ bool validate() const;
+
+ virtual cfxParam::cfxParamTypeEnum getType() const;
+ const cfxData *getData() const;
+
+protected:
+
+ cfxShader* shader;
+ cfxData* data;
+
+};
+
+
+
+#endif // _CFX_BINDPARAM_H
diff --git a/1.4.0/fx/include/cfxCode.h b/1.4.0/fx/include/cfxCode.h
new file mode 100644
index 0000000..2693b53
--- /dev/null
+++ b/1.4.0/fx/include/cfxCode.h
@@ -0,0 +1,41 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+#ifndef _CFX_CODE_H
+#define _CFX_CODE_H
+
+#include <string>
+
+class cfxEffect;
+
+// cfxCode
+class cfxCode
+{
+public:
+
+ cfxCode(cfxEffect* _effect, const std::string& _name,
+ const std::string& _profile, const std::string& _code);
+ ~cfxCode() {};
+
+ bool apply();
+ bool validate() const;
+
+
+private:
+
+ cfxEffect* effect;
+
+ std::string name;
+ std::string profile;
+ std::string code;
+
+ //CGprogram program;
+};
+
+
+
+#endif // _CFX_CODE_H
diff --git a/1.4.0/fx/include/cfxConnectParam.h b/1.4.0/fx/include/cfxConnectParam.h
new file mode 100644
index 0000000..699c5e9
--- /dev/null
+++ b/1.4.0/fx/include/cfxConnectParam.h
@@ -0,0 +1,49 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+#ifndef _CFX_CONNECTPARAM_H
+#define _CFX_CONNECTPARAM_H
+
+#include <string>
+
+//#ifndef _LIB
+#include <Cg/cg.h>
+//#else
+//#include <cfxNoCg.h>
+//#endif
+
+#include <cfxParam.h>
+
+class cfxShader;
+
+// cfxConnectParam
+class cfxConnectParam : public cfxParam
+{
+public:
+
+ cfxConnectParam(const std::string& _name, cfxShader* _shader,
+ const std::string& _fromName);
+
+ bool apply();
+ bool validate() const;
+
+ virtual cfxParam::cfxParamTypeEnum getType() const;
+ const std::string &getFromName() const;
+
+
+private:
+
+ cfxShader* shader;
+
+ std::string fromName;
+
+ CGparameter fromParameter;
+};
+
+
+
+#endif // _CFX_CONNECTPARAM_H
diff --git a/1.4.0/fx/include/cfxData.h b/1.4.0/fx/include/cfxData.h
new file mode 100644
index 0000000..85839d7
--- /dev/null
+++ b/1.4.0/fx/include/cfxData.h
@@ -0,0 +1,447 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+#ifndef _CFX_DATA_H
+#define _CFX_DATA_H
+
+#include <cfxTypes.h>
+#include <string>
+
+//#ifndef _LIB
+#include <Cg/cg.h>
+//#else
+//#include <cfxNoCg.h>
+//#endif
+
+class cfxParam;
+class cfxAnnotate;
+class cfxSampler;
+
+// cfxData
+class cfxData
+{
+ public:
+
+ virtual ~cfxData() {}
+
+ virtual CGtype getType() const = 0;
+ virtual bool apply(cfxParam* param);
+ virtual bool apply(cfxAnnotate* annotate);
+};
+
+
+// cfxDataBool
+class cfxDataBool : public cfxData
+{
+ public:
+ cfxDataBool(const cfxBool& _data);
+
+ virtual CGtype getType() const;
+ virtual bool apply(cfxParam* param);
+ virtual bool apply(cfxAnnotate* annotate);
+
+ const cfxBool &getData() const;
+
+ protected:
+
+ cfxBool data;
+};
+
+
+// cfxDataBool1
+class cfxDataBool1 : public cfxData
+{
+ public:
+ cfxDataBool1(const cfxBool1& _data);
+
+ virtual CGtype getType() const;
+ virtual bool apply(cfxParam* param);
+ virtual bool apply(cfxAnnotate* annotate);
+
+ const cfxBool1 &getData() const;
+
+ protected:
+
+ cfxBool1 data;
+};
+
+
+// cfxDataBool2
+class cfxDataBool2 : public cfxData
+{
+ public:
+ cfxDataBool2(const cfxBool2& _data);
+
+ virtual CGtype getType() const;
+ virtual bool apply(cfxParam* param);
+ virtual bool apply(cfxAnnotate* annotate);
+
+ const cfxBool2 &getData() const;
+
+ protected:
+
+ cfxBool2 data;
+};
+
+
+// cfxDataBool3
+class cfxDataBool3 : public cfxData
+{
+ public:
+ cfxDataBool3(const cfxBool3& _data);
+
+ virtual CGtype getType() const;
+ virtual bool apply(cfxParam* param);
+ virtual bool apply(cfxAnnotate* annotate);
+
+ const cfxBool3 &getData() const;
+
+ protected:
+
+ cfxBool3 data;
+};
+
+
+// cfxDataBool4
+class cfxDataBool4 : public cfxData
+{
+ public:
+ cfxDataBool4(const cfxBool4& _data);
+
+ virtual CGtype getType() const;
+ virtual bool apply(cfxParam* param);
+ virtual bool apply(cfxAnnotate* annotate);
+
+ const cfxBool4 &getData() const;
+
+ protected:
+
+ cfxBool4 data;
+};
+
+
+// cfxDataInt
+class cfxDataInt : public cfxData
+{
+ public:
+ cfxDataInt(const cfxInt& _data);
+
+ virtual CGtype getType() const;
+ virtual bool apply(cfxParam* param);
+ virtual bool apply(cfxAnnotate* annotate);
+
+ const cfxInt &getData() const;
+
+ protected:
+
+ cfxInt data;
+};
+
+
+// cfxDataInt1
+class cfxDataInt1 : public cfxData
+{
+ public:
+ cfxDataInt1(const cfxInt1& _data);
+
+ virtual CGtype getType() const;
+ virtual bool apply(cfxParam* param);
+ virtual bool apply(cfxAnnotate* annotate);
+
+ const cfxInt1 &getData() const;
+
+ protected:
+
+ cfxInt1 data;
+};
+
+
+// cfxDataInt2
+class cfxDataInt2 : public cfxData
+{
+ public:
+ cfxDataInt2(const cfxInt2& _data);
+
+ virtual CGtype getType() const;
+ virtual bool apply(cfxParam* param);
+ virtual bool apply(cfxAnnotate* annotate);
+
+ const cfxInt2 &getData() const;
+
+ protected:
+
+ cfxInt2 data;
+};
+
+
+// cfxDataInt3
+class cfxDataInt3 : public cfxData
+{
+ public:
+ cfxDataInt3(const cfxInt3& _data);
+
+ virtual CGtype getType() const;
+ virtual bool apply(cfxParam* param);
+ virtual bool apply(cfxAnnotate* annotate);
+
+ const cfxInt3 &getData() const;
+
+ protected:
+
+ cfxInt3 data;
+};
+
+
+// cfxDataInt4
+class cfxDataInt4 : public cfxData
+{
+ public:
+ cfxDataInt4(const cfxInt4& _data);
+
+ virtual CGtype getType() const;
+ virtual bool apply(cfxParam* param);
+ virtual bool apply(cfxAnnotate* annotate);
+
+ const cfxInt4 &getData() const;
+
+ protected:
+
+ cfxInt4 data;
+};
+
+
+// cfxDataFloat
+class cfxDataFloat : public cfxData
+{
+ public:
+ cfxDataFloat(const cfxFloat& _data);
+
+ virtual CGtype getType() const;
+ virtual bool apply(cfxParam* param);
+ virtual bool apply(cfxAnnotate* annotate);
+
+ const cfxFloat &getData() const;
+
+ protected:
+
+ cfxFloat data;
+};
+
+
+// cfxDataFloat1
+class cfxDataFloat1 : public cfxData
+{
+ public:
+ cfxDataFloat1(const cfxFloat1& _data);
+
+ virtual CGtype getType() const;
+ virtual bool apply(cfxParam* param);
+ virtual bool apply(cfxAnnotate* annotate);
+
+ const cfxFloat1 &getData() const;
+
+ protected:
+
+ cfxFloat1 data;
+};
+
+
+// cfxDataFloat2
+class cfxDataFloat2 : public cfxData
+{
+ public:
+ cfxDataFloat2(const cfxFloat2& _data);
+
+ virtual CGtype getType() const;
+ virtual bool apply(cfxParam* param);
+ virtual bool apply(cfxAnnotate* annotate);
+
+ const cfxFloat2 &getData() const;
+
+ protected:
+
+ cfxFloat2 data;
+};
+
+
+// cfxDataFloat3
+class cfxDataFloat3 : public cfxData
+{
+ public:
+ cfxDataFloat3(const cfxFloat3& _data);
+
+ virtual CGtype getType() const;
+ virtual bool apply(cfxParam* param);
+ virtual bool apply(cfxAnnotate* annotate);
+
+ const cfxFloat3 &getData() const;
+
+ protected:
+
+ cfxFloat3 data;
+};
+
+
+// cfxDataFloat4
+class cfxDataFloat4 : public cfxData
+{
+ public:
+ cfxDataFloat4(const cfxFloat4& _data);
+
+ virtual CGtype getType() const;
+ virtual bool apply(cfxParam* param);
+ virtual bool apply(cfxAnnotate* annotate);
+
+ const cfxFloat4 &getData() const;
+
+ protected:
+
+ cfxFloat4 data;
+};
+
+
+// cfxDataFloat2x2
+class cfxDataFloat2x2 : public cfxData
+{
+ public:
+ cfxDataFloat2x2(const cfxFloat2x2& _data);
+
+ virtual CGtype getType() const;
+ virtual bool apply(cfxParam* param);
+ virtual bool apply(cfxAnnotate* annotate);
+
+ const cfxFloat2x2 &getData() const;
+
+ protected:
+
+ cfxFloat2x2 data;
+};
+
+
+// cfxDataFloat3x3
+class cfxDataFloat3x3 : public cfxData
+{
+ public:
+ cfxDataFloat3x3(const cfxFloat3x3& _data);
+
+ virtual CGtype getType() const;
+ virtual bool apply(cfxParam* param);
+ virtual bool apply(cfxAnnotate* annotate);
+
+ const cfxFloat3x3 &getData() const;
+
+ protected:
+
+ cfxFloat3x3 data;
+};
+
+
+// cfxDataFloat4x4
+class cfxDataFloat4x4 : public cfxData
+{
+ public:
+ cfxDataFloat4x4(const cfxFloat4x4& _data);
+
+ virtual CGtype getType() const;
+ virtual bool apply(cfxParam* param);
+ virtual bool apply(cfxAnnotate* annotate);
+
+ const cfxFloat4x4 &getData() const;
+
+ protected:
+
+ cfxFloat4x4 data;
+};
+
+
+// cfxDataSampler1D
+class cfxDataSampler1D : public cfxData
+{
+ public:
+ cfxDataSampler1D(cfxSampler* _data);
+
+ virtual CGtype getType() const;
+ virtual bool apply(cfxParam* param);
+
+ const cfxSampler *getData() const;
+
+ protected:
+
+ cfxSampler* data;
+};
+
+
+// cfxDataSampler2D
+class cfxDataSampler2D : public cfxData
+{
+ public:
+ cfxDataSampler2D(cfxSampler* _data);
+ ~cfxDataSampler2D();
+ virtual CGtype getType() const;
+ virtual bool apply(cfxParam* param);
+
+ const cfxSampler *getData() const;
+
+ protected:
+
+ cfxSampler* data;
+};
+
+
+// cfxDataSampler3D
+class cfxDataSampler3D : public cfxData
+{
+ public:
+ cfxDataSampler3D(cfxSampler* _data);
+
+ virtual CGtype getType() const;
+ virtual bool apply(cfxParam* param);
+
+ const cfxSampler *getData() const;
+
+ protected:
+
+ cfxSampler* data;
+};
+
+
+// cfxDataSamplerCUBE
+class cfxDataSamplerCUBE : public cfxData
+{
+ public:
+ cfxDataSamplerCUBE(cfxSampler* _data);
+
+ virtual CGtype getType() const;
+ virtual bool apply(cfxParam* param);
+
+ const cfxSampler *getData() const;
+
+ protected:
+
+ cfxSampler* data;
+};
+
+
+// cfxDataString
+class cfxDataString : public cfxData
+{
+ public:
+ cfxDataString(const std::string& _data);
+
+ virtual CGtype getType() const;
+ virtual bool apply(cfxAnnotate* annotate);
+
+ const std::string &getData() const;
+
+ protected:
+
+ std::string data;
+};
+
+
+
+#endif // _CFX_DATA_H
diff --git a/1.4.0/fx/include/cfxDataMaker.h b/1.4.0/fx/include/cfxDataMaker.h
new file mode 100644
index 0000000..e887cc1
--- /dev/null
+++ b/1.4.0/fx/include/cfxDataMaker.h
@@ -0,0 +1,300 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+#ifndef _CFX_DATAMAKER_H
+#define _CFX_DATAMAKER_H
+
+
+#include <map>
+#include <string>
+
+#include <cfxTypes.h>
+#include <cfxSampler.h>
+
+class cfxData;
+class domFx_basic_type_common;
+class domCg_param_type;
+class domFx_annotate_type_common;
+
+
+// the data maker ends up needing to know about the effect
+// because samplers (which are just data) need the effect for context
+class cfxEffect;
+
+// cfxDataMaker
+class cfxDataMaker
+{
+ protected:
+
+ virtual cfxData* makeData(domFx_basic_type_common* paramInitializer, cfxEffect* effect);
+ virtual cfxData* makeData(domCg_param_type* paramInitializer, cfxEffect* effect);
+ virtual cfxData* makeData(domFx_annotate_type_common* annotateInitializer, cfxEffect* effect);
+
+ static std::map<std::string, cfxDataMaker*> mapTypeNameToDataMaker;
+
+ public:
+
+ virtual ~cfxDataMaker(){}
+ static cfxData* makeDataForParam(domFx_basic_type_common* paramInitializer, cfxEffect*);
+ static cfxData* makeDataForParam(domCg_param_type* paramInitializer, cfxEffect*);
+ static cfxData* makeDataForAnnotate(domFx_annotate_type_common* annotateInitializer, cfxEffect*);
+ cfxSampler* sampler;
+};
+
+
+// BASIC DATA MAKERS
+
+// cfxDataMakerBool
+class cfxDataMakerBool : public cfxDataMaker
+{
+ protected:
+ cfxDataMakerBool();
+ static cfxDataMakerBool maker;
+
+ virtual cfxData* makeData(domFx_basic_type_common* paramInitializer, cfxEffect*);
+ virtual cfxData* makeData(domFx_annotate_type_common* annotateInitializer, cfxEffect*);
+};
+
+
+// cfxDataMakerBool1
+class cfxDataMakerBool1 : public cfxDataMaker
+{
+ protected:
+ cfxDataMakerBool1();
+ static cfxDataMakerBool1 maker;
+
+ virtual cfxData* makeData(domFx_basic_type_common* paramInitializer, cfxEffect*);
+ virtual cfxData* makeData(domFx_annotate_type_common* annotateInitializer, cfxEffect*);
+};
+
+
+// cfxDataMakerBool2
+class cfxDataMakerBool2 : public cfxDataMaker
+{
+ protected:
+ cfxDataMakerBool2();
+ static cfxDataMakerBool2 maker;
+
+ virtual cfxData* makeData(domFx_basic_type_common* paramInitializer, cfxEffect*);
+ virtual cfxData* makeData(domFx_annotate_type_common* annotateInitializer, cfxEffect*);
+};
+
+
+// cfxDataMakerBool3
+class cfxDataMakerBool3 : public cfxDataMaker
+{
+ protected:
+ cfxDataMakerBool3();
+ static cfxDataMakerBool3 maker;
+
+ virtual cfxData* makeData(domFx_basic_type_common* paramInitializer, cfxEffect*);
+ virtual cfxData* makeData(domFx_annotate_type_common* annotateInitializer, cfxEffect*);
+};
+
+
+// cfxDataMakerBool4
+class cfxDataMakerBool4 : public cfxDataMaker
+{
+ protected:
+ cfxDataMakerBool4();
+ static cfxDataMakerBool4 maker;
+
+ virtual cfxData* makeData(domFx_basic_type_common* paramInitializer, cfxEffect*);
+ virtual cfxData* makeData(domFx_annotate_type_common* annotateInitializer, cfxEffect*);
+};
+
+
+// cfxDataMakerInt
+class cfxDataMakerInt : public cfxDataMaker
+{
+ protected:
+ cfxDataMakerInt();
+ static cfxDataMakerInt maker;
+
+ virtual cfxData* makeData(domFx_basic_type_common* paramInitializer, cfxEffect*);
+ virtual cfxData* makeData(domFx_annotate_type_common* annotateInitializer, cfxEffect*);
+};
+
+
+// cfxDataMakerInt1
+class cfxDataMakerInt1 : public cfxDataMaker
+{
+ protected:
+ cfxDataMakerInt1();
+ static cfxDataMakerInt1 maker;
+
+ virtual cfxData* makeData(domFx_basic_type_common* paramInitializer, cfxEffect*);
+ virtual cfxData* makeData(domFx_annotate_type_common* annotateInitializer, cfxEffect*);
+};
+
+
+// cfxDataMakerInt2
+class cfxDataMakerInt2 : public cfxDataMaker
+{
+ protected:
+ cfxDataMakerInt2();
+ static cfxDataMakerInt2 maker;
+
+ virtual cfxData* makeData(domFx_basic_type_common* paramInitializer, cfxEffect*);
+ virtual cfxData* makeData(domFx_annotate_type_common* annotateInitializer, cfxEffect*);
+};
+
+
+// cfxDataMakerInt3
+class cfxDataMakerInt3 : public cfxDataMaker
+{
+ protected:
+ cfxDataMakerInt3();
+ static cfxDataMakerInt3 maker;
+
+ virtual cfxData* makeData(domFx_basic_type_common* paramInitializer, cfxEffect*);
+ virtual cfxData* makeData(domFx_annotate_type_common* annotateInitializer, cfxEffect*);
+};
+
+
+// cfxDataMakerInt4
+class cfxDataMakerInt4 : public cfxDataMaker
+{
+ protected:
+ cfxDataMakerInt4();
+ static cfxDataMakerInt4 maker;
+
+ virtual cfxData* makeData(domFx_basic_type_common* paramInitializer, cfxEffect*);
+ virtual cfxData* makeData(domFx_annotate_type_common* annotateInitializer, cfxEffect*);
+};
+
+
+// cfxDataMakerFloat
+class cfxDataMakerFloat : public cfxDataMaker
+{
+ protected:
+ cfxDataMakerFloat();
+ static cfxDataMakerFloat maker;
+
+ virtual cfxData* makeData(domFx_basic_type_common* paramInitializer, cfxEffect*);
+ virtual cfxData* makeData(domCg_param_type* paramInitializer, cfxEffect*);
+ virtual cfxData* makeData(domFx_annotate_type_common* annotateInitializer, cfxEffect*);
+};
+
+
+// cfxDataMakerFloat1
+class cfxDataMakerFloat1 : public cfxDataMaker
+{
+ protected:
+ cfxDataMakerFloat1();
+ static cfxDataMakerFloat1 maker;
+
+ virtual cfxData* makeData(domFx_basic_type_common* paramInitializer, cfxEffect*);
+ virtual cfxData* makeData(domFx_annotate_type_common* annotateInitializer, cfxEffect*);
+};
+
+
+// cfxDataMakerFloat2
+class cfxDataMakerFloat2 : public cfxDataMaker
+{
+ protected:
+ cfxDataMakerFloat2();
+ static cfxDataMakerFloat2 maker;
+
+ virtual cfxData* makeData(domFx_basic_type_common* paramInitializer, cfxEffect*);
+ virtual cfxData* makeData(domCg_param_type* paramInitializer, cfxEffect*);
+ virtual cfxData* makeData(domFx_annotate_type_common* annotateInitializer, cfxEffect*);
+};
+
+
+// cfxDataMakerFloat3
+class cfxDataMakerFloat3 : public cfxDataMaker
+{
+ protected:
+ cfxDataMakerFloat3();
+ static cfxDataMakerFloat3 maker;
+
+ virtual cfxData* makeData(domFx_basic_type_common* paramInitializer, cfxEffect*);
+ virtual cfxData* makeData(domCg_param_type* paramInitializer, cfxEffect*);
+ virtual cfxData* makeData(domFx_annotate_type_common* annotateInitializer, cfxEffect*);
+};
+
+
+// cfxDataMakerFloat4
+class cfxDataMakerFloat4 : public cfxDataMaker
+{
+ protected:
+ cfxDataMakerFloat4();
+ static cfxDataMakerFloat4 maker;
+
+ virtual cfxData* makeData(domFx_basic_type_common* paramInitializer, cfxEffect*);
+ virtual cfxData* makeData(domCg_param_type* paramInitializer, cfxEffect*);
+ virtual cfxData* makeData(domFx_annotate_type_common* annotateInitializer, cfxEffect*);
+};
+
+
+// cfxDataMakerFloat2x2
+class cfxDataMakerFloat2x2 : public cfxDataMaker
+{
+ protected:
+ cfxDataMakerFloat2x2();
+ static cfxDataMakerFloat2x2 maker;
+
+ virtual cfxData* makeData(domFx_basic_type_common* paramInitializer, cfxEffect*);
+ virtual cfxData* makeData(domFx_annotate_type_common* annotateInitializer, cfxEffect*);
+};
+
+
+// cfxDataMakerFloat3x3
+class cfxDataMakerFloat3x3 : public cfxDataMaker
+{
+ protected:
+ cfxDataMakerFloat3x3();
+ static cfxDataMakerFloat3x3 maker;
+
+ virtual cfxData* makeData(domFx_basic_type_common* paramInitializer, cfxEffect*);
+ virtual cfxData* makeData(domFx_annotate_type_common* annotateInitializer, cfxEffect*);
+};
+
+
+// cfxDataMakerFloat4x4
+class cfxDataMakerFloat4x4 : public cfxDataMaker
+{
+ protected:
+ cfxDataMakerFloat4x4();
+ static cfxDataMakerFloat4x4 maker;
+
+ virtual cfxData* makeData(domFx_basic_type_common* paramInitializer, cfxEffect*);
+ virtual cfxData* makeData(domCg_param_type* paramInitializer, cfxEffect*);
+ virtual cfxData* makeData(domFx_annotate_type_common* annotateInitializer, cfxEffect*);
+};
+
+
+// PARAM DATA MAKERS
+
+
+// cfxDataMakerSampler2D
+class cfxDataMakerSampler2D : public cfxDataMaker
+{
+ protected:
+ cfxDataMakerSampler2D();
+ static cfxDataMakerSampler2D maker;
+
+ virtual cfxData* makeData(domFx_basic_type_common* paramInitializer, cfxEffect*);
+ virtual cfxData* makeData(domCg_param_type* paramInitializer, cfxEffect*);
+};
+
+
+// ANNOTATE DATA MAKERS
+
+// cfxDataMakerString
+class cfxDataMakerString : public cfxDataMaker
+{
+ protected:
+ cfxDataMakerString();
+ static cfxDataMakerString maker;
+
+ virtual cfxData* makeData(domFx_annotate_type_common* annotateInitializer, cfxEffect*);
+};
+
+
+#endif // _CFX_DATAMAKER_H
diff --git a/1.4.0/fx/include/cfxEffect.h b/1.4.0/fx/include/cfxEffect.h
new file mode 100644
index 0000000..3becf19
--- /dev/null
+++ b/1.4.0/fx/include/cfxEffect.h
@@ -0,0 +1,88 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+#ifndef _CFX_EFFECT_H
+#define _CFX_EFFECT_H
+
+//#ifndef _LIB
+#include <Cg/cg.h>
+//#else
+//#include <cfxNoCg.h>
+//#endif
+//#if defined(_POSIX_)
+
+//include <GL/gl.h>
+//#endif
+
+#include <string>
+#include <map>
+#include "cfxTypes.h"
+#include "cfxAnnotatable.h"
+#include "cfxParamable.h"
+#include "cfxSurface.h"
+#include "cfxCode.h"
+#include "cfxTechnique.h"
+
+// cfxEffect
+class cfxEffect : public cfxAnnotatable, public cfxParamable
+{
+public:
+
+ cfxEffect(const std::string& _name, CGcontext _context);
+ ~cfxEffect();
+
+ cfxBool apply();
+ cfxBool validate() const;
+ CGcontext getContext() const;
+ CGeffect getEffect() const;
+ const std::string& getName() const;
+
+ void pushCode(cfxCode* code);
+ void pushTechnique(cfxTechnique* technique);
+
+ void setPassState(unsigned int techniqueIndex, unsigned int passIndex);
+ void resetPassState(unsigned int techniqueIndex, unsigned int passIndex);
+ unsigned int getTechniqueCount();
+ unsigned int getPassCount(unsigned int techniqueIndex);
+
+ // this is temporary until cg api gets upgraded to set effect parameter names
+ void addNamedParameter(const std::string& name, CGparameter param);
+ CGparameter getParameterByName(const std::string& name);
+
+ void addNamedSurface(const std::string& name, cfxSurface* surface);
+ cfxSurface* getSurfaceByName(const std::string& name);
+ std::string getSurfaceName( const cfxSurface *surface );
+
+ // this is temporary until cg api gets upgraded to set parameter semantics
+ void addSemanticParameter(const std::string& semantic, CGparameter param);
+ CGparameter getParameterBySemantic(const std::string& semantic);
+
+ const std::vector<cfxTechnique*> &getTechniqueArray() const;
+
+ const std::map<std::string, cfxSurface*> &getSurfaceMap() const;
+
+private:
+
+ std::vector<cfxCode*> codeArray; // min 0
+ std::vector<cfxTechnique*> techniqueArray; // min 1
+
+ std::string name;
+
+ CGcontext context;
+ CGeffect effect;
+
+ // this is temporary until cg api gets upgraded to set effect parameter names
+ std::map<std::string, CGparameter> mapNameToParameter;
+ std::map<std::string, cfxSurface*> mapNameToSurfacePtr;
+ // and semantics !?!
+ std::map<std::string, CGparameter> mapSemanticToParameter;
+
+};
+
+
+#endif // _CFX_EFFECT_H
+
diff --git a/1.4.0/fx/include/cfxError.h b/1.4.0/fx/include/cfxError.h
new file mode 100644
index 0000000..c9503f6
--- /dev/null
+++ b/1.4.0/fx/include/cfxError.h
@@ -0,0 +1,27 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+#ifndef _CFX_ERROR_H
+#define _CFX_ERROR_H
+
+//#ifndef _LIB
+#include <Cg/cg.h>
+//#else
+//#include <cfxNoCg.h>
+//#endif
+
+// this is used to set the cg error callback
+// it will print the string if there is an error
+// it will assert if there is an error in a non release build
+void cfxCgErrorCallback();
+
+// this is not needed (or useful in any way) when using the error callback
+CGerror cfxCheckCgError();
+
+
+#endif // _CFX_ERROR_H
+
diff --git a/1.4.0/fx/include/cfxGlEnumMaps.h b/1.4.0/fx/include/cfxGlEnumMaps.h
new file mode 100644
index 0000000..34882e7
--- /dev/null
+++ b/1.4.0/fx/include/cfxGlEnumMaps.h
@@ -0,0 +1,60 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+#ifndef _CFX_GLENUMMAPS_H
+#define _CFX_GLENUMMAPS_H
+
+#include <dom/domTypes.h>
+#include <dom/domGl_pipeline_settings.h>
+
+class cfxGlEnumMaps
+{
+ public:
+
+ static int getBlendTypeEnum(int domEnum);
+ static int getFaceTypeEnum(int domEnum);
+ static int getBlendEquationTypeEnum(int domEnum);
+ static int getFuncTypeEnum(int domEnum);
+ static int getStencilOpTypeEnum(int domEnum);
+
+ static int getModeTypeEnum(int domEnum);
+ static int getFogModeTypeEnum(int domEnum);
+
+ static int getSamplerWrapTypeEnum(int domEnum);
+ static int getSamplerFilterTypeEnum(int domEnum);
+
+ protected:
+
+
+ cfxGlEnumMaps();
+
+ // no longer need to map gl types as the dom has the right values
+#if 0
+ static int blendTypeEnums[GL_BLEND_TYPE_COUNT];
+ static int faceTypeEnums[GL_FACE_TYPE_COUNT];
+ static int blendEquationTypeEnums[GL_BLEND_EQUATION_TYPE_COUNT];
+ static int funcTypeEnums[GL_FUNC_TYPE_COUNT];
+ static int stencilOpTypeEnums[GL_STENCIL_OP_TYPE_COUNT];
+
+ static int modeTypeEnums[GL_MATERIAL_TYPE_COUNT];
+ static int fogModeTypeEnums[GL_FOG_TYPE_COUNT];
+#endif
+
+ // fx types need mapping to gl because the dom uses its own internal values
+ static int samplerWrapTypeEnums[FX_SAMPLER_WRAP_COMMON_COUNT];
+ static int samplerFilterTypeEnums[FX_SAMPLER_FILTER_COMMON_COUNT];
+
+
+ static bool initialized;
+
+ static cfxGlEnumMaps initializer;
+};
+
+
+
+#endif // _CFX_GLENUMMAPS_H
+
diff --git a/1.4.0/fx/include/cfxGlPipelineSetting.h b/1.4.0/fx/include/cfxGlPipelineSetting.h
new file mode 100644
index 0000000..4371f48
--- /dev/null
+++ b/1.4.0/fx/include/cfxGlPipelineSetting.h
@@ -0,0 +1,1545 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+#ifndef _CFX_GLPIPELINESETTING_H
+#define _CFX_GLPIPELINESETTING_H
+
+//#ifndef _LIB
+#include <Cg/cg.h>
+//#else
+//#include <cfxNoCg.h>
+//#endif
+
+#include <cfxTypes.h>
+
+class cfxPass;
+class cfxSampler;
+
+// cfxGlPipelineSetting
+class cfxGlPipelineSetting
+{
+public:
+ enum type_enum {
+ ALPHA_FUNC,
+ BLEND_FUNC,
+ BLEND_FUNC_SEPARATE,
+ BLEND_EQUATION,
+ BLEND_EQUATION_SEPARATE,
+ BLEND_COLOR,
+ CLEAR_COLOR,
+ CLEAR_STENCIL,
+ CLEAR_DEPTH,
+ CLIP_PLANE,
+ COLOR_MASK,
+ COLOR_MATERIAL,
+ CULL_FACE,
+ DEPTH_FUNC,
+ DEPTH_MASK,
+ DEPTH_RANGE,
+ FOG_MODE,
+ FOG_DENSITY,
+ FOG_START,
+ FOG_END,
+ FOG_COLOR,
+ FRONT_FACE,
+ LIGHT_MODEL_AMBEINT,
+ LIGHT_AMBIENT,
+ LIGHT_CONSTANT_ATTENUATION,
+ LIGHT_DIFFUSE,
+ LIGHT_LINEAR_ATTENUATION,
+ LIGHT_POSITION,
+ LIGHT_QUADRATIC_ATTENUATION,
+ LIGHT_SPECULAR,
+ LIGHT_SPOT_CUTOFF,
+ LIGHT_SPOT_DIRECTION,
+ LIGHT_SPOT_EXPONENT,
+ LINE_WIDTH,
+ LOGIC_OP,
+ MATERIAL_AMBIENT,
+ MATERIAL_DIFFUSE,
+ MATERIAL_EMISSION,
+ MATERIAL_SHININESS,
+ MATERIAL_SPECULAR,
+ MODEL_VIEW_MATRIX,
+ POINT_SIZE,
+ POINT_SPRITE_COORD_REPLACE,
+ POINT_SPRITE_R_MODE,
+ POLYGON_MODE,
+ POLYGON_OFFSET,
+ PROJECTION_MATRIX,
+ SCISSOR,
+ SHADE_MODEL,
+ STENCIL_FUNC,
+ STENCIL_MASK,
+ STENCIL_OP,
+ STENCIL_FUNC_SEPARATE,
+ STENCIL_MASK_SEPARATE,
+ STENCIL_OP_SEPAREATE,
+ TEX_GEN_S_MODE,
+ TEX_GEN_T_MODE,
+ TEX_GEN_R_MODE,
+ TEX_GEN_Q_MODE,
+ TEX_GEN_S_EYE_PLANE,
+ TEX_GEN_T_EYE_PLANE,
+ TEX_GEN_R_EYE_PLANE,
+ TEX_GEN_Q_EYE_PLANE,
+ TEX_GEN_S_OBJECT_PLANE,
+ TEX_GEN_T_OBJECT_PLANE,
+ TEX_GEN_R_OBJECT_PLANE,
+ TEX_GEN_Q_OBJECT_PLANE,
+ TEXTURE_2D,
+ TEXTURE_3D,
+ TEXTURE_CUBE_MAP,
+ TEXTURE_ENV_COLOR,
+ TEXTURE_ENV_MODE,
+ ALPHA_TEST_ENABLE,
+ BLEND_ENABLE,
+ CULL_FACE_ENABLE,
+ DEPTH_TEST_ENABLE
+ };
+
+ public:
+
+ cfxGlPipelineSetting(cfxPass* _pass, const char* stateName, int index=-1);
+ virtual ~cfxGlPipelineSetting();
+
+ virtual cfxBool apply() = 0;
+
+ virtual type_enum getType() const = 0;
+
+ protected:
+
+ cfxPass* pass;
+
+ CGstate state;
+ CGstateassignment assignment;
+
+};
+
+
+// cfxGlPipelineSettingAlphaFunc
+class cfxGlPipelineSettingAlphaFunc : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingAlphaFunc(cfxPass* _pass, int _func, float _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ int getFunc() const;
+ float getValue() const;
+
+ protected:
+
+ int func;
+ float value;
+};
+
+
+// cfxGlPipelineSettingBlendFunc
+class cfxGlPipelineSettingBlendFunc : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingBlendFunc(cfxPass* _pass, int _src, int _dst);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ int getSrc() const;
+ int getDst() const;
+
+ protected:
+
+ int src;
+ int dst;
+};
+
+
+// cfxGlPipelineSettingBlendFuncSeparate
+class cfxGlPipelineSettingBlendFuncSeparate : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingBlendFuncSeparate(cfxPass* _pass, int _srcRGB, int _dstRGB, int _srcAlpha, int _dstAlpha);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ int getSrcRGB() const;
+ int getDstRGD() const;
+ int getSrcAlpha() const;
+ int getDstAlpha() const;
+
+ protected:
+
+ int srcRGB;
+ int dstRGB;
+ int srcAlpha;
+ int dstAlpha;
+};
+
+
+// cfxGlPipelineSettingBlendEquation
+class cfxGlPipelineSettingBlendEquation : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingBlendEquation(cfxPass* _pass, int _equation);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ int getEquation() const;
+
+ protected:
+
+ int equation;
+};
+
+
+// cfxGlPipelineSettingBlendEquationSeparate
+class cfxGlPipelineSettingBlendEquationSeparate : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingBlendEquationSeparate(cfxPass* _pass, int _rgb, int _alpha);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ int getRgb() const;
+ int getAlpha() const;
+
+ protected:
+
+ int rgb;
+ int alpha;
+};
+
+
+// cfxGlPipelineSettingBlendColor
+class cfxGlPipelineSettingBlendColor : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingBlendColor(cfxPass* _pass, cfxFloat4& _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ cfxFloat4 getValue() const;
+
+ protected:
+
+ cfxFloat4 value;
+};
+
+
+// cfxGlPipelineSettingClearColor
+class cfxGlPipelineSettingClearColor : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingClearColor(cfxPass* _pass, cfxFloat4& _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ cfxFloat4 getValue() const;
+
+ protected:
+
+ cfxFloat4 value;
+};
+
+
+// cfxGlPipelineSettingClearStencil
+class cfxGlPipelineSettingClearStencil : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingClearStencil(cfxPass* _pass, int _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ int getValue() const;
+
+ protected:
+
+ int value;
+};
+
+
+// cfxGlPipelineSettingClearDepth
+class cfxGlPipelineSettingClearDepth : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingClearDepth(cfxPass* _pass, float _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ float getValue() const;
+
+ protected:
+
+ float value;
+};
+
+
+// cfxGlPipelineSettingClipPlane
+class cfxGlPipelineSettingClipPlane : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingClipPlane(cfxPass* _pass, int _index, cfxFloat4& _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ int getIndex() const;
+ cfxFloat4 getValue() const;
+
+ protected:
+
+ int index;
+ cfxFloat4 value;
+};
+
+
+// cfxGlPipelineSettingColorMask
+class cfxGlPipelineSettingColorMask : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingColorMask(cfxPass* _pass, cfxBool4& _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ cfxBool4 getValue() const;
+
+ protected:
+
+ cfxBool4 value;
+};
+
+
+// cfxGlPipelineSettingColorMaterial
+class cfxGlPipelineSettingColorMaterial : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingColorMaterial(cfxPass* _pass, int _face, int _mode);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ int getFace() const;
+ int getMode() const;
+
+ protected:
+
+ int face;
+ int mode;
+};
+
+
+// cfxGlPipelineSettingCullFace
+class cfxGlPipelineSettingCullFace : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingCullFace(cfxPass* _pass, int _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ int getValue() const;
+
+ protected:
+
+ int value;
+};
+
+
+// cfxGlPipelineSettingDepthFunc
+class cfxGlPipelineSettingDepthFunc : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingDepthFunc(cfxPass* _pass, int _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ int getValue() const;
+
+ protected:
+
+ int value;
+};
+
+
+// cfxGlPipelineSettingDepthMask
+class cfxGlPipelineSettingDepthMask : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingDepthMask(cfxPass* _pass, cfxBool _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ cfxBool getValue() const;
+
+ protected:
+
+ cfxBool value;
+};
+
+
+// cfxGlPipelineSettingDepthRange
+class cfxGlPipelineSettingDepthRange : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingDepthRange(cfxPass* _pass, cfxFloat2& _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ cfxFloat2 getValue() const;
+
+ protected:
+
+ cfxFloat2 value;
+};
+
+
+// cfxGlPipelineSettingFogMode
+class cfxGlPipelineSettingFogMode : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingFogMode(cfxPass* _pass, int _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ int getValue() const;
+
+ protected:
+
+ int value;
+};
+
+
+// cfxGlPipelineSettingFogDensity
+class cfxGlPipelineSettingFogDensity : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingFogDensity(cfxPass* _pass, float _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ float getValue() const;
+
+ protected:
+
+ float value;
+};
+
+
+// cfxGlPipelineSettingFogStart
+class cfxGlPipelineSettingFogStart : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingFogStart(cfxPass* _pass, float _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ float getValue() const;
+
+ protected:
+
+ float value;
+};
+
+
+// cfxGlPipelineSettingFogEnd
+class cfxGlPipelineSettingFogEnd : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingFogEnd(cfxPass* _pass, float _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ float getValue() const;
+
+ protected:
+
+ float value;
+};
+
+
+// cfxGlPipelineSettingFogColor
+class cfxGlPipelineSettingFogColor : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingFogColor(cfxPass* _pass, cfxFloat4& _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ cfxFloat4 getValue() const;
+
+ protected:
+
+ cfxFloat4 value;
+};
+
+
+// cfxGlPipelineSettingFrontFace
+class cfxGlPipelineSettingFrontFace : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingFrontFace(cfxPass* _pass, int _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ int getValue() const;
+
+ protected:
+
+ int value;
+};
+
+
+// cfxGlPipelineSettingLightModelAmbient
+class cfxGlPipelineSettingLightModelAmbient : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingLightModelAmbient(cfxPass* _pass, cfxFloat4& _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ cfxFloat4 getValue() const;
+
+ protected:
+
+ cfxFloat4 value;
+};
+
+
+// cfxGlPipelineSettingLightAmbient
+class cfxGlPipelineSettingLightAmbient : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingLightAmbient(cfxPass* _pass, int _index, cfxFloat4& _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ int getIndex() const;
+ cfxFloat4 getValue() const;
+
+ protected:
+
+ int index;
+ cfxFloat4 value;
+};
+
+
+// cfxGlPipelineSettingLightConstantAttenuation
+class cfxGlPipelineSettingLightConstantAttenuation : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingLightConstantAttenuation(cfxPass* _pass, int _index, float _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ int getIndex() const;
+ float getValue() const;
+
+ protected:
+
+ int index;
+ float value;
+};
+
+
+// cfxGlPipelineSettingLightDiffuse
+class cfxGlPipelineSettingLightDiffuse : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingLightDiffuse(cfxPass* _pass, int _index, cfxFloat4& _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ int getIndex() const;
+ cfxFloat4 getValue() const;
+
+ protected:
+
+ int index;
+ cfxFloat4 value;
+};
+
+
+// cfxGlPipelineSettingLightLinearAttenuation
+class cfxGlPipelineSettingLightLinearAttenuation : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingLightLinearAttenuation(cfxPass* _pass, int _index, float _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ int getIndex() const;
+ float getValue() const;
+
+ protected:
+
+ int index;
+ float value;
+};
+
+
+// cfxGlPipelineSettingLightPosition
+class cfxGlPipelineSettingLightPosition : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingLightPosition(cfxPass* _pass, int _index, cfxFloat4& _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ int getIndex() const;
+ cfxFloat4 getValue() const;
+
+ protected:
+
+ int index;
+ cfxFloat4 value;
+};
+
+
+// cfxGlPipelineSettingLightQuadraticAttenuation
+class cfxGlPipelineSettingLightQuadraticAttenuation : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingLightQuadraticAttenuation(cfxPass* _pass, int _index, float _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ int getIndex() const;
+ float getValue() const;
+
+ protected:
+
+ int index;
+ float value;
+};
+
+
+// cfxGlPipelineSettingLightSpecular
+class cfxGlPipelineSettingLightSpecular : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingLightSpecular(cfxPass* _pass, int _index, cfxFloat4& _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ int getIndex() const;
+ cfxFloat4 getValue() const;
+
+ protected:
+
+ int index;
+ cfxFloat4 value;
+};
+
+
+// cfxGlPipelineSettingLightSpotCutoff
+class cfxGlPipelineSettingLightSpotCutoff : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingLightSpotCutoff(cfxPass* _pass, int _index, float _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ int getIndex() const;
+ float getValue() const;
+
+ protected:
+
+ int index;
+ float value;
+};
+
+
+// cfxGlPipelineSettingLightSpotDirection
+class cfxGlPipelineSettingLightSpotDirection : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingLightSpotDirection(cfxPass* _pass, int _index, cfxFloat3& _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ int getIndex() const;
+ cfxFloat3 getValue() const;
+
+ protected:
+
+ int index;
+ cfxFloat3 value;
+};
+
+
+// cfxGlPipelineSettingLightSpotExponent
+class cfxGlPipelineSettingLightSpotExponent : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingLightSpotExponent(cfxPass* _pass, int _index, float _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ int getIndex() const;
+ float getValue() const;
+
+ protected:
+
+ int index;
+ float value;
+};
+
+
+// cfxGlPipelineSettingLineWidth
+class cfxGlPipelineSettingLineWidth : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingLineWidth(cfxPass* _pass, float _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ float getValue() const;
+
+ protected:
+
+ float value;
+};
+
+
+// cfxGlPipelineSettingLogicOp
+class cfxGlPipelineSettingLogicOp : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingLogicOp(cfxPass* _pass, int _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ int getValue() const;
+
+ protected:
+
+ int value;
+};
+
+
+// cfxGlPipelineSettingMaterialAmbient
+class cfxGlPipelineSettingMaterialAmbient : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingMaterialAmbient(cfxPass* _pass, cfxFloat4& _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ cfxFloat4 getValue() const;
+
+ protected:
+
+ cfxFloat4 value;
+};
+
+
+// cfxGlPipelineSettingMaterialDiffuse
+class cfxGlPipelineSettingMaterialDiffuse : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingMaterialDiffuse(cfxPass* _pass, cfxFloat4& _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ cfxFloat4 getValue() const;
+
+ protected:
+
+ cfxFloat4 value;
+};
+
+
+// cfxGlPipelineSettingMaterialEmission
+class cfxGlPipelineSettingMaterialEmission : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingMaterialEmission(cfxPass* _pass, cfxFloat4& _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ cfxFloat4 getValue() const;
+
+ protected:
+
+ cfxFloat4 value;
+};
+
+
+// cfxGlPipelineSettingMaterialShininess
+class cfxGlPipelineSettingMaterialShininess : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingMaterialShininess(cfxPass* _pass, float _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ float getValue() const;
+
+ protected:
+
+ float value;
+};
+
+
+// cfxGlPipelineSettingMaterialSpecular
+class cfxGlPipelineSettingMaterialSpecular : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingMaterialSpecular(cfxPass* _pass, cfxFloat4& _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ cfxFloat4 getValue() const;
+
+ protected:
+
+ cfxFloat4 value;
+};
+
+
+// cfxGlPipelineSettingModelViewMatrix
+class cfxGlPipelineSettingModelViewMatrix : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingModelViewMatrix(cfxPass* _pass, cfxFloat4x4& _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ cfxFloat4x4 getValue() const;
+
+ protected:
+
+ cfxFloat4x4 value;
+};
+
+
+// cfxGlPipelineSettingPointSize
+class cfxGlPipelineSettingPointSize : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingPointSize(cfxPass* _pass, float _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ float getValue() const;
+
+ protected:
+
+ float value;
+};
+
+
+// cfxGlPipelineSettingPointSpriteCoordReplace
+class cfxGlPipelineSettingPointSpriteCoordReplace : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingPointSpriteCoordReplace(cfxPass* _pass);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ protected:
+
+};
+
+
+// cfxGlPipelineSettingPointSpriteRMode
+class cfxGlPipelineSettingPointSpriteRMode : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingPointSpriteRMode(cfxPass* _pass);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ protected:
+
+};
+
+
+// cfxGlPipelineSettingPolygonMode
+class cfxGlPipelineSettingPolygonMode : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingPolygonMode(cfxPass* _pass, int _face, int _mode);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ int getFace() const;
+ int getMode() const;
+
+ protected:
+
+ int face;
+ int mode;
+};
+
+
+// cfxGlPipelineSettingPolygonOffset
+class cfxGlPipelineSettingPolygonOffset : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingPolygonOffset(cfxPass* _pass, cfxFloat2& _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ cfxFloat2 getValue() const;
+
+ protected:
+
+ cfxFloat2 value;
+};
+
+
+// cfxGlPipelineSettingProjectionMatrix
+class cfxGlPipelineSettingProjectionMatrix : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingProjectionMatrix(cfxPass* _pass, cfxFloat4x4& _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ cfxFloat4x4 getValue() const;
+
+ protected:
+
+ cfxFloat4x4 value;
+};
+
+
+// cfxGlPipelineSettingScissor
+class cfxGlPipelineSettingScissor : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingScissor(cfxPass* _pass, cfxInt4& _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ cfxInt4 getValue() const;
+
+ protected:
+
+ cfxInt4 value;
+};
+
+
+// cfxGlPipelineSettingShadeModel
+class cfxGlPipelineSettingShadeModel : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingShadeModel(cfxPass* _pass, int _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ int getValue() const;
+
+ protected:
+
+ int value;
+};
+
+
+// cfxGlPipelineSettingStencilFunc
+class cfxGlPipelineSettingStencilFunc : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingStencilFunc(cfxPass* _pass, int _func, int _ref, int _mask);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ int getFunc() const;
+ int getRef() const;
+ int getMask() const;
+
+ protected:
+
+ int func;
+ int ref;
+ int mask;
+};
+
+
+// cfxGlPipelineSettingStencilMask
+class cfxGlPipelineSettingStencilMask : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingStencilMask(cfxPass* _pass, int _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ int getValue() const;
+
+ protected:
+
+ int value;
+};
+
+
+// cfxGlPipelineSettingStencilOp
+class cfxGlPipelineSettingStencilOp : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingStencilOp(cfxPass* _pass, int _fail, int _zFail, int _zPass);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ int getFail() const;
+ int getZFail() const;
+ int getZPass() const;
+
+ protected:
+
+ int fail;
+ int zFail;
+ int zPass;
+};
+
+
+// cfxGlPipelineSettingStencilFuncSeparate
+class cfxGlPipelineSettingStencilFuncSeparate : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingStencilFuncSeparate(cfxPass* _pass, int _front, int _back, int _ref, int _mask);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ int getFront() const;
+ int getBack() const;
+ int getRef() const;
+ int getMask() const;
+
+ protected:
+
+ int front;
+ int back;
+ int ref;
+ int mask;
+};
+
+
+// cfxGlPipelineSettingStencilMaskSeparate
+class cfxGlPipelineSettingStencilMaskSeparate : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingStencilMaskSeparate(cfxPass* _pass, int _face, int _mask);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ int getFace() const;
+ int getMask() const;
+
+ protected:
+
+ int face;
+ int mask;
+};
+
+
+// cfxGlPipelineSettingStencilOpSeparate
+class cfxGlPipelineSettingStencilOpSeparate : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingStencilOpSeparate(cfxPass* _pass, int _face, int _fail, int _zFail, int _zPass);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ int getFace() const;
+ int getFail() const;
+ int getZFail() const;
+ int getZPass() const;
+
+ protected:
+
+ int face;
+ int fail;
+ int zFail;
+ int zPass;
+};
+
+
+// cfxGlPipelineSettingTexGenSMode
+class cfxGlPipelineSettingTexGenSMode : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingTexGenSMode(cfxPass* _pass);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ protected:
+
+};
+
+
+// cfxGlPipelineSettingTexGenTMode
+class cfxGlPipelineSettingTexGenTMode : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingTexGenTMode(cfxPass* _pass);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ protected:
+
+};
+
+
+// cfxGlPipelineSettingTexGenRMode
+class cfxGlPipelineSettingTexGenRMode : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingTexGenRMode(cfxPass* _pass);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ protected:
+
+};
+
+
+// cfxGlPipelineSettingTexGenQMode
+class cfxGlPipelineSettingTexGenQMode : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingTexGenQMode(cfxPass* _pass);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ protected:
+
+};
+
+
+// cfxGlPipelineSettingTexGenSEyePlane
+class cfxGlPipelineSettingTexGenSEyePlane : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingTexGenSEyePlane(cfxPass* _pass);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ protected:
+
+};
+
+
+// cfxGlPipelineSettingTexGenTEyePlane
+class cfxGlPipelineSettingTexGenTEyePlane : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingTexGenTEyePlane(cfxPass* _pass);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ protected:
+
+};
+
+
+// cfxGlPipelineSettingTexGenREyePlane
+class cfxGlPipelineSettingTexGenREyePlane : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingTexGenREyePlane(cfxPass* _pass);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ protected:
+
+};
+
+
+// cfxGlPipelineSettingTexGenQEyePlane
+class cfxGlPipelineSettingTexGenQEyePlane : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingTexGenQEyePlane(cfxPass* _pass);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ protected:
+
+};
+
+
+// cfxGlPipelineSettingTexGenSObjectPlane
+class cfxGlPipelineSettingTexGenSObjectPlane : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingTexGenSObjectPlane(cfxPass* _pass);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ protected:
+
+};
+
+
+// cfxGlPipelineSettingTexGenTObjectPlane
+class cfxGlPipelineSettingTexGenTObjectPlane : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingTexGenTObjectPlane(cfxPass* _pass);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ protected:
+
+};
+
+
+// cfxGlPipelineSettingTexGenRObjectPlane
+class cfxGlPipelineSettingTexGenRObjectPlane : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingTexGenRObjectPlane(cfxPass* _pass);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ protected:
+
+};
+
+
+// cfxGlPipelineSettingTexGenQObjectPlane
+class cfxGlPipelineSettingTexGenQObjectPlane : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingTexGenQObjectPlane(cfxPass* _pass);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ protected:
+
+};
+
+
+// cfxGlPipelineSettingTexture2D
+class cfxGlPipelineSettingTexture2D : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingTexture2D(cfxPass* _pass, int _index, cfxSampler* _sampler);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ int getIndex() const;
+ const cfxSampler *getSampler() const;
+
+ protected:
+
+ int index;
+ cfxSampler* sampler;
+};
+
+
+// cfxGlPipelineSettingTexture3D
+class cfxGlPipelineSettingTexture3D : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingTexture3D(cfxPass* _pass, int _index, cfxSampler* _sampler);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ int getIndex() const;
+ const cfxSampler *getSampler() const;
+
+ protected:
+
+ int index;
+ cfxSampler* sampler;
+};
+
+
+// cfxGlPipelineSettingTextureCubeMap
+class cfxGlPipelineSettingTextureCubeMap : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingTextureCubeMap(cfxPass* _pass, int _index, cfxSampler* _sampler);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ int getIndex() const;
+ const cfxSampler *getSampler() const;
+
+ protected:
+
+ int index;
+ cfxSampler* sampler;
+};
+
+
+// cfxGlPipelineSettingTextureEnvColor
+class cfxGlPipelineSettingTextureEnvColor : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingTextureEnvColor(cfxPass* _pass, int _index, cfxFloat4& _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ int getIndex() const;
+ cfxFloat4 getValue() const;
+
+ protected:
+
+ int index;
+ cfxFloat4 value;
+};
+
+
+// cfxGlPipelineSettingTextureEnvMode
+class cfxGlPipelineSettingTextureEnvMode : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingTextureEnvMode(cfxPass* _pass, int _index, int _mode);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ int getIndex() const;
+ int getValue() const;
+
+ protected:
+
+ int index;
+ int value;
+};
+
+
+// ENABLE / DISABLE settings
+
+
+// cfxGlPipelineSettingAlphaTestEnable
+class cfxGlPipelineSettingAlphaTestEnable : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingAlphaTestEnable(cfxPass* _pass, cfxBool _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ cfxBool getValue() const;
+
+ protected:
+
+ cfxBool value;
+};
+
+
+// cfxGlPipelineSettingBlendEnable
+class cfxGlPipelineSettingBlendEnable : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingBlendEnable(cfxPass* _pass, cfxBool _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ cfxBool getValue() const;
+
+ protected:
+
+ cfxBool value;
+};
+
+
+// cfxGlPipelineSettingCullFaceEnable
+class cfxGlPipelineSettingCullFaceEnable : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingCullFaceEnable(cfxPass* _pass, cfxBool _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ cfxBool getValue() const;
+
+ protected:
+
+ cfxBool value;
+};
+
+
+// cfxGlPipelineSettingDepthTestEnable
+class cfxGlPipelineSettingDepthTestEnable : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSettingDepthTestEnable(cfxPass* _pass, cfxBool _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ cfxBool getValue() const;
+
+ protected:
+
+ cfxBool value;
+};
+
+
+#if 0
+// cfxGlPipelineSetting
+class cfxGlPipelineSetting : public cfxGlPipelineSetting
+{
+ public:
+
+ cfxGlPipelineSetting(cfxPass* _pass, cfxBool _value);
+ virtual cfxBool apply();
+
+ virtual type_enum getType() const;
+
+ cfxBool getValue() const;
+
+ protected:
+
+ cfxBool value;
+};
+#endif
+
+
+#endif // _CFX_GLPIPELINESETTING_H
+
+
diff --git a/1.4.0/fx/include/cfxGlPipelineSettingMaker.h b/1.4.0/fx/include/cfxGlPipelineSettingMaker.h
new file mode 100644
index 0000000..025da99
--- /dev/null
+++ b/1.4.0/fx/include/cfxGlPipelineSettingMaker.h
@@ -0,0 +1,884 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+#ifndef _CFX_GLPIPELINESETTINGMAKER_H
+#define _CFX_GLPIPELINESETTINGMAKER_H
+
+#include <map>
+#include <string>
+
+class cfxGlPipelineSetting;
+class cfxPass;
+
+class domGl_pipeline_settings;
+
+
+// cfxGlPipelineSettingMaker
+class cfxGlPipelineSettingMaker
+{
+ protected:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer) = 0;
+ static std::map<std::string, cfxGlPipelineSettingMaker*> mapTypeNameToSettingMaker;
+ public:
+ virtual ~cfxGlPipelineSettingMaker() {}
+ static cfxGlPipelineSetting* makeGlPipelineSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerAlphaFunc
+class cfxGlPipelineSettingMakerAlphaFunc : public cfxGlPipelineSettingMaker
+{
+ protected:
+ cfxGlPipelineSettingMakerAlphaFunc();
+ static cfxGlPipelineSettingMakerAlphaFunc maker;
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerBlendFunc
+class cfxGlPipelineSettingMakerBlendFunc : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerBlendFunc();
+ static cfxGlPipelineSettingMakerBlendFunc maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerBlendFuncSeparate
+class cfxGlPipelineSettingMakerBlendFuncSeparate : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerBlendFuncSeparate();
+ static cfxGlPipelineSettingMakerBlendFuncSeparate maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerBlendEquation
+class cfxGlPipelineSettingMakerBlendEquation : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerBlendEquation();
+ static cfxGlPipelineSettingMakerBlendEquation maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerBlendEquationSeparate
+class cfxGlPipelineSettingMakerBlendEquationSeparate : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerBlendEquationSeparate();
+ static cfxGlPipelineSettingMakerBlendEquationSeparate maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerBlendColor
+class cfxGlPipelineSettingMakerBlendColor : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerBlendColor();
+ static cfxGlPipelineSettingMakerBlendColor maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerClearColor
+class cfxGlPipelineSettingMakerClearColor : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerClearColor();
+ static cfxGlPipelineSettingMakerClearColor maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerClearStenciil
+class cfxGlPipelineSettingMakerClearStencil : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerClearStencil();
+ static cfxGlPipelineSettingMakerClearStencil maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerClearDepth
+class cfxGlPipelineSettingMakerClearDepth : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerClearDepth();
+ static cfxGlPipelineSettingMakerClearDepth maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerClipPlane
+class cfxGlPipelineSettingMakerClipPlane : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerClipPlane();
+ static cfxGlPipelineSettingMakerClipPlane maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerColorMask
+class cfxGlPipelineSettingMakerColorMask : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerColorMask();
+ static cfxGlPipelineSettingMakerColorMask maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerColorMaterial
+class cfxGlPipelineSettingMakerColorMaterial : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerColorMaterial();
+ static cfxGlPipelineSettingMakerColorMaterial maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerCullFace
+class cfxGlPipelineSettingMakerCullFace : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerCullFace();
+ static cfxGlPipelineSettingMakerCullFace maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerDepthFunc
+class cfxGlPipelineSettingMakerDepthFunc : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerDepthFunc();
+ static cfxGlPipelineSettingMakerDepthFunc maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerDepthMask
+class cfxGlPipelineSettingMakerDepthMask : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerDepthMask();
+ static cfxGlPipelineSettingMakerDepthMask maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerDepthRange
+class cfxGlPipelineSettingMakerDepthRange : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerDepthRange();
+ static cfxGlPipelineSettingMakerDepthRange maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerFogMode
+class cfxGlPipelineSettingMakerFogMode : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerFogMode();
+ static cfxGlPipelineSettingMakerFogMode maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerFogDensity
+class cfxGlPipelineSettingMakerFogDensity : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerFogDensity();
+ static cfxGlPipelineSettingMakerFogDensity maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerFogStart
+class cfxGlPipelineSettingMakerFogStart : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerFogStart();
+ static cfxGlPipelineSettingMakerFogStart maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerFogEnd
+class cfxGlPipelineSettingMakerFogEnd : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerFogEnd();
+ static cfxGlPipelineSettingMakerFogEnd maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerFogColor
+class cfxGlPipelineSettingMakerFogColor : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerFogColor();
+ static cfxGlPipelineSettingMakerFogColor maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerFrontFace
+class cfxGlPipelineSettingMakerFrontFace : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerFrontFace();
+ static cfxGlPipelineSettingMakerFrontFace maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerLightModelAmbient
+class cfxGlPipelineSettingMakerLightModelAmbient : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerLightModelAmbient();
+ static cfxGlPipelineSettingMakerLightModelAmbient maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerLightAmbient
+class cfxGlPipelineSettingMakerLightAmbient : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerLightAmbient();
+ static cfxGlPipelineSettingMakerLightAmbient maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerLightConstantAttenuation
+class cfxGlPipelineSettingMakerLightConstantAttenuation : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerLightConstantAttenuation();
+ static cfxGlPipelineSettingMakerLightConstantAttenuation maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerLightDiffuse
+class cfxGlPipelineSettingMakerLightDiffuse : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerLightDiffuse();
+ static cfxGlPipelineSettingMakerLightDiffuse maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerLightLinearAttenuation
+class cfxGlPipelineSettingMakerLightLinearAttenuation : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerLightLinearAttenuation();
+ static cfxGlPipelineSettingMakerLightLinearAttenuation maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerLightPosition
+class cfxGlPipelineSettingMakerLightPosition : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerLightPosition();
+ static cfxGlPipelineSettingMakerLightPosition maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerLightQuadraticAttenuation
+class cfxGlPipelineSettingMakerLightQuadraticAttenuation : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerLightQuadraticAttenuation();
+ static cfxGlPipelineSettingMakerLightQuadraticAttenuation maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerLightSpecular
+class cfxGlPipelineSettingMakerLightSpecular : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerLightSpecular();
+ static cfxGlPipelineSettingMakerLightSpecular maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerLightSpotCutoff
+class cfxGlPipelineSettingMakerLightSpotCutoff : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerLightSpotCutoff();
+ static cfxGlPipelineSettingMakerLightSpotCutoff maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerLightSpotDirection
+class cfxGlPipelineSettingMakerLightSpotDirection : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerLightSpotDirection();
+ static cfxGlPipelineSettingMakerLightSpotDirection maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerLightSpotExponent
+class cfxGlPipelineSettingMakerLightSpotExponent : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerLightSpotExponent();
+ static cfxGlPipelineSettingMakerLightSpotExponent maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerLineWidth
+class cfxGlPipelineSettingMakerLineWidth : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerLineWidth();
+ static cfxGlPipelineSettingMakerLineWidth maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerLogicOp
+class cfxGlPipelineSettingMakerLogicOp : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerLogicOp();
+ static cfxGlPipelineSettingMakerLogicOp maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerMaterialAmbient
+class cfxGlPipelineSettingMakerMaterialAmbient : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerMaterialAmbient();
+ static cfxGlPipelineSettingMakerMaterialAmbient maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerMaterialDiffuse
+class cfxGlPipelineSettingMakerMaterialDiffuse : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerMaterialDiffuse();
+ static cfxGlPipelineSettingMakerMaterialDiffuse maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerMaterialEmission
+class cfxGlPipelineSettingMakerMaterialEmission : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerMaterialEmission();
+ static cfxGlPipelineSettingMakerMaterialEmission maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerMaterialShininess
+class cfxGlPipelineSettingMakerMaterialShininess : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerMaterialShininess();
+ static cfxGlPipelineSettingMakerMaterialShininess maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerMaterialSpecular
+class cfxGlPipelineSettingMakerMaterialSpecular : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerMaterialSpecular();
+ static cfxGlPipelineSettingMakerMaterialSpecular maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerModelViewMatrix
+class cfxGlPipelineSettingMakerModelViewMatrix : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerModelViewMatrix();
+ static cfxGlPipelineSettingMakerModelViewMatrix maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerPointSize
+class cfxGlPipelineSettingMakerPointSize : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerPointSize();
+ static cfxGlPipelineSettingMakerPointSize maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerPointSpriteCoordReplace
+class cfxGlPipelineSettingMakerPointSpriteCoordReplace : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerPointSpriteCoordReplace();
+ static cfxGlPipelineSettingMakerPointSpriteCoordReplace maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerPointSpriteRMode
+class cfxGlPipelineSettingMakerPointSpriteRMode : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerPointSpriteRMode();
+ static cfxGlPipelineSettingMakerPointSpriteRMode maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerPolygonMode
+class cfxGlPipelineSettingMakerPolygonMode : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerPolygonMode();
+ static cfxGlPipelineSettingMakerPolygonMode maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerPolygonOffset
+class cfxGlPipelineSettingMakerPolygonOffset : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerPolygonOffset();
+ static cfxGlPipelineSettingMakerPolygonOffset maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerProjectionMatrix
+class cfxGlPipelineSettingMakerProjectionMatrix : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerProjectionMatrix();
+ static cfxGlPipelineSettingMakerProjectionMatrix maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerScissor
+class cfxGlPipelineSettingMakerScissor : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerScissor();
+ static cfxGlPipelineSettingMakerScissor maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerShadeModel
+class cfxGlPipelineSettingMakerShadeModel : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerShadeModel();
+ static cfxGlPipelineSettingMakerShadeModel maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerStencilFunc
+class cfxGlPipelineSettingMakerStencilFunc : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerStencilFunc();
+ static cfxGlPipelineSettingMakerStencilFunc maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerStencilMask
+class cfxGlPipelineSettingMakerStencilMask : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerStencilMask();
+ static cfxGlPipelineSettingMakerStencilMask maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerStencilOp
+class cfxGlPipelineSettingMakerStencilOp : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerStencilOp();
+ static cfxGlPipelineSettingMakerStencilOp maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerStencilFuncSeparate
+class cfxGlPipelineSettingMakerStencilFuncSeparate : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerStencilFuncSeparate();
+ static cfxGlPipelineSettingMakerStencilFuncSeparate maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerStencilMaskSeparate
+class cfxGlPipelineSettingMakerStencilMaskSeparate : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerStencilMaskSeparate();
+ static cfxGlPipelineSettingMakerStencilMaskSeparate maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerStencilOpSeparate
+class cfxGlPipelineSettingMakerStencilOpSeparate : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerStencilOpSeparate();
+ static cfxGlPipelineSettingMakerStencilOpSeparate maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerTexGenSMode
+class cfxGlPipelineSettingMakerTexGenSMode : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerTexGenSMode();
+ static cfxGlPipelineSettingMakerTexGenSMode maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerTexGenTMode
+class cfxGlPipelineSettingMakerTexGenTMode : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerTexGenTMode();
+ static cfxGlPipelineSettingMakerTexGenTMode maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerTexGenRMode
+class cfxGlPipelineSettingMakerTexGenRMode : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerTexGenRMode();
+ static cfxGlPipelineSettingMakerTexGenRMode maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerTexGenQMode
+class cfxGlPipelineSettingMakerTexGenQMode : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerTexGenQMode();
+ static cfxGlPipelineSettingMakerTexGenQMode maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerTexGenSEyePlane
+class cfxGlPipelineSettingMakerTexGenSEyePlane : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerTexGenSEyePlane();
+ static cfxGlPipelineSettingMakerTexGenSEyePlane maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerTexGenTEyePlane
+class cfxGlPipelineSettingMakerTexGenTEyePlane : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerTexGenTEyePlane();
+ static cfxGlPipelineSettingMakerTexGenTEyePlane maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerTexGenREyePlane
+class cfxGlPipelineSettingMakerTexGenREyePlane : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerTexGenREyePlane();
+ static cfxGlPipelineSettingMakerTexGenREyePlane maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerTexGenQEyePlane
+class cfxGlPipelineSettingMakerTexGenQEyePlane : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerTexGenQEyePlane();
+ static cfxGlPipelineSettingMakerTexGenQEyePlane maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerTexGenSObjectPlane
+class cfxGlPipelineSettingMakerTexGenSObjectPlane : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerTexGenSObjectPlane();
+ static cfxGlPipelineSettingMakerTexGenSObjectPlane maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerTexGenTObjectPlane
+class cfxGlPipelineSettingMakerTexGenTObjectPlane : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerTexGenTObjectPlane();
+ static cfxGlPipelineSettingMakerTexGenTObjectPlane maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerTexGenRObjectPlane
+class cfxGlPipelineSettingMakerTexGenRObjectPlane : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerTexGenRObjectPlane();
+ static cfxGlPipelineSettingMakerTexGenRObjectPlane maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerTexGenQObjectPlane
+class cfxGlPipelineSettingMakerTexGenQObjectPlane : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerTexGenQObjectPlane();
+ static cfxGlPipelineSettingMakerTexGenQObjectPlane maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerTexture2D
+class cfxGlPipelineSettingMakerTexture2D : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerTexture2D();
+ static cfxGlPipelineSettingMakerTexture2D maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerTexture3D
+class cfxGlPipelineSettingMakerTexture3D : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerTexture3D();
+ static cfxGlPipelineSettingMakerTexture3D maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerTextureCubeMap
+class cfxGlPipelineSettingMakerTextureCubeMap : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerTextureCubeMap();
+ static cfxGlPipelineSettingMakerTextureCubeMap maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerTextureEnvColor
+class cfxGlPipelineSettingMakerTextureEnvColor : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerTextureEnvColor();
+ static cfxGlPipelineSettingMakerTextureEnvColor maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerTextureEnvMode
+class cfxGlPipelineSettingMakerTextureEnvMode : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerTextureEnvMode();
+ static cfxGlPipelineSettingMakerTextureEnvMode maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// ENABLE / DISABLE settings
+
+
+// cfxGlPipelineSettingMakerAlphaTestEnable
+class cfxGlPipelineSettingMakerAlphaTestEnable : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerAlphaTestEnable();
+ static cfxGlPipelineSettingMakerAlphaTestEnable maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerBlendEnable
+class cfxGlPipelineSettingMakerBlendEnable : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerBlendEnable();
+ static cfxGlPipelineSettingMakerBlendEnable maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerCullFaceEnable
+class cfxGlPipelineSettingMakerCullFaceEnable : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerCullFaceEnable();
+ static cfxGlPipelineSettingMakerCullFaceEnable maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+// cfxGlPipelineSettingMakerDepthTestEnable
+class cfxGlPipelineSettingMakerDepthTestEnable : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMakerDepthTestEnable();
+ static cfxGlPipelineSettingMakerDepthTestEnable maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+
+
+#if 0 // template
+// cfxGlPipelineSettingMaker
+class cfxGlPipelineSettingMaker : public cfxGlPipelineSettingMaker
+{
+ private:
+ cfxGlPipelineSettingMaker();
+ static cfxGlPipelineSettingMaker maker;
+ public:
+ virtual cfxGlPipelineSetting* makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer);
+};
+#endif
+
+
+#endif // _CFX_GLPIPELINESETTINGMAKER_H
+
diff --git a/1.4.0/fx/include/cfxGlSamplerSetting.h b/1.4.0/fx/include/cfxGlSamplerSetting.h
new file mode 100644
index 0000000..3fdeb0a
--- /dev/null
+++ b/1.4.0/fx/include/cfxGlSamplerSetting.h
@@ -0,0 +1,203 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+#ifndef _CFX_GLSAMPLERSETTING_H
+#define _CFX_GLSAMPLERSETTING_H
+
+#include <cfxTypes.h>
+
+//#ifndef _LIB
+#include <Cg/cg.h>
+//#else
+//#include <cfxNoCg.h>
+//#endif
+
+class cfxEffect;
+class cfxParam;
+
+
+// cfxGlSamplerSetting
+class cfxGlSamplerSetting
+{
+public:
+ enum type_enum {
+ WRAP_S,
+ WRAP_T,
+ MINFILTER,
+ MAGFILTER,
+ BORDER_COLOR,
+ GENERATE_MIPMAP,
+ MAX_MIP_LEVEL,
+ LOD_BIAS
+ };
+
+ public:
+
+ cfxGlSamplerSetting(cfxEffect* effect, const char* stateName);
+ virtual ~cfxGlSamplerSetting();
+
+ virtual cfxBool apply(const cfxParam* param) = 0;
+
+ virtual type_enum getType() const = 0;
+
+ protected:
+
+ cfxEffect* effect;
+
+ CGstate state;
+ CGstateassignment assignment;
+
+};
+
+
+
+
+// cfxGlSamplerSettingWrapS
+class cfxGlSamplerSettingWrapS : public cfxGlSamplerSetting
+{
+ public:
+
+ cfxGlSamplerSettingWrapS(cfxEffect* effect, const char* stateName, int _value);
+ virtual cfxBool apply(const cfxParam* param);
+
+ virtual cfxGlSamplerSetting::type_enum getType() const;
+
+ int getValue() const;
+
+ protected:
+
+ int value;
+};
+
+
+// cfxGlSamplerSettingWrapT
+class cfxGlSamplerSettingWrapT : public cfxGlSamplerSetting
+{
+ public:
+
+ cfxGlSamplerSettingWrapT(cfxEffect* effect, const char* stateName, int _value);
+ virtual cfxBool apply(const cfxParam* param);
+
+ virtual cfxGlSamplerSetting::type_enum getType() const;
+
+ int getValue() const;
+
+ protected:
+
+ int value;
+};
+
+
+// cfxGlSamplerSettingMinFilter
+class cfxGlSamplerSettingMinFilter : public cfxGlSamplerSetting
+{
+ public:
+
+ cfxGlSamplerSettingMinFilter(cfxEffect* effect, const char* stateName, int _value);
+ virtual cfxBool apply(const cfxParam* param);
+
+ virtual cfxGlSamplerSetting::type_enum getType() const;
+
+ int getValue() const;
+
+ protected:
+
+ int value;
+};
+
+
+// cfxGlSamplerSettingMagFilter
+class cfxGlSamplerSettingMagFilter : public cfxGlSamplerSetting
+{
+ public:
+
+ cfxGlSamplerSettingMagFilter(cfxEffect* effect, const char* stateName, int _value);
+ virtual cfxBool apply(const cfxParam* param);
+
+ virtual cfxGlSamplerSetting::type_enum getType() const;
+
+ int getValue() const;
+
+ protected:
+
+ int value;
+};
+
+
+// cfxGlSamplerSettingBorderColor
+class cfxGlSamplerSettingBorderColor : public cfxGlSamplerSetting
+{
+ public:
+
+ cfxGlSamplerSettingBorderColor(cfxEffect* effect, const char* stateName, cfxFloat4& _value);
+ virtual cfxBool apply(const cfxParam* param);
+
+ virtual cfxGlSamplerSetting::type_enum getType() const;
+
+ cfxFloat4 getValue() const;
+
+ protected:
+
+ cfxFloat4 value;
+};
+
+
+// cfxGlSamplerSettingGenerateMipMap
+class cfxGlSamplerSettingGenerateMipMap : public cfxGlSamplerSetting
+{
+ public:
+
+ cfxGlSamplerSettingGenerateMipMap(cfxEffect* effect, const char* stateName, cfxBool _value);
+ virtual cfxBool apply(const cfxParam* param);
+
+ virtual cfxGlSamplerSetting::type_enum getType() const;
+
+ cfxBool getValue() const;
+
+ protected:
+
+ cfxBool value;
+};
+
+
+// cfxGlSamplerSettingMaxMipLevel
+class cfxGlSamplerSettingMaxMipLevel : public cfxGlSamplerSetting
+{
+ public:
+
+ cfxGlSamplerSettingMaxMipLevel(cfxEffect* effect, const char* stateName, float _value);
+ virtual cfxBool apply(const cfxParam* param);
+
+ virtual cfxGlSamplerSetting::type_enum getType() const;
+
+ float getValue() const;
+
+ protected:
+
+ float value;
+};
+
+
+// cfxGlSamplerSettingLodBias
+class cfxGlSamplerSettingLodBias : public cfxGlSamplerSetting
+{
+ public:
+
+ cfxGlSamplerSettingLodBias(cfxEffect* effect, const char* stateName, float _value);
+ virtual cfxBool apply(const cfxParam* param);
+
+ virtual cfxGlSamplerSetting::type_enum getType() const;
+
+ float getValue() const;
+
+ protected:
+
+ float value;
+};
+
+#endif // _CFX_GLSAMPLERSETTING_H
+
diff --git a/1.4.0/fx/include/cfxLinux.h b/1.4.0/fx/include/cfxLinux.h
new file mode 100644
index 0000000..723839b
--- /dev/null
+++ b/1.4.0/fx/include/cfxLinux.h
@@ -0,0 +1,43 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+#ifndef _CFX_LINUX_H_
+#define _CFX_LINUX_H_
+
+#include <stdio.h>
+//#include <sys/param.h>
+#include <stdarg.h>
+#include <GL/gl.h>
+#include <GL/glext.h>
+#include <GL/glu.h>
+//#ifndef _LIB
+#include <Cg/cg.h>
+#include <Cg/cgGL.h>
+//#else
+//#include <cfxNoCg.h>
+//#endif
+
+#include <assert.h>
+
+#define CG_FILE_TYPE CG_SOURCE
+
+#define LINUX 1
+
+inline void cfxPrint(const char* str, ...)
+{
+ va_list valist;
+ char tempStr[4096];
+
+ va_start(valist, str);
+ vsprintf(tempStr, str, valist);
+ va_end(valist);
+
+ printf( tempStr );
+// OutputDebugString( tempStr );
+}
+
+#endif
diff --git a/1.4.0/fx/include/cfxLoader.h b/1.4.0/fx/include/cfxLoader.h
new file mode 100644
index 0000000..4ca5135
--- /dev/null
+++ b/1.4.0/fx/include/cfxLoader.h
@@ -0,0 +1,85 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+#ifndef _CFX_LOADER_H
+#define _CFX_LOADER_H
+
+#include <vector>
+#include <map>
+#include <string>
+
+//#ifndef _LIB
+#include <Cg/cg.h>
+//#else
+//#include <cfxNoCg.h>
+//#endif
+#include <cfxTypes.h>
+
+class DAE;
+
+#include "cfxLoader.h"
+#include "cfxEffect.h"
+#include "cfxMaterial.h"
+#include "cfxSurface.h"
+#include "cfxPlatform.h"
+class cfxAnnotatable;
+class cfxParamable;
+
+
+// cfxLoader
+class cfxLoader
+{
+ public:
+
+ cfxLoader();
+
+
+ // this routine will load the materials and effects from a COLLADA file and populate the maps
+ // it will resolve the references from materials to effects
+ // passing a NULL context will create a new context for this effect
+ static cfxBool loadMaterialsAndEffectsFromFile(const std::string& filename, std::map<std::string, cfxMaterial*>& materials,
+ std::map<std::string, cfxEffect*>& effects, CGcontext _context = NULL);
+
+ // this routine will load the materials and effects and populate the maps
+ // it will resolve the references from materials to effects
+ // passing a NULL context will create a new context for this effect
+ static cfxBool loadMaterialsAndEffects(DAE *colladaAsset, std::map<std::string, cfxMaterial*>& materials,
+ std::map<std::string, cfxEffect*>& effects, CGcontext _context = NULL);
+
+ // this routine will load the effects and populate the map
+ // passing a NULL context will create a new context for this effect
+ static cfxBool loadEffects(DAE *colladaAsset, std::map<std::string, cfxEffect*>& effects, CGcontext _context = NULL);
+
+ // this routine will load the materials and populate the material map
+ // if an effects map is provided it will resolve the references from materials to effects
+ static cfxBool loadMaterials(DAE *colladaAsset, std::map<std::string, cfxMaterial*>& materials,
+ const std::map<std::string, cfxEffect*>* effects = NULL);
+
+ // this is in the process of being deprecated
+ // set the COLLADA FX filename to load
+ // passing a NULL context will create a new context for this effect
+ static cfxBool loadFile(const std::string& file, std::vector<cfxEffect*>& effects, CGcontext _context = NULL);
+
+public: //binary load/save functionality
+
+ static void setBinaryLoadRemotePath( const std::string &path );
+
+ static cfxBool loadMaterialsAndEffectsFromBinFile(const std::string& file, std::map<std::string, cfxMaterial*>& materials,
+ std::map<std::string, cfxEffect*>& effects, CGcontext _context = NULL);
+ static cfxBool saveBinFile(const std::string& file, const std::map<std::string, cfxMaterial*>& materials,
+ const std::map<std::string, cfxEffect*>& effects, cfxBool replace = false );
+
+ static void setPlatformString( const std::string &platform );
+ static std::string &getPlatformString();
+ private:
+
+ static std::string platformString;
+};
+
+
+#endif // _CFX_LOADER_H
+
diff --git a/1.4.0/fx/include/cfxMaterial.h b/1.4.0/fx/include/cfxMaterial.h
new file mode 100644
index 0000000..b58a353
--- /dev/null
+++ b/1.4.0/fx/include/cfxMaterial.h
@@ -0,0 +1,65 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+#ifndef _CFX_MATERIAL_H
+#define _CFX_MATERIAL_H
+
+//#ifndef _LIB
+#include <Cg/cg.h>
+//#else
+//#include <cfxNoCg.h>
+//#endif
+
+#include <string>
+#include <map>
+#include <vector>
+
+#include <cfxParamable.h>
+
+class cfxEffect;
+class cfxSurface;
+
+// cfxMaterial
+class cfxMaterial : public cfxParamable
+{
+public:
+
+ cfxMaterial(const std::string& _name, const std::string& _effectName,
+ cfxEffect* _effect = NULL);
+
+ ~cfxMaterial();
+
+ const std::string& getName() const;
+
+ cfxEffect* getEffect() const;
+
+ bool setParameterValues();
+
+ void setEffectPassState(unsigned int techniqueIndex, unsigned int passIndex);
+ void resetEffectPassState(unsigned int techniqueIndex, unsigned int passIndex);
+ unsigned int getEffectTechniqueCount();
+ unsigned int getEffectPassCount(unsigned int techniqueIndex);
+
+ const std::string &getEffectName() const;
+
+ void addSurface(cfxSurface* surface);
+
+ const std::vector<cfxSurface*> &getSurfaces() const;
+
+private:
+
+ std::string name;
+ std::string effectName;
+
+ cfxEffect* effect;
+
+ std::vector<cfxSurface*> surfaces;
+};
+
+
+#endif // _CFX_MATERIAL_H
+
diff --git a/1.4.0/fx/include/cfxNewParam.h b/1.4.0/fx/include/cfxNewParam.h
new file mode 100644
index 0000000..e6e502a
--- /dev/null
+++ b/1.4.0/fx/include/cfxNewParam.h
@@ -0,0 +1,43 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+#ifndef _CFX_NEWPARAM_H
+#define _CFX_NEWPARAM_H
+
+
+#include <cfxParam.h>
+#include <cfxAnnotatable.h>
+
+class cfxEffect;
+class cfxAnnotate;
+class cfxData;
+
+// cfxNewParam
+class cfxNewParam : public cfxParam, public cfxAnnotatable
+{
+public:
+
+ cfxNewParam(cfxData* _data, const std::string& _name, cfxEffect* _effect,
+ const std::string& _semantic);
+
+ virtual bool apply();
+ virtual bool validate() const;
+
+ virtual cfxParam::cfxParamTypeEnum getType() const;
+ const std::string &getSemantic() const;
+ const cfxData *getData() const;
+ cfxEffect* effect;
+ cfxData* data;
+
+protected:
+
+ std::string semantic;
+
+};
+
+#endif // _CFX_NEWPARAM_H
+
diff --git a/1.4.0/fx/include/cfxOSX.h b/1.4.0/fx/include/cfxOSX.h
new file mode 100644
index 0000000..9da5a62
--- /dev/null
+++ b/1.4.0/fx/include/cfxOSX.h
@@ -0,0 +1,38 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+#ifndef _CFXOSX_H
+#define _CFXOSX_H
+
+#include <stdio.h>
+#include <stdarg.h>
+#include <OpenGL/gl.h>
+#include <OpenGL/glext.h>
+#include <OpenGL/glu.h>
+#include <CG/cg.h>
+#include <CG/cgGL.h>
+
+
+#include <assert.h>
+
+#define CG_FILE_TYPE CG_SOURCE
+
+//#define LINUX 1
+
+inline void cfxPrint(const char* str, ...)
+{
+ va_list valist;
+ char tempStr[4096];
+
+ va_start(valist, str);
+ vsprintf(tempStr, str, valist);
+ va_end(valist);
+
+ printf( tempStr );
+}
+
+#endif
diff --git a/1.4.0/fx/include/cfxPS3.h b/1.4.0/fx/include/cfxPS3.h
new file mode 100644
index 0000000..1834128
--- /dev/null
+++ b/1.4.0/fx/include/cfxPS3.h
@@ -0,0 +1,20 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+#ifndef _CFX_PS3_H_
+#define _CFX_PS3_H_
+
+#include <PSGL/psgl.h>
+
+#define CG_FILE_TYPE CG_BINARY
+
+inline void cfxPrint(const char* str, ...)
+{
+ printf(str);
+}
+
+#endif
diff --git a/1.4.0/fx/include/cfxParam.h b/1.4.0/fx/include/cfxParam.h
new file mode 100644
index 0000000..251d6fe
--- /dev/null
+++ b/1.4.0/fx/include/cfxParam.h
@@ -0,0 +1,52 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+#ifndef _CFX_PARAM_H
+#define _CFX_PARAM_H
+
+
+//#ifndef _LIB
+#include <Cg/cg.h>
+//#else
+//#include <cfxNoCg.h>
+//#endif
+#include <string>
+
+// cfxParam
+class cfxParam
+{
+public:
+ enum cfxParamTypeEnum {
+ CFXBINDPARAM,
+ CFXCONNECTPARAM,
+ CFXNEWPARAM,
+ CFXSETPARAM,
+ };
+
+public:
+
+ cfxParam(const std::string& _name);
+ virtual ~cfxParam();
+
+ virtual bool apply() = 0;
+ virtual bool validate() const = 0;
+
+ CGparameter getParameter() const;
+ virtual cfxParamTypeEnum getType() const = 0;
+
+ const std::string &getName() const;
+
+protected:
+
+ std::string name;
+
+ CGparameter parameter;
+
+};
+
+
+#endif // _CFX_PARAM_H
diff --git a/1.4.0/fx/include/cfxParamable.h b/1.4.0/fx/include/cfxParamable.h
new file mode 100644
index 0000000..d4a0746
--- /dev/null
+++ b/1.4.0/fx/include/cfxParamable.h
@@ -0,0 +1,36 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+#ifndef _CFX_PARAMABLE_H
+#define _CFX_PARAMABLE_H
+
+
+#include <vector>
+
+class cfxParam;
+
+
+// cfxParamable
+class cfxParamable
+{
+public:
+
+ cfxParamable();
+ virtual ~cfxParamable();
+
+ void pushParam(cfxParam* param);
+
+ const std::vector<cfxParam*> &getParamArray() const;
+
+ protected:
+
+ std::vector<cfxParam*> paramArray; // min 0
+
+};
+
+
+#endif // _CFX_PARAMABLE_H
diff --git a/1.4.0/fx/include/cfxPass.h b/1.4.0/fx/include/cfxPass.h
new file mode 100644
index 0000000..f047b18
--- /dev/null
+++ b/1.4.0/fx/include/cfxPass.h
@@ -0,0 +1,64 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+#ifndef _CFX_PASS_H
+#define _CFX_PASS_H
+
+#include <string>
+#include <vector>
+
+#include <cfxAnnotatable.h>
+#include <cfxParamable.h>
+
+//#ifndef _LIB
+#include <Cg/cg.h>
+//#else
+//#include <cfxNoCg.h>
+//#endif
+
+class cfxGlPipelineSetting;
+class cfxShader;
+class cfxTechnique;
+
+// cfxPass
+class cfxPass : public cfxAnnotatable, public cfxParamable
+{
+public:
+
+ cfxPass(cfxTechnique* _technique, const std::string& _name);
+ ~cfxPass();
+
+ bool apply();
+ bool validate() const;
+
+ void pushSetting(cfxGlPipelineSetting* setting);
+ void pushShader(cfxShader* shader);
+
+ cfxTechnique* getTechnique() const;
+
+ CGpass getPass() const;
+
+ const std::string &getName() const;
+ const std::vector<cfxGlPipelineSetting*> &getSettingArray() const;
+ const std::vector<cfxShader*> &getShaderArray() const;
+
+private:
+
+ cfxTechnique* technique;
+
+ std::string name;
+
+ std::vector<cfxGlPipelineSetting*> settingArray; // min 0
+
+ std::vector<cfxShader*> shaderArray; // min 0
+
+ CGpass pass;
+
+};
+
+#endif // _CFX_PASS_H
+
diff --git a/1.4.0/fx/include/cfxPlatform.h b/1.4.0/fx/include/cfxPlatform.h
new file mode 100644
index 0000000..a2abb8a
--- /dev/null
+++ b/1.4.0/fx/include/cfxPlatform.h
@@ -0,0 +1,20 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+#ifndef _CFX_PLATFORM_H_
+#define _CFX_PLATFORM_H_
+
+#include <stdio.h>
+
+// The CFX_PLATFORM_INCLUDE define specifies the header file which includes all platform specific information
+// For windows projects this is \<cfxWin.h\> which makes this statement include <cfxWin.h>
+// For Linux projects this is \<cfxLinux.h\> which makes this statement include <cfxLinux.h>
+// The define is defaulted to windows in the Makefile
+#include CFX_PLATFORM_INCLUDE
+
+#endif
+
diff --git a/1.4.0/fx/include/cfxSampler.h b/1.4.0/fx/include/cfxSampler.h
new file mode 100644
index 0000000..dc1ca44
--- /dev/null
+++ b/1.4.0/fx/include/cfxSampler.h
@@ -0,0 +1,56 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+#ifndef _CFX_SAMPLER_H
+#define _CFX_SAMPLER_H
+
+#include <string>
+#include <vector>
+
+#include <cfxPlatform.h>
+
+class cfxEffect;
+class cfxParam;
+class cfxGlSamplerSetting;
+class cfxSurface;
+
+// cfxSampler
+class cfxSampler
+{
+ public:
+
+ cfxSampler(const std::string& _source, cfxEffect* _effect);
+ virtual ~cfxSampler();
+
+ bool apply(cfxParam* param);
+
+ GLuint getTextureId();// const;
+
+ void pushSetting(cfxGlSamplerSetting* setting);
+
+ void setGenerateMipmaps(bool _generateMipmaps);
+
+ const std::string &getSource() const;
+ const std::vector<cfxGlSamplerSetting*> &getSettingArray() const;
+
+ protected:
+
+ std::string source;
+ GLuint textureId;
+
+ cfxEffect* effect;
+ cfxSurface* surface;
+
+ bool generateMipmaps;
+
+ std::vector<cfxGlSamplerSetting*> settingArray; // min 0
+
+};
+
+
+
+#endif // _CFX_SAMPLER_H
diff --git a/1.4.0/fx/include/cfxSetParam.h b/1.4.0/fx/include/cfxSetParam.h
new file mode 100644
index 0000000..ebbd5f2
--- /dev/null
+++ b/1.4.0/fx/include/cfxSetParam.h
@@ -0,0 +1,39 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+#ifndef _CFX_SETPARAM_H
+#define _CFX_SETPARAM_H
+
+
+#include <cfxParam.h>
+
+class cfxEffect;
+class cfxAnnotate;
+class cfxData;
+
+// cfxSetparam
+class cfxSetParam : public cfxParam
+{
+public:
+
+ cfxSetParam(cfxData* _data, const std::string& _name, cfxEffect* _effect);
+
+ virtual bool apply();
+ virtual bool validate() const;
+
+ virtual cfxParam::cfxParamTypeEnum getType() const;
+ const cfxData *getData() const;
+
+protected:
+
+ cfxEffect* effect;
+ cfxData* data;
+
+};
+
+#endif // _CFX_SETPARAM_H
+
diff --git a/1.4.0/fx/include/cfxShader.h b/1.4.0/fx/include/cfxShader.h
new file mode 100644
index 0000000..a040a83
--- /dev/null
+++ b/1.4.0/fx/include/cfxShader.h
@@ -0,0 +1,63 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+#ifndef _CFX_SHADER_H
+#define _CFX_SHADER_H
+
+#include <string>
+#include <cfxAnnotatable.h>
+#include <cfxParamable.h>
+
+//#ifndef _LIB
+#include <Cg/cg.h>
+//#else
+//#include <cfxNoCg.h>
+//#endif
+
+class cfxPass;
+
+// cfxShader
+class cfxShader : public cfxAnnotatable, public cfxParamable
+{
+public:
+ enum type_enum {
+ VERTEX,
+ FRAGMENT
+ };
+public:
+
+ cfxShader(cfxPass* _pass, const std::string& _source, const std::string& _name, CGprofile _target, type_enum type);
+ ~cfxShader();
+ bool apply();
+ bool validate() const;
+
+ cfxPass* getPass() const;
+
+ CGprogram getProgram() const;
+
+ const std::string &getName() const;
+ const std::string &getSource() const;
+ const CGprofile &getTarget() const;
+ type_enum getOriginalType() const;
+
+private:
+
+ cfxPass* pass;
+
+ std::string source;
+ std::string name;
+
+ CGprofile target;
+ CGprogram program;
+ CGstate state;
+ CGstateassignment assignment;
+
+ type_enum originalType;
+};
+
+#endif // _CFX_SHADER_H
+
diff --git a/1.4.0/fx/include/cfxSurface.h b/1.4.0/fx/include/cfxSurface.h
new file mode 100644
index 0000000..98a66c6
--- /dev/null
+++ b/1.4.0/fx/include/cfxSurface.h
@@ -0,0 +1,61 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+#ifndef _CFX_SURFACE_H
+#define _CFX_SURFACE_H
+
+#include <string>
+#include <map>
+#include <vector>
+
+#include <cfxPlatform.h>
+
+class cfxParam;
+
+// cfxSurface
+class cfxSurface
+{
+public:
+
+ cfxSurface(const std::string& _init_from, const std::string& _format, cfxSurface* parentSurface = NULL);
+ ~cfxSurface();
+
+ bool apply();
+ bool validate() const;
+
+ const std::string& getInitFrom() const;
+ const std::string& getFormat() const;
+
+ void addReferencingParam(cfxParam* param);
+
+ // load images in some other library
+ // this must then be called for all loaded images so cfx can access their GL ids
+ static void addImage(const std::string& imageId, GLuint texId);
+ static void setDefaultTexture(GLuint texId);
+ // to retrieve tex ids lookup by image id
+ static GLuint getTexIdByImageId(const std::string& imageId);
+
+ const cfxSurface* getParentSurface() const;
+ std::vector<cfxParam*> referencingParams;
+private:
+
+ void setSurface(const std::string& _init_from, const std::string& _format);
+
+ std::string init_from;
+ std::string format;
+
+ cfxSurface* parentSurface;
+
+ static std::map<std::string, GLuint> mapImageIdToGlTextureObjectId;
+
+ static GLuint defaultTexture;
+
+};
+
+
+
+#endif // _CFX_SURFACE_H
diff --git a/1.4.0/fx/include/cfxTechnique.h b/1.4.0/fx/include/cfxTechnique.h
new file mode 100644
index 0000000..ba8a954
--- /dev/null
+++ b/1.4.0/fx/include/cfxTechnique.h
@@ -0,0 +1,79 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+#ifndef _CFX_TECHNIQUE_H
+#define _CFX_TECHNIQUE_H
+
+
+#include <cfxAnnotatable.h>
+#include <cfxParamable.h>
+#include <string>
+#include <map>
+
+//#ifndef _LIB
+#include <Cg/cg.h>
+//#else
+//#include <cfxNoCg.h>
+//#endif
+
+class cfxEffect;
+class cfxPass;
+class cfxCode;
+class cfxSurface;
+
+// cfxTechnique
+class cfxTechnique : public cfxAnnotatable, public cfxParamable
+{
+public:
+
+ cfxTechnique(cfxEffect* _effect, const std::string& _name);
+ ~cfxTechnique();
+
+ bool apply();
+ bool validate() const;
+
+ cfxEffect* getEffect() const;
+ CGtechnique getTechnique() const;
+
+ const char* mapNameToFullPath(const std::string& name) const;
+ const char* getFullPathCg(unsigned int& numCg, unsigned int indexCg) const;
+
+ void pushPass(cfxPass* pass);
+ void pushInclude(const std::string& name, const std::string& uri);
+ void pushSurface(cfxSurface* surface);
+
+ void setPassState(unsigned int passIndex);
+ void resetPassState(unsigned int passIndex);
+ unsigned int getPassCount() const;
+
+ const std::map<std::string, std::string> &getIncludeMap() const;
+ const std::vector<cfxSurface*> &getSurfaceArray() const;
+ const std::string &getName() const;
+ const std::vector<cfxPass*> &getPassArray() const;
+
+private:
+
+ cfxEffect* effect;
+
+ // nothing to be done with code until run time compilation is supported
+ std::vector<cfxCode*> codeArray;
+
+ // maps identifying name to full path
+ std::map<std::string, std::string> includeMap;
+
+ std::vector<cfxPass*> passArray;
+
+ std::vector<cfxSurface*> surfaceArray;
+
+ std::string name;
+
+ CGtechnique technique;
+
+};
+
+
+#endif // _CFX_TECHNIQUE_H
diff --git a/1.4.0/fx/include/cfxTypes.h b/1.4.0/fx/include/cfxTypes.h
new file mode 100644
index 0000000..e0b0303
--- /dev/null
+++ b/1.4.0/fx/include/cfxTypes.h
@@ -0,0 +1,137 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+#ifndef _CFX_TYPES_H
+#define _CFX_TYPES_H
+
+#ifdef WIN32
+#define NORMAL_OS 1
+#endif
+
+#ifdef LINUX
+#undef NORMAL_OS
+#endif
+
+#ifdef __APPLE__
+#undef NORMAL_OS
+#endif
+
+
+typedef int cfxBool;
+typedef unsigned int cfxUint;
+typedef int cfxInt;
+typedef int cfxError;
+typedef float cfxFloat;
+typedef double cfxDouble;
+
+typedef struct {
+ cfxBool b0;
+} cfxBool1;
+
+typedef struct {
+ cfxBool b0;
+ cfxBool b1;
+} cfxBool2;
+
+typedef struct {
+ cfxBool b0;
+ cfxBool b1;
+ cfxBool b2;
+} cfxBool3;
+
+typedef struct {
+ cfxBool b0;
+ cfxBool b1;
+ cfxBool b2;
+ cfxBool b3;
+} cfxBool4;
+
+typedef struct {
+ cfxInt i0;
+} cfxInt1;
+
+typedef struct {
+ cfxInt i0;
+ cfxInt i1;
+} cfxInt2;
+
+typedef struct {
+ cfxInt i0;
+ cfxInt i1;
+ cfxInt i2;
+} cfxInt3;
+
+typedef struct {
+ cfxInt i0;
+ cfxInt i1;
+ cfxInt i2;
+ cfxInt i3;
+} cfxInt4;
+
+typedef struct {
+ cfxFloat f0;
+} cfxFloat1;
+
+typedef struct {
+ cfxFloat f0;
+ cfxFloat f1;
+} cfxFloat2;
+
+typedef struct {
+ cfxFloat f0;
+ cfxFloat f1;
+ cfxFloat f2;
+} cfxFloat3;
+
+typedef struct {
+ cfxFloat f0;
+ cfxFloat f1;
+ cfxFloat f2;
+ cfxFloat f3;
+} cfxFloat4;
+
+
+typedef struct {
+ cfxFloat f00;
+ cfxFloat f01;
+ cfxFloat f10;
+ cfxFloat f11;
+} cfxFloat2x2;
+
+typedef struct {
+ cfxFloat f00;
+ cfxFloat f01;
+ cfxFloat f02;
+ cfxFloat f10;
+ cfxFloat f11;
+ cfxFloat f12;
+ cfxFloat f20;
+ cfxFloat f21;
+ cfxFloat f22;
+} cfxFloat3x3;
+
+typedef struct {
+ cfxFloat f00;
+ cfxFloat f01;
+ cfxFloat f02;
+ cfxFloat f03;
+ cfxFloat f10;
+ cfxFloat f11;
+ cfxFloat f12;
+ cfxFloat f13;
+ cfxFloat f20;
+ cfxFloat f21;
+ cfxFloat f22;
+ cfxFloat f23;
+ cfxFloat f30;
+ cfxFloat f31;
+ cfxFloat f32;
+ cfxFloat f33;
+} cfxFloat4x4;
+
+
+#endif // _CFX_TYPES_H
diff --git a/1.4.0/fx/include/cfxWin.h b/1.4.0/fx/include/cfxWin.h
new file mode 100644
index 0000000..079d20e
--- /dev/null
+++ b/1.4.0/fx/include/cfxWin.h
@@ -0,0 +1,39 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+#ifndef _CFX_WIN_H_
+#define _CFX_WIN_H_
+
+#include <windows.h>
+#include <gl/gl.h>
+#include <gl/glext.h>
+#include <gl/glu.h>
+//#include <gl/glaux.h>
+//#ifndef _LIB
+#include <Cg/cg.h>
+#include <Cg/cgGL.h>
+//#else
+//#include <cfxNoCg.h>
+//#endif
+
+#include <assert.h>
+
+#define CG_FILE_TYPE CG_SOURCE
+
+inline void cfxPrint(const char* str, ...)
+{
+ va_list valist;
+ char tempStr[4096];
+
+ va_start(valist, str); // LMessage is the last argument before the varargs
+ vsprintf(tempStr, str, valist);
+ va_end(valist);
+
+ OutputDebugString( tempStr );
+}
+
+#endif
diff --git a/1.4.0/fx/license/license.txt b/1.4.0/fx/license/license.txt
new file mode 100644
index 0000000..aa8003e
--- /dev/null
+++ b/1.4.0/fx/license/license.txt
@@ -0,0 +1,21 @@
+The MIT License
+
+Copyright 2006 Sony Computer Entertainment Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/1.4.0/fx/relnotes_e.txt b/1.4.0/fx/relnotes_e.txt
new file mode 100644
index 0000000..8cd2f10
--- /dev/null
+++ b/1.4.0/fx/relnotes_e.txt
@@ -0,0 +1,46 @@
+#
+# Copyright 2006 Sony Computer Entertainment Inc.
+#
+# Licensed under the MIT Open Source License, for details please see license.txt or the website
+# http://www.opensource.org/licenses/mit-license.php
+#
+
+
+COLLADA FX Loader Release Notes
+-------------------------------
+
+Description:
+
+The COLLADA FX Loader project is a sample that was developed to load a
+basic COLLADA FX document, and to make all of the calls to the Cg / CgGL
+runtime to create and initialize the materials and effects defined in
+COLLADA.
+
+It also provides an API to apply those effects through calls to set and
+reset the pass state of an effect. The client code just needs to push
+the polygons after setting the pass state to draw with the desired material.
+
+The loader does not currently provide exhaustive support for all of the
+types or states that can be used in Cg and OpenGL. The framework that
+is in place is easily extensible to add implementation for any types or
+states that are needed and currently unsupported.
+
+It has been sufficient to load and run moderately complex effects that
+we have tested and used in demos so far. It does not yet support render
+targets yet or full screen effects.
+
+The sources for the COLLADA FX loader build into a library called
+libcfx.a that must be linked into the application.
+
+The loader uses the COLLADA DOM when loading assets directly out of
+COLLADA, or the effects and materials can be converted into a binary
+format native to libcfx.
+
+authors: Tanya Scovill, SCEA
+ Andrew Lorino, SCEA
+
+
+Dependency:
+
+**COLLADA FX Loader requires CG 1.5. It can be obtained at
+http://www.nvidia.com/object/cg_toolkit.html
diff --git a/1.4.0/fx/relnotes_j.txt b/1.4.0/fx/relnotes_j.txt
new file mode 100644
index 0000000..6162c0f
--- /dev/null
+++ b/1.4.0/fx/relnotes_j.txt
@@ -0,0 +1,40 @@
+#
+# Copyright 2006 Sony Computer Entertainment Inc.
+#
+# Licensed under the MIT Open Source License, for details please see license.txt or the website
+# http://www.opensource.org/licenses/mit-license.php
+#
+
+COLLADA FX Loader[Xm[g
+-------------------------------
+
+**COLLADA FX Loaderɂ́ACG 1.5KvłBł͈ȉł܂B
+http://developer.nvidia.com/object/cg-toolkit-15beta.html
+
+COLLADA FX LoadervWFNǵA{ICOLLADA FX[hAׂĂ
+ĂяoCg/CgGL^CɂāACOLLADAŒ`Ă}eA
+GtFNg쐬E邽߂ɊJꂽTvłB
+
+܂AGtFNg̃pXԂZbg胊Zbg邽߂ɁAĂяo
+ẴGtFNgKp邽߂API񋟂Ă܂BNCAg
+R[hł́AړĨ}eAŕ`悤ɃpXԂZbgŃ|S
+vbVKv邾łB
+
+_ł́A[h́ACgOpenGLŗp”\ȃ^CvԂׂ
+T|[gĂ킯ł͂܂B݃T|[gĂȂĂKvȔCӂ
+^CvԂ̎lj邽߂ɁAzĂt[[N͊ȒP
+gł܂B
+
+܂ŃeXgsAfŗpKxɕGȃGtFNg[h
+sɂ͏\łB_O^[QbgtXN[GtFNg
+܂T|[gĂ܂B
+
+COLLADA FX[_̃\[Xlibcfx.aƌĂ΂郉Cuɑgݍ܂ĂA
+̃CúAȂ炸AvP[VɃNȂ΂Ȃ܂B
+
+[_́ACOLLADA璼ڃAZbg[hꍇCOLLADA DOM𗘗p܂B
+́AGtFNg}eÁAlibcfx̃lCeBuoCitH[}bg
+ɕϊ邱Ƃł܂B
+
+ҁFTanya Scovill, SCEA
+ Andrew Lorino, SCEA
diff --git a/1.4.0/fx/src/cfxAnnotatable.cpp b/1.4.0/fx/src/cfxAnnotatable.cpp
new file mode 100644
index 0000000..2e53c71
--- /dev/null
+++ b/1.4.0/fx/src/cfxAnnotatable.cpp
@@ -0,0 +1,35 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+#include <cfxAnnotatable.h>
+#include <cfxAnnotate.h>
+
+
+// cfxAnnotatable
+cfxAnnotatable::cfxAnnotatable()
+{
+}
+
+cfxAnnotatable::~cfxAnnotatable()
+{
+ for (size_t i=0; i<annotateArray.size(); i++)
+ {
+ delete (cfxAnnotate*)(annotateArray[i])->getData();
+ delete annotateArray[i];
+ }
+ annotateArray.clear();
+}
+
+void cfxAnnotatable::pushAnnotate(cfxAnnotate* annotate)
+{
+ annotateArray.push_back(annotate);
+}
+
+const std::vector<cfxAnnotate*> &cfxAnnotatable::getAnnotateArray() const
+{
+ return annotateArray;
+}
diff --git a/1.4.0/fx/src/cfxAnnotate.cpp b/1.4.0/fx/src/cfxAnnotate.cpp
new file mode 100644
index 0000000..7a6ea96
--- /dev/null
+++ b/1.4.0/fx/src/cfxAnnotate.cpp
@@ -0,0 +1,85 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+// System includes
+
+#include <stdio.h>
+#include <cstdlib>
+#include <assert.h>
+#include <cfxPlatform.h>
+// User includes
+
+#include <cfxAnnotate.h>
+#include <cfxData.h>
+#include <cfxEffect.h>
+#include <cfxParam.h>
+#include <cfxPass.h>
+#include <cfxTechnique.h>
+#include <cfxShader.h>
+
+
+// cfxAnnotate
+cfxAnnotate::cfxAnnotate(cfxData* _data, const std::string& _name)
+ : data(_data),
+ name(_name)
+{
+}
+
+cfxAnnotate::~cfxAnnotate()
+{
+}
+
+
+bool cfxAnnotate::apply(const cfxEffect* effect)
+{
+ annotation = cgCreateEffectAnnotation(effect->getEffect(), name.c_str(), data->getType());
+ data->apply(this);
+ return true;
+}
+
+bool cfxAnnotate::apply(const cfxParam* param)
+{
+ annotation = cgCreateParameterAnnotation(param->getParameter(), name.c_str(), data->getType());
+ data->apply(this);
+ return true;
+}
+
+bool cfxAnnotate::apply(const cfxPass* pass)
+{
+ annotation = cgCreatePassAnnotation(pass->getPass(), name.c_str(), data->getType());
+ data->apply(this);
+ return true;
+}
+
+bool cfxAnnotate::apply(const cfxTechnique* technique)
+{
+ annotation = cgCreateTechniqueAnnotation(technique->getTechnique(), name.c_str(), data->getType());
+ data->apply(this);
+ return true;
+}
+
+bool cfxAnnotate::apply(const cfxShader* shader)
+{
+ annotation = cgCreateProgramAnnotation(shader->getProgram(), name.c_str(), data->getType());
+ data->apply(this);
+ return true;
+}
+
+CGannotation cfxAnnotate::getAnnotation() const
+{
+ return annotation;
+}
+
+const cfxData *cfxAnnotate::getData() const
+{
+ return data;
+}
+
+const std::string &cfxAnnotate::getName() const
+{
+ return name;
+}
diff --git a/1.4.0/fx/src/cfxBinaryUtil.cpp b/1.4.0/fx/src/cfxBinaryUtil.cpp
new file mode 100644
index 0000000..e34f4c0
--- /dev/null
+++ b/1.4.0/fx/src/cfxBinaryUtil.cpp
@@ -0,0 +1,2294 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+/*
+ * Binary file importer and exporter for the COLLADA FX loader library.
+ * Summary of format:
+ * newlines added for comment readability only
+ * all string are NULL terminated
+ * '...' means that the structure before may be repeated as many times as needed
+ * All *_TOKEN are optional structures, but if they appear they must include data specified after
+ *
+ * COLLADA_FX_BIN_ID
+ * COLLADA_FX_BIN_VER
+ * platform identifier
+ * EFFECT_TOKEN effect-name chunk-size
+ * ANNOTATE_TOKEN annotate-name
+ * Type_ID data
+ * ...
+ * NEWPARAM_TOKEN param-name semantic
+ * Type_ID data
+ * ...
+ * SURFACE_TAG surface-name image-name format
+ * ...
+ * TECHNIQUE_TOKEN technique-name
+ * ANNOTATE
+ * ...
+ * INCLUDE_TAG include-name path
+ * ...
+ * SURFACE_TAG image-name format
+ * ...
+ * NEWPARAM
+ * ...
+ * SETPARAM_TOKEN param-name
+ * Type_ID data
+ * ...
+ * PASS_TOKEN pass-name
+ * ANNOTATE
+ * ...
+ * NEWPARAM
+ * ...
+ * SETPARAM
+ * ...
+ * GL_SETTING_TOKEN setting-Identifier setting-values
+ * ...
+ * SHADER_TOKEN vertex-or-fragment-identifier source entry-name
+ * ANNOTATE_TOKEN
+ * ...
+ * CONNECT_PARAM_TOKEN shader-symbol param-name
+ * ...
+ * BIND_PARAM_TOKEN shader-symbol Type_ID data
+ * ...
+ * ...
+ * ...
+ * ...
+ * ...
+ * MATERIAL_TOKEN name effect-name size
+ * SETPARAM_TOKEN param-name
+ * Type_ID data
+ * ...
+ * SURFACE_TAG surface-name image-name format
+ * ...
+ * ...
+ * EOF
+ */
+
+// System includes
+#include <stdio.h>
+#include <cstdlib>
+#include <iostream>
+
+//#include <Cg/cg.h>
+#include <cfxPlatform.h>
+
+// User includes
+
+#include <cfxBinaryUtil.h>
+#include <cfxAnnotatable.h>
+#include <cfxAnnotate.h>
+#include <cfxBindParam.h>
+#include <cfxCode.h>
+#include <cfxConnectParam.h>
+#include <cfxData.h>
+#include <cfxDataMaker.h>
+#include <cfxEffect.h>
+#include <cfxGlPipelineSetting.h>
+#include <cfxGlPipelineSettingMaker.h>
+#include <cfxGlSamplerSetting.h>
+#include <cfxMaterial.h>
+#include <cfxNewParam.h>
+#include <cfxParamable.h>
+#include <cfxPass.h>
+#include <cfxSampler.h>
+#include <cfxSetParam.h>
+#include <cfxShader.h>
+#include <cfxSurface.h>
+#include <cfxTechnique.h>
+#include <cfxError.h>
+#include <cfxLoader.h>
+
+#include <dae.h>
+#include <dae/daeURI.h>
+
+//File Header identifiers
+#define COLLADA_FX_BIN_ID 0xDAEFEC
+#define COLLADA_FX_BIN_VER 0x14
+
+#define CFX_BIN_TOKEN_SIZE 2
+
+//Chunk Header Tags
+#define EFFECT_TOKEN 0xEFEC
+#define ANNOTATE_TOKEN 0xA77E
+#define NEWPARAM_TOKEN 0x2E39
+#define TECHNIQUE_TOKEN 0x7C2C
+#define INCLUDE_TOKEN 0x12CD
+#define SURFACE_TOKEN 0x5E2F
+#define SETPARAM_TOKEN 0x5E79
+#define PASS_TOKEN 0x9A55
+#define GL_SETTING_TOKEN 0x5E72
+#define SHADER_TOKEN 0x5AD2
+#define CONNECTPARAM_TOKEN 0xC2C7
+#define BINDPARAM_TOKEN 0xB12D
+#define MATERIAL_TOKEN 0x3A71
+
+//Type Tags
+#define CFXBOOL0 0xB000
+#define CFXBOOL1 0xB001
+#define CFXBOOL2 0xB002
+#define CFXBOOL3 0xB003
+#define CFXBOOL4 0xB004
+#define CFXINT0 0x1200
+#define CFXINT1 0x1201
+#define CFXINT2 0x1202
+#define CFXINT3 0x1203
+#define CFXINT4 0x1204
+#define CFXFLOAT0 0xF100
+#define CFXFLOAT1 0xF101
+#define CFXFLOAT2 0xF102
+#define CFXFLOAT3 0xF103
+#define CFXFLOAT4 0xF104
+#define CFXFLOAT2X2 0xF122
+#define CFXFLOAT3X3 0xF133
+#define CFXFLOAT4X4 0xF144
+#define CFXSAMPLER1D 0x5A31
+#define CFXSAMPLER2D 0x5A32
+#define CFXSAMPLER3D 0x5A33
+#define CFXSAMPLERCUBE 0x5A3C
+#define CFXSTRING 0x5712
+
+std::string cfxBinaryUtil::fileName;
+std::string cfxBinaryUtil::remotePath = "";
+
+void cfxBinaryUtil::setRemotePath( const std::string &path )
+{
+ remotePath = path;
+}
+
+cfxBool cfxBinaryUtil::load(const std::string& file, std::map<std::string, cfxMaterial*>& materials,
+ std::map<std::string, cfxEffect*>& effects, CGcontext _context)
+{
+ // Open file for loading
+ FILE *input = NULL;
+
+ // Load the COLLADA file
+ std::string fn = remotePath + file;
+ printf("loading %s\n", fn.c_str());
+ input = fopen( fn.c_str(), "rb" );
+ if ( input == NULL )
+ {
+ printf( "ERROR: Unable to open file %s!\n", file.c_str() );
+ return false;
+ }
+ // Load file header
+ if ( !loadFileHeader( input ) )
+ {
+ printf( "ERROR: Improper file header!\n" );
+ return false;
+ }
+
+ cgSetErrorCallback(cfxCgErrorCallback);
+
+ if (_context == NULL)
+ {
+ _context = cgCreateContext();
+ cgGLRegisterStates(_context);
+ }
+
+ short token = 0;
+ cfxBool trew = true;
+ while( trew ) {
+ readToken( token, input );
+ if ( feof( input ) ) {
+ //eof only happens after you try to read past it so try one more token.
+ break;
+ }
+ cfxEffect* effect = NULL;
+ cfxMaterial *material = NULL;
+ switch( token )
+ {
+ case (short)EFFECT_TOKEN:
+ // currently using managed textures to ensure that the texture objects are
+ // on the correct texture unit where the program expects them to be.
+ cgGLSetManageTextureParameters(_context, true);
+
+ effect = readEffect( input, _context );
+ if ( effect == NULL )
+ {
+ return false;
+ }
+ effects.insert(std::make_pair(effect->getName(), effect));
+#ifndef _LIB
+ effect->apply();
+#endif
+ break;
+ case (short)MATERIAL_TOKEN:
+ material = readMaterial( input, _context, &effects );
+ materials.insert(std::make_pair(material->getName(), material));
+ break;
+ default:
+ printf( "Unexpected Token!" );
+ return false;
+ }
+ }
+ fclose( input );
+ return true;
+}
+
+size_t cfxBinaryUtil::readString( std::string &str, FILE *input )
+{
+ str.clear();
+ char currChar[2];
+ currChar[1] = '\0';
+ size_t count = 0;
+ do
+ {
+ currChar[0] = fgetc( input );
+ str.append( currChar );
+ ++count;
+ }while( currChar[0] != '\0' );
+ return count;
+}
+
+void cfxBinaryUtil::endianSwap( short *s )
+{
+ char temp;
+ char *bytes = (char *)s;
+ temp = bytes[0];
+ bytes[0] = bytes[1];
+ bytes[1] = temp;
+}
+
+void cfxBinaryUtil::endianSwap( cfxInt *i )
+{
+ size_t sz = sizeof( cfxInt );
+ char temp;
+ char *bytes = (char *)i;
+ for ( size_t x = 0; x < sz/2; ++x )
+ {
+ temp = bytes[x];
+ bytes[x] = bytes[sz-x-1];
+ bytes[sz-x-1] = temp;
+ }
+}
+
+void cfxBinaryUtil::endianSwap( cfxFloat *f )
+{
+ size_t sz = sizeof( cfxFloat );
+ char temp;
+ char *bytes = (char *)f;
+ for ( size_t x = 0; x < sz/2; ++x )
+ {
+ temp = bytes[x];
+ bytes[x] = bytes[sz-x-1];
+ bytes[sz-x-1] = temp;
+ }
+}
+
+size_t cfxBinaryUtil::readBool( cfxBool *buf, size_t count, FILE *input )
+{
+ //cfxBool has no endian issues
+ return fread( buf, sizeof(cfxBool), count, input) * sizeof(cfxBool);
+}
+
+size_t cfxBinaryUtil::readInt( cfxInt *buf, size_t count, FILE *input )
+{
+#ifdef WIN32
+ //win32 requires endian swap
+ size_t sz = fread( buf, sizeof(cfxInt), count, input) * sizeof(cfxInt);
+ for ( size_t i = 0; i < count; ++i )
+ {
+ endianSwap( buf+i );
+ }
+ return sz;
+#else
+ return fread( buf, sizeof(cfxInt), count, input) * sizeof(cfxInt);
+#endif
+}
+
+size_t cfxBinaryUtil::readFloat( cfxFloat *buf, size_t count, FILE *input )
+{
+#ifdef WIN32
+//win32 requires endian swap
+ size_t sz = fread( buf, sizeof(cfxFloat), count, input) * sizeof(cfxFloat);
+ for ( size_t i = 0; i < count; ++i )
+ {
+ endianSwap( buf+i );
+ }
+ return sz;
+#else
+ return fread( buf, sizeof(cfxFloat), count, input) * sizeof(cfxFloat);
+#endif
+}
+
+size_t cfxBinaryUtil::readToken( short &token, FILE *input)
+{
+ fread( &token, CFX_BIN_TOKEN_SIZE, 1, input );
+#ifdef WIN32
+ endianSwap( &token );
+#endif
+ return CFX_BIN_TOKEN_SIZE;
+}
+
+
+cfxBool cfxBinaryUtil::loadFileHeader( FILE *input )
+{
+ if ( input == NULL )
+ {
+ return false;
+ }
+ //check type and version
+ size_t byteCount = 0;
+ int typenver;
+ fread( &typenver, 4, 1, input );
+#ifdef WIN32
+ endianSwap( &typenver );
+#endif
+ if ( typenver != (COLLADA_FX_BIN_ID << 8 )+ COLLADA_FX_BIN_VER ) {
+ printf( "ERROR: Wrong file type or COLLADA_FX Binary version!\n" );
+ return false;
+ }
+ int offset;
+ byteCount = 4 + readInt( &offset, 1, input );
+ if ( (int)byteCount != offset )
+ {
+ //just have this here because you should be at the start of data now. if not I messed
+ //something up somewhere
+ return false;
+ }
+ return true;
+}
+
+cfxAnnotate *cfxBinaryUtil::readAnnotate( FILE *input, size_t &size, cfxEffect *effect )
+{
+ std::string name;
+ cfxData *data;
+ size = readString(name, input);
+ size += readTypedData( &data, input, effect );
+ return new cfxAnnotate( data, name );
+}
+
+cfxParam *cfxBinaryUtil::readParam( short token, FILE *input, size_t &size, void *other )
+{
+ std::string name;
+ std::string fromName;
+ std::string semantic;
+ cfxData *data;
+ switch ( token )
+ {
+ case (short)BINDPARAM_TOKEN:
+ size = readString( name, input );
+ size += readTypedData( &data, input, ((cfxShader*)other)->getPass()->getTechnique()->getEffect() );
+ return new cfxBindParam( name, (cfxShader*)other, data );
+ case (short)CONNECTPARAM_TOKEN:
+ size = readString( name, input );
+ size += readString( fromName, input );
+ return new cfxConnectParam( name, (cfxShader*)other, fromName );
+ case (short)NEWPARAM_TOKEN:
+ size = readString( name, input );
+ size += readString( semantic, input );
+ size += readTypedData( &data, input, (cfxEffect*)other );
+ return new cfxNewParam( data, name, (cfxEffect*)other, semantic );
+ case (short)SETPARAM_TOKEN:
+ size = readString( name, input );
+ size += readTypedData( &data, input, (cfxEffect*)other );
+ return new cfxSetParam( data, name, (cfxEffect*)other );
+ default:
+ printf( "ERROR: Unknown param type or bad token!\n" );
+ break;
+ }
+ size = 0;
+ return NULL;
+}
+
+size_t cfxBinaryUtil::readTypedData( cfxData **data, FILE *input, cfxEffect *effect )
+{
+ short token;
+ size_t size = readToken( token, input );
+ if ( token == (short)CFXBOOL0 )
+ {
+ cfxBool b;
+ size += readBool( &b, 1, input );
+ *data = new cfxDataBool( b );
+ }
+ else if ( token == (short)CFXBOOL1 )
+ {
+ cfxBool1 b;
+ size += readBool( (cfxBool*)&b, 1, input );
+ *data = new cfxDataBool1( b );
+ }
+ else if ( token == (short)CFXBOOL2 )
+ {
+ cfxBool2 b;
+ size += readBool( (cfxBool*)&b, 2, input );
+ *data = new cfxDataBool2( b );
+ }
+ else if ( token == (short)CFXBOOL3 )
+ {
+ cfxBool3 b;
+ size += readBool( (cfxBool*)&b, 3, input );
+ *data = new cfxDataBool3( b );
+ }
+ else if ( token == (short)CFXBOOL4 )
+ {
+ cfxBool4 b;
+ size += readBool( (cfxBool*)&b, 4, input );
+ *data = new cfxDataBool4( b );
+ }
+ else if ( token == (short)CFXINT0 )
+ {
+ cfxInt i;
+ size += readInt( &i, 1, input );
+ *data = new cfxDataInt( i );
+ }
+ else if ( token == (short)CFXINT1 )
+ {
+ cfxInt1 i;
+ size += readInt( (cfxInt*)&i, 1, input );
+ *data = new cfxDataInt1( i );
+ }
+ else if ( token == (short)CFXINT2 )
+ {
+ cfxInt2 i;
+ size += readInt( (cfxInt*)&i, 2, input );
+ *data = new cfxDataInt2( i );
+ }
+ else if ( token == (short)CFXINT3 )
+ {
+ cfxInt3 i;
+ size += readInt( (cfxInt*)&i, 3, input );
+ *data = new cfxDataInt3( i );
+ }
+ else if ( token == (short)CFXINT4 )
+ {
+ cfxInt4 i;
+ size += readInt( (cfxInt*)&i, 4, input );
+ *data = new cfxDataInt4( i );
+ }
+ else if ( token == (short)CFXFLOAT0 )
+ {
+ cfxFloat f;
+ size += readFloat( &f, 1, input );
+ *data = new cfxDataFloat( f );
+ }
+ else if ( token == (short)CFXFLOAT1 )
+ {
+ cfxFloat1 f;
+ size += readFloat( (cfxFloat*)&f, 1, input );
+ *data = new cfxDataFloat1( f );
+ }
+ else if ( token == (short)CFXFLOAT2 )
+ {
+ cfxFloat2 f;
+ size += readFloat( (cfxFloat*)&f, 2, input );
+ *data = new cfxDataFloat2( f );
+ }
+ else if ( token == (short)CFXFLOAT3 )
+ {
+ cfxFloat3 f;
+ size += readFloat( (cfxFloat*)&f, 3, input );
+ *data = new cfxDataFloat3( f );
+ }
+ else if ( token == (short)CFXFLOAT4 )
+ {
+ cfxFloat4 f;
+ size += readFloat( (cfxFloat*)&f, 4, input );
+ *data = new cfxDataFloat4( f );
+ }
+ else if ( token == (short)CFXFLOAT2X2 )
+ {
+ cfxFloat2x2 f;
+ size += readFloat( (cfxFloat*)&f, 4, input );
+ *data = new cfxDataFloat2x2( f );
+ }
+ else if ( token == (short)CFXFLOAT3X3 )
+ {
+ cfxFloat3x3 f;
+ size += readFloat( (cfxFloat*)&f, 9, input );
+ *data = new cfxDataFloat3x3( f );
+ }
+ else if ( token == (short)CFXFLOAT4X4 )
+ {
+ cfxFloat4x4 f;
+ size += readFloat( (cfxFloat*)&f, 16, input );
+ *data = new cfxDataFloat4x4( f );
+ }
+ else if ( token == (short)CFXSAMPLER1D )
+ {
+ cfxSampler *sampler;
+ std::string source;
+ int count;
+ size += readString( source, input );
+ size += readInt( &count, 1, input );
+ sampler = new cfxSampler( source, effect );
+ size_t sz;
+ for ( int x = 0; x < count; ++x )
+ {
+ sampler->pushSetting( readSamplerSetting( effect, input, sz ) );
+ size += sz;
+ }
+ *data = new cfxDataSampler1D( sampler );
+ }
+ else if ( token == (short)CFXSAMPLER2D )
+ {
+ cfxSampler *sampler;
+ std::string source;
+ int count;
+ size += readString( source, input );
+ size += readInt( &count, 1, input );
+ sampler = new cfxSampler( source, effect );
+ size_t sz;
+ for ( int x = 0; x < count; ++x )
+ {
+ sampler->pushSetting( readSamplerSetting( effect, input, sz ) );
+ size += sz;
+ }
+ *data = new cfxDataSampler2D( sampler );
+ }
+ else if ( token == (short)CFXSAMPLER3D )
+ {
+ cfxSampler *sampler;
+ std::string source;
+ int count;
+ size += readString( source, input );
+ size += readInt( &count, 1, input );
+ sampler = new cfxSampler( source, effect );
+ size_t sz;
+ for ( int x = 0; x < count; ++x )
+ {
+ sampler->pushSetting( readSamplerSetting( effect, input, sz ) );
+ size += sz;
+ }
+ *data = new cfxDataSampler3D( sampler );
+ }
+ else if ( token == (short)CFXSAMPLERCUBE )
+ {
+ cfxSampler *sampler;
+ std::string source;
+ int count;
+ size += readString( source, input );
+ size += readInt( &count, 1, input );
+ sampler = new cfxSampler( source, effect );
+ size_t sz;
+ for ( int x = 0; x < count; ++x )
+ {
+ sampler->pushSetting( readSamplerSetting( effect, input, sz ) );
+ size += sz;
+ }
+ *data = new cfxDataSamplerCUBE( sampler );
+ }
+ else if ( token == (short)CFXSTRING )
+ {
+ std::string str;
+ size += readString( str, input );
+ *data = new cfxDataString( str );
+ }
+ else
+ {
+ *data = NULL;
+ printf( "ERROR: Unknown data type of invalid token!\n" );
+ }
+ return size;
+}
+
+cfxEffect *cfxBinaryUtil::readEffect( FILE *input, CGcontext _context )
+{
+ //read the name
+ std::string name;
+ readString( name, input );
+ //read size. Its used if you want to skip effects. for now it is unused.
+ int size = 0;
+ int currSize = 0;
+ readInt( &size, 1, input );
+
+ cfxEffect* effect = new cfxEffect(name, _context);
+ if ( effect == NULL ) {
+ printf( "ERROR: Failed to create effect %s!\n", name.c_str() );
+ fseek( input, (long)size, SEEK_CUR ); //move to the end
+ return NULL;
+ }
+ if ( size == 0 )
+ {
+ //this is an empty effect. It will probably break when running but return it now to load properly
+ return effect;
+ }
+ short token;
+ size_t sz;
+ std::string surfName, surfInit, surfFormat;
+ do {
+ currSize += (int)readToken( token, input );
+ switch ( token ) {
+ case (short)ANNOTATE_TOKEN:
+ effect->pushAnnotate( readAnnotate( input, sz, effect ) );
+ currSize += (int)sz;
+ break;
+ case (short)NEWPARAM_TOKEN:
+ //at this time you can only have newparams so pass in effect as other
+ effect->pushParam( readParam( token, input, sz, effect ) );
+ currSize += (int)sz;
+ break;
+ case (short)SURFACE_TOKEN:
+ currSize += (int)readString( surfName, input );
+ currSize += (int)readString( surfInit, input );
+ currSize += (int)readString( surfFormat, input );
+ effect->addNamedSurface( surfName, new cfxSurface( surfInit, surfFormat ) );
+ break;
+ case (short)TECHNIQUE_TOKEN:
+ effect->pushTechnique( readTechnique( effect, input, sz ) );
+ currSize += (int)sz;
+ break;
+ default:
+ printf( "ERROR: Unexpected Token reading effect %s!\n", name.c_str() );
+ fseek( input, (long)size-currSize, SEEK_CUR ); //move to the end
+ return NULL;
+ }
+ }while( currSize < size );
+
+ return effect;
+}
+
+cfxTechnique *cfxBinaryUtil::readTechnique( cfxEffect *effect, FILE *input, size_t &size )
+{
+ std::string name;
+ size = readString( name, input );
+ cfxTechnique *teq = new cfxTechnique( effect, name );
+ int m_size = 0; //the size of this technique block after the name
+ int count = 0; //the amount read so far
+ size += readInt( &m_size, 1, input );
+ if ( teq == NULL ) {
+ printf( "ERROR: Failed to create technique %s!\n", name.c_str() );
+ fseek( input, (long)m_size, SEEK_CUR ); //move to the end
+ size += m_size;
+ return NULL;
+ }
+ if ( m_size == 0 )
+ {
+ //empty Technique probablt makes everything break. but return it here to continue loading
+ return teq;
+ }
+ short token;
+ size_t sz; //variable to pass in for return from functions
+ std::string s1, s2; //temp strings used for include and surface constructors
+ do {
+ count += (int)readToken( token, input );
+ switch ( token ) {
+ case (short)ANNOTATE_TOKEN:
+ teq->pushAnnotate( readAnnotate( input, sz, effect ) );
+ count += (int)sz;
+ break;
+ case (short)INCLUDE_TOKEN:
+ count += (int)readString( s1, input );
+ count += (int)readString( s2, input );
+ s2.insert( 0, remotePath );
+ teq->pushInclude( s1, s2 );
+ break;
+ case (short)SURFACE_TOKEN:
+ count += (int)readString( s1, input );
+ count += (int)readString( s2, input );
+ teq->pushSurface( new cfxSurface( s1, s2 ) );
+ break;
+ case (short)NEWPARAM_TOKEN:
+ //at this time you can only have newparams so pass in effect as other
+ teq->pushParam( readParam( token, input, sz, effect ) );
+ count += (int)sz;
+ break;
+ case (short)SETPARAM_TOKEN:
+ //at this time you can only have newparams so pass in effect as other
+ teq->pushParam( readParam( token, input, sz, effect ) );
+ count += (int)sz;
+ break;
+ case (short)PASS_TOKEN:
+ teq->pushPass( readPass( teq, input, sz ) );
+ count += (int)sz;
+ break;
+ default:
+ printf( "ERROR: Unexpected Token reading teqhnique %s!", name.c_str() );
+ fseek( input, (long)m_size-count, SEEK_CUR ); //move to the end
+ size += m_size;
+ return NULL;
+ }
+ }while( count < m_size );
+ size += count;
+ return teq;
+}
+
+cfxPass *cfxBinaryUtil::readPass( cfxTechnique *teq, FILE *input, size_t &size )
+{
+ std::string name;
+ size = readString( name, input );
+ cfxPass *pass = new cfxPass( teq, name );
+ int m_size = 0; //the size of this technique block after the name
+ int count = 0; //the amount read so far
+ size += readInt( &m_size, 1, input );
+ if ( pass == NULL ) {
+ printf( "ERROR: Failed to create pass %s!\n", name.c_str() );
+ fseek( input, (long)m_size, SEEK_CUR ); //move to the end
+ size += m_size;
+ return NULL;
+ }
+ if ( m_size == 0 )
+ {
+ //empty Pass probablt makes everything break. but return it here to continue loading
+ return pass;
+ }
+ short token;
+ size_t sz; //variable to pass in for return from functions
+ do {
+ count += (int)readToken( token, input );
+ switch ( token ) {
+ case (short)ANNOTATE_TOKEN:
+ pass->pushAnnotate( readAnnotate( input, sz, teq->getEffect() ) );
+ count += (int)sz;
+ break;
+ /*case (short)NEWPARAM_TOKEN:
+ //at this time you can only have newparams so pass in effect as other
+ teq->pushParam( readParam( token, input, sz, effect ) );
+ count += (int)sz;
+ break;
+ case (short)SETPARAM_TOKEN:
+ //at this time you can only have newparams so pass in effect as other
+ teq->pushParam( readParam( token, input, sz, effect ) );
+ count += (int)sz;
+ break;*/
+ case (short)GL_SETTING_TOKEN:
+ pass->pushSetting( readGlSetting( pass, input, sz ) );
+ count += (int)sz;
+ break;
+ case (short)SHADER_TOKEN:
+ pass->pushShader( readShader( pass, input, sz ) );
+ count += (int)sz;
+ break;
+ default:
+ printf( "ERROR: Unexpected Token reading pass %s!", name.c_str() );
+ fseek( input, (long)m_size-count, SEEK_CUR ); //move to the end
+ size += m_size;
+ return NULL;
+ }
+ }while( count < m_size );
+ size += count;
+ return pass;
+}
+
+cfxShader *cfxBinaryUtil::readShader( cfxPass *pass, FILE *input, size_t &size )
+{
+ std::string name, source;
+ cfxShader::type_enum type;
+ size = readInt( (cfxInt*) (void*) &type, 1, input );
+ size += readString( source, input );
+ size += readString( name, input );
+ cfxShader *s;
+ if ( type == cfxShader::VERTEX )
+ {
+ s = new cfxShader( pass, source, name, cgGLGetLatestProfile(CG_GL_VERTEX), type );
+ }
+ else
+ {
+ s = new cfxShader( pass, source, name, cgGLGetLatestProfile(CG_GL_FRAGMENT), type );
+ }
+ int m_size = 0; //the size of this technique block after the name
+ int count = 0; //the amount read so far
+ size += readInt( &m_size, 1, input );
+ if ( s == NULL ) {
+ printf( "ERROR: Failed to create shader %s - %s!\n", source.c_str(), name.c_str() );
+ fseek( input, (long)m_size, SEEK_CUR ); //move to the end
+ size += m_size;
+ return NULL;
+ }
+ if ( m_size == 0 )
+ {
+ //empty shaders are ok since it can be simple and need not parameters bound
+ return s;
+ }
+ short token;
+ size_t sz; //variable to pass in for return from functions
+ do {
+ count += (int)readToken( token, input );
+ switch ( token ) {
+ case (short)ANNOTATE_TOKEN:
+ s->pushAnnotate( readAnnotate( input, sz, pass->getTechnique()->getEffect() ) );
+ count += (int)sz;
+ break;
+ case (short)BINDPARAM_TOKEN:
+ //at this time you can only have newparams so pass in effect as other
+ s->pushParam( readParam( token, input, sz, s ) );
+ count += (int)sz;
+ break;
+ case (short)CONNECTPARAM_TOKEN:
+ //at this time you can only have newparams so pass in effect as other
+ s->pushParam( readParam( token, input, sz, s ) );
+ count += (int)sz;
+ break;
+ default:
+ printf( "ERROR: Unexpected Token reading shader %s - %s!", source.c_str(), name.c_str() );
+ fseek( input, (long)m_size-count, SEEK_CUR ); //move to the end
+ size += m_size;
+ return NULL;
+ }
+ }while( count < m_size );
+ size += count;
+ return s;
+}
+
+cfxGlPipelineSetting *cfxBinaryUtil::readGlSetting( cfxPass *pass, FILE *input, size_t &size )
+{
+ cfxGlPipelineSetting::type_enum type;
+ int i[4];
+ float f[4];
+ cfxFloat4x4 f4x4;
+ cfxBool4 b;
+ cfxSampler *sampler;
+ std::string source;
+ size_t sz;
+
+ size = readInt( (cfxInt*)(void*)&type, 1, input );
+ switch (type) {
+ case cfxGlPipelineSetting::ALPHA_FUNC:
+ size += readInt( i, 1, input );
+ size += readFloat( f, 1, input );
+ return new cfxGlPipelineSettingAlphaFunc(pass, i[0], f[0] );
+
+ case cfxGlPipelineSetting::BLEND_FUNC:
+ size += readInt( i, 2, input );
+ return new cfxGlPipelineSettingBlendFunc(pass, i[0], i[1] );
+
+ case cfxGlPipelineSetting::BLEND_FUNC_SEPARATE:
+ size += readInt( i, 4, input );
+ return new cfxGlPipelineSettingBlendFuncSeparate(pass, i[0], i[1], i[2], i[3] );
+
+ case cfxGlPipelineSetting::BLEND_EQUATION:
+ size += readInt( i, 1, input );
+ return new cfxGlPipelineSettingBlendEquation(pass, i[0] );
+
+ case cfxGlPipelineSetting::BLEND_EQUATION_SEPARATE:
+ size += readInt( i, 2, input );
+ return new cfxGlPipelineSettingBlendEquationSeparate(pass, i[0], i[1] );
+
+ case cfxGlPipelineSetting::BLEND_COLOR:
+ size += readFloat( f, 4, input );
+ return new cfxGlPipelineSettingBlendColor(pass, *(cfxFloat4*)(void*)f );
+
+ case cfxGlPipelineSetting::CLEAR_COLOR:
+ size += readFloat( f, 4, input );
+ return new cfxGlPipelineSettingClearColor(pass, *(cfxFloat4*)(void*)f );
+
+ case cfxGlPipelineSetting::CLEAR_STENCIL:
+ size += readInt( i, 1, input );
+ return new cfxGlPipelineSettingClearStencil(pass, i[0]);
+
+ case cfxGlPipelineSetting::CLEAR_DEPTH:
+ size += readFloat( f, 1, input );
+ return new cfxGlPipelineSettingClearDepth(pass, f[0] );
+
+ case cfxGlPipelineSetting::CLIP_PLANE:
+ size += readInt( i, 1, input );
+ size += readFloat( f, 4, input );
+ return new cfxGlPipelineSettingClipPlane(pass, i[0], *(cfxFloat4*)(void*)f );
+
+ case cfxGlPipelineSetting::COLOR_MASK:
+ size += readBool( (cfxBool*)&b, 4, input );
+ return new cfxGlPipelineSettingColorMask(pass, b );
+
+ case cfxGlPipelineSetting::COLOR_MATERIAL:
+ size += readInt( i, 2, input );
+ return new cfxGlPipelineSettingColorMaterial(pass, i[0], i[1] );
+
+ case cfxGlPipelineSetting::CULL_FACE:
+ size += readInt( i, 1, input );
+ return new cfxGlPipelineSettingCullFace(pass, i[0] );
+
+ case cfxGlPipelineSetting::DEPTH_FUNC:
+ size += readInt( i, 1, input );
+ return new cfxGlPipelineSettingDepthFunc(pass, i[0] );
+
+ case cfxGlPipelineSetting::DEPTH_MASK:
+ size += readBool( (cfxBool*)&b, 1, input );
+ return new cfxGlPipelineSettingDepthMask(pass, b.b0 );
+
+ case cfxGlPipelineSetting::DEPTH_RANGE:
+ size += readFloat( f, 2, input );
+ return new cfxGlPipelineSettingDepthRange(pass, *(cfxFloat2*)(void*)f );
+
+ case cfxGlPipelineSetting::FOG_MODE:
+ size += readInt( i, 1, input );
+ return new cfxGlPipelineSettingFogMode(pass, i[0] );
+
+ case cfxGlPipelineSetting::FOG_DENSITY:
+ size += readFloat( f, 1, input );
+ return new cfxGlPipelineSettingFogDensity(pass, f[0] );
+
+ case cfxGlPipelineSetting::FOG_START:
+ size += readFloat( f, 1, input );
+ return new cfxGlPipelineSettingFogStart(pass, f[0] );
+
+ case cfxGlPipelineSetting::FOG_END:
+ size += readFloat( f, 1, input );
+ return new cfxGlPipelineSettingFogEnd(pass, f[0] );
+
+ case cfxGlPipelineSetting::FOG_COLOR:
+ size += readFloat( f, 4, input );
+ return new cfxGlPipelineSettingFogColor(pass, *(cfxFloat4*)(void*)f );
+
+ case cfxGlPipelineSetting::FRONT_FACE:
+ size += readInt( i, 1, input );
+ return new cfxGlPipelineSettingFrontFace(pass, i[0] );
+
+ case cfxGlPipelineSetting::LIGHT_MODEL_AMBEINT:
+ size += readFloat( f, 4, input );
+ return new cfxGlPipelineSettingLightModelAmbient(pass, *(cfxFloat4*)(void*)f );
+
+ case cfxGlPipelineSetting::LIGHT_AMBIENT:
+ size += readInt( i, 1, input );
+ size += readFloat( f, 4, input );
+ return new cfxGlPipelineSettingLightAmbient(pass, i[0], *(cfxFloat4*)(void*)f );
+
+ case cfxGlPipelineSetting::LIGHT_CONSTANT_ATTENUATION:
+ size += readInt( i, 1, input );
+ size += readFloat( f, 1, input );
+ return new cfxGlPipelineSettingLightConstantAttenuation(pass, i[0], f[0] );
+
+ case cfxGlPipelineSetting::LIGHT_DIFFUSE:
+ size += readInt( i, 1, input );
+ size += readFloat( f, 4, input );
+ return new cfxGlPipelineSettingLightDiffuse(pass, i[0], *(cfxFloat4*)(void*)f );
+
+ case cfxGlPipelineSetting::LIGHT_LINEAR_ATTENUATION:
+ size += readInt( i, 1, input );
+ size += readFloat( f, 1, input );
+ return new cfxGlPipelineSettingLightLinearAttenuation(pass, i[0], f[0] );
+
+ case cfxGlPipelineSetting::LIGHT_POSITION:
+ size += readInt( i, 1, input );
+ size += readFloat( f, 4, input );
+ return new cfxGlPipelineSettingLightPosition(pass, i[0], *(cfxFloat4*)(void*)f );
+
+ case cfxGlPipelineSetting::LIGHT_QUADRATIC_ATTENUATION:
+ size += readInt( i, 1, input );
+ size += readFloat( f, 1, input );
+ return new cfxGlPipelineSettingLightQuadraticAttenuation(pass, i[0], f[0] );
+
+ case cfxGlPipelineSetting::LIGHT_SPECULAR:
+ size += readInt( i, 1, input );
+ size += readFloat( f, 4, input );
+ return new cfxGlPipelineSettingLightSpecular(pass, i[0], *(cfxFloat4*)(void*)f );
+
+ case cfxGlPipelineSetting::LIGHT_SPOT_CUTOFF:
+ size += readInt( i, 1, input );
+ size += readFloat( f, 1, input );
+ return new cfxGlPipelineSettingLightSpotCutoff(pass, i[0], f[0] );
+
+ case cfxGlPipelineSetting::LIGHT_SPOT_DIRECTION:
+ size += readInt( i, 1, input );
+ size += readFloat( f, 3, input );
+ return new cfxGlPipelineSettingLightSpotDirection(pass, i[0], *(cfxFloat3*)(void*)f );
+
+ case cfxGlPipelineSetting::LIGHT_SPOT_EXPONENT:
+ size += readInt( i, 1, input );
+ size += readFloat( f, 1, input );
+ return new cfxGlPipelineSettingLightSpotCutoff(pass, i[0], f[0] );
+
+ case cfxGlPipelineSetting::LINE_WIDTH:
+ size += readFloat( f, 1, input );
+ return new cfxGlPipelineSettingLineWidth(pass, f[0] );
+
+ case cfxGlPipelineSetting::LOGIC_OP:
+ size += readInt( i, 1, input );
+ return new cfxGlPipelineSettingLogicOp(pass, i[0] );
+
+ case cfxGlPipelineSetting::MATERIAL_AMBIENT:
+ size += readFloat( f, 4, input );
+ return new cfxGlPipelineSettingMaterialAmbient(pass, *(cfxFloat4*)(void*)f );
+
+ case cfxGlPipelineSetting::MATERIAL_DIFFUSE:
+ size += readFloat( f, 4, input );
+ return new cfxGlPipelineSettingMaterialDiffuse(pass, *(cfxFloat4*)(void*)f );
+
+ case cfxGlPipelineSetting::MATERIAL_EMISSION:
+ size += readFloat( f, 4, input );
+ return new cfxGlPipelineSettingMaterialEmission(pass, *(cfxFloat4*)(void*)f );
+
+ case cfxGlPipelineSetting::MATERIAL_SHININESS:
+ size += readFloat( f, 1, input );
+ return new cfxGlPipelineSettingMaterialShininess(pass, f[0] );
+
+ case cfxGlPipelineSetting::MATERIAL_SPECULAR:
+ size += readFloat( f, 4, input );
+ return new cfxGlPipelineSettingMaterialSpecular( pass, *(cfxFloat4*)(void*)f );
+
+ case cfxGlPipelineSetting::MODEL_VIEW_MATRIX:
+ size += readFloat( (cfxFloat*)&f4x4, 16, input );
+ return new cfxGlPipelineSettingModelViewMatrix(pass, f4x4 );
+
+ case cfxGlPipelineSetting::POINT_SIZE:
+ size += readFloat( f, 1, input );
+ return new cfxGlPipelineSettingPointSize(pass, f[0] );
+
+ case cfxGlPipelineSetting::POINT_SPRITE_COORD_REPLACE:
+ break;
+
+ case cfxGlPipelineSetting::POINT_SPRITE_R_MODE:
+ break;
+
+ case cfxGlPipelineSetting::POLYGON_MODE:
+ size += readInt( i, 2, input );
+ return new cfxGlPipelineSettingPolygonMode(pass, i[0], i[1] );
+
+ case cfxGlPipelineSetting::POLYGON_OFFSET:
+ size += readFloat( f, 2, input );
+ return new cfxGlPipelineSettingPolygonOffset(pass, *(cfxFloat2*)(void*)f );
+
+ case cfxGlPipelineSetting::PROJECTION_MATRIX:
+ size += readFloat( (cfxFloat*)&f4x4, 16, input );
+ return new cfxGlPipelineSettingProjectionMatrix(pass, f4x4 );
+
+ case cfxGlPipelineSetting::SCISSOR:
+ size += readInt( i, 4, input );
+ return new cfxGlPipelineSettingScissor(pass, *(cfxInt4*)(void*)i );
+
+ case cfxGlPipelineSetting::SHADE_MODEL:
+ size += readInt( i, 1, input );
+ return new cfxGlPipelineSettingShadeModel(pass, i[0] );
+
+ case cfxGlPipelineSetting::STENCIL_FUNC:
+ size += readInt( i, 3, input );
+ return new cfxGlPipelineSettingStencilFunc(pass, i[0], i[1], i[2] );
+
+ case cfxGlPipelineSetting::STENCIL_MASK:
+ size += readInt( i, 1, input );
+ return new cfxGlPipelineSettingStencilMask(pass, i[0] );
+
+ case cfxGlPipelineSetting::STENCIL_OP:
+ size += readInt( i, 3, input );
+ return new cfxGlPipelineSettingStencilOp(pass, i[0], i[1], i[2] );
+
+ case cfxGlPipelineSetting::STENCIL_FUNC_SEPARATE:
+ size += readInt( i, 4, input );
+ return new cfxGlPipelineSettingStencilFuncSeparate(pass, i[0], i[1], i[2], i[3] );
+
+ case cfxGlPipelineSetting::STENCIL_MASK_SEPARATE:
+ size += readInt( i, 2, input );
+ return new cfxGlPipelineSettingStencilMaskSeparate(pass, i[0], i[1] );
+
+ case cfxGlPipelineSetting::STENCIL_OP_SEPAREATE:
+ size += readInt( i, 4, input );
+ return new cfxGlPipelineSettingStencilOpSeparate(pass, i[0], i[1], i[2], i[3] );
+
+ case cfxGlPipelineSetting::TEX_GEN_S_MODE:
+ break;
+
+ case cfxGlPipelineSetting::TEX_GEN_T_MODE:
+ break;
+
+ case cfxGlPipelineSetting::TEX_GEN_R_MODE:
+ break;
+
+ case cfxGlPipelineSetting::TEX_GEN_Q_MODE:
+ break;
+
+ case cfxGlPipelineSetting::TEX_GEN_S_EYE_PLANE:
+ break;
+
+ case cfxGlPipelineSetting::TEX_GEN_T_EYE_PLANE:
+ break;
+
+ case cfxGlPipelineSetting::TEX_GEN_R_EYE_PLANE:
+ break;
+
+ case cfxGlPipelineSetting::TEX_GEN_Q_EYE_PLANE:
+ break;
+
+ case cfxGlPipelineSetting::TEX_GEN_S_OBJECT_PLANE:
+ break;
+
+ case cfxGlPipelineSetting::TEX_GEN_T_OBJECT_PLANE:
+ break;
+
+ case cfxGlPipelineSetting::TEX_GEN_R_OBJECT_PLANE:
+ break;
+
+ case cfxGlPipelineSetting::TEX_GEN_Q_OBJECT_PLANE:
+ break;
+
+ case cfxGlPipelineSetting::TEXTURE_2D:
+ size += readInt( i, 1, input );
+ size += readString( source, input );
+ size += readInt( (i+1), 1, input );
+ sampler = new cfxSampler( source, pass->getTechnique()->getEffect() );
+ for ( int x = 0; x < i[1]; ++x )
+ {
+ sampler->pushSetting( readSamplerSetting( pass->getTechnique()->getEffect(), input, sz ) );
+ size += sz;
+ }
+ return new cfxGlPipelineSettingTexture2D( pass, i[0], sampler );
+
+ case cfxGlPipelineSetting::TEXTURE_3D:
+ size += readInt( i, 1, input );
+ size += readString( source, input );
+ size += readInt( (i+1), 1, input );
+ sampler = new cfxSampler( source, pass->getTechnique()->getEffect() );
+ for ( int x = 0; x < i[1]; ++x )
+ {
+ sampler->pushSetting( readSamplerSetting( pass->getTechnique()->getEffect(), input, sz ) );
+ size += sz;
+ }
+ return new cfxGlPipelineSettingTexture3D( pass, i[0], sampler );
+
+ case cfxGlPipelineSetting::TEXTURE_CUBE_MAP:
+ size += readInt( i, 1, input );
+ size += readString( source, input );
+ size += readInt( (i+1), 1, input );
+ sampler = new cfxSampler( source, pass->getTechnique()->getEffect() );
+ for ( int x = 0; x < i[1]; ++x )
+ {
+ sampler->pushSetting( readSamplerSetting( pass->getTechnique()->getEffect(), input, sz ) );
+ size += sz;
+ }
+ return new cfxGlPipelineSettingTextureCubeMap( pass, i[0], sampler );
+
+ case cfxGlPipelineSetting::TEXTURE_ENV_COLOR:
+ size += readInt( i, 1, input );
+ size += readFloat( f, 4, input );
+ return new cfxGlPipelineSettingTextureEnvColor(pass, i[0], *(cfxFloat4*)(void*)f );
+
+ case cfxGlPipelineSetting::TEXTURE_ENV_MODE:
+ size += readInt( i, 2, input );
+ return new cfxGlPipelineSettingTextureEnvMode(pass, i[0], i[1] );
+
+ case cfxGlPipelineSetting::ALPHA_TEST_ENABLE:
+ size += readBool( (cfxBool*)&b, 1, input);
+ return new cfxGlPipelineSettingAlphaTestEnable(pass, b.b0 );
+
+ case cfxGlPipelineSetting::BLEND_ENABLE:
+ size += readBool( (cfxBool*)&b, 1, input);
+ return new cfxGlPipelineSettingBlendEnable(pass, b.b0 );
+
+ case cfxGlPipelineSetting::CULL_FACE_ENABLE:
+ size += readBool( (cfxBool*)&b, 1, input);
+ return new cfxGlPipelineSettingCullFaceEnable(pass, b.b0 );
+
+ case cfxGlPipelineSetting::DEPTH_TEST_ENABLE:
+ size += readBool( (cfxBool*)&b, 1, input);
+ return new cfxGlPipelineSettingDepthTestEnable(pass, b.b0 );
+
+ default:
+ printf( "ERROR: Unknown GL Pipeline Setting or invalid token!\n" );
+ break;
+ }
+ return NULL;
+}
+
+cfxGlSamplerSetting *cfxBinaryUtil::readSamplerSetting( cfxEffect *effect, FILE *input, size_t &size )
+{
+ int i;
+ float f;
+ cfxBool b;
+ cfxFloat4 f4;
+
+ cfxGlSamplerSetting::type_enum type;
+ size = readInt( (cfxInt*)(void*)&type, 1, input );
+ switch ( type )
+ {
+ case cfxGlSamplerSetting::WRAP_S:
+ size += readInt( &i, 1, input );
+ return new cfxGlSamplerSettingWrapS( effect, "WrapS", i );
+ case cfxGlSamplerSetting::WRAP_T:
+ size += readInt( &i, 1, input );
+ return new cfxGlSamplerSettingWrapT( effect, "WrapT", i );
+ case cfxGlSamplerSetting::MINFILTER:
+ size += readInt( &i, 1, input );
+ return new cfxGlSamplerSettingMinFilter( effect, "MinFilter", i );
+ case cfxGlSamplerSetting::MAGFILTER:
+ size += readInt( &i, 1, input );
+ return new cfxGlSamplerSettingMagFilter( effect, "MagFilter", i );
+ case cfxGlSamplerSetting::BORDER_COLOR:
+ size += readFloat( (cfxFloat*)&f4, 4, input );
+ return new cfxGlSamplerSettingBorderColor( effect, "BorderColor", f4 );
+ case cfxGlSamplerSetting::GENERATE_MIPMAP:
+ size += readBool( &b, 1, input );
+ return new cfxGlSamplerSettingGenerateMipMap( effect, "GenerateMipMap", b );
+ case cfxGlSamplerSetting::MAX_MIP_LEVEL:
+ size += readFloat( &f, 1, input );
+ return new cfxGlSamplerSettingMaxMipLevel( effect, "MaxMipLevel", f );
+ case cfxGlSamplerSetting::LOD_BIAS:
+ size += readFloat( &f, 1, input );
+ return new cfxGlSamplerSettingLodBias( effect, "LodBias", f );
+ default:
+ printf( "ERROR: Unknown sampler setting type or invalid token!\n" );
+ break;
+ }
+ return NULL;
+}
+
+cfxMaterial *cfxBinaryUtil::readMaterial( FILE *input, CGcontext _context, const std::map<std::string, cfxEffect*> *effects )
+{
+ (void)_context;
+ //read the name
+ std::string name, effectName;
+ readString( name, input );
+ readString( effectName, input );
+ //read size. Its used if you want to skip effects. for now it is unused.
+ int size = 0;
+ int currSize = 0;
+ readInt( &size, 1, input );
+
+ cfxEffect* effect = NULL;
+
+ if (effects)
+ {
+ std::map<std::string, cfxEffect*>::const_iterator effectFinder = effects->find(effectName);
+ if (effectFinder != effects->end())
+ {
+ effect = effectFinder->second;
+ }
+ }
+ if ( effect == NULL )
+ {
+ printf( "Could not find effect %s associated with material %s\n", effectName.c_str(), name.c_str() );
+ }
+
+ cfxMaterial* material = new cfxMaterial( name, effectName, effect );
+ if ( material == NULL ) {
+ printf( "ERROR: Failed to create material %s!\n", name.c_str() );
+ fseek( input, (long)size, SEEK_CUR ); //move to the end
+ return NULL;
+ }
+ if ( size == 0 )
+ {
+ //empty material
+ return material;
+ }
+ std::string surfName, surfInit, surfFormat;
+ cfxSurface *surface = NULL, *newSurface = NULL;
+ short token;
+ size_t sz;
+ do {
+ currSize += (int)readToken( token, input );
+ switch ( token ) {
+ case (short)SETPARAM_TOKEN:
+ //at this time you can only have newparams so pass in effect as other
+ material->pushParam( readParam( token, input, sz, effect ) );
+ currSize += (int)sz;
+ break;
+ case (short)SURFACE_TOKEN:
+ currSize += (int)readString( surfName, input );
+ currSize += (int)readString( surfInit, input );
+ currSize += (int)readString( surfFormat, input );
+ surface = effect->getSurfaceByName(surfName);
+ newSurface = new cfxSurface( surfInit, surfFormat, surface );
+ material->addSurface(newSurface);
+ break;
+ default:
+ printf( "ERROR: Unexpected Token reading material %s!", name.c_str() );
+ fseek( input, (long)size-currSize, SEEK_CUR ); //move to the end
+ return NULL;
+ }
+ }while( currSize < size );
+
+ return material;
+}
+
+
+
+
+cfxBool cfxBinaryUtil::save(const std::string& file, const std::map<std::string, cfxMaterial*>& materials,
+ const std::map<std::string, cfxEffect*>& effects, cfxBool replace )
+{
+ FILE *out = NULL;
+ if(!replace)
+ {
+ FILE *tempfd = fopen(file.c_str(),"r");
+ if(tempfd != NULL)
+ {
+ // File exists, return error
+ fclose(tempfd);
+ printf( "File %s already exists and replace is false.\n", file.c_str() );
+ return false;
+ }
+ }
+ out = fopen( file.c_str(), "wb" );
+ if ( out == NULL )
+ {
+ printf( "Failed to open %s for writing.\n", file.c_str() );
+ return false;
+ }
+ // It'd be better if this code just did a getcwd call instead of relying on the DOM for this
+ DAE dae;
+ fileName = file;
+ daeURI tmp( dae, fileName.c_str() );
+ tmp.validate();
+ fileName = tmp.getURI();
+ fileName = fileName.substr( 7 ); //remove the file://
+ writeFileHeader( out );
+ std::map<std::string, cfxEffect *>::const_iterator effectIter = effects.begin();
+ while ( effectIter != effects.end() )
+ {
+ writeEffect( effectIter->second, out );
+ effectIter++;
+ }
+
+ std::map<std::string, cfxMaterial *>::const_iterator matIter = materials.begin();
+ while ( matIter != materials.end() )
+ {
+ writeMaterial( matIter->second, out );
+ matIter++;
+ }
+
+ fclose( out );
+ return true;
+
+}
+
+size_t cfxBinaryUtil::writeString( const std::string &str, FILE *out )
+{
+ fputs( str.c_str(), out );
+ fputc( '\0', out );
+ return str.length() +1;
+}
+
+size_t cfxBinaryUtil::writeBool( const cfxBool *buf, size_t count, FILE *out )
+{
+ return fwrite( buf, sizeof(cfxBool), count, out ) * sizeof(cfxBool);
+}
+
+size_t cfxBinaryUtil::writeInt( const cfxInt *buf, size_t count, FILE *out )
+{
+#ifdef WIN32
+ //win32 requires endian swap
+ cfxInt *tempBuf = new cfxInt[count]; //create a temp buffer because of const parameter
+ memcpy( tempBuf, buf, count * sizeof( cfxInt ) );
+ for ( size_t i = 0; i < count; ++i )
+ {
+ endianSwap( tempBuf+i );
+ }
+ size_t sz = fwrite( tempBuf, sizeof(cfxInt), count, out ) * sizeof(cfxInt);
+ delete[] tempBuf;
+ return sz;
+#else
+ return fwrite( buf, sizeof(cfxInt), count, out ) * sizeof(cfxInt);
+#endif
+}
+
+size_t cfxBinaryUtil::writeFloat( const cfxFloat *buf, size_t count, FILE *out )
+{
+#ifdef WIN32
+ //win32 requires endian swap
+ cfxFloat *tempBuf = new cfxFloat[count]; //create a temp buffer because of const parameter
+ memcpy( tempBuf, buf, count * sizeof( cfxFloat ) );
+ for ( size_t i = 0; i < count; ++i )
+ {
+ endianSwap( tempBuf+i );
+ }
+ size_t sz = fwrite( tempBuf, sizeof(cfxFloat), count, out ) * sizeof(cfxFloat);
+ delete[] tempBuf;
+ return sz;
+#else
+ return fwrite( buf, sizeof(cfxFloat), count, out ) * sizeof(cfxFloat);
+#endif
+}
+
+size_t cfxBinaryUtil::writeToken( short token, FILE *out )
+{
+#ifdef WIN32
+ //win32 requires endian swap
+ endianSwap( &token );
+#endif
+ fwrite( &token, CFX_BIN_TOKEN_SIZE, 1, out );
+ return CFX_BIN_TOKEN_SIZE;
+}
+
+void cfxBinaryUtil::writeFileHeader( FILE *out )
+{
+ size_t byteCount = 4 + sizeof( cfxInt ); // add the space needed for the offset itself
+ int idnver = (COLLADA_FX_BIN_ID << 8 )+ COLLADA_FX_BIN_VER;
+#ifdef WIN32
+ endianSwap( &idnver );
+#endif
+ fwrite( &idnver, 4, 1, out ); //write out the id and version
+ writeInt( (cfxInt*)(&byteCount), 1, out ); //write the offset
+
+}
+
+void cfxBinaryUtil::writeEffect( const cfxEffect *effect, FILE *out )
+{
+ size_t size = 0;
+ writeToken( (short)EFFECT_TOKEN, out );
+ writeString( effect->getName(), out );
+ fpos_t offsetPos;
+ fgetpos(out, &offsetPos); //Save the position so we can come back and write the size in later
+ writeInt( (cfxInt*)(&size), 1, out ); //Write dummy int as temporary size
+ for ( unsigned int i = 0; i < effect->getAnnotateArray().size(); ++i ) {
+ size += writeAnnotate( effect->getAnnotateArray()[i], out );
+ }
+ for ( unsigned int i = 0; i < effect->getParamArray().size(); ++i ) {
+ size += writeParam( effect->getParamArray()[i], out );
+ }
+ std::map<std::string, cfxSurface*>::const_iterator iter = effect->getSurfaceMap().begin();
+ while ( iter != effect->getSurfaceMap().end() ) {
+ const cfxSurface *s = iter->second;
+ size += writeToken( (short)SURFACE_TOKEN, out );
+ size += writeString( iter->first, out );
+ size += writeString( s->getInitFrom(), out );
+ size += writeString( s->getFormat(), out );
+ ++iter;
+ }
+ for ( unsigned int i = 0; i < effect->getTechniqueArray().size(); ++i ) {
+ size += writeTechnique( effect->getTechniqueArray()[i], out );
+ }
+
+ fsetpos( out, &offsetPos ); //move back to the offset position
+ writeInt( (cfxInt*)(&size), 1, out ); //Write out the real size
+ fseek( out, (long)size, SEEK_CUR ); //move to the end to write more data
+}
+
+size_t cfxBinaryUtil::writeAnnotate( const cfxAnnotate *an, FILE *out )
+{
+ size_t sz = writeToken( (short)ANNOTATE_TOKEN, out);
+ sz += writeString( an->getName(), out );
+ sz += writeTypedData( an->getData(), out );
+ return sz;
+}
+
+size_t cfxBinaryUtil::writeParam( const cfxParam *p, FILE *out )
+{
+ cfxParam::cfxParamTypeEnum type = p->getType();
+ const cfxBindParam *bp;
+ const cfxConnectParam *cp;
+ const cfxNewParam *np;
+ const cfxSetParam *sp;
+ size_t sz = 0;
+ switch ( type )
+ {
+ case cfxParam::CFXBINDPARAM:
+ bp = (cfxBindParam*)p;
+ sz += writeToken( (short)BINDPARAM_TOKEN, out );
+ sz += writeString( bp->getName(), out );
+ sz += writeTypedData( bp->getData(), out );
+ return sz;
+
+ case cfxParam::CFXCONNECTPARAM:
+ cp = (cfxConnectParam*)p;
+ sz += writeToken( (short)CONNECTPARAM_TOKEN, out );
+ sz += writeString( cp->getName(), out );
+ sz += writeString( cp->getFromName(), out );
+ return sz;
+
+ case cfxParam::CFXNEWPARAM:
+ np = (cfxNewParam*)p;
+ sz += writeToken( (short)NEWPARAM_TOKEN, out );
+ sz += writeString( np->getName(), out );
+ sz += writeString( np->getSemantic(), out );
+ sz += writeTypedData( np->getData(), out );
+ return sz;
+
+ case cfxParam::CFXSETPARAM:
+ sp = (cfxSetParam*)p;
+ sz += writeToken( (short)SETPARAM_TOKEN, out );
+ sz += writeString( sp->getName(), out );
+ sz += writeTypedData( sp->getData(), out );
+ return sz;
+
+ default:
+ printf( "Unknown param type!\n");
+ break;
+ }
+ return 0;
+}
+
+size_t cfxBinaryUtil::writeTypedData( const cfxData *data, FILE *out )
+{
+ const cfxSampler *sampler;
+ size_t count;
+ size_t size = 0;
+
+ CGtype t = data->getType();
+ switch ( t )
+ {
+ case CG_BOOL:
+ size += writeToken( (short)CFXBOOL0, out );
+ size += writeBool( &(((cfxDataBool*)data)->getData()), 1, out );
+ return size;
+
+ case CG_BOOL1:
+ size += writeToken( (short)CFXBOOL1, out );
+ size += writeBool( (cfxBool*)&(((cfxDataBool1*)data)->getData()), 1, out );
+ return size;
+
+ case CG_BOOL2:
+ size += writeToken( (short)CFXBOOL2, out );
+ size += writeBool( (cfxBool*)&(((cfxDataBool2*)data)->getData()), 2, out );
+ return size;
+
+ case CG_BOOL3:
+ size += writeToken( (short)CFXBOOL3, out );
+ size += writeBool( (cfxBool*)&(((cfxDataBool3*)data)->getData()), 3, out );
+ return size;
+
+ case CG_BOOL4:
+ size += writeToken( (short)CFXBOOL4, out );
+ size += writeBool( (cfxBool*)&(((cfxDataBool4*)data)->getData()), 4, out );
+ return size;
+
+ case CG_INT:
+ size += writeToken( (short)CFXINT0, out );
+ size += writeInt( (cfxInt*)&(((cfxDataInt*)data)->getData()), 1, out );
+ return size;
+
+ case CG_INT1:
+ size += writeToken( (short)CFXINT1, out );
+ size += writeInt( (cfxInt*)&(((cfxDataInt1*)data)->getData()), 1, out );
+ return size;
+
+ case CG_INT2:
+ size += writeToken( (short)CFXINT2, out );
+ size += writeInt( (cfxInt*)&(((cfxDataInt2*)data)->getData()), 2, out );
+ return size;
+
+ case CG_INT3:
+ size += writeToken( (short)CFXINT3, out );
+ size += writeInt( (cfxInt*)&(((cfxDataInt3*)data)->getData()), 3, out );
+ return size;
+
+ case CG_INT4:
+ size += writeToken( (short)CFXINT4, out );
+ size += writeInt( (cfxInt*)&(((cfxDataInt4*)data)->getData()), 4, out );
+ return size;
+
+ case CG_FLOAT:
+ size += writeToken( (short)CFXFLOAT0, out );
+ size += writeFloat( (cfxFloat*)&(((cfxDataFloat*)data)->getData()), 1, out );
+ return size;
+
+ case CG_FLOAT1:
+ size += writeToken( (short)CFXFLOAT1, out );
+ size += writeFloat( (cfxFloat*)&(((cfxDataFloat1*)data)->getData()), 1, out );
+ return size;
+
+ case CG_FLOAT2:
+ size += writeToken( (short)CFXFLOAT2, out );
+ size += writeFloat( (cfxFloat*)&(((cfxDataFloat2*)data)->getData()), 2, out );
+ return size;
+
+ case CG_FLOAT3:
+ size += writeToken( (short)CFXFLOAT3, out );
+ size += writeFloat( (cfxFloat*)&(((cfxDataFloat3*)data)->getData()), 3, out );
+ return size;
+
+ case CG_FLOAT4:
+ size += writeToken( (short)CFXFLOAT4, out );
+ size += writeFloat( (cfxFloat*)&(((cfxDataFloat4*)data)->getData()), 4, out );
+ return size;
+
+ case CG_FLOAT2x2:
+ size += writeToken( (short)CFXFLOAT2X2, out );
+ size += writeFloat( (cfxFloat*)&(((cfxDataFloat2x2*)data)->getData()), 4, out );
+ return size;
+
+ case CG_FLOAT3x3:
+ size += writeToken( (short)CFXFLOAT3X3, out );
+ size += writeFloat( (cfxFloat*)&(((cfxDataFloat3x3*)data)->getData()), 9, out );
+ return size;
+
+ case CG_FLOAT4x4:
+ size += writeToken( (short)CFXFLOAT4X4, out );
+ size += writeFloat( (cfxFloat*)&(((cfxDataFloat4x4*)data)->getData()), 16, out );
+ return size;
+
+ case CG_SAMPLER1D:
+ sampler = ((cfxDataSampler1D*)data)->getData();
+ size = writeToken( (short)CFXSAMPLER1D, out );
+ size += writeString( sampler->getSource(), out );
+ count = sampler->getSettingArray().size();
+ size += writeInt( (cfxInt*)&count, 1, out );
+ for ( size_t x = 0; x < count; ++x ) {
+ size += writeSamplerSetting( sampler->getSettingArray()[x], out );
+ }
+ return size;
+
+ case CG_SAMPLER2D:
+ sampler = ((cfxDataSampler2D*)data)->getData();
+ size = writeToken( (short)CFXSAMPLER2D, out );
+ size += writeString( sampler->getSource(), out );
+ count = sampler->getSettingArray().size();
+ size += writeInt( (cfxInt*)&count, 1, out );
+ for ( size_t x = 0; x < count; ++x ) {
+ size += writeSamplerSetting( sampler->getSettingArray()[x], out );
+ }
+ return size;
+
+ case CG_SAMPLER3D:
+ sampler = ((cfxDataSampler3D*)data)->getData();
+ size = writeToken( (short)CFXSAMPLER3D, out );
+ size += writeString( sampler->getSource(), out );
+ count = sampler->getSettingArray().size();
+ size += writeInt( (cfxInt*)&count, 1, out );
+ for ( size_t x = 0; x < count; ++x ) {
+ size += writeSamplerSetting( sampler->getSettingArray()[x], out );
+ }
+ return size;
+
+ case CG_SAMPLERCUBE:
+ sampler = ((cfxDataSamplerCUBE*)data)->getData();
+ size = writeToken( (short)CFXSAMPLERCUBE, out );
+ size += writeString( sampler->getSource(), out );
+ count = sampler->getSettingArray().size();
+ size += writeInt( (cfxInt*)&count, 1, out );
+ for ( size_t x = 0; x < count; ++x ) {
+ size += writeSamplerSetting( sampler->getSettingArray()[x], out );
+ }
+ return size;
+
+ case CG_STRING:
+ size += writeToken( (short)CFXSTRING, out );
+ size += writeString( ((cfxDataString*)data)->getData(), out );
+ return size;
+
+ default:
+ printf( "Unknown data type!\n");
+ break;
+ }
+
+ return 0;
+}
+
+size_t cfxBinaryUtil::writeTechnique( const cfxTechnique *teq, FILE *out )
+{
+ size_t size = writeToken( (short)TECHNIQUE_TOKEN, out );
+ size += writeString( teq->getName(), out );
+ fpos_t offsetPos;
+ fgetpos(out, &offsetPos);
+ size_t byteCount = 0; //used to store the size of the technique body
+ size += writeInt( (cfxInt*)&byteCount, 1, out );
+ for ( unsigned int i = 0; i < teq->getAnnotateArray().size(); ++i ) {
+ byteCount += writeAnnotate( teq->getAnnotateArray()[i], out );
+ }
+ const std::map<std::string, std::string> &inc = teq->getIncludeMap();
+ std::map<std::string, std::string>::const_iterator iter = inc.begin();
+ while ( iter != inc.end() ) {
+ byteCount += writeToken( (short)INCLUDE_TOKEN, out );
+ byteCount += writeString( iter->first, out );
+ byteCount += writeString( makeRelativePath(iter->second, fileName ), out );
+ ++iter;
+ }
+ for ( unsigned int i = 0; i < teq->getSurfaceArray().size(); ++i ) {
+ const cfxSurface *s = teq->getSurfaceArray()[i];
+ byteCount += writeToken( (short)SURFACE_TOKEN, out );
+ byteCount += writeString( s->getInitFrom(), out );
+ byteCount += writeString( s->getFormat(), out );
+ }
+ for ( unsigned int i = 0; i < teq->getParamArray().size(); ++i ) {
+ byteCount += writeParam( teq->getParamArray()[i], out );
+ }
+ for ( unsigned int i = 0; i < teq->getPassArray().size(); ++i ) {
+ byteCount += writePass( teq->getPassArray()[i], out );
+ }
+ fsetpos( out, &offsetPos ); //move back to the offset position
+ writeInt( (cfxInt*)(&byteCount), 1, out ); //Write out the real size
+ fseek( out, (long)byteCount, SEEK_CUR ); //move to the end to write more data
+ size += byteCount;
+ return size;
+}
+
+size_t cfxBinaryUtil::writePass( const cfxPass *pass, FILE *out )
+{
+ size_t size = writeToken( (short)PASS_TOKEN, out );
+ size += writeString( pass->getName(), out );
+ fpos_t offsetPos;
+ fgetpos(out, &offsetPos);
+ size_t byteCount = 0; //used to store the size of the pass body
+ size += writeInt( (cfxInt*)&byteCount, 1, out );
+ for ( unsigned int i = 0; i < pass->getAnnotateArray().size(); ++i ) {
+ byteCount += writeAnnotate( pass->getAnnotateArray()[i], out );
+ }
+ for ( unsigned int i = 0; i < pass->getParamArray().size(); ++i ) {
+ byteCount += writeParam( pass->getParamArray()[i], out );
+ }
+ for ( unsigned int i = 0; i < pass->getSettingArray().size(); ++i ) {
+ byteCount += writeGLSetting( pass->getSettingArray()[i], out );
+ }
+ for ( unsigned int i = 0; i < pass->getShaderArray().size(); ++i ) {
+ byteCount += writeShader( pass->getShaderArray()[i], out );
+ }
+ fsetpos( out, &offsetPos ); //move back to the offset position
+ writeInt( (cfxInt*)(&byteCount), 1, out ); //Write out the real size
+ fseek( out, (long)byteCount, SEEK_CUR ); //move to the end to write more data
+ size += byteCount;
+ return size;
+}
+
+size_t cfxBinaryUtil::writeShader( const cfxShader *shader, FILE *out )
+{
+ size_t size = writeToken( (short)SHADER_TOKEN, out );
+ cfxShader::type_enum type = shader->getOriginalType();
+ size += writeInt( (cfxInt*)(void*)&type, 1, out );
+ size += writeString( shader->getSource(), out );
+ size += writeString( shader->getName(), out );
+ fpos_t offsetPos;
+ fgetpos(out, &offsetPos);
+ size_t byteCount = 0; //used to store the size of the pass body
+ size += writeInt( (cfxInt*)&byteCount, 1, out );
+ for ( unsigned int i = 0; i < shader->getAnnotateArray().size(); ++i ) {
+ byteCount += writeAnnotate( shader->getAnnotateArray()[i], out );
+ }
+ for ( unsigned int i = 0; i < shader->getParamArray().size(); ++i ) {
+ byteCount += writeParam( shader->getParamArray()[i], out );
+ }
+ fsetpos( out, &offsetPos ); //move back to the offset position
+ writeInt( (cfxInt*)(&byteCount), 1, out ); //Write out the real size
+ fseek( out, (long)byteCount, SEEK_CUR ); //move to the end to write more data
+ size += byteCount;
+ return size;
+}
+
+size_t cfxBinaryUtil::writeGLSetting( const cfxGlPipelineSetting *s, FILE *out )
+{
+ cfxGlPipelineSetting::type_enum type = s->getType();
+ size_t size = writeToken( (short)GL_SETTING_TOKEN, out );
+ size += writeInt( (cfxInt*)(void*)&type, 1, out );
+
+ if ( type == cfxGlPipelineSetting::ALPHA_FUNC )
+ {
+ cfxGlPipelineSettingAlphaFunc *gls = (cfxGlPipelineSettingAlphaFunc*)s;
+ int i = gls->getFunc();
+ float f = gls->getValue();
+ size += writeInt( &i, 1, out );
+ size += writeFloat( &f, 1, out );
+ }
+ else if ( type == cfxGlPipelineSetting::BLEND_FUNC )
+ {
+ cfxGlPipelineSettingBlendFunc *gls = (cfxGlPipelineSettingBlendFunc*)s;
+ int i[2] = { gls->getSrc(), gls->getDst() };
+ size += writeInt( i, 2, out );
+ }
+ else if ( type == cfxGlPipelineSetting::BLEND_FUNC_SEPARATE )
+ {
+ cfxGlPipelineSettingBlendFuncSeparate *gls = (cfxGlPipelineSettingBlendFuncSeparate*)s;
+ int i[4] = { gls->getSrcRGB(), gls->getSrcRGB(), gls->getSrcAlpha(), gls->getDstAlpha() };
+ size += writeInt( i, 4, out );
+ }
+ else if ( type == cfxGlPipelineSetting::BLEND_EQUATION )
+ {
+ cfxGlPipelineSettingBlendEquation *gls = (cfxGlPipelineSettingBlendEquation*)s;
+ int i = gls->getEquation();
+ size += writeInt( &i, 1, out );
+ }
+ else if ( type == cfxGlPipelineSetting::BLEND_EQUATION_SEPARATE )
+ {
+ cfxGlPipelineSettingBlendEquationSeparate *gls = (cfxGlPipelineSettingBlendEquationSeparate*)s;
+ int i[2] = { gls->getRgb(), gls->getAlpha() };
+ size += writeInt( i, 2, out );
+ }
+ else if ( type == cfxGlPipelineSetting::BLEND_COLOR )
+ {
+ cfxGlPipelineSettingBlendColor *gls = (cfxGlPipelineSettingBlendColor*)s;
+ cfxFloat4 f = gls->getValue();
+ size += writeFloat( (cfxFloat*)&f, 4, out );
+ }
+ else if ( type == cfxGlPipelineSetting::CLEAR_COLOR )
+ {
+ cfxGlPipelineSettingClearColor *gls = (cfxGlPipelineSettingClearColor*)s;
+ cfxFloat4 f = gls->getValue();
+ size += writeFloat( (cfxFloat*)&f, 4, out );
+ }
+ else if ( type == cfxGlPipelineSetting::CLEAR_STENCIL )
+ {
+ cfxGlPipelineSettingClearStencil *gls = (cfxGlPipelineSettingClearStencil*)s;
+ int i = gls->getValue();
+ size += writeInt( &i, 1, out );
+ }
+ else if ( type == cfxGlPipelineSetting::CLEAR_DEPTH )
+ {
+ cfxGlPipelineSettingClearDepth *gls = (cfxGlPipelineSettingClearDepth*)s;
+ float f = gls->getValue();
+ size += writeFloat( &f, 1, out );
+ }
+ else if ( type == cfxGlPipelineSetting::CLIP_PLANE )
+ {
+ cfxGlPipelineSettingClipPlane *gls = (cfxGlPipelineSettingClipPlane*)s;
+ int i = gls->getIndex();
+ cfxFloat4 f = gls->getValue();
+ size += writeInt( &i, 1, out) ;
+ size += writeFloat( (cfxFloat*)&f, 4, out );
+ }
+ else if ( type == cfxGlPipelineSetting::COLOR_MASK )
+ {
+ cfxGlPipelineSettingColorMask *gls = (cfxGlPipelineSettingColorMask*)s;
+ cfxBool4 b = gls->getValue();
+ size += writeBool( (cfxBool*)&b, 4, out );
+ }
+ else if ( type == cfxGlPipelineSetting::COLOR_MATERIAL )
+ {
+ cfxGlPipelineSettingColorMaterial *gls = (cfxGlPipelineSettingColorMaterial*)s;
+ int i[2] = { gls->getFace(), gls->getMode() };
+ size += writeInt( i, 2, out );
+ }
+ else if ( type == cfxGlPipelineSetting::CULL_FACE )
+ {
+ int i = ((cfxGlPipelineSettingCullFace*)s)->getValue();
+ size += writeInt( &i, 1, out );
+ }
+ else if ( type == cfxGlPipelineSetting::DEPTH_FUNC )
+ {
+ int i = ((cfxGlPipelineSettingDepthFunc*)s)->getValue();
+ size += writeInt( &i, 1, out );
+ }
+ else if ( type == cfxGlPipelineSetting::DEPTH_MASK )
+ {
+ cfxBool b = ((cfxGlPipelineSettingDepthMask*)s)->getValue();
+ size += writeBool( &b, 1, out );
+ }
+ else if ( type == cfxGlPipelineSetting::DEPTH_RANGE )
+ {
+ cfxFloat2 f = ((cfxGlPipelineSettingDepthRange*)s)->getValue();
+ size += writeFloat( (cfxFloat*)&f, 2, out );
+ }
+ else if ( type == cfxGlPipelineSetting::FOG_MODE )
+ {
+ int i = ((cfxGlPipelineSettingFogMode*)s)->getValue();
+ size += writeInt( &i, 1, out );
+ }
+ else if ( type == cfxGlPipelineSetting::FOG_DENSITY )
+ {
+ float f = ((cfxGlPipelineSettingFogDensity*)s)->getValue();
+ size += writeFloat( &f, 1, out );
+ }
+ else if ( type == cfxGlPipelineSetting::FOG_START )
+ {
+ float f = ((cfxGlPipelineSettingFogStart*)s)->getValue();
+ size += writeFloat( &f, 1, out );
+ }
+ else if ( type == cfxGlPipelineSetting::FOG_END )
+ {
+ float f = ((cfxGlPipelineSettingFogEnd*)s)->getValue();
+ size += writeFloat( &f, 1, out );
+ }
+ else if ( type == cfxGlPipelineSetting::FOG_COLOR )
+ {
+ cfxFloat4 f = ((cfxGlPipelineSettingFogColor*)s)->getValue();
+ size += writeFloat( (cfxFloat*)&f, 4, out );
+ }
+ else if ( type == cfxGlPipelineSetting::FRONT_FACE )
+ {
+ int i = ((cfxGlPipelineSettingFrontFace*)s)->getValue();
+ size += writeInt( &i, 1, out );
+ }
+ else if ( type == cfxGlPipelineSetting::LIGHT_MODEL_AMBEINT )
+ {
+ cfxFloat4 f = ((cfxGlPipelineSettingLightModelAmbient*)s)->getValue();
+ size += writeFloat( (cfxFloat*)&f, 4, out );
+ }
+ else if ( type == cfxGlPipelineSetting::LIGHT_AMBIENT )
+ {
+ cfxGlPipelineSettingLightAmbient *gls = (cfxGlPipelineSettingLightAmbient*)s;
+ int i = gls->getIndex();
+ cfxFloat4 f = gls->getValue();
+ size += writeInt( &i, 1, out );
+ size += writeFloat( (cfxFloat*)&f, 4, out );
+ }
+ else if ( type == cfxGlPipelineSetting::LIGHT_CONSTANT_ATTENUATION )
+ {
+ cfxGlPipelineSettingLightConstantAttenuation *gls = (cfxGlPipelineSettingLightConstantAttenuation*)s;
+ int i = gls->getIndex();
+ float f = gls->getValue();
+ size += writeInt( &i, 1, out );
+ size += writeFloat( &f, 1, out );
+ }
+ else if ( type == cfxGlPipelineSetting::LIGHT_DIFFUSE )
+ {
+ cfxGlPipelineSettingLightDiffuse *gls = (cfxGlPipelineSettingLightDiffuse*)s;
+ int i = gls->getIndex();
+ cfxFloat4 f = gls->getValue();
+ size += writeInt( &i, 1, out );
+ size += writeFloat( (cfxFloat*)&f, 4, out );
+ }
+ else if ( type == cfxGlPipelineSetting::LIGHT_LINEAR_ATTENUATION )
+ {
+ cfxGlPipelineSettingLightLinearAttenuation *gls = (cfxGlPipelineSettingLightLinearAttenuation*)s;
+ int i = gls->getIndex();
+ float f = gls->getValue();
+ size += writeInt( &i, 1, out );
+ size += writeFloat( &f, 1, out );
+ }
+ else if ( type == cfxGlPipelineSetting::LIGHT_POSITION )
+ {
+ cfxGlPipelineSettingLightPosition *gls = (cfxGlPipelineSettingLightPosition*)s;
+ int i = gls->getIndex();
+ cfxFloat4 f = gls->getValue();
+ size += writeInt( &i, 1, out );
+ size += writeFloat( (cfxFloat*)&f, 4, out );
+ }
+ else if ( type == cfxGlPipelineSetting::LIGHT_QUADRATIC_ATTENUATION )
+ {
+ cfxGlPipelineSettingLightQuadraticAttenuation *gls = (cfxGlPipelineSettingLightQuadraticAttenuation*)s;
+ int i = gls->getIndex();
+ float f = gls->getValue();
+ size += writeInt( &i, 1, out );
+ size += writeFloat( &f, 1, out );
+ }
+ else if ( type == cfxGlPipelineSetting::LIGHT_SPECULAR )
+ {
+ cfxGlPipelineSettingLightSpecular *gls = (cfxGlPipelineSettingLightSpecular*)s;
+ int i = gls->getIndex();
+ cfxFloat4 f = gls->getValue();
+ size += writeInt( &i, 1, out );
+ size += writeFloat( (cfxFloat*)&f, 4, out );
+ }
+ else if ( type == cfxGlPipelineSetting::LIGHT_SPOT_CUTOFF )
+ {
+ cfxGlPipelineSettingLightSpotCutoff *gls = (cfxGlPipelineSettingLightSpotCutoff*)s;
+ int i = gls->getIndex();
+ float f = gls->getValue();
+ size += writeInt( &i, 1, out );
+ size += writeFloat( &f, 1, out );
+ }
+ else if ( type == cfxGlPipelineSetting::LIGHT_SPOT_DIRECTION )
+ {
+ cfxGlPipelineSettingLightSpotDirection *gls = (cfxGlPipelineSettingLightSpotDirection*)s;
+ int i = gls->getIndex();
+ cfxFloat3 f = gls->getValue();
+ size += writeInt( &i, 1, out );
+ size += writeFloat( (cfxFloat*)&f, 3, out );
+ }
+ else if ( type == cfxGlPipelineSetting::LIGHT_SPOT_EXPONENT )
+ {
+ cfxGlPipelineSettingLightSpotExponent *gls = (cfxGlPipelineSettingLightSpotExponent*)s;
+ int i = gls->getIndex();
+ float f = gls->getValue();
+ size += writeInt( &i, 1, out );
+ size += writeFloat( &f, 1, out );
+ }
+ else if ( type == cfxGlPipelineSetting::LINE_WIDTH )
+ {
+ float f = ((cfxGlPipelineSettingLineWidth*)s)->getValue();
+ size += writeFloat( &f, 1, out );
+ }
+ else if ( type == cfxGlPipelineSetting::LOGIC_OP )
+ {
+ int i = ((cfxGlPipelineSettingLogicOp*)s)->getValue();
+ size += writeInt( &i, 1, out );
+ }
+ else if ( type == cfxGlPipelineSetting::MATERIAL_AMBIENT )
+ {
+ cfxFloat4 f = ((cfxGlPipelineSettingMaterialAmbient*)s)->getValue();
+ size += writeFloat( (cfxFloat*)&f, 4, out );
+ }
+ else if ( type == cfxGlPipelineSetting::MATERIAL_DIFFUSE )
+ {
+ cfxFloat4 f = ((cfxGlPipelineSettingMaterialDiffuse*)s)->getValue();
+ size += writeFloat( (cfxFloat*)&f, 4, out );
+ }
+ else if ( type == cfxGlPipelineSetting::MATERIAL_EMISSION )
+ {
+ cfxFloat4 f = ((cfxGlPipelineSettingMaterialEmission*)s)->getValue();
+ size += writeFloat( (cfxFloat*)&f, 4, out );
+ }
+ else if ( type == cfxGlPipelineSetting::MATERIAL_SHININESS )
+ {
+ float f = ((cfxGlPipelineSettingMaterialShininess*)s)->getValue();
+ size += writeFloat( &f, 1, out );
+ }
+ else if ( type == cfxGlPipelineSetting::MATERIAL_SPECULAR )
+ {
+ cfxFloat4 f = ((cfxGlPipelineSettingMaterialSpecular*)s)->getValue();
+ size += writeFloat( (cfxFloat*)&f, 4, out );
+ }
+ else if ( type == cfxGlPipelineSetting::MODEL_VIEW_MATRIX )
+ {
+ cfxFloat4x4 f = ((cfxGlPipelineSettingModelViewMatrix*)s)->getValue();
+ size += writeFloat( (cfxFloat*)&f, 16, out );
+ }
+ else if ( type == cfxGlPipelineSetting::POINT_SIZE )
+ {
+ float f = ((cfxGlPipelineSettingPointSize*)s)->getValue();
+ size += writeFloat( &f, 1, out );
+ }
+ else if ( type == cfxGlPipelineSetting::POINT_SPRITE_COORD_REPLACE )
+ {
+ }
+ else if ( type == cfxGlPipelineSetting::POINT_SPRITE_R_MODE )
+ {
+ }
+ else if ( type == cfxGlPipelineSetting::POLYGON_MODE )
+ {
+ cfxGlPipelineSettingPolygonMode *gls = (cfxGlPipelineSettingPolygonMode*)s;
+ int i[2] = { gls->getFace(), gls->getMode() };
+ size += writeInt( i, 2, out );
+ }
+ else if ( type == cfxGlPipelineSetting::POLYGON_OFFSET )
+ {
+ cfxFloat2 f = ((cfxGlPipelineSettingPolygonOffset*)s)->getValue();
+ size += writeFloat( (cfxFloat*)&f, 2, out );
+ }
+ else if ( type == cfxGlPipelineSetting::PROJECTION_MATRIX )
+ {
+ cfxFloat4x4 f = ((cfxGlPipelineSettingProjectionMatrix*)s)->getValue();
+ size += writeFloat( (cfxFloat*)&f, 16, out );
+ }
+ else if ( type == cfxGlPipelineSetting::SCISSOR )
+ {
+ cfxInt4 i = ((cfxGlPipelineSettingScissor*)s)->getValue();
+ size += writeInt( (cfxInt*)&i, 4, out );
+ }
+ else if ( type == cfxGlPipelineSetting::SHADE_MODEL )
+ {
+ int i = ((cfxGlPipelineSettingShadeModel*)s)->getValue();
+ size += writeInt( &i, 1, out );
+ }
+ else if ( type == cfxGlPipelineSetting::STENCIL_FUNC )
+ {
+ cfxGlPipelineSettingStencilFunc *gls = (cfxGlPipelineSettingStencilFunc*)s;
+ int i[3] = { gls->getFunc(), gls->getRef(), gls->getMask() };
+ size += writeInt( i, 3, out );
+ }
+ else if ( type == cfxGlPipelineSetting::STENCIL_MASK )
+ {
+ int i = ((cfxGlPipelineSettingStencilMask*)s)->getValue();
+ size += writeInt( &i, 1, out );
+ }
+ else if ( type == cfxGlPipelineSetting::STENCIL_OP )
+ {
+ cfxGlPipelineSettingStencilOp *gls = (cfxGlPipelineSettingStencilOp*)s;
+ int i[3] = { gls->getFail(), gls->getZFail(), gls->getZPass() };
+ size += writeInt( i, 3, out );
+ }
+ else if ( type == cfxGlPipelineSetting::STENCIL_FUNC_SEPARATE )
+ {
+ cfxGlPipelineSettingStencilFuncSeparate *gls = (cfxGlPipelineSettingStencilFuncSeparate*)s;
+ int i[4] = { gls->getFront(), gls->getBack(), gls->getRef(), gls->getMask() };
+ size += writeInt( i, 4, out );
+ }
+ else if ( type == cfxGlPipelineSetting::STENCIL_MASK_SEPARATE )
+ {
+ cfxGlPipelineSettingStencilMaskSeparate *gls = (cfxGlPipelineSettingStencilMaskSeparate*)s;
+ int i[2] = { gls->getFace(), gls->getMask() };
+ size += writeInt( i, 2, out );
+ }
+ else if ( type == cfxGlPipelineSetting::STENCIL_OP_SEPAREATE )
+ {
+ cfxGlPipelineSettingStencilOpSeparate *gls = (cfxGlPipelineSettingStencilOpSeparate*)s;
+ int i[4] = { gls->getFace(), gls->getFail(), gls->getZFail(), gls->getZPass() };
+ size += writeInt( i, 4, out );
+ }
+ else if ( type == cfxGlPipelineSetting::TEX_GEN_S_MODE )
+ {
+ }
+ else if ( type == cfxGlPipelineSetting::TEX_GEN_T_MODE )
+ {
+ }
+ else if ( type == cfxGlPipelineSetting::TEX_GEN_R_MODE )
+ {
+ }
+ else if ( type == cfxGlPipelineSetting::TEX_GEN_Q_MODE )
+ {
+ }
+ else if ( type == cfxGlPipelineSetting::TEX_GEN_S_EYE_PLANE )
+ {
+ }
+ else if ( type == cfxGlPipelineSetting::TEX_GEN_T_EYE_PLANE )
+ {
+ }
+ else if ( type == cfxGlPipelineSetting::TEX_GEN_R_EYE_PLANE )
+ {
+ }
+ else if ( type == cfxGlPipelineSetting::TEX_GEN_Q_EYE_PLANE )
+ {
+ }
+ else if ( type == cfxGlPipelineSetting::TEX_GEN_S_OBJECT_PLANE )
+ {
+ }
+ else if ( type == cfxGlPipelineSetting::TEX_GEN_T_OBJECT_PLANE )
+ {
+ }
+ else if ( type == cfxGlPipelineSetting::TEX_GEN_R_OBJECT_PLANE )
+ {
+ }
+ else if ( type == cfxGlPipelineSetting::TEX_GEN_Q_OBJECT_PLANE )
+ {
+ }
+ else if ( type == cfxGlPipelineSetting::TEXTURE_2D )
+ {
+ cfxGlPipelineSettingTexture2D *gls = (cfxGlPipelineSettingTexture2D*)s;
+ int i = gls->getIndex();
+ const cfxSampler *sampler = gls->getSampler();
+ size_t count = sampler->getSettingArray().size();
+ size += writeInt( &i, 1, out );
+ size += writeString( sampler->getSource(), out );
+ size += writeInt( (cfxInt*)&count, 1, out );
+ for ( size_t x = 0; x < count; ++x ) {
+ size += writeSamplerSetting( sampler->getSettingArray()[x], out );
+ }
+ }
+ else if ( type == cfxGlPipelineSetting::TEXTURE_3D )
+ {
+ cfxGlPipelineSettingTexture3D *gls = (cfxGlPipelineSettingTexture3D*)s;
+ int i = gls->getIndex();
+ const cfxSampler *sampler = gls->getSampler();
+ size_t count = sampler->getSettingArray().size();
+ size += writeInt( &i, 1, out );
+ size += writeString( sampler->getSource(), out );
+ size += writeInt( (cfxInt*)&count, 1, out );
+ for ( size_t x = 0; x < count; ++x ) {
+ size += writeSamplerSetting( sampler->getSettingArray()[x], out );
+ }
+ }
+ else if ( type == cfxGlPipelineSetting::TEXTURE_CUBE_MAP )
+ {
+ cfxGlPipelineSettingTextureCubeMap *gls = (cfxGlPipelineSettingTextureCubeMap*)s;
+ int i = gls->getIndex();
+ const cfxSampler *sampler = gls->getSampler();
+ size_t count = sampler->getSettingArray().size();
+ size += writeInt( &i, 1, out );
+ size += writeString( sampler->getSource(), out );
+ size += writeInt( (cfxInt*)&count, 1, out );
+ for ( size_t x = 0; x < count; ++x ) {
+ size += writeSamplerSetting( sampler->getSettingArray()[x], out );
+ }
+ }
+ else if ( type == cfxGlPipelineSetting::TEXTURE_ENV_COLOR )
+ {
+ cfxGlPipelineSettingTextureEnvColor *gls = (cfxGlPipelineSettingTextureEnvColor*)s;
+ int i = gls->getIndex();
+ cfxFloat4 f = gls->getValue();
+ size += writeInt( &i, 1, out );
+ size += writeFloat( (cfxFloat*)&f, 4, out );
+ }
+ else if ( type == cfxGlPipelineSetting::TEXTURE_ENV_MODE )
+ {
+ cfxGlPipelineSettingTextureEnvMode *gls = (cfxGlPipelineSettingTextureEnvMode*)s;
+ int i[2] = { gls->getIndex(), gls->getValue() };
+ size += writeInt( i, 2, out );
+ }
+ else if ( type == cfxGlPipelineSetting::ALPHA_TEST_ENABLE )
+ {
+ cfxBool b = ((cfxGlPipelineSettingAlphaTestEnable*)s)->getValue();
+ size += writeBool( &b, 1, out );
+ }
+ else if ( type == cfxGlPipelineSetting::BLEND_ENABLE )
+ {
+ cfxBool b = ((cfxGlPipelineSettingBlendEnable*)s)->getValue();
+ size += writeBool( &b, 1, out );
+ }
+ else if ( type == cfxGlPipelineSetting::CULL_FACE_ENABLE )
+ {
+ cfxBool b = ((cfxGlPipelineSettingCullFaceEnable*)s)->getValue();
+ size += writeBool( &b, 1, out );
+ }
+ else if ( type == cfxGlPipelineSetting::DEPTH_TEST_ENABLE )
+ {
+ cfxBool b = ((cfxGlPipelineSettingDepthTestEnable*)s)->getValue();
+ size += writeBool( &b, 1, out );
+ }
+ return size;
+}
+
+size_t cfxBinaryUtil::writeSamplerSetting( const cfxGlSamplerSetting *s, FILE *out )
+{
+ cfxGlSamplerSetting::type_enum type = s->getType();
+ size_t size = writeInt( (cfxInt*)(void*)&type, 1, out );
+ int i;
+ float f;
+ cfxFloat4 f4;
+ cfxBool b;
+
+ switch ( type )
+ {
+ case cfxGlSamplerSetting::WRAP_S:
+ i = ((cfxGlSamplerSettingWrapS*)s)->getValue();
+ size += writeInt( &i, 1, out );
+ break;
+ case cfxGlSamplerSetting::WRAP_T:
+ i = ((cfxGlSamplerSettingWrapT*)s)->getValue();
+ size += writeInt( &i, 1, out );
+ break;
+ case cfxGlSamplerSetting::MINFILTER:
+ i = ((cfxGlSamplerSettingMinFilter*)s)->getValue();
+ size += writeInt( &i, 1, out );
+ break;
+ case cfxGlSamplerSetting::MAGFILTER:
+ i = ((cfxGlSamplerSettingMagFilter*)s)->getValue();
+ size += writeInt( &i, 1, out );
+ break;
+ case cfxGlSamplerSetting::BORDER_COLOR:
+ f4 = ((cfxGlSamplerSettingBorderColor*)s)->getValue();
+ size += writeFloat( (cfxFloat*)&f4, 4, out );
+ break;
+ case cfxGlSamplerSetting::GENERATE_MIPMAP:
+ b = ((cfxGlSamplerSettingGenerateMipMap*)s)->getValue();
+ size += writeBool( &b, 1, out );
+ break;
+ case cfxGlSamplerSetting::MAX_MIP_LEVEL:
+ f = ((cfxGlSamplerSettingMaxMipLevel*)s)->getValue();
+ size += writeFloat( &f, 1, out );
+ break;
+ case cfxGlSamplerSetting::LOD_BIAS:
+ f = ((cfxGlSamplerSettingLodBias*)s)->getValue();
+ size += writeFloat( &f, 1, out );
+ break;
+ default:
+ printf( "Unknown sampler setting type or bad token!\n" );
+ break;
+ }
+ return size;
+}
+
+void cfxBinaryUtil::writeMaterial( const cfxMaterial *material, FILE *out )
+{
+ size_t size = 0;
+ writeToken( (short)MATERIAL_TOKEN, out );
+ writeString( material->getName(), out );
+ writeString( material->getEffectName(), out );
+ fpos_t offsetPos;
+ fgetpos(out, &offsetPos); //Save the position so we can come back and write the size in later
+ writeInt( (cfxInt*)(&size), 1, out ); //Write dummy int as temporary size
+ for ( unsigned int i = 0; i < material->getParamArray().size(); ++i )
+ {
+ size += writeParam( material->getParamArray()[i], out );
+ }
+ for ( unsigned int i = 0; i < material->getSurfaces().size(); ++i )
+ {
+ cfxSurface *s = material->getSurfaces()[i];
+ std::string name = material->getEffect()->getSurfaceName( s->getParentSurface() );
+ size += writeToken( (short)SURFACE_TOKEN, out );
+ size += writeString( name, out );
+ size += writeString( s->getInitFrom(), out );
+ size += writeString( s->getFormat(), out );
+ }
+
+ fsetpos( out, &offsetPos ); //move back to the offset position
+ writeInt( (cfxInt*)(&size), 1, out ); //Write out the real size
+ fseek( out, (long)size, SEEK_CUR ); //move to the end to write more data
+}
+
+std::string cfxBinaryUtil::makeRelativePath( const std::string &path, const std::string &relTo )
+{
+ const char *this_filepath = path.c_str();
+ const char *relativeTo_filepath = relTo.c_str();
+ const char *this_slash = this_filepath;
+ const char *relativeTo_slash = relativeTo_filepath;
+
+ while(*this_filepath == *relativeTo_filepath)
+ {
+ if(*this_filepath == '/')
+ {
+ this_slash = this_filepath;
+ relativeTo_slash = relativeTo_filepath;
+ }
+ this_filepath++;
+ relativeTo_filepath++;
+ }
+
+ // Decide how many ../ segments are needed (Filepath should always end in a /)
+ int segment_count = 0;
+ relativeTo_slash++;
+ while(*relativeTo_slash != 0)
+ {
+ if(*relativeTo_slash == '/')
+ segment_count ++;
+ relativeTo_slash++;
+ }
+ this_slash++;
+
+ std::string newPath;
+ for(int i = 0; i < segment_count; i++)
+ {
+ newPath.append( "../" );
+ }
+ //add rest of original path
+ if ( cfxLoader::getPlatformString() == "PC-OGL" ) {
+ newPath.append( this_filepath );
+ return newPath;
+ }
+ return this_filepath;
+}
+
diff --git a/1.4.0/fx/src/cfxBindParam.cpp b/1.4.0/fx/src/cfxBindParam.cpp
new file mode 100644
index 0000000..aea18a2
--- /dev/null
+++ b/1.4.0/fx/src/cfxBindParam.cpp
@@ -0,0 +1,55 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+// System includes
+
+#include <stdio.h>
+
+// User includes
+
+#include <cfxBindParam.h>
+#include <cfxShader.h>
+#include <cfxData.h>
+
+// cfxBindParam
+cfxBindParam::cfxBindParam(const std::string& _name, cfxShader* _shader, cfxData* _data)
+ : cfxParam(_name),
+ shader(_shader),
+ data(_data)
+{
+}
+
+bool cfxBindParam::apply()
+{
+ parameter = cgGetNamedParameter(shader->getProgram(), name.c_str());
+
+ if (data)
+ {
+ data->apply(this);
+ }
+ else
+ {
+ printf("Value settings not implemented yet for bind params - data must support all cg types for this.\n");
+ }
+
+ return true;
+}
+
+bool cfxBindParam::validate() const
+{
+ return true;
+}
+
+cfxParam::cfxParamTypeEnum cfxBindParam::getType() const
+{
+ return cfxParam::CFXBINDPARAM;
+}
+
+const cfxData *cfxBindParam::getData() const
+{
+ return data;
+}
diff --git a/1.4.0/fx/src/cfxCode.cpp b/1.4.0/fx/src/cfxCode.cpp
new file mode 100644
index 0000000..323053a
--- /dev/null
+++ b/1.4.0/fx/src/cfxCode.cpp
@@ -0,0 +1,48 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+// System includes
+
+#include <stdio.h>
+#include <cstdlib>
+#include <iostream>
+
+// User includes
+
+#include <cfxCode.h>
+
+
+// cfxCode
+cfxCode::cfxCode(cfxEffect* _effect, const std::string& _name,
+ const std::string& _profile, const std::string& _code)
+ : effect(_effect),
+ name(_name),
+ profile(_profile),
+ code(_code)
+{}
+
+bool cfxCode::apply()
+{
+ // there is nothing to do with code until the platform supports compilation at run time
+
+ /*
+ program = cgCreateProgram(effect->getContext(),
+ CGenum program_type,
+ code.c_str(),
+ CGprofile profile,
+ const char *entry,
+ const char **args);
+ */
+
+ return true;
+}
+
+bool cfxCode::validate() const
+{
+ return true;
+}
+
diff --git a/1.4.0/fx/src/cfxConnectParam.cpp b/1.4.0/fx/src/cfxConnectParam.cpp
new file mode 100644
index 0000000..331f858
--- /dev/null
+++ b/1.4.0/fx/src/cfxConnectParam.cpp
@@ -0,0 +1,66 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+// System includes
+
+#include <stdio.h>
+
+// User includes
+
+#include <cfxConnectParam.h>
+#include <cfxShader.h>
+#include <cfxPass.h>
+#include <cfxTechnique.h>
+#include <cfxEffect.h>
+
+// cfxConnectParam
+cfxConnectParam::cfxConnectParam(const std::string& _name, cfxShader* _shader,
+ const std::string& _fromName)
+ : cfxParam(_name),
+ shader(_shader),
+ fromName(_fromName)
+{
+ // dest parameter intended to be in a program
+ parameter = cgGetNamedParameter(shader->getProgram(), name.c_str());
+ if (parameter == 0)
+ {
+ // nothing to stop it from being in an effect
+ // parameter = cgGetNamedEffectParameter(shader->getPass()->getTechnique()->getEffect()->getEffect(), name.c_str());
+ parameter = shader->getPass()->getTechnique()->getEffect()->getParameterByName(name);
+ }
+
+ // source parameter is from an effect
+ // fromParameter = cgGetNamedEffectParameter(shader->getPass()->getTechnique()->getEffect()->getEffect(), fromName.c_str());
+ fromParameter = shader->getPass()->getTechnique()->getEffect()->getParameterByName(fromName);
+
+ if ( fromParameter )
+ {
+ printf("Connect to param %s %p from param %s %p\n", name.c_str(), parameter, fromName.c_str(), fromParameter);
+ cgConnectParameter(fromParameter, parameter);
+ }
+}
+
+bool cfxConnectParam::apply()
+{
+ return true;
+}
+
+bool cfxConnectParam::validate() const
+{
+ return true;
+}
+
+cfxParam::cfxParamTypeEnum cfxConnectParam::getType() const
+{
+ return cfxParam::CFXCONNECTPARAM;
+}
+
+const std::string &cfxConnectParam::getFromName() const
+{
+ return fromName;
+}
+
diff --git a/1.4.0/fx/src/cfxData.cpp b/1.4.0/fx/src/cfxData.cpp
new file mode 100644
index 0000000..e91b1e7
--- /dev/null
+++ b/1.4.0/fx/src/cfxData.cpp
@@ -0,0 +1,714 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+// System includes
+
+#include <stdio.h>
+#include <assert.h>
+
+// User includes
+
+#include <cfxData.h>
+#include <cfxParam.h>
+#include <cfxAnnotate.h>
+#include <cfxSampler.h>
+
+//#ifndef _LIB
+#include <Cg/cg.h>
+#include <Cg/cgGL.h>
+//#else
+//#include <cfxNoCg.h>
+//#endif
+
+
+// cfxData
+bool cfxData::apply(cfxParam* param)
+{
+ (void)param;
+ printf("ERROR! Attempted to apply data of a type which is unsupported for parameters.\n");
+ return false;
+}
+
+bool cfxData::apply(cfxAnnotate* annotate)
+{
+ (void)annotate;
+ printf("ERROR! Attempted to apply data of a type which is unsupported for annotations.\n");
+ return false;
+}
+
+
+// cfxDataBool
+cfxDataBool::cfxDataBool(const cfxBool& _data)
+ : data(_data)
+{
+}
+
+CGtype cfxDataBool::getType() const
+{
+ return CG_BOOL;
+}
+
+bool cfxDataBool::apply(cfxParam* param)
+{
+ cgSetParameter1f(param->getParameter(), (float)data);
+ return true;
+}
+
+bool cfxDataBool::apply(cfxAnnotate* annotate)
+{
+ cgSetBoolAnnotation(annotate->getAnnotation(), data);
+ return true;
+}
+
+const cfxBool &cfxDataBool::getData() const
+{
+ return data;
+}
+
+
+// cfxDataBool1
+cfxDataBool1::cfxDataBool1(const cfxBool1& _data)
+ : data(_data)
+{
+}
+
+CGtype cfxDataBool1::getType() const
+{
+ return CG_BOOL1;
+}
+
+bool cfxDataBool1::apply(cfxParam* param)
+{
+ cgSetParameter1f(param->getParameter(), (float)data.b0);
+ return true;
+}
+
+bool cfxDataBool1::apply(cfxAnnotate* annotate)
+{
+ cgSetBoolAnnotation(annotate->getAnnotation(), data.b0);
+ return true;
+}
+
+const cfxBool1 &cfxDataBool1::getData() const
+{
+ return data;
+}
+
+
+// cfxDataBool2
+cfxDataBool2::cfxDataBool2(const cfxBool2& _data)
+ : data(_data)
+{
+}
+
+CGtype cfxDataBool2::getType() const
+{
+ return CG_BOOL2;
+}
+
+bool cfxDataBool2::apply(cfxParam* param)
+{
+ cgSetParameter2f(param->getParameter(), (float)data.b0, (float)data.b1);
+ return true;
+}
+
+bool cfxDataBool2::apply(cfxAnnotate* annotate)
+{
+ (void)annotate;
+ printf("API to support annotations of type CG_BOOL2 not implemented yet.\n");
+ return true;
+}
+
+const cfxBool2 &cfxDataBool2::getData() const
+{
+ return data;
+}
+
+
+// cfxDataBool3
+cfxDataBool3::cfxDataBool3(const cfxBool3& _data)
+ : data(_data)
+{
+}
+
+CGtype cfxDataBool3::getType() const
+{
+ return CG_BOOL3;
+}
+
+bool cfxDataBool3::apply(cfxParam* param)
+{
+ cgSetParameter3f(param->getParameter(), (float)data.b0, (float)data.b1, (float)data.b2);
+ return true;
+}
+
+bool cfxDataBool3::apply(cfxAnnotate* annotate)
+{
+ (void)annotate;
+ printf("API to support annotations of type CG_BOOL3 not implemented yet.\n");
+ return true;
+}
+
+const cfxBool3 &cfxDataBool3::getData() const
+{
+ return data;
+}
+
+
+// cfxDataBool4
+cfxDataBool4::cfxDataBool4(const cfxBool4& _data)
+ : data(_data)
+{
+}
+
+CGtype cfxDataBool4::getType() const
+{
+ return CG_BOOL4;
+}
+
+bool cfxDataBool4::apply(cfxParam* param)
+{
+ cgSetParameter4f(param->getParameter(), (float)data.b0, (float)data.b1, (float)data.b2, (float)data.b3);
+ return true;
+}
+
+bool cfxDataBool4::apply(cfxAnnotate* annotate)
+{
+ (void)annotate;
+ printf("API to support annotations of type CG_BOOL4 not implemented yet.\n");
+ return true;
+}
+
+const cfxBool4 &cfxDataBool4::getData() const
+{
+ return data;
+}
+
+
+// cfxDataInt
+cfxDataInt::cfxDataInt(const cfxInt& _data)
+ : data(_data)
+{
+}
+
+CGtype cfxDataInt::getType() const
+{
+ return CG_INT;
+}
+
+bool cfxDataInt::apply(cfxParam* param)
+{
+ cgSetParameter1f(param->getParameter(), (float)data);
+ return true;
+}
+
+bool cfxDataInt::apply(cfxAnnotate* annotate)
+{
+ cgSetIntAnnotation(annotate->getAnnotation(), data);
+ return true;
+}
+
+const cfxInt &cfxDataInt::getData() const
+{
+ return data;
+}
+
+
+// cfxDataInt1
+cfxDataInt1::cfxDataInt1(const cfxInt1& _data)
+ : data(_data)
+{
+}
+
+CGtype cfxDataInt1::getType() const
+{
+ return CG_INT1;
+}
+
+bool cfxDataInt1::apply(cfxParam* param)
+{
+ cgSetParameter1f(param->getParameter(), (float)data.i0);
+ return true;
+}
+
+bool cfxDataInt1::apply(cfxAnnotate* annotate)
+{
+ cgSetIntAnnotation(annotate->getAnnotation(), data.i0);
+ return true;
+}
+
+const cfxInt1 &cfxDataInt1::getData() const
+{
+ return data;
+}
+
+
+// cfxDataInt2
+cfxDataInt2::cfxDataInt2(const cfxInt2& _data)
+ : data(_data)
+{
+}
+
+CGtype cfxDataInt2::getType() const
+{
+ return CG_INT2;
+}
+
+bool cfxDataInt2::apply(cfxParam* param)
+{
+ cgSetParameter2f(param->getParameter(), (float)data.i0, (float)data.i1);
+ return true;
+}
+
+bool cfxDataInt2::apply(cfxAnnotate* annotate)
+{
+ (void)annotate;
+ printf("API to support annotations of type CG_INT2 not implemented yet.\n");
+ return true;
+}
+
+const cfxInt2 &cfxDataInt2::getData() const
+{
+ return data;
+}
+
+
+// cfxDataInt3
+cfxDataInt3::cfxDataInt3(const cfxInt3& _data)
+ : data(_data)
+{
+}
+
+CGtype cfxDataInt3::getType() const
+{
+ return CG_INT3;
+}
+
+bool cfxDataInt3::apply(cfxParam* param)
+{
+ cgSetParameter3f(param->getParameter(), (float)data.i0, (float)data.i1, (float)data.i2);
+ return true;
+}
+
+bool cfxDataInt3::apply(cfxAnnotate* annotate)
+{
+ (void)annotate;
+ printf("API to support annotations of type CG_INT3 not implemented yet.\n");
+ return true;
+}
+
+const cfxInt3 &cfxDataInt3::getData() const
+{
+ return data;
+}
+
+
+// cfxDataInt4
+cfxDataInt4::cfxDataInt4(const cfxInt4& _data)
+ : data(_data)
+{
+}
+
+CGtype cfxDataInt4::getType() const
+{
+ return CG_INT4;
+}
+
+bool cfxDataInt4::apply(cfxParam* param)
+{
+ cgSetParameter4f(param->getParameter(), (float)data.i0, (float)data.i1, (float)data.i2, (float)data.i3);
+ return true;
+}
+
+bool cfxDataInt4::apply(cfxAnnotate* annotate)
+{
+ (void)annotate;
+ printf("API to support annotations of type CG_INT4 not implemented yet.\n");
+ return true;
+}
+
+const cfxInt4 &cfxDataInt4::getData() const
+{
+ return data;
+}
+
+
+// cfxDataFloat
+cfxDataFloat::cfxDataFloat(const cfxFloat& _data)
+ : data(_data)
+{
+}
+
+CGtype cfxDataFloat::getType() const
+{
+ return CG_FLOAT;
+}
+
+bool cfxDataFloat::apply(cfxParam* param)
+{
+ cgSetParameter1f(param->getParameter(), data);
+ return true;
+}
+
+bool cfxDataFloat::apply(cfxAnnotate* annotate)
+{
+ cgSetFloatAnnotation(annotate->getAnnotation(), data);
+ return true;
+}
+
+const cfxFloat &cfxDataFloat::getData() const
+{
+ return data;
+}
+
+
+// cfxDataFloat1
+cfxDataFloat1::cfxDataFloat1(const cfxFloat1& _data)
+ : data(_data)
+{
+}
+
+CGtype cfxDataFloat1::getType() const
+{
+ return CG_FLOAT;
+}
+
+bool cfxDataFloat1::apply(cfxParam* param)
+{
+ cgSetParameter1f(param->getParameter(), data.f0);
+ return true;
+}
+
+bool cfxDataFloat1::apply(cfxAnnotate* annotate)
+{
+ cgSetFloatAnnotation(annotate->getAnnotation(), data.f0);
+ return true;
+}
+
+const cfxFloat1 &cfxDataFloat1::getData() const
+{
+ return data;
+}
+
+
+// cfxDataFloat2
+cfxDataFloat2::cfxDataFloat2(const cfxFloat2& _data)
+ : data(_data)
+{
+}
+
+CGtype cfxDataFloat2::getType() const
+{
+ return CG_FLOAT2;
+}
+
+bool cfxDataFloat2::apply(cfxParam* param)
+{
+ cgSetParameter2f(param->getParameter(), data.f0, data.f1);
+ return true;
+}
+
+bool cfxDataFloat2::apply(cfxAnnotate* annotate)
+{
+ (void)annotate;
+ printf("API to support annotations of type CG_FLOAT2 not implemented yet.\n");
+ return true;
+}
+
+const cfxFloat2 &cfxDataFloat2::getData() const
+{
+ return data;
+}
+
+
+// cfxDataFloat3
+cfxDataFloat3::cfxDataFloat3(const cfxFloat3& _data)
+ : data(_data)
+{
+}
+
+CGtype cfxDataFloat3::getType() const
+{
+ return CG_FLOAT3;
+}
+
+bool cfxDataFloat3::apply(cfxParam* param)
+{
+ cgSetParameter3f(param->getParameter(), data.f0, data.f1, data.f2);
+ return true;
+}
+
+bool cfxDataFloat3::apply(cfxAnnotate* annotate)
+{
+ (void)annotate;
+ printf("API to support annotations of type CG_FLOAT3 not implemented yet.\n");
+ return true;
+}
+
+const cfxFloat3 &cfxDataFloat3::getData() const
+{
+ return data;
+}
+
+
+// cfxDataFloat4
+cfxDataFloat4::cfxDataFloat4(const cfxFloat4& _data)
+ : data(_data)
+{
+}
+
+CGtype cfxDataFloat4::getType() const
+{
+ return CG_FLOAT4;
+}
+
+bool cfxDataFloat4::apply(cfxParam* param)
+{
+ cgSetParameter4f(param->getParameter(), data.f0, data.f1, data.f2, data.f3);
+ return true;
+}
+
+bool cfxDataFloat4::apply(cfxAnnotate* annotate)
+{
+ (void)annotate;
+ printf("API to support annotations of type CG_FLOAT4 not implemented yet.\n");
+ return true;
+}
+
+const cfxFloat4 &cfxDataFloat4::getData() const
+{
+ return data;
+}
+
+
+// cfxDataFloat2x2
+cfxDataFloat2x2::cfxDataFloat2x2(const cfxFloat2x2& _data)
+ : data(_data)
+{
+}
+
+CGtype cfxDataFloat2x2::getType() const
+{
+ return CG_FLOAT2x2;
+}
+
+bool cfxDataFloat2x2::apply(cfxParam* param)
+{
+ // using column major matrix setting because i think that is what is used by COLLADA
+ cgSetMatrixParameterfc(param->getParameter(), &data.f00);
+ return true;
+}
+
+bool cfxDataFloat2x2::apply(cfxAnnotate* annotate)
+{
+ (void)annotate;
+ printf("API to support annotations of type CG_FLOAT2x2 not implemented yet.\n");
+ return true;
+}
+
+const cfxFloat2x2 &cfxDataFloat2x2::getData() const
+{
+ return data;
+}
+
+
+// cfxDataFloat3x3
+cfxDataFloat3x3::cfxDataFloat3x3(const cfxFloat3x3& _data)
+ : data(_data)
+{
+}
+
+CGtype cfxDataFloat3x3::getType() const
+{
+ return CG_FLOAT3x3;
+}
+
+bool cfxDataFloat3x3::apply(cfxParam* param)
+{
+ // using column major matrix setting because i think that is what is used by COLLADA
+ cgSetMatrixParameterfc(param->getParameter(), &data.f00);
+ return true;
+}
+
+bool cfxDataFloat3x3::apply(cfxAnnotate* annotate)
+{
+ (void)annotate;
+ printf("API to support annotations of type CG_FLOAT3x3 not implemented yet.\n");
+ return true;
+}
+
+const cfxFloat3x3 &cfxDataFloat3x3::getData() const
+{
+ return data;
+}
+
+
+// cfxDataFloat4x4
+cfxDataFloat4x4::cfxDataFloat4x4(const cfxFloat4x4& _data)
+ : data(_data)
+{
+}
+
+CGtype cfxDataFloat4x4::getType() const
+{
+ return CG_FLOAT4x4;
+}
+
+bool cfxDataFloat4x4::apply(cfxParam* param)
+{
+ // using column major matrix setting because i think that is what is used by COLLADA
+ cgSetMatrixParameterfc(param->getParameter(), &data.f00);
+ return true;
+}
+
+bool cfxDataFloat4x4::apply(cfxAnnotate* annotate)
+{
+ (void)annotate;
+ printf("API to support annotations of type CG_FLOAT4x4 not implemented yet.\n");
+ return true;
+}
+
+const cfxFloat4x4 &cfxDataFloat4x4::getData() const
+{
+ return data;
+}
+
+
+// cfxDataSampler1D
+cfxDataSampler1D::cfxDataSampler1D(cfxSampler* _data)
+ : data(_data)
+{
+}
+
+CGtype cfxDataSampler1D::getType() const
+{
+ return CG_SAMPLER1D;
+}
+
+bool cfxDataSampler1D::apply(cfxParam* /*param*/)
+{
+ return true;
+}
+
+const cfxSampler *cfxDataSampler1D::getData() const
+{
+ return data;
+}
+
+// cfxDataSampler2D
+cfxDataSampler2D::cfxDataSampler2D(cfxSampler* _data)
+ : data(_data)
+{
+}
+cfxDataSampler2D::~cfxDataSampler2D()
+{
+ delete data;
+}
+
+CGtype cfxDataSampler2D::getType() const
+{
+ return CG_SAMPLER2D;
+}
+
+bool cfxDataSampler2D::apply(cfxParam* param)
+{
+ // get the texture ID from the sampler
+ GLuint textureId = 0;
+
+ // the sampler really should never be NULL
+ assert(data);
+
+ // call the sampler apply to
+ // 1) initialize texture id by resolving source
+ // 2) have its states and stuff applied
+ data->apply(param);
+
+ textureId = data->getTextureId();
+
+ // i think textureId should never be zero
+ // set the parameter for this sampler's texture id
+ // using managed textures replaces the need to call enabletextureparameter
+ cgGLSetTextureParameter(param->getParameter(), textureId);
+
+ if (textureId == 0)
+ {
+ printf("ERROR: sampler had texture Id of zero, states not set.\n");
+ }
+
+ return true;
+}
+
+const cfxSampler *cfxDataSampler2D::getData() const
+{
+ return data;
+}
+
+// cfxDataSampler3D
+cfxDataSampler3D::cfxDataSampler3D(cfxSampler* _data)
+ : data(_data)
+{
+}
+
+CGtype cfxDataSampler3D::getType() const
+{
+ return CG_SAMPLER3D;
+}
+
+bool cfxDataSampler3D::apply(cfxParam* /*param*/)
+{
+ return true;
+}
+
+const cfxSampler *cfxDataSampler3D::getData() const
+{
+ return data;
+}
+
+// cfxDataSamplerCUBE
+cfxDataSamplerCUBE::cfxDataSamplerCUBE(cfxSampler* _data)
+ : data(_data)
+{
+}
+
+CGtype cfxDataSamplerCUBE::getType() const
+{
+ return CG_SAMPLERCUBE;
+}
+
+bool cfxDataSamplerCUBE::apply(cfxParam* /*param*/)
+{
+ return true;
+}
+
+const cfxSampler *cfxDataSamplerCUBE::getData() const
+{
+ return data;
+}
+
+// cfxDataString
+cfxDataString::cfxDataString(const std::string& _data)
+ : data(_data)
+{
+}
+
+CGtype cfxDataString::getType() const
+{
+ return CG_STRING;
+}
+
+bool cfxDataString::apply(cfxAnnotate* annotate)
+{
+ cgSetStringAnnotation(annotate->getAnnotation(), data.c_str());
+ return true;
+}
+
+const std::string &cfxDataString::getData() const
+{
+ return data;
+}
+
+
diff --git a/1.4.0/fx/src/cfxDataMaker.cpp b/1.4.0/fx/src/cfxDataMaker.cpp
new file mode 100644
index 0000000..658130e
--- /dev/null
+++ b/1.4.0/fx/src/cfxDataMaker.cpp
@@ -0,0 +1,927 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+#include <cfxDataMaker.h>
+#include <cfxData.h>
+#include <cfxEffect.h>
+#include <cfxGlEnumMaps.h>
+#include <cfxSampler.h>
+#include <cfxGlSamplerSetting.h>
+
+#include <dom/domFx_basic_type_common.h>
+#include <dom/domCg_param_type.h>
+#include <dom/domFx_annotate_type_common.h>
+#include <dom/domConstants.h>
+
+
+// cfxDataMaker
+std::map<std::string, cfxDataMaker*> cfxDataMaker::mapTypeNameToDataMaker;
+
+cfxData* cfxDataMaker::makeData(domFx_basic_type_common* paramInitializer, cfxEffect*)
+{
+ printf("No support for common parameter data of type: %s\n", paramInitializer->getContents().get(0)->getTypeName());
+ return NULL;
+}
+
+
+cfxData* cfxDataMaker::makeData(domCg_param_type* paramInitializer, cfxEffect*)
+{
+ printf("No support for cg parameter data of type: %s\n", paramInitializer->getContents().get(0)->getTypeName());
+ return NULL;
+}
+
+
+cfxData* cfxDataMaker::makeData(domFx_annotate_type_common* annotateInitializer, cfxEffect*)
+{
+ printf("No support for common annotation data of type: %s\n", annotateInitializer->getContents().get(0)->getTypeName());
+ return NULL;
+}
+
+cfxData* cfxDataMaker::makeDataForParam(domFx_basic_type_common* paramInitializer, cfxEffect* effect)
+{
+ //printf("make data for fx common param\n");
+ std::map<std::string, cfxDataMaker*>::iterator iter;
+ // here is the element which owns the actual data
+ // it is a choice in schema, so there will be only one element in _contents that exists as the "chosen" item,
+ // which will be one of the elements in this class
+ daeElement* dataElement = paramInitializer->getContents().get(0);
+ // get typename from contents, use this to lookup the factory for the data
+ //printf("param for type %s\n", dataElement->getTypeName());
+ daeString dataTypeName = dataElement->getTypeName();
+ iter = mapTypeNameToDataMaker.find(dataTypeName);
+ if (iter == mapTypeNameToDataMaker.end())
+ {
+ printf("ERROR: cfxDataMaker not found for common param type name %s\n", dataTypeName);
+ return NULL;
+ }
+ return iter->second->makeData(paramInitializer, effect);
+}
+
+cfxData* cfxDataMaker::makeDataForParam(domCg_param_type* paramInitializer, cfxEffect* effect)
+{
+ //printf("make data for CG param\n");
+ std::map<std::string, cfxDataMaker*>::iterator iter;
+ // here is the element which owns the actual data
+ // it is a choice in schema, so there will be only one element in _contents that exists as the "chosen" item,
+ // which will be one of the elements in this class
+ daeElement* dataElement = paramInitializer->getContents().get(0);
+ // get typename from contents, use this to lookup the factory for the data
+ //printf("param for type %s\n", dataElement->getTypeName());
+ daeString dataTypeName = dataElement->getTypeName();
+ iter = mapTypeNameToDataMaker.find(dataTypeName);
+ if (iter == mapTypeNameToDataMaker.end())
+ {
+ printf("ERROR: cfxDataMaker not found for cg param type name %s\n", dataTypeName);
+ return NULL;
+ }
+ return iter->second->makeData(paramInitializer, effect);
+}
+
+cfxData* cfxDataMaker::makeDataForAnnotate(domFx_annotate_type_common* annotateInitializer, cfxEffect* effect)
+{
+ //printf("make data for common annotate\n");
+ std::map<std::string, cfxDataMaker*>::iterator iter;
+ // then here is the element which owns the actual data
+ // it is a choice in schema, so there will be only one element in _contents that exists as the "chosen" item,
+ // which will be one of the elements in this class
+ daeElement* dataElement = annotateInitializer->getContents().get(0);
+ // get typename from contents, use this to lookup the factory for the data
+ daeString dataTypeName = dataElement->getTypeName();
+ iter = mapTypeNameToDataMaker.find(dataTypeName);
+ if (iter == mapTypeNameToDataMaker.end())
+ {
+ printf("ERROR: cfxDataMaker not found for common annotate type name %s\n", dataTypeName);
+ return NULL;
+ }
+ return iter->second->makeData(annotateInitializer, effect);
+}
+
+
+// BASIC DATA MAKERS
+
+// cfxDataMakerBool
+cfxDataMakerBool::cfxDataMakerBool()
+{
+ cfxDataMaker::mapTypeNameToDataMaker.insert(std::make_pair(COLLADA_ELEMENT_BOOL, this));
+}
+
+cfxDataMakerBool cfxDataMakerBool::maker;
+
+cfxDataBool* newDataBool(const domBool& db)
+{
+ cfxBool b;
+ b = db;
+ cfxDataBool* data = new cfxDataBool(b);
+ return data;
+}
+
+cfxData* cfxDataMakerBool::makeData(domFx_basic_type_common* paramInitializer, cfxEffect*)
+{
+ return newDataBool(paramInitializer->getBool()->getValue());
+}
+
+cfxData* cfxDataMakerBool::makeData(domFx_annotate_type_common* annotateInitializer, cfxEffect*)
+{
+ return newDataBool(annotateInitializer->getBool()->getValue());
+}
+
+
+// cfxDataMakerBool1
+cfxDataMakerBool1::cfxDataMakerBool1()
+{
+ cfxDataMaker::mapTypeNameToDataMaker.insert(std::make_pair(COLLADA_ELEMENT_BOOL1, this));
+}
+
+cfxDataMakerBool1 cfxDataMakerBool1::maker;
+
+cfxDataBool1* newDataBool1(const domBool& db)
+{
+ cfxBool1 b1;
+ b1.b0 = db;
+ cfxDataBool1* data = new cfxDataBool1(b1);
+ return data;
+}
+
+cfxData* cfxDataMakerBool1::makeData(domFx_basic_type_common* paramInitializer, cfxEffect*)
+{
+ return newDataBool1(paramInitializer->getBool()->getValue());
+}
+
+cfxData* cfxDataMakerBool1::makeData(domFx_annotate_type_common* annotateInitializer, cfxEffect*)
+{
+ return newDataBool1(annotateInitializer->getBool()->getValue());
+}
+
+
+// cfxDataMakerBool2
+cfxDataMakerBool2::cfxDataMakerBool2()
+{
+ cfxDataMaker::mapTypeNameToDataMaker.insert(std::make_pair(COLLADA_ELEMENT_BOOL2, this));
+}
+
+cfxDataMakerBool2 cfxDataMakerBool2::maker;
+
+cfxDataBool2* newDataBool2(const domBool2& db2)
+{
+ cfxBool2 b2;
+ b2.b0 = db2.get(0);
+ b2.b1 = db2.get(1);
+ cfxDataBool2* data = new cfxDataBool2(b2);
+ return data;
+}
+
+cfxData* cfxDataMakerBool2::makeData(domFx_basic_type_common* paramInitializer, cfxEffect*)
+{
+ return newDataBool2(paramInitializer->getBool2()->getValue());
+}
+
+cfxData* cfxDataMakerBool2::makeData(domFx_annotate_type_common* annotateInitializer, cfxEffect*)
+{
+ return newDataBool2(annotateInitializer->getBool2()->getValue());
+}
+
+
+// cfxDataMakerBool3
+cfxDataMakerBool3::cfxDataMakerBool3()
+{
+ cfxDataMaker::mapTypeNameToDataMaker.insert(std::make_pair(COLLADA_ELEMENT_BOOL3, this));
+}
+
+cfxDataMakerBool3 cfxDataMakerBool3::maker;
+
+cfxDataBool3* newDataBool3(const domBool3& db3)
+{
+ cfxBool3 b3;
+ b3.b0 = db3.get(0);
+ b3.b1 = db3.get(1);
+ b3.b2 = db3.get(2);
+ cfxDataBool3* data = new cfxDataBool3(b3);
+ return data;
+}
+
+cfxData* cfxDataMakerBool3::makeData(domFx_basic_type_common* paramInitializer, cfxEffect*)
+{
+ return newDataBool3(paramInitializer->getBool3()->getValue());
+}
+
+cfxData* cfxDataMakerBool3::makeData(domFx_annotate_type_common* annotateInitializer, cfxEffect*)
+{
+ return newDataBool3(annotateInitializer->getBool3()->getValue());
+}
+
+
+// cfxDataMakerBool4
+cfxDataMakerBool4::cfxDataMakerBool4()
+{
+ cfxDataMaker::mapTypeNameToDataMaker.insert(std::make_pair(COLLADA_ELEMENT_BOOL4, this));
+}
+
+cfxDataMakerBool4 cfxDataMakerBool4::maker;
+
+cfxDataBool4* newDataBool4(const domBool4& db4)
+{
+ cfxBool4 b4;
+ b4.b0 = db4.get(0);
+ b4.b1 = db4.get(1);
+ b4.b2 = db4.get(2);
+ b4.b3 = db4.get(3);
+ cfxDataBool4* data = new cfxDataBool4(b4);
+ return data;
+}
+
+cfxData* cfxDataMakerBool4::makeData(domFx_basic_type_common* paramInitializer, cfxEffect*)
+{
+ return newDataBool4(paramInitializer->getBool4()->getValue());
+}
+
+cfxData* cfxDataMakerBool4::makeData(domFx_annotate_type_common* annotateInitializer, cfxEffect*)
+{
+ return newDataBool4(annotateInitializer->getBool4()->getValue());
+}
+
+
+// cfxDataMakerInt
+cfxDataMakerInt::cfxDataMakerInt()
+{
+ cfxDataMaker::mapTypeNameToDataMaker.insert(std::make_pair(COLLADA_ELEMENT_INT, this));
+}
+
+cfxDataMakerInt cfxDataMakerInt::maker;
+
+cfxDataInt* newDataInt(const domInt& di)
+{
+ cfxInt i;
+ i = (cfxInt) di;
+ cfxDataInt* data = new cfxDataInt(i);
+ return data;
+}
+
+cfxData* cfxDataMakerInt::makeData(domFx_basic_type_common* paramInitializer, cfxEffect*)
+{
+ return newDataInt(paramInitializer->getInt()->getValue());
+}
+
+cfxData* cfxDataMakerInt::makeData(domFx_annotate_type_common* annotateInitializer, cfxEffect*)
+{
+ return newDataInt(annotateInitializer->getInt()->getValue());
+}
+
+
+// cfxDataMakerInt1
+cfxDataMakerInt1::cfxDataMakerInt1()
+{
+ cfxDataMaker::mapTypeNameToDataMaker.insert(std::make_pair(COLLADA_ELEMENT_INT1, this));
+}
+
+cfxDataMakerInt1 cfxDataMakerInt1::maker;
+
+cfxDataInt1* newDataInt1(const domInt& di)
+{
+ cfxInt1 i1;
+ i1.i0 = (cfxInt) di;
+ cfxDataInt1* data = new cfxDataInt1(i1);
+ return data;
+}
+
+cfxData* cfxDataMakerInt1::makeData(domFx_basic_type_common* paramInitializer, cfxEffect*)
+{
+ return newDataInt1(paramInitializer->getInt()->getValue());
+}
+
+cfxData* cfxDataMakerInt1::makeData(domFx_annotate_type_common* annotateInitializer, cfxEffect*)
+{
+ return newDataInt1(annotateInitializer->getInt()->getValue());
+}
+
+
+// cfxDataMakerInt2
+cfxDataMakerInt2::cfxDataMakerInt2()
+{
+ cfxDataMaker::mapTypeNameToDataMaker.insert(std::make_pair(COLLADA_ELEMENT_INT2, this));
+}
+
+cfxDataMakerInt2 cfxDataMakerInt2::maker;
+
+cfxDataInt2* newDataInt2(const domInt2& di2)
+{
+ cfxInt2 i2;
+ i2.i0 = (cfxInt) di2.get(0);
+ i2.i1 = (cfxInt) di2.get(1);
+ cfxDataInt2* data = new cfxDataInt2(i2);
+ return data;
+}
+
+cfxData* cfxDataMakerInt2::makeData(domFx_basic_type_common* paramInitializer, cfxEffect*)
+{
+ return newDataInt2(paramInitializer->getInt2()->getValue());
+}
+
+cfxData* cfxDataMakerInt2::makeData(domFx_annotate_type_common* annotateInitializer, cfxEffect*)
+{
+ return newDataInt2(annotateInitializer->getInt2()->getValue());
+}
+
+
+// cfxDataMakerInt3
+cfxDataMakerInt3::cfxDataMakerInt3()
+{
+ cfxDataMaker::mapTypeNameToDataMaker.insert(std::make_pair(COLLADA_ELEMENT_INT3, this));
+}
+
+cfxDataMakerInt3 cfxDataMakerInt3::maker;
+
+cfxDataInt3* newDataInt3(const domInt3& di3)
+{
+ cfxInt3 i3;
+ i3.i0 = (cfxInt) di3.get(0);
+ i3.i1 = (cfxInt) di3.get(1);
+ i3.i2 = (cfxInt) di3.get(2);
+ cfxDataInt3* data = new cfxDataInt3(i3);
+ return data;
+}
+
+cfxData* cfxDataMakerInt3::makeData(domFx_basic_type_common* paramInitializer, cfxEffect*)
+{
+ return newDataInt3(paramInitializer->getInt3()->getValue());
+}
+
+cfxData* cfxDataMakerInt3::makeData(domFx_annotate_type_common* annotateInitializer, cfxEffect*)
+{
+ return newDataInt3(annotateInitializer->getInt3()->getValue());
+}
+
+
+// cfxDataMakerInt4
+cfxDataMakerInt4::cfxDataMakerInt4()
+{
+ cfxDataMaker::mapTypeNameToDataMaker.insert(std::make_pair(COLLADA_ELEMENT_INT4, this));
+}
+
+cfxDataMakerInt4 cfxDataMakerInt4::maker;
+
+cfxDataInt4* newDataInt4(const domInt4& di4)
+{
+ cfxInt4 i4;
+ i4.i0 = (cfxInt) di4.get(0);
+ i4.i1 = (cfxInt) di4.get(1);
+ i4.i2 = (cfxInt) di4.get(2);
+ i4.i3 = (cfxInt) di4.get(3);
+ cfxDataInt4* data = new cfxDataInt4(i4);
+ return data;
+}
+
+cfxData* cfxDataMakerInt4::makeData(domFx_basic_type_common* paramInitializer, cfxEffect*)
+{
+ return newDataInt4(paramInitializer->getInt4()->getValue());
+}
+
+cfxData* cfxDataMakerInt4::makeData(domFx_annotate_type_common* annotateInitializer, cfxEffect*)
+{
+ return newDataInt4(annotateInitializer->getInt4()->getValue());
+}
+
+
+// cfxDataMakerFloat
+cfxDataMakerFloat::cfxDataMakerFloat()
+{
+ cfxDataMaker::mapTypeNameToDataMaker.insert(std::make_pair(COLLADA_ELEMENT_FLOAT, this));
+}
+
+cfxDataMakerFloat cfxDataMakerFloat::maker;
+
+cfxDataFloat* newDataFloat(const domFloat& df)
+{
+ cfxFloat f;
+ f = (cfxFloat) df;
+ cfxDataFloat* data = new cfxDataFloat(f);
+ return data;
+}
+
+cfxData* cfxDataMakerFloat::makeData(domFx_basic_type_common* paramInitializer, cfxEffect*)
+{
+ return newDataFloat(paramInitializer->getFloat()->getValue());
+}
+
+cfxData* cfxDataMakerFloat::makeData(domCg_param_type* paramInitializer, cfxEffect*)
+{
+ return newDataFloat(paramInitializer->getFloat()->getValue());
+}
+
+cfxData* cfxDataMakerFloat::makeData(domFx_annotate_type_common* annotateInitializer, cfxEffect*)
+{
+ return newDataFloat(annotateInitializer->getFloat()->getValue());
+}
+
+
+// cfxDataMakerFloat1
+cfxDataMakerFloat1::cfxDataMakerFloat1()
+{
+ cfxDataMaker::mapTypeNameToDataMaker.insert(std::make_pair(COLLADA_ELEMENT_FLOAT1, this));
+}
+
+cfxDataMakerFloat1 cfxDataMakerFloat1::maker;
+
+cfxDataFloat1* newDataFloat1(const domFloat& df)
+{
+ cfxFloat1 f1;
+ f1.f0 = (cfxFloat) df;
+ cfxDataFloat1* data = new cfxDataFloat1(f1);
+ return data;
+}
+
+cfxData* cfxDataMakerFloat1::makeData(domFx_basic_type_common* paramInitializer, cfxEffect*)
+{
+ return newDataFloat1(paramInitializer->getFloat()->getValue());
+}
+
+cfxData* cfxDataMakerFloat1::makeData(domFx_annotate_type_common* annotateInitializer, cfxEffect*)
+{
+ return newDataFloat1(annotateInitializer->getFloat()->getValue());
+}
+
+
+// cfxDataMakerFloat2
+cfxDataMakerFloat2::cfxDataMakerFloat2()
+{
+ cfxDataMaker::mapTypeNameToDataMaker.insert(std::make_pair(COLLADA_ELEMENT_FLOAT2, this));
+}
+
+cfxDataMakerFloat2 cfxDataMakerFloat2::maker;
+
+cfxDataFloat2* newDataFloat2(const domFloat2& df2)
+{
+ cfxFloat2 f2;
+ f2.f0 = (cfxFloat) df2.get(0);
+ f2.f1 = (cfxFloat) df2.get(1);
+ cfxDataFloat2* data = new cfxDataFloat2(f2);
+ return data;
+}
+
+cfxData* cfxDataMakerFloat2::makeData(domFx_basic_type_common* paramInitializer, cfxEffect*)
+{
+ return newDataFloat2(paramInitializer->getFloat2()->getValue());
+}
+
+cfxData* cfxDataMakerFloat2::makeData(domCg_param_type* paramInitializer, cfxEffect*)
+{
+ // this can not go through the helper method because in cg param type,
+ // dom float 4 is actually defined to be a float where as in commmon,
+ // it is defined to be double. the conversion is not automatic because
+ // the dom float 4 is actually a templatized container so the types won't convert.
+ // return newDataFloat3(paramInitializer->getFloat3()->getValue());
+ cfxFloat2 f2;
+ f2.f0 = paramInitializer->getFloat2()->getValue().get(0);
+ f2.f1 = paramInitializer->getFloat2()->getValue().get(1);
+ cfxDataFloat2* data = new cfxDataFloat2(f2);
+ return data;
+}
+
+cfxData* cfxDataMakerFloat2::makeData(domFx_annotate_type_common* annotateInitializer, cfxEffect*)
+{
+ return newDataFloat2(annotateInitializer->getFloat2()->getValue());
+}
+
+
+// cfxDataMakerFloat3
+cfxDataMakerFloat3::cfxDataMakerFloat3()
+{
+ cfxDataMaker::mapTypeNameToDataMaker.insert(std::make_pair(COLLADA_ELEMENT_FLOAT3, this));
+}
+
+cfxDataMakerFloat3 cfxDataMakerFloat3::maker;
+
+cfxDataFloat3* newDataFloat3(const domFloat3& df3)
+{
+ cfxFloat3 f3;
+ f3.f0 = (cfxFloat) df3.get(0);
+ f3.f1 = (cfxFloat) df3.get(1);
+ f3.f2 = (cfxFloat) df3.get(2);
+ cfxDataFloat3* data = new cfxDataFloat3(f3);
+ return data;
+}
+
+cfxData* cfxDataMakerFloat3::makeData(domFx_basic_type_common* paramInitializer, cfxEffect*)
+{
+ return newDataFloat3(paramInitializer->getFloat3()->getValue());
+}
+
+cfxData* cfxDataMakerFloat3::makeData(domCg_param_type* paramInitializer, cfxEffect*)
+{
+ // this can not go through the helper method because in cg param type,
+ // dom float 4 is actually defined to be a float where as in commmon,
+ // it is defined to be double. the conversion is not automatic because
+ // the dom float 4 is actually a templatized container so the types won't convert.
+ // return newDataFloat3(paramInitializer->getFloat3()->getValue());
+ cfxFloat3 f3;
+ f3.f0 = paramInitializer->getFloat3()->getValue().get(0);
+ f3.f1 = paramInitializer->getFloat3()->getValue().get(1);
+ f3.f2 = paramInitializer->getFloat3()->getValue().get(2);
+ cfxDataFloat3* data = new cfxDataFloat3(f3);
+ return data;
+}
+
+cfxData* cfxDataMakerFloat3::makeData(domFx_annotate_type_common* annotateInitializer, cfxEffect*)
+{
+ return newDataFloat3(annotateInitializer->getFloat3()->getValue());
+}
+
+
+// cfxDataMakerFloat4
+cfxDataMakerFloat4::cfxDataMakerFloat4()
+{
+ cfxDataMaker::mapTypeNameToDataMaker.insert(std::make_pair(COLLADA_ELEMENT_FLOAT4, this));
+}
+
+cfxDataMakerFloat4 cfxDataMakerFloat4::maker;
+
+cfxDataFloat4* newDataFloat4(const domFloat4& df4)
+{
+ cfxFloat4 f4;
+ f4.f0 = (cfxFloat) df4.get(0);
+ f4.f1 = (cfxFloat) df4.get(1);
+ f4.f2 = (cfxFloat) df4.get(2);
+ f4.f3 = (cfxFloat) df4.get(3);
+ cfxDataFloat4* data = new cfxDataFloat4(f4);
+ return data;
+}
+
+cfxData* cfxDataMakerFloat4::makeData(domFx_basic_type_common* paramInitializer, cfxEffect*)
+{
+ return newDataFloat4(paramInitializer->getFloat4()->getValue());
+}
+
+cfxData* cfxDataMakerFloat4::makeData(domCg_param_type* paramInitializer, cfxEffect*)
+{
+ // this can not go through the helper method because in cg param type,
+ // dom float 4 is actually defined to be a float where as in commmon,
+ // it is defined to be double. the conversion is not automatic because
+ // the dom float 4 is actually a templatized container so the types won't convert.
+ // return newDataFloat4(paramInitializer->getFloat4()->getValue());
+ cfxFloat4 f4;
+ f4.f0 = paramInitializer->getFloat4()->getValue().get(0);
+ f4.f1 = paramInitializer->getFloat4()->getValue().get(1);
+ f4.f2 = paramInitializer->getFloat4()->getValue().get(2);
+ f4.f3 = paramInitializer->getFloat4()->getValue().get(3);
+ cfxDataFloat4* data = new cfxDataFloat4(f4);
+ return data;
+}
+
+cfxData* cfxDataMakerFloat4::makeData(domFx_annotate_type_common* annotateInitializer, cfxEffect*)
+{
+ return newDataFloat4(annotateInitializer->getFloat4()->getValue());
+}
+
+
+
+
+
+// cfxDataMakerFloat2x2
+cfxDataMakerFloat2x2::cfxDataMakerFloat2x2()
+{
+ cfxDataMaker::mapTypeNameToDataMaker.insert(std::make_pair(COLLADA_ELEMENT_FLOAT2X2, this));
+}
+
+cfxDataMakerFloat2x2 cfxDataMakerFloat2x2::maker;
+
+cfxDataFloat2x2* newDataFloat2x2(const domFloat2x2& df2x2)
+{
+ cfxFloat2x2 f2x2;
+ f2x2.f00 = (cfxFloat) df2x2.get(0);
+ f2x2.f01 = (cfxFloat) df2x2.get(1);
+ f2x2.f10 = (cfxFloat) df2x2.get(2);
+ f2x2.f11 = (cfxFloat) df2x2.get(3);
+ cfxDataFloat2x2* data = new cfxDataFloat2x2(f2x2);
+ return data;
+}
+
+cfxData* cfxDataMakerFloat2x2::makeData(domFx_basic_type_common* paramInitializer, cfxEffect*)
+{
+ return newDataFloat2x2(paramInitializer->getFloat2x2()->getValue());
+}
+
+cfxData* cfxDataMakerFloat2x2::makeData(domFx_annotate_type_common* annotateInitializer, cfxEffect*)
+{
+ return newDataFloat2x2(annotateInitializer->getFloat2x2()->getValue());
+}
+
+
+// cfxDataMakerFloat3x3
+cfxDataMakerFloat3x3::cfxDataMakerFloat3x3()
+{
+ cfxDataMaker::mapTypeNameToDataMaker.insert(std::make_pair(COLLADA_ELEMENT_FLOAT3X3, this));
+}
+
+cfxDataMakerFloat3x3 cfxDataMakerFloat3x3::maker;
+
+cfxDataFloat3x3* newDataFloat3x3(const domFloat3x3& df3x3)
+{
+ cfxFloat3x3 f3x3;
+ f3x3.f00 = (cfxFloat) df3x3.get(0);
+ f3x3.f01 = (cfxFloat) df3x3.get(1);
+ f3x3.f02 = (cfxFloat) df3x3.get(2);
+ f3x3.f10 = (cfxFloat) df3x3.get(3);
+ f3x3.f11 = (cfxFloat) df3x3.get(4);
+ f3x3.f12 = (cfxFloat) df3x3.get(5);
+ f3x3.f20 = (cfxFloat) df3x3.get(6);
+ f3x3.f21 = (cfxFloat) df3x3.get(7);
+ f3x3.f22 = (cfxFloat) df3x3.get(8);
+ cfxDataFloat3x3* data = new cfxDataFloat3x3(f3x3);
+ return data;
+}
+
+cfxData* cfxDataMakerFloat3x3::makeData(domFx_basic_type_common* paramInitializer, cfxEffect*)
+{
+ return newDataFloat3x3(paramInitializer->getFloat3x3()->getValue());
+}
+
+cfxData* cfxDataMakerFloat3x3::makeData(domFx_annotate_type_common* annotateInitializer, cfxEffect*)
+{
+ return newDataFloat3x3(annotateInitializer->getFloat3x3()->getValue());
+}
+
+
+// cfxDataMakerFloat4x4
+cfxDataMakerFloat4x4::cfxDataMakerFloat4x4()
+{
+ cfxDataMaker::mapTypeNameToDataMaker.insert(std::make_pair(COLLADA_ELEMENT_FLOAT4X4, this));
+}
+
+cfxDataMakerFloat4x4 cfxDataMakerFloat4x4::maker;
+
+cfxDataFloat4x4* newDataFloat4x4(const domFloat4x4& df4x4)
+{
+ cfxFloat4x4 f4x4;
+ f4x4.f00 = (cfxFloat) df4x4.get(0);
+ f4x4.f01 = (cfxFloat) df4x4.get(1);
+ f4x4.f02 = (cfxFloat) df4x4.get(2);
+ f4x4.f03 = (cfxFloat) df4x4.get(3);
+ f4x4.f10 = (cfxFloat) df4x4.get(4);
+ f4x4.f11 = (cfxFloat) df4x4.get(5);
+ f4x4.f12 = (cfxFloat) df4x4.get(6);
+ f4x4.f13 = (cfxFloat) df4x4.get(7);
+ f4x4.f20 = (cfxFloat) df4x4.get(8);
+ f4x4.f21 = (cfxFloat) df4x4.get(9);
+ f4x4.f22 = (cfxFloat) df4x4.get(10);
+ f4x4.f23 = (cfxFloat) df4x4.get(11);
+ f4x4.f30 = (cfxFloat) df4x4.get(12);
+ f4x4.f31 = (cfxFloat) df4x4.get(13);
+ f4x4.f32 = (cfxFloat) df4x4.get(14);
+ f4x4.f33 = (cfxFloat) df4x4.get(15);
+ cfxDataFloat4x4* data = new cfxDataFloat4x4(f4x4);
+ return data;
+}
+
+cfxData* cfxDataMakerFloat4x4::makeData(domFx_basic_type_common* paramInitializer, cfxEffect*)
+{
+ return newDataFloat4x4(paramInitializer->getFloat4x4()->getValue());
+}
+
+cfxData* cfxDataMakerFloat4x4::makeData(domCg_param_type* paramInitializer, cfxEffect*)
+{
+ // this can not go through the helper method because in cg param type,
+ // dom float 4x4 is actually defined to be a float where as in commmon,
+ // it is defined to be double. the conversion is not automatic because
+ // the dom float 4 is actually a templatized container so the types won't convert.
+ // return newDataFloat4x4(paramInitializer->getFloat4x4()->getValue());
+ cfxFloat4x4 f4x4;
+ f4x4.f00 = paramInitializer->getFloat4x4()->getValue().get(0);
+ f4x4.f01 = paramInitializer->getFloat4x4()->getValue().get(1);
+ f4x4.f02 = paramInitializer->getFloat4x4()->getValue().get(2);
+ f4x4.f03 = paramInitializer->getFloat4x4()->getValue().get(3);
+ f4x4.f10 = paramInitializer->getFloat4x4()->getValue().get(4);
+ f4x4.f11 = paramInitializer->getFloat4x4()->getValue().get(5);
+ f4x4.f12 = paramInitializer->getFloat4x4()->getValue().get(6);
+ f4x4.f13 = paramInitializer->getFloat4x4()->getValue().get(7);
+ f4x4.f20 = paramInitializer->getFloat4x4()->getValue().get(8);
+ f4x4.f21 = paramInitializer->getFloat4x4()->getValue().get(9);
+ f4x4.f22 = paramInitializer->getFloat4x4()->getValue().get(10);
+ f4x4.f23 = paramInitializer->getFloat4x4()->getValue().get(11);
+ f4x4.f30 = paramInitializer->getFloat4x4()->getValue().get(12);
+ f4x4.f31 = paramInitializer->getFloat4x4()->getValue().get(13);
+ f4x4.f32 = paramInitializer->getFloat4x4()->getValue().get(14);
+ f4x4.f33 = paramInitializer->getFloat4x4()->getValue().get(15);
+ cfxDataFloat4x4* data = new cfxDataFloat4x4(f4x4);
+ return data;
+}
+
+cfxData* cfxDataMakerFloat4x4::makeData(domFx_annotate_type_common* annotateInitializer, cfxEffect*)
+{
+ return newDataFloat4x4(annotateInitializer->getFloat4x4()->getValue());
+}
+
+// PARAM DATA MAKERS
+
+// cfxDataMakerSampler2D
+cfxDataMakerSampler2D::cfxDataMakerSampler2D()
+{
+ //cfxDataMaker::mapTypeNameToDataMaker.insert(std::make_pair(COLLADA_ELEMENT_SAMPLER, this));
+ cfxDataMaker::mapTypeNameToDataMaker.insert(std::make_pair("fx_sampler2D_common", this));
+ cfxDataMaker::mapTypeNameToDataMaker.insert(std::make_pair("cg_sampler2D", this));
+}
+
+cfxDataMakerSampler2D cfxDataMakerSampler2D::maker;
+
+cfxData* cfxDataMakerSampler2D::makeData(domFx_basic_type_common* paramInitializer, cfxEffect* effect)
+{
+ sampler = new cfxSampler(paramInitializer->getSampler2D()->getSource()->getValue(), effect);
+
+ if (paramInitializer->getSampler2D()->getWrap_s())
+ {
+ int domEnum = paramInitializer->getSampler2D()->getWrap_s()->getValue();
+ int glEnum = cfxGlEnumMaps::getSamplerWrapTypeEnum(domEnum);
+ sampler->pushSetting(new cfxGlSamplerSettingWrapS(effect, "WrapS", glEnum));
+ }
+
+ if (paramInitializer->getSampler2D()->getWrap_t())
+ {
+ int domEnum = paramInitializer->getSampler2D()->getWrap_t()->getValue();
+ int glEnum = cfxGlEnumMaps::getSamplerWrapTypeEnum(domEnum);
+ sampler->pushSetting(new cfxGlSamplerSettingWrapT(effect, "WrapT", glEnum));
+ }
+
+ if (paramInitializer->getSampler2D()->getMinfilter())
+ {
+ int domEnum = paramInitializer->getSampler2D()->getMinfilter()->getValue();
+ int glEnum = cfxGlEnumMaps::getSamplerFilterTypeEnum(domEnum);
+ sampler->pushSetting(new cfxGlSamplerSettingMinFilter(effect, "MinFilter", glEnum));
+
+ // the default for mipmap generation is true
+ // turn it off if the min filter is GL_LINEAR or GL_NEAREST
+ if (glEnum == GL_LINEAR || glEnum == GL_NEAREST)
+ sampler->setGenerateMipmaps(false);
+ }
+
+ if (paramInitializer->getSampler2D()->getMagfilter())
+ {
+ int domEnum = paramInitializer->getSampler2D()->getMagfilter()->getValue();
+ int glEnum = cfxGlEnumMaps::getSamplerFilterTypeEnum(domEnum);
+ sampler->pushSetting(new cfxGlSamplerSettingMagFilter(effect, "MagFilter", glEnum));
+ }
+
+ if (paramInitializer->getSampler2D()->getMipmap_bias())
+ {
+ float value = paramInitializer->getSampler2D()->getMipmap_bias()->getValue();
+ sampler->pushSetting(new cfxGlSamplerSettingLodBias(effect, "LodBias", value));
+ }
+
+ return new cfxDataSampler2D(sampler);
+}
+
+
+
+cfxData* cfxDataMakerSampler2D::makeData(domCg_param_type* paramInitializer, cfxEffect* effect)
+{
+ sampler = new cfxSampler(paramInitializer->getSampler2D()->getSource()->getValue(), effect);
+
+ if (paramInitializer->getSampler2D()->getWrap_s())
+ {
+ int domEnum = paramInitializer->getSampler2D()->getWrap_s()->getValue();
+ int glEnum = cfxGlEnumMaps::getSamplerWrapTypeEnum(domEnum);
+ sampler->pushSetting(new cfxGlSamplerSettingWrapS(effect, "WrapS", glEnum));
+ }
+
+ if (paramInitializer->getSampler2D()->getWrap_t())
+ {
+ int domEnum = paramInitializer->getSampler2D()->getWrap_t()->getValue();
+ int glEnum = cfxGlEnumMaps::getSamplerWrapTypeEnum(domEnum);
+ sampler->pushSetting(new cfxGlSamplerSettingWrapT(effect, "WrapT", glEnum));
+ }
+
+ if (paramInitializer->getSampler2D()->getMinfilter())
+ {
+ int domEnum = paramInitializer->getSampler2D()->getMinfilter()->getValue();
+ int glEnum = cfxGlEnumMaps::getSamplerFilterTypeEnum(domEnum);
+ sampler->pushSetting(new cfxGlSamplerSettingMinFilter(effect, "MinFilter", glEnum));
+
+ // the default for mipmap generation is true
+ // turn it off if the min filter is GL_LINEAR or GL_NEAREST
+ if (glEnum == GL_LINEAR || glEnum == GL_NEAREST)
+ sampler->setGenerateMipmaps(false);
+ }
+
+ if (paramInitializer->getSampler2D()->getMagfilter())
+ {
+ int domEnum = paramInitializer->getSampler2D()->getMagfilter()->getValue();
+ int glEnum = cfxGlEnumMaps::getSamplerFilterTypeEnum(domEnum);
+ sampler->pushSetting(new cfxGlSamplerSettingMagFilter(effect, "MagFilter", glEnum));
+ }
+
+#if 0
+ if (paramInitializer->getSampler2D()->getBorder_color())
+ {
+ cfxFloat4 value;
+ value.f0 = paramInitializer->getSampler2D()->getBorder_color()->getValue().get(0);
+ value.f1 = paramInitializer->getSampler2D()->getBorder_color()->getValue().get(1);
+ value.f2 = paramInitializer->getSampler2D()->getBorder_color()->getValue().get(2);
+ value.f3 = paramInitializer->getSampler2D()->getBorder_color()->getValue().get(3);
+ sampler->pushSetting(new cfxGlSamplerSettingBorderColor(effect, "BorderColor", value));
+ }
+
+ if (paramInitializer->getSampler2D()->getMipmap_generate())
+ {
+ bool value = paramInitializer->getSampler2D()->getMipmap_generate()->getValue();
+ sampler->pushSetting(new cfxGlSamplerSettingGenerateMipMap(effect, "GenerateMipMap", value));
+ }
+
+ if (paramInitializer->getSampler2D()->getMipmap_maxlevel())
+ {
+ float value = paramInitializer->getSampler2D()->getMipmap_maxlevel()->getValue();
+ sampler->pushSetting(new cfxGlSamplerSettingMaxMipLevel(effect, "MaxMipLevel", value));
+ }
+#endif
+
+ if (paramInitializer->getSampler2D()->getMipmap_bias())
+ {
+ float value = paramInitializer->getSampler2D()->getMipmap_bias()->getValue();
+ sampler->pushSetting(new cfxGlSamplerSettingLodBias(effect, "LodBias", value));
+ }
+
+ return new cfxDataSampler2D(sampler);
+}
+
+
+// ANNOTATE DATA MAKERS
+
+// cfxDataMakerString
+cfxDataMakerString::cfxDataMakerString()
+{
+ cfxDataMaker::mapTypeNameToDataMaker.insert(std::make_pair(COLLADA_ELEMENT_STRING, this));
+}
+
+cfxDataMakerString cfxDataMakerString::maker;
+
+// not supporting string parameters because they can't really connect to any program params
+// so seem a bit useless and are not supported in the cg runtime on PS3 anyway
+#if 0
+cfxData* cfxDataMakerString::makeData(domCg_param_type* paramInitializer, cfxEffect*)
+{
+ cfxDataString* data;
+ if (paramInitializer->getString()->getValue())
+ {
+ data = new cfxDataString(paramInitializer->getString()->getValue());
+ }
+ else
+ {
+ data = new cfxDataString("");
+ }
+ return data;
+}
+#endif
+
+cfxData* cfxDataMakerString::makeData(domFx_annotate_type_common* annotateInitializer, cfxEffect*)
+{
+ cfxDataString* data = new cfxDataString(annotateInitializer->getString()->getValue());
+ return data;
+}
+
+
+
+
+#if 0
+// cfxDataMakerBasicType
+cfxDataMakerBasicType::cfxDataMakerBasicType()
+{
+ cfxDataMaker::mapTypeNameToDataMaker.insert(std::make_pair(COLLADA_ELEMENT_FX_BASIC_TYPE_COMMON, this));
+}
+
+cfxDataMakerBasicType cfxDataMakerBasicType::maker;
+
+cfxData* cfxDataMakerBasicType::makeData(domFx_basic_type_common* paramInitializer, cfxEffect*)
+{
+ std::map<std::string, cfxDataMaker*>::iterator iter;
+ // the element which has the actual data is inside basic type common
+ daeElement* dataElement = paramInitializer->getFx_basic_type_common()->getContents().get(0);
+ // get typename from contents, use this to lookup the factory for the data
+ daeString dataTypeName = dataElement->getTypeName();
+ iter = mapTypeNameToDataMaker.find(dataTypeName);
+ if (iter == mapTypeNameToDataMaker.end())
+ {
+ // print error message
+ return NULL;
+ }
+ cfxDataMaker* basicMaker = iter->second;
+ return basicMaker->makeData(paramInitializer);
+}
+
+cfxData* cfxDataMakerBasicType::makeData(domFx_annotate_type_common* annotateInitializer, cfxEffect*)
+{
+ std::map<std::string, cfxDataMaker*>::iterator iter;
+ // the element which has the actual data is inside basic type common
+ daeElement* dataElement = annotateInitializer->getFx_basic_type_common()->getContents().get(0);
+ // get typename from contents, use this to lookup the factory for the data
+ daeString dataTypeName = dataElement->getTypeName();
+ iter = mapTypeNameToDataMaker.find(dataTypeName);
+ if (iter == mapTypeNameToDataMaker.end())
+ {
+ // print error message
+ return NULL;
+ }
+ return iter->second->makeData(annotateInitializer);
+}
+#endif
+
+
diff --git a/1.4.0/fx/src/cfxEffect.cpp b/1.4.0/fx/src/cfxEffect.cpp
new file mode 100644
index 0000000..fcc986b
--- /dev/null
+++ b/1.4.0/fx/src/cfxEffect.cpp
@@ -0,0 +1,305 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+// System includes
+
+#include <stdlib.h>
+#include <assert.h>
+#include <stdio.h>
+
+// User includes
+
+#include <cfxEffect.h>
+#include <cfxCode.h>
+#include <cfxParam.h>
+#include <cfxNewParam.h>
+#include <cfxTechnique.h>
+#include <cfxAnnotate.h>
+#include <cfxPass.h>
+#include <cfxData.h>
+
+#include <assert.h>
+
+// cfxEffect
+cfxEffect::cfxEffect(const std::string& _name, CGcontext _context)
+ : name(_name),
+ context(_context)
+{
+ // do lazy context creation, but this may make it difficult to call
+ // cgDestroyContext later...
+ if (context == NULL)
+ context = cgCreateContext();
+ // I think cg would always return an error if context was not created so this is probably redundant
+ assert(context);
+
+ // create the new effect and set its name
+ effect = cgCreateEffect(context, NULL, NULL);
+ cgSetEffectName( effect, name.c_str() );
+
+ assert(effect);
+}
+cfxEffect::~cfxEffect()
+{
+#ifndef SN_TARGET_PS3
+ cgDestroyEffect(effect);
+#endif
+ for (size_t i=0; i<codeArray.size(); i++)
+ {
+ delete codeArray[i];
+ }
+ codeArray.clear();
+
+ for (size_t i=0; i<techniqueArray.size(); i++)
+ {
+ delete techniqueArray[i];
+ }
+ techniqueArray.clear();
+
+ std::map<std::string, cfxSurface*>::iterator iter=mapNameToSurfacePtr.begin();
+ for (size_t i=0; i<paramArray.size(); i++)
+ {
+ cfxNewParam* p = (cfxNewParam*)paramArray[i];
+ delete p->data;
+
+ // Check if param was used by cfxSurface object, if so, don't delet it yet, let ~cfxSurface() delete it
+ bool found = false;
+ for (iter=mapNameToSurfacePtr.begin(); iter != mapNameToSurfacePtr.end(); iter++)
+ {
+ for (size_t i=0; i<iter->second->referencingParams.size(); i++)
+ if (iter->second->referencingParams[i] == p)
+ found = true;
+ }
+ if (!found)
+ delete p;
+ }
+ paramArray.clear();
+ // this is temporary until cg api gets upgraded to set effect parameter names
+
+ mapNameToParameter.clear();
+ iter=mapNameToSurfacePtr.begin();
+ for (iter=mapNameToSurfacePtr.begin(); iter != mapNameToSurfacePtr.end(); iter++)
+ {
+ delete (iter->second);
+ }
+ mapNameToSurfacePtr.clear();
+ mapSemanticToParameter.clear();
+}
+
+cfxBool cfxEffect::apply()
+{
+ std::vector<cfxAnnotate*>::iterator annotateIter = annotateArray.begin();
+ while (annotateIter != annotateArray.end())
+ {
+ (*annotateIter)->apply(this);
+ annotateIter++;
+ }
+
+ std::vector<cfxParam*>::iterator paramIter = paramArray.begin();
+ while (paramIter != paramArray.end())
+ {
+ (*paramIter)->apply();
+ paramIter++;
+ }
+
+ // // // moving technique earlier so the connection can happen before the set because
+ // // // propagation of parameter value is not quite implemented properly yet.
+ std::vector<cfxTechnique*>::iterator techniqueIter = techniqueArray.begin();
+ while (techniqueIter != techniqueArray.end())
+ {
+ (*techniqueIter)->apply();
+ techniqueIter++;
+ }
+
+ // i think there should be a better place for this, but until i know what that is...
+ techniqueIter = techniqueArray.begin();
+ while (techniqueIter != techniqueArray.end())
+ {
+ cfxBool valid = cgValidateTechnique((*techniqueIter)->getTechnique());
+
+ if (valid)
+ {
+ printf("VALID TECHNIQUE\n");
+ }
+ else
+ {
+ printf("ERROR: INVALID TECHNIQUE\n");
+ }
+
+ techniqueIter++;
+ }
+
+ return true;
+}
+
+cfxBool cfxEffect::validate() const
+{
+ return true;
+}
+
+CGcontext cfxEffect::getContext() const
+{
+ return context;
+}
+
+CGeffect cfxEffect::getEffect() const
+{
+ return effect;
+}
+
+const std::string& cfxEffect::getName() const
+{
+ return name;
+}
+
+void cfxEffect::pushCode(cfxCode* code)
+{
+ codeArray.push_back(code);
+}
+
+void cfxEffect::pushTechnique(cfxTechnique* technique)
+{
+
+ printf("PushTechnique\n");
+ techniqueArray.push_back(technique);
+}
+
+
+
+void cfxEffect::setPassState(cfxUint techniqueIndex, cfxUint passIndex)
+{
+ if (techniqueIndex >= techniqueArray.size())
+ {
+ printf("setPassState passIndex=%d\n", passIndex);
+ printf("ERROR: techniqueIndex invalid: %d\n", techniqueIndex);
+ return;
+ }
+
+ techniqueArray[techniqueIndex]->setPassState(passIndex);
+}
+
+
+void cfxEffect::resetPassState(cfxUint techniqueIndex, cfxUint passIndex)
+{
+ if (techniqueIndex >= techniqueArray.size())
+ {
+ printf("resetPassState passIndex=%d\n", passIndex);
+ printf("ERROR: techniqueIndex invalid: %d\n", techniqueIndex);
+ return;
+ }
+
+ techniqueArray[techniqueIndex]->resetPassState(passIndex);
+}
+
+
+cfxUint cfxEffect::getTechniqueCount()
+{
+ return (cfxUint) techniqueArray.size();
+}
+
+
+cfxUint cfxEffect::getPassCount(cfxUint techniqueIndex)
+{
+ if (techniqueIndex >= techniqueArray.size())
+ {
+ printf("getPassCount\n");
+ printf("ERROR: techniqueIndex invalid: %d\n", techniqueIndex);
+ return 0;
+ }
+
+ return (techniqueArray[techniqueIndex]->getPassCount());
+}
+
+
+// this is temporary until cg api gets upgraded to set effect parameter names
+void cfxEffect::addNamedParameter(const std::string& name, CGparameter param)
+{
+ mapNameToParameter.insert(make_pair(name, param));
+}
+
+
+CGparameter cfxEffect::getParameterByName(const std::string& name)
+{
+ CGparameter param = 0;
+#if 1
+ std::map<std::string, CGparameter>::iterator iter = mapNameToParameter.find(name);
+ if (iter != mapNameToParameter.end())
+ {
+ param = iter->second;
+ }
+ //printf("got effect param: %s %d\n", name.c_str(), param);
+#else
+ param = cgGetNamedEffectParameter(effect, name.c_str());
+#endif
+ return param;
+}
+
+
+void cfxEffect::addNamedSurface(const std::string& name, cfxSurface* surface)
+{
+ mapNameToSurfacePtr.insert(make_pair(name, surface));
+ printf("added surface to map of name %s\n", name.c_str());
+}
+
+cfxSurface* cfxEffect::getSurfaceByName(const std::string& name)
+{
+ cfxSurface* surface = 0;
+ std::map<std::string, cfxSurface*>::iterator iter = mapNameToSurfacePtr.find(name);
+ if (iter != mapNameToSurfacePtr.end())
+ {
+ surface = iter->second;
+ }
+ //printf("got effect surface: %s %p\n", name.c_str(), surface);
+ return surface;
+}
+
+
+void cfxEffect::addSemanticParameter(const std::string& semantic, CGparameter param)
+{
+ printf("adding semantic pair %s %p\n", semantic.c_str(), param);
+ mapSemanticToParameter.insert(make_pair(semantic, param));
+}
+
+
+CGparameter cfxEffect::getParameterBySemantic(const std::string& semantic)
+{
+ CGparameter param = 0;
+#if 1
+ std::map<std::string, CGparameter>::iterator iter = mapSemanticToParameter.find(semantic);
+ if (iter != mapSemanticToParameter.end())
+ {
+ param = iter->second;
+ }
+ //printf("got semantic param: %s %p\n", semantic.c_str(), param);
+#else
+ param = cgGetEffectParameterBySemantic(effect, semantic.c_str());
+#endif
+ return param;
+}
+
+const std::vector<cfxTechnique*> &cfxEffect::getTechniqueArray() const
+{
+ return techniqueArray;
+}
+
+const std::map<std::string, cfxSurface*> &cfxEffect::getSurfaceMap() const
+{
+ return mapNameToSurfacePtr;
+}
+
+std::string cfxEffect::getSurfaceName( const cfxSurface *surface )
+{
+ std::map<std::string, cfxSurface *>::iterator iter = mapNameToSurfacePtr.begin();
+ while (iter != mapNameToSurfacePtr.end() )
+ {
+ if ( iter->second == surface )
+ {
+ return iter->first;
+ }
+ ++iter;
+ }
+ return "";
+}
diff --git a/1.4.0/fx/src/cfxError.cpp b/1.4.0/fx/src/cfxError.cpp
new file mode 100644
index 0000000..20ae914
--- /dev/null
+++ b/1.4.0/fx/src/cfxError.cpp
@@ -0,0 +1,47 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+// System includes
+
+#include <stdlib.h>
+#include <assert.h>
+#include <stdio.h>
+
+#include <cfxError.h>
+
+
+// this is a handy callback for the cg errors
+void cfxCgErrorCallback()
+{
+ CGerror error = cgGetError();
+
+#ifndef _LIB
+ const char* report = cgGetErrorString(error);
+ printf("CG Error Detected: %s\n", report);
+
+ assert(0 && report);
+#endif
+}
+
+
+CGerror cfxCheckCgError()
+{
+ CGerror error = cgGetError();
+
+ if (error != CG_NO_ERROR)
+ {
+ const char* report = cgGetErrorString(error);
+ printf("CG Error Detected: %s\n", report);
+ assert(0 && report);
+ }
+
+ return error;
+}
+
+
+
+
diff --git a/1.4.0/fx/src/cfxGlEnumMaps.cpp b/1.4.0/fx/src/cfxGlEnumMaps.cpp
new file mode 100644
index 0000000..792f146
--- /dev/null
+++ b/1.4.0/fx/src/cfxGlEnumMaps.cpp
@@ -0,0 +1,209 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+#include <cfxGlEnumMaps.h>
+
+#include <cfxPlatform.h>
+
+
+#if 0
+int cfxGlEnumMaps::blendTypeEnums[GL_BLEND_TYPE_COUNT];
+int cfxGlEnumMaps::faceTypeEnums[GL_FACE_TYPE_COUNT];
+int cfxGlEnumMaps::blendEquationTypeEnums[GL_BLEND_EQUATION_TYPE_COUNT];
+int cfxGlEnumMaps::funcTypeEnums[GL_FUNC_TYPE_COUNT];
+int cfxGlEnumMaps::stencilOpTypeEnums[GL_STENCIL_OP_TYPE_COUNT];
+
+int cfxGlEnumMaps::modeTypeEnums[GL_MATERIAL_TYPE_COUNT];
+int cfxGlEnumMaps::fogModeTypeEnums[GL_FOG_TYPE_COUNT];
+#endif
+
+int cfxGlEnumMaps::samplerWrapTypeEnums[FX_SAMPLER_WRAP_COMMON_COUNT];
+int cfxGlEnumMaps::samplerFilterTypeEnums[FX_SAMPLER_FILTER_COMMON_COUNT];
+
+bool cfxGlEnumMaps::initialized = false;
+
+cfxGlEnumMaps cfxGlEnumMaps::initializer;
+
+
+int cfxGlEnumMaps::getBlendTypeEnum(int domEnum)
+{
+ return domEnum;
+
+ // if (domEnum < 0 || domEnum >= GL_BLEND_TYPE_COUNT)
+ // return -1;
+ // return blendTypeEnums[domEnum];
+}
+
+int cfxGlEnumMaps::getFaceTypeEnum(int domEnum)
+{
+ return domEnum;
+
+ // if (domEnum < 0 || domEnum >= GL_FACE_TYPE_COUNT)
+ // return -1;
+ // return faceTypeEnums[domEnum];
+}
+
+
+int cfxGlEnumMaps::getBlendEquationTypeEnum(int domEnum)
+{
+ return domEnum;
+
+ // if (domEnum < 0 || domEnum >= GL_BLEND_EQUATION_TYPE_COUNT)
+ // return -1;
+ // return blendEquationTypeEnums[domEnum];
+}
+
+
+int cfxGlEnumMaps::getFuncTypeEnum(int domEnum)
+{
+ return domEnum;
+
+ // if (domEnum < 0 || domEnum >= GL_FUNC_TYPE_COUNT)
+ // return -1;
+ // return funcTypeEnums[domEnum];
+}
+
+
+int cfxGlEnumMaps::getStencilOpTypeEnum(int domEnum)
+{
+ return domEnum;
+
+ // if (domEnum < 0 || domEnum >= GL_STENCIL_OP_TYPE_COUNT)
+ // return -1;
+ // return stencilOpTypeEnums[domEnum];
+}
+
+
+int cfxGlEnumMaps::getModeTypeEnum(int domEnum)
+{
+ return domEnum;
+
+ // if (domEnum < 0 || domEnum >= GL_MATERIAL_TYPE_COUNT)
+ // return -1;
+ // return modeTypeEnums[domEnum];
+}
+
+
+int cfxGlEnumMaps::getFogModeTypeEnum(int domEnum)
+{
+ return domEnum;
+
+ // if (domEnum < 0 || domEnum >= GL_FOG_TYPE_COUNT)
+ // return -1;
+ // return fogModeTypeEnums[domEnum];
+}
+
+
+int cfxGlEnumMaps::getSamplerWrapTypeEnum(int domEnum)
+{
+ if (domEnum < 0 || domEnum >= FX_SAMPLER_WRAP_COMMON_COUNT)
+ return -1;
+ return samplerWrapTypeEnums[domEnum];
+}
+
+
+int cfxGlEnumMaps::getSamplerFilterTypeEnum(int domEnum)
+{
+ if (domEnum < 0 || domEnum >= FX_SAMPLER_FILTER_COMMON_COUNT)
+ return -1;
+ return samplerFilterTypeEnums[domEnum];
+}
+
+
+
+// deliberately doing explicit verbose initialization using both the dom and equivalent GL enums so mapping is less fragile
+cfxGlEnumMaps::cfxGlEnumMaps()
+{
+
+ if (!initialized)
+ {
+#if 0
+ blendTypeEnums[GL_BLEND_TYPE_ZERO] = GL_ZERO;
+ blendTypeEnums[GL_BLEND_TYPE_ONL_NEAREST_MIPMAP_LINEAE] = GL_ONE;
+ blendTypeEnums[GL_BLEND_TYPE_SRC_COLOR] = GL_SRC_COLOR;
+ blendTypeEnums[GL_BLEND_TYPE_ONE_MINUS_SRC_COLOR] = GL_ONE_MINUS_SRC_COLOR;
+ blendTypeEnums[GL_BLEND_TYPE_DEST_COLOR] = GL_DST_COLOR;
+ blendTypeEnums[GL_BLEND_TYPE_ONE_MINUS_DEST_COLOR] = GL_ONE_MINUS_DST_COLOR;
+ blendTypeEnums[GL_BLEND_TYPE_SRC_ALPHA] = GL_SRC_ALPHA;
+ blendTypeEnums[GL_BLEND_TYPE_ONE_MINUS_SRC_ALPHA] = GL_ONE_MINUS_SRC_ALPHA;
+ //blendTypeEnums[GL_BLEND_TYPE_DST_ALPHA] = GL_DST_ALPHA;
+ //blendTypeEnums[GL_BLEND_TYPE_ONE_MINUS_DST_ALPHA] = GL_ONE_MINUS_DST_ALPHA;
+ //blendTypeEnums[GL_BLEND_TYPE_CONSTANT_COLOR] = GL_CONSTANT_COLOR;
+ //blendTypeEnums[GL_BLEND_TYPE_ONE_MINUS_CONSTANT_COLOR] = GL_ONE_MINUS_CONSTANT_COLOR;
+ //blendTypeEnums[GL_BLEND_TYPE_CONSTANT_ALPHA] = GL_CONSTANT_ALPHA;
+ //blendTypeEnums[GL_BLEND_TYPE_ONE_MINUS_CONSTANT_ALPHA] = GL_ONE_MINUS_CONSTANT_ALPHA;
+ blendTypeEnums[GL_BLEND_TYPE_SRC_ALPHA_SATURATE] = GL_SRC_ALPHA_SATURATE;
+
+ faceTypeEnums[GL_FACE_TYPE_FRONT] = GL_FRONT;
+ faceTypeEnums[GL_FACE_TYPE_BACK] = GL_BACK;
+ faceTypeEnums[GL_FACE_TYPE_FRONT_AND_BACK] = GL_FRONT_AND_BACK;
+
+ // i don't think this is right at all
+ blendEquationTypeEnums[GL_BLEND_EQUATION_TYPE_FUNC_ADD] = GL_ADD;
+ blendEquationTypeEnums[GL_BLEND_EQUATION_TYPE_FUNC_SUBTRACT] = GL_SUBTRACT;
+ blendEquationTypeEnums[GL_BLEND_EQUATION_TYPE_FUNC_REVERSE_SUBTRACT] = GL_REVERSE_SUBTRACT;
+ blendEquationTypeEnums[GL_BLEND_EQUATION_TYPE_MIN] = GL_MIN;
+ blendEquationTypeEnums[GL_BLEND_EQUATION_TYPE_MAX] = GL_MAX;
+
+ funcTypeEnums[GL_FUNC_TYPE_NEVER] = GL_NEVER;
+ funcTypeEnums[GL_FUNC_TYPE_LESS] = GL_LESS;
+ funcTypeEnums[GL_FUNC_TYPE_LEQUAL] = GL_LEQUAL;
+ funcTypeEnums[GL_FUNC_TYPE_EQUAL] = GL_EQUAL;
+ funcTypeEnums[GL_FUNC_TYPE_GREATER] = GL_GREATER;
+ funcTypeEnums[GL_FUNC_TYPE_NOTEQUAL] = GL_NOTEQUAL;
+ funcTypeEnums[GL_FUNC_TYPE_GEQUAL] = GL_GEQUAL;
+ funcTypeEnums[GL_FUNC_TYPE_ALWAYS] = GL_ALWAYS;
+
+ stencilOpTypeEnums[GL_STENCIL_OP_TYPE_KEEP] = GL_KEEP;
+ stencilOpTypeEnums[GL_STENCIL_OP_TYPE_ZERO] = GL_ZERO;
+ stencilOpTypeEnums[GL_STENCIL_OP_TYPE_REPLACE] = GL_REPLACE;
+ stencilOpTypeEnums[GL_STENCIL_OP_TYPE_INCR] = GL_INCR;
+ stencilOpTypeEnums[GL_STENCIL_OP_TYPE_DECR] = GL_DECR;
+ stencilOpTypeEnums[GL_STENCIL_OP_TYPE_INVERT] = GL_INVERT;
+ //stencilOpTypeEnums[GL_STENCIL_OP_TYPE_INCR_WRAP] = GL_INCR_WRAP;
+ //stencilOpTypeEnums[GL_STENCIL_OP_TYPE_DECR_WRAP] = GL_DECR_WRAP;
+
+ modeTypeEnums[domGl_pipeline_settings::domColor_material::domMode::MODE_EMISSION] = GL_EMISSION;
+ //modeTypeEnums[domGl_pipeline_settings::domColor_material::domMode::MODE_AMBIENT] = GL_AMBIENT;
+ //modeTypeEnums[domGl_pipeline_settings::domColor_material::domMode::MODE_DIFFUSE] = GL_DIFFUSE;
+ //modeTypeEnums[domGl_pipeline_settings::domColor_material::domMode::MODE_SPECULAR] = GL_SPECULAR;
+ modeTypeEnums[domGl_pipeline_settings::domColor_material::domMode::MODE_AMBIENT_AND_DIFFUSE] = GL_AMBIENT_AND_DIFFUSE;
+ //modeTypeEnums[domGl_pipeline_settings::domColor_material::domMode::???] = GL_SHININESS;
+
+ //fogModeTypeEnums[domGl_pipeline_settings::domFog_mode::FOG_MODE_LINEAR] = GL_LINEAR;
+ fogModeTypeEnums[domGl_pipeline_settings::domFog_mode::FOG_MODE_EXP] = GL_FOG_TYPE_EXP;
+ fogModeTypeEnums[domGl_pipeline_settings::domFog_mode::FOG_MODE_EXP2] = GL_FOG_TYPE_EXP2;
+#endif
+
+ int i;
+
+ for (i = 0; i < FX_SAMPLER_WRAP_COMMON_CLAMP; i++)
+ {
+ samplerWrapTypeEnums[i] = -1;
+ }
+
+ //samplerWrapTypeEnums[FX_SAMPLER_WRAP_COMMON_NONE] = ;
+ samplerWrapTypeEnums[FX_SAMPLER_WRAP_COMMON_WRAP] = GL_REPEAT;
+ //samplerWrapTypeEnums[FX_SAMPLER_WRAP_COMMON_MIRROR] = ;
+ samplerWrapTypeEnums[FX_SAMPLER_WRAP_COMMON_CLAMP] = GL_CLAMP_TO_EDGE;
+
+ for (i = 0; i < FX_SAMPLER_FILTER_COMMON_NONE; i++)
+ {
+ samplerFilterTypeEnums[i] = -1;
+ }
+
+ //samplerFilterTypeEnums[FX_SAMPLER_FILTER_COMMON_NONE] = ;
+ samplerFilterTypeEnums[FX_SAMPLER_FILTER_COMMON_NEAREST] = GL_NEAREST;
+ samplerFilterTypeEnums[FX_SAMPLER_FILTER_COMMON_LINEAR] = GL_LINEAR;
+ samplerFilterTypeEnums[FX_SAMPLER_FILTER_COMMON_NEAREST_MIPMAP_NEAREST] = GL_NEAREST_MIPMAP_NEAREST;
+ samplerFilterTypeEnums[FX_SAMPLER_FILTER_COMMON_LINEAR_MIPMAP_NEAREST] = GL_LINEAR_MIPMAP_NEAREST;
+ samplerFilterTypeEnums[FX_SAMPLER_FILTER_COMMON_NEAREST_MIPMAP_LINEAR] = GL_NEAREST_MIPMAP_LINEAR;
+ samplerFilterTypeEnums[FX_SAMPLER_FILTER_COMMON_LINEAR_MIPMAP_LINEAR] = GL_LINEAR_MIPMAP_LINEAR;
+ }
+}
+
+
diff --git a/1.4.0/fx/src/cfxGlPipelineSetting.cpp b/1.4.0/fx/src/cfxGlPipelineSetting.cpp
new file mode 100644
index 0000000..10f4a6a
--- /dev/null
+++ b/1.4.0/fx/src/cfxGlPipelineSetting.cpp
@@ -0,0 +1,2035 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+// System includes
+
+#include <stdio.h>
+#include <cstdlib>
+#include <iostream>
+#include <cfxPlatform.h>
+
+
+// User includes
+
+#include <cfxGlPipelineSetting.h>
+#include <cfxPass.h>
+#include <cfxTechnique.h>
+#include <cfxEffect.h>
+
+// cfxGlPipelineSetting
+cfxGlPipelineSetting::cfxGlPipelineSetting(cfxPass* _pass, const char* stateName, int index)
+ : pass(_pass)
+{
+ state = cgGetNamedState(_pass->getTechnique()->getEffect()->getContext(), stateName);
+ if (state != 0)
+ {
+ printf("Got state for %s\n", stateName);
+ }
+ else
+ {
+ printf("ERROR: state not found for %s\n", stateName);
+ }
+
+ if (index >= 0)
+ {
+ assignment = cgCreateStateAssignmentIndex(_pass->getPass(), state, index);
+ }
+ else
+ {
+ assignment = cgCreateStateAssignment(_pass->getPass(), state);
+ }
+}
+
+cfxGlPipelineSetting::~cfxGlPipelineSetting()
+{
+}
+
+// cfxGlPipelineSettingAlphaFunc
+cfxGlPipelineSettingAlphaFunc::cfxGlPipelineSettingAlphaFunc(cfxPass* _pass, int _func, float _value)
+ : cfxGlPipelineSetting(_pass, "AlphaFunc"),
+ func(_func),
+ value(_value)
+{
+}
+
+cfxBool cfxGlPipelineSettingAlphaFunc::apply()
+{
+ float values[2];
+ values[0] = (float)func;
+ values[1] = value;
+ cgSetFloatArrayStateAssignment(assignment, values);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingAlphaFunc::getType() const
+{
+ return cfxGlPipelineSetting::ALPHA_FUNC;
+}
+
+int cfxGlPipelineSettingAlphaFunc::getFunc() const
+{
+ return func;
+}
+
+float cfxGlPipelineSettingAlphaFunc::getValue() const
+{
+ return value;
+}
+
+
+// cfxGlPipelineSettingBlendFunc
+cfxGlPipelineSettingBlendFunc::cfxGlPipelineSettingBlendFunc(cfxPass* _pass, int _src, int _dst)
+ : cfxGlPipelineSetting(_pass, "BlendFunc"),
+ src(_src),
+ dst(_dst)
+{
+}
+
+cfxBool cfxGlPipelineSettingBlendFunc::apply()
+{
+ int values[2];
+ values[0] = src;
+ values[1] = dst;
+
+ if ( src && dst )
+ cgSetIntArrayStateAssignment(assignment, values);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingBlendFunc::getType() const
+{
+ return cfxGlPipelineSetting::BLEND_FUNC;
+}
+
+int cfxGlPipelineSettingBlendFunc::getSrc() const
+{
+ return src;
+}
+
+int cfxGlPipelineSettingBlendFunc::getDst() const
+{
+ return dst;
+}
+
+
+// cfxGlPipelineSettingBlendFuncSeparate
+cfxGlPipelineSettingBlendFuncSeparate::cfxGlPipelineSettingBlendFuncSeparate(cfxPass* _pass, int _srcRGB, int _dstRGB, int _srcAlpha, int _dstAlpha)
+ : cfxGlPipelineSetting(_pass, "BlendFuncSeparate"),
+ srcRGB(_srcRGB),
+ dstRGB(_dstRGB),
+ srcAlpha(_srcAlpha),
+ dstAlpha(_dstAlpha)
+{
+}
+
+cfxBool cfxGlPipelineSettingBlendFuncSeparate::apply()
+{
+ int values[4];
+ values[0] = srcRGB;
+ values[1] = dstRGB;
+ values[2] = srcAlpha;
+ values[3] = dstAlpha;
+ cgSetIntArrayStateAssignment(assignment, values);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingBlendFuncSeparate::getType() const
+{
+ return cfxGlPipelineSetting::BLEND_FUNC_SEPARATE;
+}
+
+int cfxGlPipelineSettingBlendFuncSeparate::getSrcRGB() const
+{
+ return srcRGB;
+}
+
+int cfxGlPipelineSettingBlendFuncSeparate::getDstRGD() const
+{
+ return dstRGB;
+}
+
+int cfxGlPipelineSettingBlendFuncSeparate::getSrcAlpha() const
+{
+ return srcAlpha;
+}
+
+int cfxGlPipelineSettingBlendFuncSeparate::getDstAlpha() const
+{
+ return dstAlpha;
+}
+
+
+// cfxGlPipelineSettingBlendEquation
+cfxGlPipelineSettingBlendEquation::cfxGlPipelineSettingBlendEquation(cfxPass* _pass, int _equation)
+ : cfxGlPipelineSetting(_pass, "BlendEquation"),
+ equation(_equation)
+{
+}
+
+cfxBool cfxGlPipelineSettingBlendEquation::apply()
+{
+ cgSetIntStateAssignment(assignment, equation);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingBlendEquation::getType() const
+{
+ return cfxGlPipelineSetting::BLEND_EQUATION;
+}
+
+int cfxGlPipelineSettingBlendEquation::getEquation() const
+{
+ return equation;
+}
+
+
+// cfxGlPipelineSettingBlendEquationSeparate
+cfxGlPipelineSettingBlendEquationSeparate::cfxGlPipelineSettingBlendEquationSeparate(cfxPass* _pass, int _rgb, int _alpha)
+ : cfxGlPipelineSetting(_pass, "BlendEquationSeparate"),
+ rgb(_rgb),
+ alpha(_alpha)
+{
+}
+
+cfxBool cfxGlPipelineSettingBlendEquationSeparate::apply()
+{
+ int values[2];
+ values[0] = rgb;
+ values[1] = alpha;
+ cgSetIntArrayStateAssignment(assignment, values);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingBlendEquationSeparate::getType() const
+{
+ return cfxGlPipelineSetting::BLEND_EQUATION_SEPARATE;
+}
+
+int cfxGlPipelineSettingBlendEquationSeparate::getRgb() const
+{
+ return rgb;
+}
+
+int cfxGlPipelineSettingBlendEquationSeparate::getAlpha() const
+{
+ return alpha;
+}
+
+
+// cfxGlPipelineSettingBlendColor
+cfxGlPipelineSettingBlendColor::cfxGlPipelineSettingBlendColor(cfxPass* _pass, cfxFloat4& _value)
+ : cfxGlPipelineSetting(_pass, "BlendColor"),
+ value(_value)
+{
+}
+
+cfxBool cfxGlPipelineSettingBlendColor::apply()
+{
+ cgSetFloatArrayStateAssignment(assignment, &value.f0);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingBlendColor::getType() const
+{
+ return cfxGlPipelineSetting::BLEND_COLOR;
+}
+
+cfxFloat4 cfxGlPipelineSettingBlendColor::getValue() const
+{
+ return value;
+}
+
+
+// cfxGlPipelineSettingClearColor
+cfxGlPipelineSettingClearColor::cfxGlPipelineSettingClearColor(cfxPass* _pass, cfxFloat4& _value)
+ : cfxGlPipelineSetting(_pass, "ClearColor"),
+ value(_value)
+{
+}
+
+cfxBool cfxGlPipelineSettingClearColor::apply()
+{
+ cgSetFloatArrayStateAssignment(assignment, &value.f0);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingClearColor::getType() const
+{
+ return cfxGlPipelineSetting::CLEAR_COLOR;
+}
+
+cfxFloat4 cfxGlPipelineSettingClearColor::getValue() const
+{
+ return value;
+}
+
+// cfxGlPipelineSettingClearStencil
+cfxGlPipelineSettingClearStencil::cfxGlPipelineSettingClearStencil(cfxPass* _pass, int _value)
+ : cfxGlPipelineSetting(_pass, "ClearStencil"),
+ value(_value)
+{
+}
+
+cfxBool cfxGlPipelineSettingClearStencil::apply()
+{
+ cgSetIntStateAssignment(assignment, value);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingClearStencil::getType() const
+{
+ return cfxGlPipelineSetting::CLEAR_STENCIL;
+}
+
+int cfxGlPipelineSettingClearStencil::getValue() const
+{
+ return value;
+}
+
+// cfxGlPipelineSettingClearDepth
+cfxGlPipelineSettingClearDepth::cfxGlPipelineSettingClearDepth(cfxPass* _pass, float _value)
+ : cfxGlPipelineSetting(_pass, "ClearDepth"),
+ value(_value)
+{
+}
+
+cfxBool cfxGlPipelineSettingClearDepth::apply()
+{
+ cgSetFloatStateAssignment(assignment, value);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingClearDepth::getType() const
+{
+ return cfxGlPipelineSetting::CLEAR_DEPTH;
+}
+
+float cfxGlPipelineSettingClearDepth::getValue() const
+{
+ return value;
+}
+
+// cfxGlPipelineSettingClipPlane
+cfxGlPipelineSettingClipPlane::cfxGlPipelineSettingClipPlane(cfxPass* _pass, int _index, cfxFloat4& _value)
+ : cfxGlPipelineSetting(_pass, "ClipPlane", _index),
+ index(_index),
+ value(_value)
+{
+}
+
+cfxBool cfxGlPipelineSettingClipPlane::apply()
+{
+ cgSetFloatArrayStateAssignment(assignment, &value.f0);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingClipPlane::getType() const
+{
+ return cfxGlPipelineSetting::CLIP_PLANE;
+}
+
+int cfxGlPipelineSettingClipPlane::getIndex() const
+{
+ return index;
+}
+
+cfxFloat4 cfxGlPipelineSettingClipPlane::getValue() const
+{
+ return value;
+}
+
+// cfxGlPipelineSettingColorMask
+cfxGlPipelineSettingColorMask::cfxGlPipelineSettingColorMask(cfxPass* _pass, cfxBool4& _value)
+ : cfxGlPipelineSetting(_pass, "ColorMask"),
+ value(_value)
+{
+}
+
+cfxBool cfxGlPipelineSettingColorMask::apply()
+{
+ CGbool cgValues[4];
+ cgValues[0] = value.b0;
+ cgValues[1] = value.b1;
+ cgValues[2] = value.b2;
+ cgValues[3] = value.b3;
+ cgSetBoolArrayStateAssignment(assignment, cgValues);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingColorMask::getType() const
+{
+ return cfxGlPipelineSetting::COLOR_MASK;
+}
+
+cfxBool4 cfxGlPipelineSettingColorMask::getValue() const
+{
+ return value;
+}
+
+
+// cfxGlPipelineSettingColorMaterial
+cfxGlPipelineSettingColorMaterial::cfxGlPipelineSettingColorMaterial(cfxPass* _pass, int _face, int _mode)
+ : cfxGlPipelineSetting(_pass, "ColorMaterial"),
+ face(_face),
+ mode(_mode)
+{
+}
+
+cfxBool cfxGlPipelineSettingColorMaterial::apply()
+{
+ int values[2];
+ values[0] = face;
+ values[1] = mode;
+ cgSetIntArrayStateAssignment(assignment, values);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingColorMaterial::getType() const
+{
+ return cfxGlPipelineSetting::COLOR_MATERIAL;
+}
+
+int cfxGlPipelineSettingColorMaterial::getFace() const
+{
+ return face;
+}
+
+int cfxGlPipelineSettingColorMaterial::getMode() const
+{
+ return mode;
+}
+
+
+// cfxGlPipelineSettingCullFace
+cfxGlPipelineSettingCullFace::cfxGlPipelineSettingCullFace(cfxPass* _pass, int _value)
+ : cfxGlPipelineSetting(_pass, "CullFace"),
+ value(_value)
+{
+}
+
+cfxBool cfxGlPipelineSettingCullFace::apply()
+{
+ cgSetIntStateAssignment(assignment, value);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingCullFace::getType() const
+{
+ return cfxGlPipelineSetting::CULL_FACE;
+}
+
+int cfxGlPipelineSettingCullFace::getValue() const
+{
+ return value;
+}
+
+
+// cfxGlPipelineSettingDepthFunc
+cfxGlPipelineSettingDepthFunc::cfxGlPipelineSettingDepthFunc(cfxPass* _pass, int _value)
+ : cfxGlPipelineSetting(_pass, "DepthFunc"),
+ value(_value)
+{
+}
+
+cfxBool cfxGlPipelineSettingDepthFunc::apply()
+{
+ cgSetIntStateAssignment(assignment, value);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingDepthFunc::getType() const
+{
+ return cfxGlPipelineSetting::DEPTH_FUNC;
+}
+
+int cfxGlPipelineSettingDepthFunc::getValue() const
+{
+ return value;
+}
+
+// cfxGlPipelineSettingDepthMask
+cfxGlPipelineSettingDepthMask::cfxGlPipelineSettingDepthMask(cfxPass* _pass, cfxBool _value)
+ : cfxGlPipelineSetting(_pass, "DepthMask"),
+ value(_value)
+{
+}
+
+cfxBool cfxGlPipelineSettingDepthMask::apply()
+{
+ cgSetBoolStateAssignment(assignment, value);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingDepthMask::getType() const
+{
+ return cfxGlPipelineSetting::DEPTH_MASK;
+}
+
+cfxBool cfxGlPipelineSettingDepthMask::getValue() const
+{
+ return value;
+}
+
+
+// cfxGlPipelineSettingDepthRange
+cfxGlPipelineSettingDepthRange::cfxGlPipelineSettingDepthRange(cfxPass* _pass, cfxFloat2& _value)
+ : cfxGlPipelineSetting(_pass, "DepthRange"),
+ value(_value)
+{
+}
+
+cfxBool cfxGlPipelineSettingDepthRange::apply()
+{
+ cgSetFloatArrayStateAssignment(assignment, &value.f0);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingDepthRange::getType() const
+{
+ return cfxGlPipelineSetting::DEPTH_RANGE;
+}
+
+cfxFloat2 cfxGlPipelineSettingDepthRange::getValue() const
+{
+ return value;
+}
+
+
+// cfxGlPipelineSettingFogMode
+cfxGlPipelineSettingFogMode::cfxGlPipelineSettingFogMode(cfxPass* _pass, int _value)
+ : cfxGlPipelineSetting(_pass, "FogMode"),
+ value(_value)
+{
+}
+
+cfxBool cfxGlPipelineSettingFogMode::apply()
+{
+ cgSetIntStateAssignment(assignment, value);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingFogMode::getType() const
+{
+ return cfxGlPipelineSetting::FOG_MODE;
+}
+
+int cfxGlPipelineSettingFogMode::getValue() const
+{
+ return value;
+}
+
+// cfxGlPipelineSettingFogDensity
+cfxGlPipelineSettingFogDensity::cfxGlPipelineSettingFogDensity(cfxPass* _pass, float _value)
+ : cfxGlPipelineSetting(_pass, "FogDensity"),
+ value(_value)
+{
+}
+
+cfxBool cfxGlPipelineSettingFogDensity::apply()
+{
+ cgSetFloatStateAssignment(assignment, value);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingFogDensity::getType() const
+{
+ return cfxGlPipelineSetting::FOG_DENSITY;
+}
+
+float cfxGlPipelineSettingFogDensity::getValue() const
+{
+ return value;
+}
+
+// cfxGlPipelineSettingFogStart
+cfxGlPipelineSettingFogStart::cfxGlPipelineSettingFogStart(cfxPass* _pass, float _value)
+ : cfxGlPipelineSetting(_pass, "FogStart"),
+ value(_value)
+{
+}
+
+cfxBool cfxGlPipelineSettingFogStart::apply()
+{
+ cgSetFloatStateAssignment(assignment, value);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingFogStart::getType() const
+{
+ return cfxGlPipelineSetting::FOG_START;
+}
+
+float cfxGlPipelineSettingFogStart::getValue() const
+{
+ return value;
+}
+
+// cfxGlPipelineSettingFogEnd
+cfxGlPipelineSettingFogEnd::cfxGlPipelineSettingFogEnd(cfxPass* _pass, float _value)
+ : cfxGlPipelineSetting(_pass, "FogEnd"),
+ value(_value)
+{
+}
+
+cfxBool cfxGlPipelineSettingFogEnd::apply()
+{
+ cgSetFloatStateAssignment(assignment, value);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingFogEnd::getType() const
+{
+ return cfxGlPipelineSetting::FOG_END;
+}
+
+float cfxGlPipelineSettingFogEnd::getValue() const
+{
+ return value;
+}
+
+// cfxGlPipelineSettingFogColor
+cfxGlPipelineSettingFogColor::cfxGlPipelineSettingFogColor(cfxPass* _pass, cfxFloat4& _value)
+ : cfxGlPipelineSetting(_pass, "FogColor"),
+ value(_value)
+{
+}
+
+cfxBool cfxGlPipelineSettingFogColor::apply()
+{
+ cgSetFloatArrayStateAssignment(assignment, &value.f0);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingFogColor::getType() const
+{
+ return cfxGlPipelineSetting::FOG_COLOR;
+}
+
+cfxFloat4 cfxGlPipelineSettingFogColor::getValue() const
+{
+ return value;
+}
+
+// cfxGlPipelineSettingFrontFace
+cfxGlPipelineSettingFrontFace::cfxGlPipelineSettingFrontFace(cfxPass* _pass, int _value)
+ : cfxGlPipelineSetting(_pass, "FrontFace"),
+ value(_value)
+{
+}
+
+cfxBool cfxGlPipelineSettingFrontFace::apply()
+{
+ cgSetIntStateAssignment(assignment, value);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingFrontFace::getType() const
+{
+ return cfxGlPipelineSetting::FRONT_FACE;
+}
+
+int cfxGlPipelineSettingFrontFace::getValue() const
+{
+ return value;
+}
+
+// cfxGlPipelineSettingLightModelAmbient
+cfxGlPipelineSettingLightModelAmbient::cfxGlPipelineSettingLightModelAmbient(cfxPass* _pass, cfxFloat4& _value)
+ : cfxGlPipelineSetting(_pass, "LightModelAmbient"),
+ value(_value)
+{
+}
+
+cfxBool cfxGlPipelineSettingLightModelAmbient::apply()
+{
+ cgSetFloatArrayStateAssignment(assignment, &value.f0);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingLightModelAmbient::getType() const
+{
+ return cfxGlPipelineSetting::LIGHT_MODEL_AMBEINT;
+}
+
+cfxFloat4 cfxGlPipelineSettingLightModelAmbient::getValue() const
+{
+ return value;
+}
+
+// cfxGlPipelineSettingLightAmbient
+cfxGlPipelineSettingLightAmbient::cfxGlPipelineSettingLightAmbient(cfxPass* _pass, int _index, cfxFloat4& _value)
+ : cfxGlPipelineSetting(_pass, "LightAmbient", _index),
+ index(_index),
+ value(_value)
+{
+}
+
+cfxBool cfxGlPipelineSettingLightAmbient::apply()
+{
+ cgSetFloatArrayStateAssignment(assignment, &value.f0);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingLightAmbient::getType() const
+{
+ return cfxGlPipelineSetting::LIGHT_AMBIENT;
+}
+
+int cfxGlPipelineSettingLightAmbient::getIndex() const
+{
+ return index;
+}
+
+cfxFloat4 cfxGlPipelineSettingLightAmbient::getValue() const
+{
+ return value;
+}
+
+
+// cfxGlPipelineSettingLightConstantAttenuation
+cfxGlPipelineSettingLightConstantAttenuation::cfxGlPipelineSettingLightConstantAttenuation(cfxPass* _pass, int _index, float _value)
+ : cfxGlPipelineSetting(_pass, "LightConstantAttenuation", _index),
+ index(_index),
+ value(_value)
+
+{
+}
+
+cfxBool cfxGlPipelineSettingLightConstantAttenuation::apply()
+{
+ cgSetFloatStateAssignment(assignment, value);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingLightConstantAttenuation::getType() const
+{
+ return cfxGlPipelineSetting::LIGHT_CONSTANT_ATTENUATION;
+}
+
+int cfxGlPipelineSettingLightConstantAttenuation::getIndex() const
+{
+ return index;
+}
+
+float cfxGlPipelineSettingLightConstantAttenuation::getValue() const
+{
+ return value;
+}
+
+
+// cfxGlPipelineSettingLightDiffuse
+cfxGlPipelineSettingLightDiffuse::cfxGlPipelineSettingLightDiffuse(cfxPass* _pass, int _index, cfxFloat4& _value)
+ : cfxGlPipelineSetting(_pass, "LightDiffuse", _index),
+ index(_index),
+ value(_value)
+
+{
+}
+
+cfxBool cfxGlPipelineSettingLightDiffuse::apply()
+{
+ cgSetFloatArrayStateAssignment(assignment, &value.f0);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingLightDiffuse::getType() const
+{
+ return cfxGlPipelineSetting::LIGHT_DIFFUSE;
+}
+
+int cfxGlPipelineSettingLightDiffuse::getIndex() const
+{
+ return index;
+}
+
+cfxFloat4 cfxGlPipelineSettingLightDiffuse::getValue() const
+{
+ return value;
+}
+
+// cfxGlPipelineSettingLightLinearAttenuation
+cfxGlPipelineSettingLightLinearAttenuation::cfxGlPipelineSettingLightLinearAttenuation(cfxPass* _pass, int _index, float _value)
+ : cfxGlPipelineSetting(_pass, "LightLinearAttenuation", _index),
+ index(_index),
+ value(_value)
+
+{
+}
+
+cfxBool cfxGlPipelineSettingLightLinearAttenuation::apply()
+{
+ cgSetFloatStateAssignment(assignment, value);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingLightLinearAttenuation::getType() const
+{
+ return cfxGlPipelineSetting::LIGHT_LINEAR_ATTENUATION;
+}
+
+int cfxGlPipelineSettingLightLinearAttenuation::getIndex() const
+{
+ return index;
+}
+
+float cfxGlPipelineSettingLightLinearAttenuation::getValue() const
+{
+ return value;
+}
+
+// cfxGlPipelineSettingLightPosition
+cfxGlPipelineSettingLightPosition::cfxGlPipelineSettingLightPosition(cfxPass* _pass, int _index, cfxFloat4& _value)
+ : cfxGlPipelineSetting(_pass, "LightPosition", _index),
+ index(_index),
+ value(_value)
+
+{
+}
+
+cfxBool cfxGlPipelineSettingLightPosition::apply()
+{
+ cgSetFloatArrayStateAssignment(assignment, &value.f0);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingLightPosition::getType() const
+{
+ return cfxGlPipelineSetting::LIGHT_POSITION;
+}
+
+int cfxGlPipelineSettingLightPosition::getIndex() const
+{
+ return index;
+}
+
+cfxFloat4 cfxGlPipelineSettingLightPosition::getValue() const
+{
+ return value;
+}
+
+// cfxGlPipelineSettingLightQuadraticAttenuation
+cfxGlPipelineSettingLightQuadraticAttenuation::cfxGlPipelineSettingLightQuadraticAttenuation(cfxPass* _pass, int _index, float _value)
+ : cfxGlPipelineSetting(_pass, "LightQuadraticAttenuation", _index),
+ index(_index),
+ value(_value)
+
+{
+}
+
+cfxBool cfxGlPipelineSettingLightQuadraticAttenuation::apply()
+{
+ cgSetFloatStateAssignment(assignment, value);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingLightQuadraticAttenuation::getType() const
+{
+ return cfxGlPipelineSetting::LIGHT_QUADRATIC_ATTENUATION;
+}
+
+int cfxGlPipelineSettingLightQuadraticAttenuation::getIndex() const
+{
+ return index;
+}
+
+float cfxGlPipelineSettingLightQuadraticAttenuation::getValue() const
+{
+ return value;
+}
+
+// cfxGlPipelineSettingLightSpecular
+cfxGlPipelineSettingLightSpecular::cfxGlPipelineSettingLightSpecular(cfxPass* _pass, int _index, cfxFloat4& _value)
+ : cfxGlPipelineSetting(_pass, "LightSpecular", _index),
+ index(_index),
+ value(_value)
+
+{
+}
+
+cfxBool cfxGlPipelineSettingLightSpecular::apply()
+{
+ cgSetFloatArrayStateAssignment(assignment, &value.f0);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingLightSpecular::getType() const
+{
+ return cfxGlPipelineSetting::LIGHT_SPECULAR;
+}
+
+int cfxGlPipelineSettingLightSpecular::getIndex() const
+{
+ return index;
+}
+
+cfxFloat4 cfxGlPipelineSettingLightSpecular::getValue() const
+{
+ return value;
+}
+
+// cfxGlPipelineSettingLightSpotCutoff
+cfxGlPipelineSettingLightSpotCutoff::cfxGlPipelineSettingLightSpotCutoff(cfxPass* _pass, int _index, float _value)
+ : cfxGlPipelineSetting(_pass, "LightSpotCutoff", _index),
+ index(_index),
+ value(_value)
+
+{
+}
+
+cfxBool cfxGlPipelineSettingLightSpotCutoff::apply()
+{
+ cgSetFloatStateAssignment(assignment, value);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingLightSpotCutoff::getType() const
+{
+ return cfxGlPipelineSetting::LIGHT_SPOT_CUTOFF;
+}
+
+int cfxGlPipelineSettingLightSpotCutoff::getIndex() const
+{
+ return index;
+}
+
+float cfxGlPipelineSettingLightSpotCutoff::getValue() const
+{
+ return value;
+}
+
+// cfxGlPipelineSettingLightSpotDirection
+cfxGlPipelineSettingLightSpotDirection::cfxGlPipelineSettingLightSpotDirection(cfxPass* _pass, int _index, cfxFloat3& _value)
+ : cfxGlPipelineSetting(_pass, "LightSpotDirection", _index),
+ index(_index),
+ value(_value)
+
+{
+}
+
+cfxBool cfxGlPipelineSettingLightSpotDirection::apply()
+{
+ cgSetFloatArrayStateAssignment(assignment, &value.f0);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingLightSpotDirection::getType() const
+{
+ return cfxGlPipelineSetting::LIGHT_SPOT_DIRECTION;
+}
+
+int cfxGlPipelineSettingLightSpotDirection::getIndex() const
+{
+ return index;
+}
+
+cfxFloat3 cfxGlPipelineSettingLightSpotDirection::getValue() const
+{
+ return value;
+}
+
+// cfxGlPipelineSettingLightSpotExponent
+cfxGlPipelineSettingLightSpotExponent::cfxGlPipelineSettingLightSpotExponent(cfxPass* _pass, int _index, float _value)
+ : cfxGlPipelineSetting(_pass, "LightSpotExponent", _index),
+ index(_index),
+ value(_value)
+
+{
+}
+
+cfxBool cfxGlPipelineSettingLightSpotExponent::apply()
+{
+ cgSetFloatStateAssignment(assignment, value);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingLightSpotExponent::getType() const
+{
+ return cfxGlPipelineSetting::LIGHT_SPOT_EXPONENT;
+}
+
+int cfxGlPipelineSettingLightSpotExponent::getIndex() const
+{
+ return index;
+}
+
+float cfxGlPipelineSettingLightSpotExponent::getValue() const
+{
+ return value;
+}
+
+// cfxGlPipelineSettingLineWidth
+cfxGlPipelineSettingLineWidth::cfxGlPipelineSettingLineWidth(cfxPass* _pass, float _value)
+ : cfxGlPipelineSetting(_pass, "LineWidth"),
+ value(_value)
+
+{
+}
+
+cfxBool cfxGlPipelineSettingLineWidth::apply()
+{
+ cgSetFloatStateAssignment(assignment, value);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingLineWidth::getType() const
+{
+ return cfxGlPipelineSetting::LINE_WIDTH;
+}
+
+float cfxGlPipelineSettingLineWidth::getValue() const
+{
+ return value;
+}
+
+// cfxGlPipelineSettingLogicOp
+cfxGlPipelineSettingLogicOp::cfxGlPipelineSettingLogicOp(cfxPass* _pass, int _value)
+ : cfxGlPipelineSetting(_pass, "LogicOp"),
+ value(_value)
+{
+}
+
+cfxBool cfxGlPipelineSettingLogicOp::apply()
+{
+ cgSetIntStateAssignment(assignment, value);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingLogicOp::getType() const
+{
+ return cfxGlPipelineSetting::LOGIC_OP;
+}
+
+int cfxGlPipelineSettingLogicOp::getValue() const
+{
+ return value;
+}
+
+// cfxGlPipelineSettingMaterialAmbient
+cfxGlPipelineSettingMaterialAmbient::cfxGlPipelineSettingMaterialAmbient(cfxPass* _pass, cfxFloat4& _value)
+ : cfxGlPipelineSetting(_pass, "MaterialAmbient"),
+ value(_value)
+{
+}
+
+cfxBool cfxGlPipelineSettingMaterialAmbient::apply()
+{
+ cgSetFloatArrayStateAssignment(assignment, &value.f0);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingMaterialAmbient::getType() const
+{
+ return cfxGlPipelineSetting::MATERIAL_AMBIENT;
+}
+
+cfxFloat4 cfxGlPipelineSettingMaterialAmbient::getValue() const
+{
+ return value;
+}
+
+// cfxGlPipelineSettingMaterialDiffuse
+cfxGlPipelineSettingMaterialDiffuse::cfxGlPipelineSettingMaterialDiffuse(cfxPass* _pass, cfxFloat4& _value)
+ : cfxGlPipelineSetting(_pass, "MaterialDiffuse"),
+ value(_value)
+{
+}
+
+cfxBool cfxGlPipelineSettingMaterialDiffuse::apply()
+{
+ cgSetFloatArrayStateAssignment(assignment, &value.f0);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingMaterialDiffuse::getType() const
+{
+ return cfxGlPipelineSetting::MATERIAL_DIFFUSE;
+}
+
+cfxFloat4 cfxGlPipelineSettingMaterialDiffuse::getValue() const
+{
+ return value;
+}
+
+// cfxGlPipelineSettingMaterialEmission
+cfxGlPipelineSettingMaterialEmission::cfxGlPipelineSettingMaterialEmission(cfxPass* _pass, cfxFloat4& _value)
+ : cfxGlPipelineSetting(_pass, "MaterialEmission"),
+ value(_value)
+{
+}
+
+cfxBool cfxGlPipelineSettingMaterialEmission::apply()
+{
+ cgSetFloatArrayStateAssignment(assignment, &value.f0);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingMaterialEmission::getType() const
+{
+ return cfxGlPipelineSetting::MATERIAL_EMISSION;
+}
+
+cfxFloat4 cfxGlPipelineSettingMaterialEmission::getValue() const
+{
+ return value;
+}
+
+// cfxGlPipelineSettingMaterialShininess
+cfxGlPipelineSettingMaterialShininess::cfxGlPipelineSettingMaterialShininess(cfxPass* _pass, float _value)
+ : cfxGlPipelineSetting(_pass, "MaterialShininess"),
+ value(_value)
+{
+}
+
+cfxBool cfxGlPipelineSettingMaterialShininess::apply()
+{
+ cgSetFloatStateAssignment(assignment, value);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingMaterialShininess::getType() const
+{
+ return cfxGlPipelineSetting::MATERIAL_SHININESS;
+}
+
+float cfxGlPipelineSettingMaterialShininess::getValue() const
+{
+ return value;
+}
+
+// cfxGlPipelineSettingMaterialSpecular
+cfxGlPipelineSettingMaterialSpecular::cfxGlPipelineSettingMaterialSpecular(cfxPass* _pass, cfxFloat4& _value)
+ : cfxGlPipelineSetting(_pass, "MaterialSpecular"),
+ value(_value)
+{
+}
+
+cfxBool cfxGlPipelineSettingMaterialSpecular::apply()
+{
+ cgSetFloatArrayStateAssignment(assignment, &value.f0);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingMaterialSpecular::getType() const
+{
+ return cfxGlPipelineSetting::MATERIAL_SPECULAR;
+}
+
+cfxFloat4 cfxGlPipelineSettingMaterialSpecular::getValue() const
+{
+ return value;
+}
+
+// cfxGlPipelineSettingModelViewMatrix
+cfxGlPipelineSettingModelViewMatrix::cfxGlPipelineSettingModelViewMatrix(cfxPass* _pass, cfxFloat4x4& _value)
+ : cfxGlPipelineSetting(_pass, "ModelViewMatrix"),
+ value(_value)
+{
+}
+
+cfxBool cfxGlPipelineSettingModelViewMatrix::apply()
+{
+ cgSetFloatArrayStateAssignment(assignment, &value.f00);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingModelViewMatrix::getType() const
+{
+ return cfxGlPipelineSetting::MODEL_VIEW_MATRIX;
+}
+
+cfxFloat4x4 cfxGlPipelineSettingModelViewMatrix::getValue() const
+{
+ return value;
+}
+
+// cfxGlPipelineSettingPointSize
+cfxGlPipelineSettingPointSize::cfxGlPipelineSettingPointSize(cfxPass* _pass, float _value)
+ : cfxGlPipelineSetting(_pass, "PointSize"),
+ value(_value)
+{
+}
+
+cfxBool cfxGlPipelineSettingPointSize::apply()
+{
+ cgSetFloatStateAssignment(assignment, value);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingPointSize::getType() const
+{
+ return cfxGlPipelineSetting::POINT_SIZE;
+}
+
+float cfxGlPipelineSettingPointSize::getValue() const
+{
+ return value;
+}
+
+
+// cfxGlPipelineSettingPointSpriteCoordReplace
+cfxGlPipelineSettingPointSpriteCoordReplace::cfxGlPipelineSettingPointSpriteCoordReplace(cfxPass* _pass)
+ : cfxGlPipelineSetting(_pass, "PointSpriteCoordReplace")
+{
+}
+
+cfxBool cfxGlPipelineSettingPointSpriteCoordReplace::apply()
+{
+ printf("ERROR: Sprite pipeline settings unimplemented.\n");
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingPointSpriteCoordReplace::getType() const
+{
+ return cfxGlPipelineSetting::POINT_SPRITE_COORD_REPLACE;
+}
+
+
+// cfxGlPipelineSettingPointSpriteRMode
+cfxGlPipelineSettingPointSpriteRMode::cfxGlPipelineSettingPointSpriteRMode(cfxPass* _pass)
+ : cfxGlPipelineSetting(_pass, "PointSpriteRMode")
+{
+}
+
+cfxBool cfxGlPipelineSettingPointSpriteRMode::apply()
+{
+ printf("ERROR: Sprite pipeline settings unimplemented.\n");
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingPointSpriteRMode::getType() const
+{
+ return cfxGlPipelineSetting::POINT_SPRITE_R_MODE;
+}
+
+
+// cfxGlPipelineSettingPolygonMode
+cfxGlPipelineSettingPolygonMode::cfxGlPipelineSettingPolygonMode(cfxPass* _pass, int _face, int _mode)
+ : cfxGlPipelineSetting(_pass, "PolygonMode"),
+ face(_face),
+ mode(_mode)
+{
+}
+
+cfxBool cfxGlPipelineSettingPolygonMode::apply()
+{
+ int values[2];
+ values[0] = face;
+ values[1] = mode;
+ cgSetIntArrayStateAssignment(assignment, values);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingPolygonMode::getType() const
+{
+ return cfxGlPipelineSetting::POLYGON_MODE;
+}
+
+int cfxGlPipelineSettingPolygonMode::getFace() const
+{
+ return face;
+}
+
+int cfxGlPipelineSettingPolygonMode::getMode() const
+{
+ return mode;
+}
+
+
+// cfxGlPipelineSettingPolygonOffset
+cfxGlPipelineSettingPolygonOffset::cfxGlPipelineSettingPolygonOffset(cfxPass* _pass, cfxFloat2& _value)
+ : cfxGlPipelineSetting(_pass, "PolygonOffset"),
+ value(_value)
+{
+}
+
+cfxBool cfxGlPipelineSettingPolygonOffset::apply()
+{
+ cgSetFloatArrayStateAssignment(assignment, &value.f0);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingPolygonOffset::getType() const
+{
+ return cfxGlPipelineSetting::POLYGON_OFFSET;
+}
+
+cfxFloat2 cfxGlPipelineSettingPolygonOffset::getValue() const
+{
+ return value;
+}
+
+
+// cfxGlPipelineSettingProjectionMatrix
+cfxGlPipelineSettingProjectionMatrix::cfxGlPipelineSettingProjectionMatrix(cfxPass* _pass, cfxFloat4x4& _value)
+ : cfxGlPipelineSetting(_pass, "ProjectionMatrix"),
+ value(_value)
+{
+}
+
+cfxBool cfxGlPipelineSettingProjectionMatrix::apply()
+{
+ cgSetFloatArrayStateAssignment(assignment, &value.f00);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingProjectionMatrix::getType() const
+{
+ return cfxGlPipelineSetting::PROJECTION_MATRIX;
+}
+
+cfxFloat4x4 cfxGlPipelineSettingProjectionMatrix::getValue() const
+{
+ return value;
+}
+
+
+// cfxGlPipelineSettingScissor
+cfxGlPipelineSettingScissor::cfxGlPipelineSettingScissor(cfxPass* _pass, cfxInt4& _value)
+ : cfxGlPipelineSetting(_pass, "Scissor"),
+ value(_value)
+{
+}
+
+cfxBool cfxGlPipelineSettingScissor::apply()
+{
+ cgSetIntArrayStateAssignment(assignment, &value.i0);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingScissor::getType() const
+{
+ return cfxGlPipelineSetting::SCISSOR;
+}
+
+cfxInt4 cfxGlPipelineSettingScissor::getValue() const
+{
+ return value;
+}
+
+
+// cfxGlPipelineSettingShadeModel
+cfxGlPipelineSettingShadeModel::cfxGlPipelineSettingShadeModel(cfxPass* _pass, int _value)
+ : cfxGlPipelineSetting(_pass, "ShadeModel"),
+ value(_value)
+{
+}
+
+cfxBool cfxGlPipelineSettingShadeModel::apply()
+{
+ cgSetIntStateAssignment(assignment, value);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingShadeModel::getType() const
+{
+ return cfxGlPipelineSetting::SHADE_MODEL;
+}
+
+int cfxGlPipelineSettingShadeModel::getValue() const
+{
+ return value;
+}
+
+// cfxGlPipelineSettingStencilFunc
+cfxGlPipelineSettingStencilFunc::cfxGlPipelineSettingStencilFunc(cfxPass* _pass, int _func, int _ref, int _mask)
+ : cfxGlPipelineSetting(_pass, "StencilFunc"),
+ func(_func),
+ ref(_ref),
+ mask(_mask)
+{
+}
+
+cfxBool cfxGlPipelineSettingStencilFunc::apply()
+{
+ int values[3];
+ values[0] = func;
+ values[1] = ref;
+ values[2] = mask;
+ cgSetIntArrayStateAssignment(assignment, values);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingStencilFunc::getType() const
+{
+ return cfxGlPipelineSetting::STENCIL_FUNC;
+}
+
+int cfxGlPipelineSettingStencilFunc::getFunc() const
+{
+ return func;
+}
+
+int cfxGlPipelineSettingStencilFunc::getRef() const
+{
+ return ref;
+}
+
+int cfxGlPipelineSettingStencilFunc::getMask() const
+{
+ return mask;
+}
+
+// cfxGlPipelineSettingStencilMask
+cfxGlPipelineSettingStencilMask::cfxGlPipelineSettingStencilMask(cfxPass* _pass, int _value)
+ : cfxGlPipelineSetting(_pass, "StencilMask"),
+ value(_value)
+{
+}
+
+cfxBool cfxGlPipelineSettingStencilMask::apply()
+{
+ cgSetIntStateAssignment(assignment, value);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingStencilMask::getType() const
+{
+ return cfxGlPipelineSetting::STENCIL_MASK;
+}
+
+int cfxGlPipelineSettingStencilMask::getValue() const
+{
+ return value;
+}
+
+// cfxGlPipelineSettingStencilOp
+cfxGlPipelineSettingStencilOp::cfxGlPipelineSettingStencilOp(cfxPass* _pass, int _fail, int _zFail, int _zPass)
+ : cfxGlPipelineSetting(_pass, "StencilOp"),
+ fail(_fail),
+ zFail(_zFail),
+ zPass(_zPass)
+{
+}
+
+cfxBool cfxGlPipelineSettingStencilOp::apply()
+{
+ int values[3];
+ values[0] = fail;
+ values[1] = zFail;
+ values[2] = zPass;
+ cgSetIntArrayStateAssignment(assignment, values);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingStencilOp::getType() const
+{
+ return cfxGlPipelineSetting::STENCIL_OP;
+}
+
+int cfxGlPipelineSettingStencilOp::getFail() const
+{
+ return fail;
+}
+
+int cfxGlPipelineSettingStencilOp::getZFail() const
+{
+ return zFail;
+}
+
+int cfxGlPipelineSettingStencilOp::getZPass() const
+{
+ return zPass;
+}
+
+// cfxGlPipelineSettingStencilFuncSeparate
+cfxGlPipelineSettingStencilFuncSeparate::cfxGlPipelineSettingStencilFuncSeparate(cfxPass* _pass, int _front, int _back, int _ref, int _mask)
+ : cfxGlPipelineSetting(_pass, "StencilFuncSeparate"),
+ front(_front),
+ back(_back),
+ ref(_ref),
+ mask(_mask)
+{
+}
+
+cfxBool cfxGlPipelineSettingStencilFuncSeparate::apply()
+{
+ int values[4];
+ values[0] = front;
+ values[1] = back;
+ values[2] = ref;
+ values[3] = mask;
+ cgSetIntArrayStateAssignment(assignment, values);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingStencilFuncSeparate::getType() const
+{
+ return cfxGlPipelineSetting::STENCIL_FUNC_SEPARATE;
+}
+
+int cfxGlPipelineSettingStencilFuncSeparate::getFront() const
+{
+ return front;
+}
+
+int cfxGlPipelineSettingStencilFuncSeparate::getBack() const
+{
+ return back;
+}
+
+int cfxGlPipelineSettingStencilFuncSeparate::getRef() const
+{
+ return ref;
+}
+
+int cfxGlPipelineSettingStencilFuncSeparate::getMask() const
+{
+ return mask;
+}
+
+// cfxGlPipelineSettingStencilMaskSeparate
+cfxGlPipelineSettingStencilMaskSeparate::cfxGlPipelineSettingStencilMaskSeparate(cfxPass* _pass, int _face, int _mask)
+ : cfxGlPipelineSetting(_pass, "StencilMaskSeparate"),
+ face(_face),
+ mask(_mask)
+{
+}
+
+cfxBool cfxGlPipelineSettingStencilMaskSeparate::apply()
+{
+ int values[2];
+ values[0] = face;
+ values[1] = mask;
+ cgSetIntArrayStateAssignment(assignment, values);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingStencilMaskSeparate::getType() const
+{
+ return cfxGlPipelineSetting::STENCIL_MASK_SEPARATE;
+}
+
+int cfxGlPipelineSettingStencilMaskSeparate::getFace() const
+{
+ return face;
+}
+
+int cfxGlPipelineSettingStencilMaskSeparate::getMask() const
+{
+ return mask;
+}
+
+
+// cfxGlPipelineSettingStencilOpSeparate
+cfxGlPipelineSettingStencilOpSeparate::cfxGlPipelineSettingStencilOpSeparate(cfxPass* _pass, int _face, int _fail, int _zFail, int _zPass)
+ : cfxGlPipelineSetting(_pass, "StencilOpSeparate"),
+ face(_face),
+ fail(_fail),
+ zFail(_zFail),
+ zPass(_zPass)
+{
+}
+
+cfxBool cfxGlPipelineSettingStencilOpSeparate::apply()
+{
+ int values[4];
+ values[0] = face;
+ values[1] = fail;
+ values[2] = zFail;
+ values[3] = zPass;
+ cgSetIntArrayStateAssignment(assignment, values);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingStencilOpSeparate::getType() const
+{
+ return cfxGlPipelineSetting::STENCIL_OP_SEPAREATE;
+}
+
+int cfxGlPipelineSettingStencilOpSeparate::getFace() const
+{
+ return face;
+}
+
+int cfxGlPipelineSettingStencilOpSeparate::getFail() const
+{
+ return fail;
+}
+
+int cfxGlPipelineSettingStencilOpSeparate::getZFail() const
+{
+ return zFail;
+}
+
+int cfxGlPipelineSettingStencilOpSeparate::getZPass() const
+{
+ return zPass;
+}
+
+// cfxGlPipelineSettingTexGenSMode
+cfxGlPipelineSettingTexGenSMode::cfxGlPipelineSettingTexGenSMode(cfxPass* _pass)
+ : cfxGlPipelineSetting(_pass, "TexGenSMode")
+{
+}
+
+cfxBool cfxGlPipelineSettingTexGenSMode::apply()
+{
+ printf("ERROR: TexGen state Assignments not implemented.\n");
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingTexGenSMode::getType() const
+{
+ return cfxGlPipelineSetting::TEX_GEN_S_MODE;
+}
+
+
+// cfxGlPipelineSettingTexGenTMode
+cfxGlPipelineSettingTexGenTMode::cfxGlPipelineSettingTexGenTMode(cfxPass* _pass)
+ : cfxGlPipelineSetting(_pass, "TexGenTMode")
+{
+}
+
+cfxBool cfxGlPipelineSettingTexGenTMode::apply()
+{
+ printf("ERROR: TexGen state Assignments not implemented.\n");
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingTexGenTMode::getType() const
+{
+ return cfxGlPipelineSetting::TEX_GEN_T_MODE;
+}
+
+
+// cfxGlPipelineSettingTexGenRMode
+cfxGlPipelineSettingTexGenRMode::cfxGlPipelineSettingTexGenRMode(cfxPass* _pass)
+ : cfxGlPipelineSetting(_pass, "TexGenRMode")
+{
+}
+
+cfxBool cfxGlPipelineSettingTexGenRMode::apply()
+{
+ printf("ERROR: TexGen state Assignments not implemented.\n");
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingTexGenRMode::getType() const
+{
+ return cfxGlPipelineSetting::TEX_GEN_R_MODE;
+}
+
+
+// cfxGlPipelineSettingTexGenQMode
+cfxGlPipelineSettingTexGenQMode::cfxGlPipelineSettingTexGenQMode(cfxPass* _pass)
+ : cfxGlPipelineSetting(_pass, "TexGenQMode")
+{
+}
+
+cfxBool cfxGlPipelineSettingTexGenQMode::apply()
+{
+ printf("ERROR: TexGen state Assignments not implemented.\n");
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingTexGenQMode::getType() const
+{
+ return cfxGlPipelineSetting::TEX_GEN_Q_MODE;
+}
+
+
+// cfxGlPipelineSettingTexGenSEyePlane
+cfxGlPipelineSettingTexGenSEyePlane::cfxGlPipelineSettingTexGenSEyePlane(cfxPass* _pass)
+ : cfxGlPipelineSetting(_pass, "TexGenSEyePlane")
+{
+}
+
+cfxBool cfxGlPipelineSettingTexGenSEyePlane::apply()
+{
+ printf("ERROR: TexGen state Assignments not implemented.\n");
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingTexGenSEyePlane::getType() const
+{
+ return cfxGlPipelineSetting::TEX_GEN_S_EYE_PLANE;
+}
+
+
+// cfxGlPipelineSettingTexGenTEyePlane
+cfxGlPipelineSettingTexGenTEyePlane::cfxGlPipelineSettingTexGenTEyePlane(cfxPass* _pass)
+ : cfxGlPipelineSetting(_pass, "TexGenTEyePlane")
+{
+}
+
+cfxBool cfxGlPipelineSettingTexGenTEyePlane::apply()
+{
+ printf("ERROR: TexGen state Assignments not implemented.\n");
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingTexGenTEyePlane::getType() const
+{
+ return cfxGlPipelineSetting::TEX_GEN_T_EYE_PLANE;
+}
+
+
+// cfxGlPipelineSettingTexGenREyePlane
+cfxGlPipelineSettingTexGenREyePlane::cfxGlPipelineSettingTexGenREyePlane(cfxPass* _pass)
+ : cfxGlPipelineSetting(_pass, "TexGenREyePlane")
+{
+}
+
+cfxBool cfxGlPipelineSettingTexGenREyePlane::apply()
+{
+ printf("ERROR: TexGen state Assignments not implemented.\n");
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingTexGenREyePlane::getType() const
+{
+ return cfxGlPipelineSetting::TEX_GEN_R_EYE_PLANE;
+}
+
+
+// cfxGlPipelineSettingTexGenQEyePlane
+cfxGlPipelineSettingTexGenQEyePlane::cfxGlPipelineSettingTexGenQEyePlane(cfxPass* _pass)
+ : cfxGlPipelineSetting(_pass, "TexGenQEyePlane")
+{
+}
+
+cfxBool cfxGlPipelineSettingTexGenQEyePlane::apply()
+{
+ printf("ERROR: TexGen state Assignments not implemented.\n");
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingTexGenQEyePlane::getType() const
+{
+ return cfxGlPipelineSetting::TEX_GEN_Q_EYE_PLANE;
+}
+
+
+// cfxGlPipelineSettingTexGenSObjectPlane
+cfxGlPipelineSettingTexGenSObjectPlane::cfxGlPipelineSettingTexGenSObjectPlane(cfxPass* _pass)
+ : cfxGlPipelineSetting(_pass, "TexGenSObjectPlane")
+{
+}
+
+cfxBool cfxGlPipelineSettingTexGenSObjectPlane::apply()
+{
+ printf("ERROR: TexGen state Assignments not implemented.\n");
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingTexGenSObjectPlane::getType() const
+{
+ return cfxGlPipelineSetting::TEX_GEN_S_OBJECT_PLANE;
+}
+
+
+// cfxGlPipelineSettingTexGenTObjectPlane
+cfxGlPipelineSettingTexGenTObjectPlane::cfxGlPipelineSettingTexGenTObjectPlane(cfxPass* _pass)
+ : cfxGlPipelineSetting(_pass, "TexGenTObjectPlane")
+{
+}
+
+cfxBool cfxGlPipelineSettingTexGenTObjectPlane::apply()
+{
+ printf("ERROR: TexGen state Assignments not implemented.\n");
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingTexGenTObjectPlane::getType() const
+{
+ return cfxGlPipelineSetting::TEX_GEN_T_OBJECT_PLANE;
+}
+
+
+// cfxGlPipelineSettingTexGenRObjectPlane
+cfxGlPipelineSettingTexGenRObjectPlane::cfxGlPipelineSettingTexGenRObjectPlane(cfxPass* _pass)
+ : cfxGlPipelineSetting(_pass, "TexGenRObjectPlane")
+{
+}
+
+cfxBool cfxGlPipelineSettingTexGenRObjectPlane::apply()
+{
+ printf("ERROR: TexGen state Assignments not implemented.\n");
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingTexGenRObjectPlane::getType() const
+{
+ return cfxGlPipelineSetting::TEX_GEN_R_OBJECT_PLANE;
+}
+
+
+// cfxGlPipelineSettingTexGenQObjectPlane
+cfxGlPipelineSettingTexGenQObjectPlane::cfxGlPipelineSettingTexGenQObjectPlane(cfxPass* _pass)
+ : cfxGlPipelineSetting(_pass, "TexGenQObjectPlane")
+{
+}
+
+cfxBool cfxGlPipelineSettingTexGenQObjectPlane::apply()
+{
+ printf("ERROR: TexGen state Assignments not implemented.\n");
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingTexGenQObjectPlane::getType() const
+{
+ return cfxGlPipelineSetting::TEX_GEN_Q_OBJECT_PLANE;
+}
+
+
+// cfxGlPipelineSettingTexture2D
+cfxGlPipelineSettingTexture2D::cfxGlPipelineSettingTexture2D(cfxPass* _pass, int _index, cfxSampler* _sampler)
+ : cfxGlPipelineSetting(_pass, "Texture2D", _index),
+ index(_index),
+ sampler(_sampler)
+{
+}
+
+cfxBool cfxGlPipelineSettingTexture2D::apply()
+{
+ printf("ERROR: Texture2D state Assignment not completely implemented.\n");
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingTexture2D::getType() const
+{
+ return cfxGlPipelineSetting::TEXTURE_2D;
+}
+
+int cfxGlPipelineSettingTexture2D::getIndex() const
+{
+ return index;
+}
+
+const cfxSampler *cfxGlPipelineSettingTexture2D::getSampler() const
+{
+ return sampler;
+}
+
+// cfxGlPipelineSettingTexture3D
+cfxGlPipelineSettingTexture3D::cfxGlPipelineSettingTexture3D(cfxPass* _pass, int _index, cfxSampler* _sampler)
+ : cfxGlPipelineSetting(_pass, "Texture3D", _index),
+ index(_index),
+ sampler(_sampler)
+{
+}
+
+cfxBool cfxGlPipelineSettingTexture3D::apply()
+{
+ printf("ERROR: Texture3D state Assignment not completely implemented.\n");
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingTexture3D::getType() const
+{
+ return cfxGlPipelineSetting::TEXTURE_3D;
+}
+
+int cfxGlPipelineSettingTexture3D::getIndex() const
+{
+ return index;
+}
+
+const cfxSampler *cfxGlPipelineSettingTexture3D::getSampler() const
+{
+ return sampler;
+}
+
+// cfxGlPipelineSettingTextureCubeMap
+cfxGlPipelineSettingTextureCubeMap::cfxGlPipelineSettingTextureCubeMap(cfxPass* _pass, int _index, cfxSampler* _sampler)
+ : cfxGlPipelineSetting(_pass, "TextureCubeMap", _index),
+ index(_index),
+ sampler(_sampler)
+
+{
+}
+
+cfxBool cfxGlPipelineSettingTextureCubeMap::apply()
+{
+ printf("ERROR: TextureCubeMap state Assignment not completely implemented.\n");
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingTextureCubeMap::getType() const
+{
+ return cfxGlPipelineSetting::TEXTURE_CUBE_MAP;
+}
+
+int cfxGlPipelineSettingTextureCubeMap::getIndex() const
+{
+ return index;
+}
+
+const cfxSampler *cfxGlPipelineSettingTextureCubeMap::getSampler() const
+{
+ return sampler;
+}
+
+// cfxGlPipelineSettingTextureEnvColor
+cfxGlPipelineSettingTextureEnvColor::cfxGlPipelineSettingTextureEnvColor(cfxPass* _pass, int _index, cfxFloat4& _value)
+ : cfxGlPipelineSetting(_pass, "TextureEnvColor", _index),
+ index(_index),
+ value(_value)
+{
+}
+
+cfxBool cfxGlPipelineSettingTextureEnvColor::apply()
+{
+ cgSetFloatArrayStateAssignment(assignment, &value.f0);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingTextureEnvColor::getType() const
+{
+ return cfxGlPipelineSetting::TEXTURE_ENV_COLOR;
+}
+
+int cfxGlPipelineSettingTextureEnvColor::getIndex() const
+{
+ return index;
+}
+
+cfxFloat4 cfxGlPipelineSettingTextureEnvColor::getValue() const
+{
+ return value;
+}
+
+// cfxGlPipelineSettingTextureEnvMode
+cfxGlPipelineSettingTextureEnvMode::cfxGlPipelineSettingTextureEnvMode(cfxPass* _pass, int _index, int _value)
+ : cfxGlPipelineSetting(_pass, "TextureEnvMode", _index),
+ index(_index),
+ value(_value)
+{
+}
+
+cfxBool cfxGlPipelineSettingTextureEnvMode::apply()
+{
+ cgSetIntStateAssignment(assignment, value);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingTextureEnvMode::getType() const
+{
+ return cfxGlPipelineSetting::TEXTURE_ENV_MODE;
+}
+
+int cfxGlPipelineSettingTextureEnvMode::getIndex() const
+{
+ return index;
+}
+
+int cfxGlPipelineSettingTextureEnvMode::getValue() const
+{
+ return value;
+}
+
+// ENABLE / DISABLE settings
+
+
+// cfxGlPipelineSettingAlphaTestEnable
+cfxGlPipelineSettingAlphaTestEnable::cfxGlPipelineSettingAlphaTestEnable(cfxPass* _pass, cfxBool _value)
+ : cfxGlPipelineSetting(_pass, "AlphaTestEnable"),
+ value(_value)
+{
+}
+
+cfxBool cfxGlPipelineSettingAlphaTestEnable::apply()
+{
+ cgSetBoolStateAssignment(assignment, value);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingAlphaTestEnable::getType() const
+{
+ return cfxGlPipelineSetting::ALPHA_TEST_ENABLE;
+}
+
+cfxBool cfxGlPipelineSettingAlphaTestEnable::getValue() const
+{
+ return value;
+}
+
+// cfxGlPipelineSettingBlendEnable
+cfxGlPipelineSettingBlendEnable::cfxGlPipelineSettingBlendEnable(cfxPass* _pass, cfxBool _value)
+ : cfxGlPipelineSetting(_pass, "BlendEnable"),
+ value(_value)
+{
+}
+
+cfxBool cfxGlPipelineSettingBlendEnable::apply()
+{
+ cgSetBoolStateAssignment(assignment, value);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingBlendEnable::getType() const
+{
+ return cfxGlPipelineSetting::BLEND_ENABLE;
+}
+
+cfxBool cfxGlPipelineSettingBlendEnable::getValue() const
+{
+ return value;
+}
+
+// cfxGlPipelineSettingCullFaceEnable
+cfxGlPipelineSettingCullFaceEnable::cfxGlPipelineSettingCullFaceEnable(cfxPass* _pass, cfxBool _value)
+ : cfxGlPipelineSetting(_pass, "CullFaceEnable"),
+ value(_value)
+{
+}
+
+cfxBool cfxGlPipelineSettingCullFaceEnable::apply()
+{
+ cgSetBoolStateAssignment(assignment, value);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingCullFaceEnable::getType() const
+{
+ return cfxGlPipelineSetting::CULL_FACE_ENABLE;
+}
+
+cfxBool cfxGlPipelineSettingCullFaceEnable::getValue() const
+{
+ return value;
+}
+
+// cfxGlPipelineSettingDepthTestEnable
+cfxGlPipelineSettingDepthTestEnable::cfxGlPipelineSettingDepthTestEnable(cfxPass* _pass, cfxBool _value)
+ : cfxGlPipelineSetting(_pass, "DepthTestEnable"),
+ value(_value)
+{
+}
+
+cfxBool cfxGlPipelineSettingDepthTestEnable::apply()
+{
+ cgSetBoolStateAssignment(assignment, value);
+ return true;
+}
+
+cfxGlPipelineSetting::type_enum cfxGlPipelineSettingDepthTestEnable::getType() const
+{
+ return cfxGlPipelineSetting::DEPTH_TEST_ENABLE;
+}
+
+cfxBool cfxGlPipelineSettingDepthTestEnable::getValue() const
+{
+ return value;
+}
+
+#if 0 // template
+// cfxGlPipelineSetting
+cfxGlPipelineSetting::cfxGlPipelineSetting(cfxPass* _pass, cfxBool _value)
+ : cfxGlPipelineSetting(_pass, ""),
+ value(_value)
+{
+}
+
+cfxBool cfxGlPipelineSetting::apply()
+{
+ cgSetBoolStateAssignment(assignment, value);
+ return true;
+}
+
+#endif
+
diff --git a/1.4.0/fx/src/cfxGlPipelineSettingMaker.cpp b/1.4.0/fx/src/cfxGlPipelineSettingMaker.cpp
new file mode 100644
index 0000000..8868418
--- /dev/null
+++ b/1.4.0/fx/src/cfxGlPipelineSettingMaker.cpp
@@ -0,0 +1,1431 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+#include <cfxGlPipelineSettingMaker.h>
+#include <cfxGlPipelineSetting.h>
+
+#include <cfxGlEnumMaps.h>
+
+#include <dae/daeDomTypes.h>
+#include <dom/domConstants.h>
+#include <dom/domGl_pipeline_settings.h>
+
+//#ifndef _LIB
+#include <Cg/cg.h>
+//#else
+//#include <cfxNoCg.h>
+//#endif
+
+
+// cfxGlPipelineSettingMaker
+std::map<std::string, cfxGlPipelineSettingMaker*> cfxGlPipelineSettingMaker::mapTypeNameToSettingMaker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMaker::makeGlPipelineSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ std::map<std::string, cfxGlPipelineSettingMaker*>::iterator iter;
+ // here is the element which owns the actual data
+ // it is a choice in schema, so there will be only one element in _contents that exists as the "chosen" item,
+ // which will be one of the elements in this class
+ daeElement* dataElement = settingInitializer->getContents().get(0);
+ // get typename from contents, use this to lookup the factory for the data
+ daeString dataTypeName = dataElement->getTypeName();
+ iter = mapTypeNameToSettingMaker.find(dataTypeName);
+ if (iter == mapTypeNameToSettingMaker.end())
+ {
+ printf("ERROR: Setting maker not found for: %s\n", dataTypeName);
+ return NULL;
+ }
+ printf("Making setting for: %s\n", dataTypeName);
+ return iter->second->makeSetting(pass, settingInitializer);
+}
+
+
+// cfxGlPipelineSettingMakerAlphaFunc
+cfxGlPipelineSettingMakerAlphaFunc::cfxGlPipelineSettingMakerAlphaFunc()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_ALPHA_FUNC, this));
+}
+
+cfxGlPipelineSettingMakerAlphaFunc cfxGlPipelineSettingMakerAlphaFunc::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerAlphaFunc::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ int domFunc = settingInitializer->getAlpha_func()->getFunc()->getValue();
+ int func = cfxGlEnumMaps::getFuncTypeEnum(domFunc);
+
+ float value = settingInitializer->getAlpha_func()->getValue()->getValue();
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingAlphaFunc(pass, func, value);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerBlendFunc
+cfxGlPipelineSettingMakerBlendFunc::cfxGlPipelineSettingMakerBlendFunc()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_BLEND_FUNC, this));
+}
+
+cfxGlPipelineSettingMakerBlendFunc cfxGlPipelineSettingMakerBlendFunc::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerBlendFunc::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ int domSrc = settingInitializer->getBlend_func()->getSrc()->getValue();
+ int src = cfxGlEnumMaps::getBlendTypeEnum(domSrc);
+
+ int domDst = settingInitializer->getBlend_func()->getDest()->getValue();
+ int dst = cfxGlEnumMaps::getBlendTypeEnum(domDst);
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingBlendFunc(pass, src, dst);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerBlendFuncSeparate
+cfxGlPipelineSettingMakerBlendFuncSeparate::cfxGlPipelineSettingMakerBlendFuncSeparate()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_BLEND_FUNC_SEPARATE, this));
+}
+
+cfxGlPipelineSettingMakerBlendFuncSeparate cfxGlPipelineSettingMakerBlendFuncSeparate::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerBlendFuncSeparate::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ int domSrcRGB = settingInitializer->getBlend_func_separate()->getSrc_rgb()->getValue();
+ int srcRGB = cfxGlEnumMaps::getBlendTypeEnum(domSrcRGB);
+
+ int domDstRGB = settingInitializer->getBlend_func_separate()->getDest_rgb()->getValue();
+ int dstRGB = cfxGlEnumMaps::getBlendTypeEnum(domDstRGB);
+
+ int domSrcAlpha = settingInitializer->getBlend_func_separate()->getSrc_alpha()->getValue();
+ int srcAlpha = cfxGlEnumMaps::getBlendTypeEnum(domSrcAlpha);
+
+ int domDstAlpha = settingInitializer->getBlend_func_separate()->getDest_alpha()->getValue();
+ int dstAlpha = cfxGlEnumMaps::getBlendTypeEnum(domDstAlpha);
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingBlendFuncSeparate(pass, srcRGB, dstRGB, srcAlpha, dstAlpha);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerBlendEquation
+cfxGlPipelineSettingMakerBlendEquation::cfxGlPipelineSettingMakerBlendEquation()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_BLEND_EQUATION, this));
+}
+
+cfxGlPipelineSettingMakerBlendEquation cfxGlPipelineSettingMakerBlendEquation::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerBlendEquation::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ int domEquation = settingInitializer->getBlend_equation()->getValue();
+ int equation = cfxGlEnumMaps::getBlendEquationTypeEnum(domEquation);
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingBlendEquation(pass, equation);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerBlendEquationSeparate
+cfxGlPipelineSettingMakerBlendEquationSeparate::cfxGlPipelineSettingMakerBlendEquationSeparate()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_BLEND_EQUATION_SEPARATE, this));
+}
+
+cfxGlPipelineSettingMakerBlendEquationSeparate cfxGlPipelineSettingMakerBlendEquationSeparate::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerBlendEquationSeparate::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ int domRgb = settingInitializer->getBlend_equation_separate()->getRgb()->getValue();
+ int rgb = cfxGlEnumMaps::getBlendEquationTypeEnum(domRgb);
+
+ int domAlpha = settingInitializer->getBlend_equation_separate()->getAlpha()->getValue();
+ int alpha = cfxGlEnumMaps::getBlendEquationTypeEnum(domAlpha);
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingBlendEquationSeparate(pass, rgb, alpha);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerBlendColor
+cfxGlPipelineSettingMakerBlendColor::cfxGlPipelineSettingMakerBlendColor()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_BLEND_COLOR, this));
+}
+
+cfxGlPipelineSettingMakerBlendColor cfxGlPipelineSettingMakerBlendColor::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerBlendColor::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ domFloat4& domValue = settingInitializer->getBlend_color()->getValue();
+ cfxFloat4 value;
+ value.f0 = (cfxFloat) domValue.get(0);
+ value.f1 = (cfxFloat) domValue.get(1);
+ value.f2 = (cfxFloat) domValue.get(2);
+ value.f3 = (cfxFloat) domValue.get(3);
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingBlendColor(pass, value);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerClearColor
+cfxGlPipelineSettingMakerClearColor::cfxGlPipelineSettingMakerClearColor()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_CLEAR_COLOR, this));
+}
+
+cfxGlPipelineSettingMakerClearColor cfxGlPipelineSettingMakerClearColor::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerClearColor::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ domFloat4& domValue = settingInitializer->getClear_color()->getValue();
+ cfxFloat4 value;
+ value.f0 = (cfxFloat) domValue.get(0);
+ value.f1 = (cfxFloat) domValue.get(1);
+ value.f2 = (cfxFloat) domValue.get(2);
+ value.f3 = (cfxFloat) domValue.get(3);
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingClearColor(pass, value);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerClearStencil
+cfxGlPipelineSettingMakerClearStencil::cfxGlPipelineSettingMakerClearStencil()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_CLEAR_STENCIL, this));
+}
+
+cfxGlPipelineSettingMakerClearStencil cfxGlPipelineSettingMakerClearStencil::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerClearStencil::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ cfxInt value = (cfxInt) settingInitializer->getClear_stencil()->getValue();
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingClearStencil(pass, value);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerClearDepth
+cfxGlPipelineSettingMakerClearDepth::cfxGlPipelineSettingMakerClearDepth()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_CLEAR_DEPTH, this));
+}
+
+cfxGlPipelineSettingMakerClearDepth cfxGlPipelineSettingMakerClearDepth::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerClearDepth::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ cfxFloat value = (cfxFloat) settingInitializer->getClear_depth()->getValue();
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingClearDepth(pass, value);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerClipPlane
+cfxGlPipelineSettingMakerClipPlane::cfxGlPipelineSettingMakerClipPlane()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_CLIP_PLANE, this));
+}
+
+cfxGlPipelineSettingMakerClipPlane cfxGlPipelineSettingMakerClipPlane::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerClipPlane::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ int index = settingInitializer->getClip_plane()->getIndex();
+
+ domFloat4& domValue = settingInitializer->getClip_plane()->getValue();
+ cfxFloat4 value;
+ value.f0 = (cfxFloat) domValue.get(0);
+ value.f1 = (cfxFloat) domValue.get(1);
+ value.f2 = (cfxFloat) domValue.get(2);
+ value.f3 = (cfxFloat) domValue.get(3);
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingClipPlane(pass, index, value);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerColorMask
+cfxGlPipelineSettingMakerColorMask::cfxGlPipelineSettingMakerColorMask()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_COLOR_MASK, this));
+}
+
+cfxGlPipelineSettingMakerColorMask cfxGlPipelineSettingMakerColorMask::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerColorMask::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ domBool4& domValue = settingInitializer->getColor_mask()->getValue();
+ cfxBool4 value;
+ value.b0 = domValue.get(0);
+ value.b1 = domValue.get(1);
+ value.b2 = domValue.get(2);
+ value.b3 = domValue.get(3);
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingColorMask(pass, value);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerColorMaterial
+cfxGlPipelineSettingMakerColorMaterial::cfxGlPipelineSettingMakerColorMaterial()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_COLOR_MATERIAL, this));
+}
+
+cfxGlPipelineSettingMakerColorMaterial cfxGlPipelineSettingMakerColorMaterial::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerColorMaterial::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ int domFace = settingInitializer->getColor_material()->getFace()->getValue();
+ int face = cfxGlEnumMaps::getFaceTypeEnum(domFace);
+
+ int domMode = settingInitializer->getColor_material()->getMode()->getValue();
+ int mode = cfxGlEnumMaps::getModeTypeEnum(domMode);
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingColorMaterial(pass, face, mode);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerCullFace
+cfxGlPipelineSettingMakerCullFace::cfxGlPipelineSettingMakerCullFace()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_CULL_FACE, this));
+}
+
+cfxGlPipelineSettingMakerCullFace cfxGlPipelineSettingMakerCullFace::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerCullFace::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ int domValue = settingInitializer->getCull_face()->getValue();
+ int value = cfxGlEnumMaps::getFaceTypeEnum(domValue);
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingCullFace(pass, value);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerDepthFunc
+cfxGlPipelineSettingMakerDepthFunc::cfxGlPipelineSettingMakerDepthFunc()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_DEPTH_FUNC, this));
+}
+
+cfxGlPipelineSettingMakerDepthFunc cfxGlPipelineSettingMakerDepthFunc::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerDepthFunc::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ int domValue = settingInitializer->getDepth_func()->getValue();
+ int value = cfxGlEnumMaps::getFuncTypeEnum( domValue );
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingDepthFunc(pass, value);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerDepthMask
+cfxGlPipelineSettingMakerDepthMask::cfxGlPipelineSettingMakerDepthMask()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_DEPTH_MASK, this));
+}
+
+cfxGlPipelineSettingMakerDepthMask cfxGlPipelineSettingMakerDepthMask::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerDepthMask::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ bool value = settingInitializer->getDepth_mask()->getValue();
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingDepthMask(pass, value);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerDepthRange
+cfxGlPipelineSettingMakerDepthRange::cfxGlPipelineSettingMakerDepthRange()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_DEPTH_RANGE, this));
+}
+
+cfxGlPipelineSettingMakerDepthRange cfxGlPipelineSettingMakerDepthRange::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerDepthRange::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ cfxFloat2 value;
+ domFloat2& domValue = settingInitializer->getDepth_range()->getValue();
+ value.f0 = (cfxFloat) domValue.get(0);
+ value.f1 = (cfxFloat) domValue.get(1);
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingDepthRange(pass, value);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerFogMode
+cfxGlPipelineSettingMakerFogMode::cfxGlPipelineSettingMakerFogMode()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_FOG_MODE, this));
+}
+
+cfxGlPipelineSettingMakerFogMode cfxGlPipelineSettingMakerFogMode::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerFogMode::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ int domValue = settingInitializer->getFog_mode()->getValue();
+ int value = cfxGlEnumMaps::getFogModeTypeEnum( domValue );
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingFogMode(pass, value);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerFogDensity
+cfxGlPipelineSettingMakerFogDensity::cfxGlPipelineSettingMakerFogDensity()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_FOG_DENSITY, this));
+}
+
+cfxGlPipelineSettingMakerFogDensity cfxGlPipelineSettingMakerFogDensity::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerFogDensity::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ float value = (float)settingInitializer->getFog_density()->getValue();
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingFogDensity(pass, value);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerFogStart
+cfxGlPipelineSettingMakerFogStart::cfxGlPipelineSettingMakerFogStart()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_FOG_START, this));
+}
+
+cfxGlPipelineSettingMakerFogStart cfxGlPipelineSettingMakerFogStart::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerFogStart::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ float value = (float)settingInitializer->getFog_start()->getValue();
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingFogStart(pass, value);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerFogEnd
+cfxGlPipelineSettingMakerFogEnd::cfxGlPipelineSettingMakerFogEnd()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_FOG_END, this));
+}
+
+cfxGlPipelineSettingMakerFogEnd cfxGlPipelineSettingMakerFogEnd::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerFogEnd::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ float value = (float)settingInitializer->getFog_end()->getValue();
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingFogEnd(pass, value);
+ return setting;
+}
+
+
+#if 0
+// these are currently unimplemented due to time constraints
+// all that needs to be done is actually pull the values out of
+// the DOM and put them into the variables passed to the call to new
+
+// cfxGlPipelineSettingMakerFogColor
+cfxGlPipelineSettingMakerFogColor::cfxGlPipelineSettingMakerFogColor()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_FOG_COLOR, this));
+}
+
+cfxGlPipelineSettingMakerFogColor cfxGlPipelineSettingMakerFogColor::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerFogColor::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ cfxFloat4 value;
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingFogColor(pass, value);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerFrontFace
+cfxGlPipelineSettingMakerFrontFace::cfxGlPipelineSettingMakerFrontFace()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_FRONT_FACE, this));
+}
+
+cfxGlPipelineSettingMakerFrontFace cfxGlPipelineSettingMakerFrontFace::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerFrontFace::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ int value;
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingFrontFace(pass, value);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerLightModelAmbient
+cfxGlPipelineSettingMakerLightModelAmbient::cfxGlPipelineSettingMakerLightModelAmbient()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_LIGHT_MODEL_AMBIENT, this));
+}
+
+cfxGlPipelineSettingMakerLightModelAmbient cfxGlPipelineSettingMakerLightModelAmbient::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerLightModelAmbient::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ cfxFloat4 value;
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingLightModelAmbient(pass, value);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerLightAmbient
+cfxGlPipelineSettingMakerLightAmbient::cfxGlPipelineSettingMakerLightAmbient()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_LIGHT_AMBIENT, this));
+}
+
+cfxGlPipelineSettingMakerLightAmbient cfxGlPipelineSettingMakerLightAmbient::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerLightAmbient::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ int index;
+ cfxFloat4 value;
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingLightAmbient(pass, index, value);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerLightConstantAttenuation
+cfxGlPipelineSettingMakerLightConstantAttenuation::cfxGlPipelineSettingMakerLightConstantAttenuation()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_LIGHT_CONSTANT_ATTENUATION, this));
+}
+
+cfxGlPipelineSettingMakerLightConstantAttenuation cfxGlPipelineSettingMakerLightConstantAttenuation::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerLightConstantAttenuation::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ int index;
+ float value;
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingLightConstantAttenuation(pass, index, value);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerLightDiffuse
+cfxGlPipelineSettingMakerLightDiffuse::cfxGlPipelineSettingMakerLightDiffuse()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_LIGHT_DIFFUSE, this));
+}
+
+cfxGlPipelineSettingMakerLightDiffuse cfxGlPipelineSettingMakerLightDiffuse::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerLightDiffuse::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ int index;
+ cfxFloat4 value;
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingLightDiffuse(pass, index, value);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerLightLinearAttenuation
+cfxGlPipelineSettingMakerLightLinearAttenuation::cfxGlPipelineSettingMakerLightLinearAttenuation()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_LIGHT_LINEAR_ATTENUATION, this));
+}
+
+cfxGlPipelineSettingMakerLightLinearAttenuation cfxGlPipelineSettingMakerLightLinearAttenuation::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerLightLinearAttenuation::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ int index;
+ float value;
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingLightLinearAttenuation(pass, index, value);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerLightPosition
+cfxGlPipelineSettingMakerLightPosition::cfxGlPipelineSettingMakerLightPosition()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_LIGHT_POSITION, this));
+}
+
+cfxGlPipelineSettingMakerLightPosition cfxGlPipelineSettingMakerLightPosition::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerLightPosition::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ int index;
+ cfxFloat4 value;
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingLightPosition(pass, index, value);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerLightQuadraticAttenuation
+cfxGlPipelineSettingMakerLightQuadraticAttenuation::cfxGlPipelineSettingMakerLightQuadraticAttenuation()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_LIGHT_QUADRATIC_ATTENUATION, this));
+}
+
+cfxGlPipelineSettingMakerLightQuadraticAttenuation cfxGlPipelineSettingMakerLightQuadraticAttenuation::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerLightQuadraticAttenuation::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ int index;
+ float value;
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingLightQuadraticAttenuation(pass, index, value);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerLightSpecular
+cfxGlPipelineSettingMakerLightSpecular::cfxGlPipelineSettingMakerLightSpecular()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_LIGHT_SPECULAR, this));
+}
+
+cfxGlPipelineSettingMakerLightSpecular cfxGlPipelineSettingMakerLightSpecular::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerLightSpecular::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ int index;
+ cfxFloat4 value;
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingLightSpecular(pass, index, value);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerLightSpotCutoff
+cfxGlPipelineSettingMakerLightSpotCutoff::cfxGlPipelineSettingMakerLightSpotCutoff()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_LIGHT_SPOT_CUTOFF, this));
+}
+
+cfxGlPipelineSettingMakerLightSpotCutoff cfxGlPipelineSettingMakerLightSpotCutoff::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerLightSpotCutoff::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ int index;
+ float value;
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingLightSpotCutoff(pass, index, value);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerLightSpotDirection
+cfxGlPipelineSettingMakerLightSpotDirection::cfxGlPipelineSettingMakerLightSpotDirection()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_LIGHT_SPOT_DIRECTION, this));
+}
+
+cfxGlPipelineSettingMakerLightSpotDirection cfxGlPipelineSettingMakerLightSpotDirection::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerLightSpotDirection::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ int index;
+ cfxFloat3 value;
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingLightSpotDirection(pass, index, value);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerLightSpotExponent
+cfxGlPipelineSettingMakerLightSpotExponent::cfxGlPipelineSettingMakerLightSpotExponent()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_LIGHT_SPOT_EXPONENT, this));
+}
+
+cfxGlPipelineSettingMakerLightSpotExponent cfxGlPipelineSettingMakerLightSpotExponent::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerLightSpotExponent::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ int index;
+ float value;
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingLightSpotExponent(pass, index, value);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerLineWidth
+cfxGlPipelineSettingMakerLineWidth::cfxGlPipelineSettingMakerLineWidth()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_LINE_WIDTH, this));
+}
+
+cfxGlPipelineSettingMakerLineWidth cfxGlPipelineSettingMakerLineWidth::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerLineWidth::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ float value;
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingLineWidth(pass, value);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerLogicOp
+cfxGlPipelineSettingMakerLogicOp::cfxGlPipelineSettingMakerLogicOp()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_LOGIC_OP, this));
+}
+
+cfxGlPipelineSettingMakerLogicOp cfxGlPipelineSettingMakerLogicOp::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerLogicOp::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ int value;
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingLogicOp(pass, value);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerMaterialAmbient
+cfxGlPipelineSettingMakerMaterialAmbient::cfxGlPipelineSettingMakerMaterialAmbient()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_MATERIAL_AMBIENT, this));
+}
+
+cfxGlPipelineSettingMakerMaterialAmbient cfxGlPipelineSettingMakerMaterialAmbient::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerMaterialAmbient::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ cfxFloat4 value;
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingMaterialAmbient(pass, value);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerMaterialDiffuse
+cfxGlPipelineSettingMakerMaterialDiffuse::cfxGlPipelineSettingMakerMaterialDiffuse()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_MATERIAL_DIFFUSE, this));
+}
+
+cfxGlPipelineSettingMakerMaterialDiffuse cfxGlPipelineSettingMakerMaterialDiffuse::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerMaterialDiffuse::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ cfxFloat4 value;
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingMaterialDiffuse(pass, value);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerMaterialEmission
+cfxGlPipelineSettingMakerMaterialEmission::cfxGlPipelineSettingMakerMaterialEmission()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_MATERIAL_EMISSION, this));
+}
+
+cfxGlPipelineSettingMakerMaterialEmission cfxGlPipelineSettingMakerMaterialEmission::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerMaterialEmission::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ cfxFloat4 value;
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingMaterialEmission(pass, value);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerMaterialShininess
+cfxGlPipelineSettingMakerMaterialShininess::cfxGlPipelineSettingMakerMaterialShininess()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_MATERIAL_SHININESS, this));
+}
+
+cfxGlPipelineSettingMakerMaterialShininess cfxGlPipelineSettingMakerMaterialShininess::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerMaterialShininess::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ float value;
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingMaterialShininess(pass, value);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerMaterialSpecular
+cfxGlPipelineSettingMakerMaterialSpecular::cfxGlPipelineSettingMakerMaterialSpecular()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_MATERIAL_SPECULAR, this));
+}
+
+cfxGlPipelineSettingMakerMaterialSpecular cfxGlPipelineSettingMakerMaterialSpecular::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerMaterialSpecular::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ cfxFloat4 value;
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingMaterialSpecular(pass, value);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerModelViewMatrix
+cfxGlPipelineSettingMakerModelViewMatrix::cfxGlPipelineSettingMakerModelViewMatrix()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_MODEL_VIEW_MATRIX, this));
+}
+
+cfxGlPipelineSettingMakerModelViewMatrix cfxGlPipelineSettingMakerModelViewMatrix::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerModelViewMatrix::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ cfxFloat4x4 value;
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingModelViewMatrix(pass, value);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerPointSize
+cfxGlPipelineSettingMakerPointSize::cfxGlPipelineSettingMakerPointSize()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_POINT_SIZE, this));
+}
+
+cfxGlPipelineSettingMakerPointSize cfxGlPipelineSettingMakerPointSize::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerPointSize::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ float value;
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingPointSize(pass, value);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerPointSpriteCoordReplace
+cfxGlPipelineSettingMakerPointSpriteCoordReplace::cfxGlPipelineSettingMakerPointSpriteCoordReplace()
+{
+ //mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_POINT_SPRITE_COORD_REPLACE, this));
+}
+
+cfxGlPipelineSettingMakerPointSpriteCoordReplace cfxGlPipelineSettingMakerPointSpriteCoordReplace::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerPointSpriteCoordReplace::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingPointSpriteCoordReplace(pass);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerPointSpriteRMode
+cfxGlPipelineSettingMakerPointSpriteRMode::cfxGlPipelineSettingMakerPointSpriteRMode()
+{
+ //mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_POINT_SPRITE_R_MODE, this));
+}
+
+cfxGlPipelineSettingMakerPointSpriteRMode cfxGlPipelineSettingMakerPointSpriteRMode::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerPointSpriteRMode::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingPointSpriteRMode(pass);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerPolygonMode
+cfxGlPipelineSettingMakerPolygonMode::cfxGlPipelineSettingMakerPolygonMode()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_POLYGON_MODE, this));
+}
+
+cfxGlPipelineSettingMakerPolygonMode cfxGlPipelineSettingMakerPolygonMode::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerPolygonMode::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ int face;
+ int mode;
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingPolygonMode(pass, face, mode);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerPolygonOffset
+cfxGlPipelineSettingMakerPolygonOffset::cfxGlPipelineSettingMakerPolygonOffset()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_POLYGON_OFFSET, this));
+}
+
+cfxGlPipelineSettingMakerPolygonOffset cfxGlPipelineSettingMakerPolygonOffset::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerPolygonOffset::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ cfxFloat2 value;
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingPolygonOffset(pass, value);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerProjectionMatrix
+cfxGlPipelineSettingMakerProjectionMatrix::cfxGlPipelineSettingMakerProjectionMatrix()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_PROJECTION_MATRIX, this));
+}
+
+cfxGlPipelineSettingMakerProjectionMatrix cfxGlPipelineSettingMakerProjectionMatrix::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerProjectionMatrix::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ cfxFloat4x4 value;
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingProjectionMatrix(pass, value);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerScissor
+cfxGlPipelineSettingMakerScissor::cfxGlPipelineSettingMakerScissor()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_SCISSOR, this));
+}
+
+cfxGlPipelineSettingMakerScissor cfxGlPipelineSettingMakerScissor::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerScissor::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ cfxInt4 value;
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingScissor(pass, value);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerShadeModel
+cfxGlPipelineSettingMakerShadeModel::cfxGlPipelineSettingMakerShadeModel()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_SHADE_MODEL, this));
+}
+
+cfxGlPipelineSettingMakerShadeModel cfxGlPipelineSettingMakerShadeModel::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerShadeModel::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ int value;
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingShadeModel(pass, value);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerStencilFunc
+cfxGlPipelineSettingMakerStencilFunc::cfxGlPipelineSettingMakerStencilFunc()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_STENCIL_FUNC, this));
+}
+
+cfxGlPipelineSettingMakerStencilFunc cfxGlPipelineSettingMakerStencilFunc::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerStencilFunc::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ int func;
+ int ref;
+ int mask;
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingStencilFunc(pass, func, ref, mask);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerStencilMask
+cfxGlPipelineSettingMakerStencilMask::cfxGlPipelineSettingMakerStencilMask()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_STENCIL_MASK, this));
+}
+
+cfxGlPipelineSettingMakerStencilMask cfxGlPipelineSettingMakerStencilMask::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerStencilMask::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ int value;
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingStencilMask(pass, value);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerStencilOp
+cfxGlPipelineSettingMakerStencilOp::cfxGlPipelineSettingMakerStencilOp()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_STENCIL_OP, this));
+}
+
+cfxGlPipelineSettingMakerStencilOp cfxGlPipelineSettingMakerStencilOp::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerStencilOp::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ int fail;
+ int zFail;
+ int zPass;
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingStencilOp(pass, fail, zFail, zPass);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerStencilFuncSeparate
+cfxGlPipelineSettingMakerStencilFuncSeparate::cfxGlPipelineSettingMakerStencilFuncSeparate()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_STENCIL_FUNC_SEPARATE, this));
+}
+
+cfxGlPipelineSettingMakerStencilFuncSeparate cfxGlPipelineSettingMakerStencilFuncSeparate::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerStencilFuncSeparate::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ int front;
+ int back;
+ int ref;
+ int mask;
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingStencilFuncSeparate(pass, front, back, ref, mask);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerStencilMaskSeparate
+cfxGlPipelineSettingMakerStencilMaskSeparate::cfxGlPipelineSettingMakerStencilMaskSeparate()
+{
+ //mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_STENCIL_MASK_SEPARATE, this));
+}
+
+cfxGlPipelineSettingMakerStencilMaskSeparate cfxGlPipelineSettingMakerStencilMaskSeparate::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerStencilMaskSeparate::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ int face;
+ int mask;
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingStencilMaskSeparate(pass, face, mask);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerStencilOpSeparate
+cfxGlPipelineSettingMakerStencilOpSeparate::cfxGlPipelineSettingMakerStencilOpSeparate()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_STENCIL_OP_SEPARATE, this));
+}
+
+cfxGlPipelineSettingMakerStencilOpSeparate cfxGlPipelineSettingMakerStencilOpSeparate::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerStencilOpSeparate::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ int face;
+ int fail;
+ int zFail;
+ int zPass;
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingStencilOpSeparate(pass, face, fail, zFail, zPass);
+ return setting;
+}
+
+#endif
+
+
+#if 0 // all texgen makers unimplemented because not in COLLADA yet
+
+// cfxGlPipelineSettingMakerTexGenSMode
+cfxGlPipelineSettingMakerTexGenSMode::cfxGlPipelineSettingMakerTexGenSMode()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_, this));
+}
+
+cfxGlPipelineSettingMakerTexGenSMode cfxGlPipelineSettingMakerTexGenSMode::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerTexGenSMode::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingTexGenSMode(pass, );
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerTexGenTMode
+cfxGlPipelineSettingMakerTexGenTMode::cfxGlPipelineSettingMakerTexGenTMode()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_, this));
+}
+
+cfxGlPipelineSettingMakerTexGenTMode cfxGlPipelineSettingMakerTexGenTMode::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerTexGenTMode::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingTexGenTMode(pass, );
+ return setting;
+}
+
+// cfxGlPipelineSettingMakerTexGenRMode
+cfxGlPipelineSettingMakerTexGenRMode::cfxGlPipelineSettingMakerTexGenRMode()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_, this));
+}
+
+cfxGlPipelineSettingMakerTexGenRMode cfxGlPipelineSettingMakerTexGenRMode::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerTexGenRMode::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingTexGenRMode(pass, );
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerTexGenQMode
+cfxGlPipelineSettingMakerTexGenQMode::cfxGlPipelineSettingMakerTexGenQMode()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_, this));
+}
+
+cfxGlPipelineSettingMakerTexGenQMode cfxGlPipelineSettingMakerTexGenQMode::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerTexGenQMode::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingTexGenQMode(pass, );
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerTexGenSEyePlane
+cfxGlPipelineSettingMakerTexGenSEyePlane::cfxGlPipelineSettingMakerTexGenSEyePlane()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_, this));
+}
+
+cfxGlPipelineSettingMakerTexGenSEyePlane cfxGlPipelineSettingMakerTexGenSEyePlane::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerTexGenSEyePlane::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingTexGenSEyePlane(pass, );
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerTexGenTEyePlane
+cfxGlPipelineSettingMakerTexGenTEyePlane::cfxGlPipelineSettingMakerTexGenTEyePlane()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_, this));
+}
+
+cfxGlPipelineSettingMakerTexGenTEyePlane cfxGlPipelineSettingMakerTexGenTEyePlane::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerTexGenTEyePlane::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingTexGenTEyePlane(pass, );
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerTexGenREyePlane
+cfxGlPipelineSettingMakerTexGenREyePlane::cfxGlPipelineSettingMakerTexGenREyePlane()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_, this));
+}
+
+cfxGlPipelineSettingMakerTexGenREyePlane cfxGlPipelineSettingMakerTexGenREyePlane::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerTexGenREyePlane::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingTexGenREyePlane(pass, );
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerTexGenQEyePlane
+cfxGlPipelineSettingMakerTexGenQEyePlane::cfxGlPipelineSettingMakerTexGenQEyePlane()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_, this));
+}
+
+cfxGlPipelineSettingMakerTexGenQEyePlane cfxGlPipelineSettingMakerTexGenQEyePlane::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerTexGenQEyePlane::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingTexGenQEyePlane(pass, );
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerTexGenSObjectPlane
+cfxGlPipelineSettingMakerTexGenSObjectPlane::cfxGlPipelineSettingMakerTexGenSObjectPlane()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_, this));
+}
+
+cfxGlPipelineSettingMakerTexGenSObjectPlane cfxGlPipelineSettingMakerTexGenSObjectPlane::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerTexGenSObjectPlane::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingTexGenSObjectPlane(pass, );
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerTexGenTObjectPlane
+cfxGlPipelineSettingMakerTexGenTObjectPlane::cfxGlPipelineSettingMakerTexGenTObjectPlane()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_, this));
+}
+
+cfxGlPipelineSettingMakerTexGenTObjectPlane cfxGlPipelineSettingMakerTexGenTObjectPlane::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerTexGenTObjectPlane::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingTexGenTObjectPlane(pass, );
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerTexGenRObjectPlane
+cfxGlPipelineSettingMakerTexGenRObjectPlane::cfxGlPipelineSettingMakerTexGenRObjectPlane()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_, this));
+}
+
+cfxGlPipelineSettingMakerTexGenRObjectPlane cfxGlPipelineSettingMakerTexGenRObjectPlane::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerTexGenRObjectPlane::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingTexGenRObjectPlane(pass, );
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerTexGenQObjectPlane
+cfxGlPipelineSettingMakerTexGenQObjectPlane::cfxGlPipelineSettingMakerTexGenQObjectPlane()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_, this));
+}
+
+cfxGlPipelineSettingMakerTexGenQObjectPlane cfxGlPipelineSettingMakerTexGenQObjectPlane::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerTexGenQObjectPlane::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingTexGenQObjectPlane(pass, );
+ return setting;
+}
+
+#endif
+
+
+#if 0
+// these are currently unimplemented due to time constraints
+// all that needs to be done is actually pull the values out of
+// the DOM and put them into the variables passed to the call to new
+
+// cfxGlPipelineSettingMakerTexture2D
+cfxGlPipelineSettingMakerTexture2D::cfxGlPipelineSettingMakerTexture2D()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_TEXTURE2D, this));
+}
+
+cfxGlPipelineSettingMakerTexture2D cfxGlPipelineSettingMakerTexture2D::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerTexture2D::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ int index;
+ cfxSampler* sampler;
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingTexture2D(pass, index, sampler);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerTexture3D
+cfxGlPipelineSettingMakerTexture3D::cfxGlPipelineSettingMakerTexture3D()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_TEXTURE3D, this));
+}
+
+cfxGlPipelineSettingMakerTexture3D cfxGlPipelineSettingMakerTexture3D::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerTexture3D::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ int index;
+ cfxSampler* sampler;
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingTexture3D(pass, index, sampler);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerTextureCubeMap
+cfxGlPipelineSettingMakerTextureCubeMap::cfxGlPipelineSettingMakerTextureCubeMap()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_TEXTURECUBE, this));
+}
+
+cfxGlPipelineSettingMakerTextureCubeMap cfxGlPipelineSettingMakerTextureCubeMap::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerTextureCubeMap::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ int index;
+ cfxSampler* sampler;
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingTextureCubeMap(pass, index, sampler);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerTextureEnvColor
+cfxGlPipelineSettingMakerTextureEnvColor::cfxGlPipelineSettingMakerTextureEnvColor()
+{
+ //mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_TEXTURE_ENV_COLOR, this));
+}
+
+cfxGlPipelineSettingMakerTextureEnvColor cfxGlPipelineSettingMakerTextureEnvColor::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerTextureEnvColor::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ int index;
+ cfxFloat4 value;
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingTextureEnvColor(pass, index, value);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerTextureEnvMode
+cfxGlPipelineSettingMakerTextureEnvMode::cfxGlPipelineSettingMakerTextureEnvMode()
+{
+ //mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_TEXTURE_ENV_MODE, this));
+}
+
+cfxGlPipelineSettingMakerTextureEnvMode cfxGlPipelineSettingMakerTextureEnvMode::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerTextureEnvMode::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ int index;
+ int value;
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingTextureEnvMode(pass, index, value);
+ return setting;
+}
+
+#endif
+
+
+// ENABLE / DISABLE settings
+
+
+// cfxGlPipelineSettingMakerAlphaTestEnable
+cfxGlPipelineSettingMakerAlphaTestEnable::cfxGlPipelineSettingMakerAlphaTestEnable()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_ALPHA_TEST_ENABLE, this));
+}
+
+cfxGlPipelineSettingMakerAlphaTestEnable cfxGlPipelineSettingMakerAlphaTestEnable::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerAlphaTestEnable::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ bool value = settingInitializer->getAlpha_test_enable()->getValue();
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingAlphaTestEnable(pass, value);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerBlendEnable
+cfxGlPipelineSettingMakerBlendEnable::cfxGlPipelineSettingMakerBlendEnable()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_BLEND_ENABLE, this));
+}
+
+cfxGlPipelineSettingMakerBlendEnable cfxGlPipelineSettingMakerBlendEnable::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerBlendEnable::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ bool value = settingInitializer->getBlend_enable()->getValue();
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingBlendEnable(pass, value);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerCullFaceEnable
+cfxGlPipelineSettingMakerCullFaceEnable::cfxGlPipelineSettingMakerCullFaceEnable()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_CULL_FACE_ENABLE, this));
+}
+
+cfxGlPipelineSettingMakerCullFaceEnable cfxGlPipelineSettingMakerCullFaceEnable::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerCullFaceEnable::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ bool value = settingInitializer->getCull_face_enable()->getValue();
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingCullFaceEnable(pass, value);
+ return setting;
+}
+
+
+// cfxGlPipelineSettingMakerDepthTestEnable
+cfxGlPipelineSettingMakerDepthTestEnable::cfxGlPipelineSettingMakerDepthTestEnable()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_DEPTH_TEST_ENABLE, this));
+}
+
+cfxGlPipelineSettingMakerDepthTestEnable cfxGlPipelineSettingMakerDepthTestEnable::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMakerDepthTestEnable::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ bool value = settingInitializer->getDepth_test_enable()->getValue();
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSettingDepthTestEnable(pass, value);
+ return setting;
+}
+
+
+#if 0 // template
+// cfxGlPipelineSettingMaker
+cfxGlPipelineSettingMaker::cfxGlPipelineSettingMaker()
+{
+ mapTypeNameToSettingMaker.insert(std::make_pair(COLLADA_ELEMENT_, this));
+}
+
+cfxGlPipelineSettingMaker cfxGlPipelineSettingMaker::maker;
+
+cfxGlPipelineSetting* cfxGlPipelineSettingMaker::makeSetting(cfxPass* pass, domGl_pipeline_settings* settingInitializer)
+{
+ bool value = settingInitializer->get_enable()->getValue();
+
+ cfxGlPipelineSetting* setting = new cfxGlPipelineSetting(pass, value);
+ return setting;
+}
+#endif
+
+
+
+
diff --git a/1.4.0/fx/src/cfxGlSamplerSetting.cpp b/1.4.0/fx/src/cfxGlSamplerSetting.cpp
new file mode 100644
index 0000000..f1f4c4e
--- /dev/null
+++ b/1.4.0/fx/src/cfxGlSamplerSetting.cpp
@@ -0,0 +1,283 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+#include <stdlib.h>
+#include <stdio.h>
+
+// !!!tsl request #defines for state names
+//#ifndef _LIB
+#include <Cg/cg.h>
+//#else
+//#include <cfxNoCg.h>
+//#endif
+
+// User includes
+
+#include <cfxGlSamplerSetting.h>
+#include <cfxEffect.h>
+#include <cfxParam.h>
+
+
+// cfxGlSamplerSetting
+cfxGlSamplerSetting::cfxGlSamplerSetting(cfxEffect* effect, const char* stateName)
+{
+ state = cgGetNamedSamplerState(effect->getContext(), stateName);
+ if (state == 0)
+ {
+ printf("ERROR: Sampler state not found: %s\n", stateName);
+ }
+}
+
+cfxGlSamplerSetting::~cfxGlSamplerSetting()
+{
+}
+
+
+
+// cfxGlSamplerSettingWrapS
+cfxGlSamplerSettingWrapS::cfxGlSamplerSettingWrapS(cfxEffect* effect, const char* stateName, int _value)
+ : cfxGlSamplerSetting(effect, stateName),
+ value(_value)
+{
+}
+
+cfxBool cfxGlSamplerSettingWrapS::apply(const cfxParam* param)
+{
+ cfxBool result = false;
+
+ if (state)
+ {
+ assignment = cgCreateSamplerStateAssignment(param->getParameter(), state);
+ result = cgSetIntStateAssignment(assignment, value);
+ }
+
+ return result;
+}
+
+cfxGlSamplerSetting::type_enum cfxGlSamplerSettingWrapS::getType() const
+{
+ return cfxGlSamplerSetting::WRAP_S;
+}
+
+int cfxGlSamplerSettingWrapS::getValue() const
+{
+ return value;
+}
+
+// cfxGlSamplerSettingWrapT
+cfxGlSamplerSettingWrapT::cfxGlSamplerSettingWrapT(cfxEffect* effect, const char* stateName, int _value)
+ : cfxGlSamplerSetting(effect, stateName),
+ value(_value)
+{
+}
+
+cfxBool cfxGlSamplerSettingWrapT::apply(const cfxParam* param)
+{
+ cfxBool result = false;
+
+ if (state)
+ {
+ assignment = cgCreateSamplerStateAssignment(param->getParameter(), state);
+ result = cgSetIntStateAssignment(assignment, value);
+
+ return true;
+ }
+
+ return result;
+}
+
+cfxGlSamplerSetting::type_enum cfxGlSamplerSettingWrapT::getType() const
+{
+ return cfxGlSamplerSetting::WRAP_T;
+}
+
+int cfxGlSamplerSettingWrapT::getValue() const
+{
+ return value;
+}
+
+// cfxGlSamplerSettingMinFilter
+cfxGlSamplerSettingMinFilter::cfxGlSamplerSettingMinFilter(cfxEffect* effect, const char* stateName, int _value)
+ : cfxGlSamplerSetting(effect, stateName),
+ value(_value)
+{
+}
+
+cfxBool cfxGlSamplerSettingMinFilter::apply(const cfxParam* param)
+{
+ cfxBool result = false;
+
+ if (state)
+ {
+ assignment = cgCreateSamplerStateAssignment(param->getParameter(), state);
+ result = cgSetIntStateAssignment(assignment, value);
+ }
+
+ return result;
+}
+
+cfxGlSamplerSetting::type_enum cfxGlSamplerSettingMinFilter::getType() const
+{
+ return cfxGlSamplerSetting::MINFILTER;
+}
+
+int cfxGlSamplerSettingMinFilter::getValue() const
+{
+ return value;
+}
+
+
+// cfxGlSamplerSettingMagFilter
+cfxGlSamplerSettingMagFilter::cfxGlSamplerSettingMagFilter(cfxEffect* effect, const char* stateName, int _value)
+ : cfxGlSamplerSetting(effect, stateName),
+ value(_value)
+{
+}
+
+cfxBool cfxGlSamplerSettingMagFilter::apply(const cfxParam* param)
+{
+ cfxBool result = false;
+
+ if (state)
+ {
+ assignment = cgCreateSamplerStateAssignment(param->getParameter(), state);
+ result = cgSetIntStateAssignment(assignment, value);
+ }
+
+ return result;
+}
+
+cfxGlSamplerSetting::type_enum cfxGlSamplerSettingMagFilter::getType() const
+{
+ return cfxGlSamplerSetting::MAGFILTER;
+}
+
+int cfxGlSamplerSettingMagFilter::getValue() const
+{
+ return value;
+}
+
+// cfxGlSamplerSettingBorderColor
+cfxGlSamplerSettingBorderColor::cfxGlSamplerSettingBorderColor(cfxEffect* effect, const char* stateName, cfxFloat4& _value)
+ : cfxGlSamplerSetting(effect, stateName),
+ value(_value)
+{
+}
+
+cfxBool cfxGlSamplerSettingBorderColor::apply(const cfxParam* param)
+{
+ cfxBool result = false;
+
+ if (state)
+ {
+ assignment = cgCreateSamplerStateAssignment(param->getParameter(), state);
+ result = cgSetFloatArrayStateAssignment(assignment, &value.f0);
+ }
+
+ return result;
+}
+
+cfxGlSamplerSetting::type_enum cfxGlSamplerSettingBorderColor::getType() const
+{
+ return cfxGlSamplerSetting::BORDER_COLOR;
+}
+
+cfxFloat4 cfxGlSamplerSettingBorderColor::getValue() const
+{
+ return value;
+}
+
+// cfxGlSamplerSettingGenerateMipMap
+cfxGlSamplerSettingGenerateMipMap::cfxGlSamplerSettingGenerateMipMap(cfxEffect* effect, const char* stateName, cfxBool _value)
+ : cfxGlSamplerSetting(effect, stateName),
+ value(_value)
+{
+}
+
+cfxBool cfxGlSamplerSettingGenerateMipMap::apply(const cfxParam* param)
+{
+ cfxBool result = false;
+
+ if (state)
+ {
+ assignment = cgCreateSamplerStateAssignment(param->getParameter(), state);
+ result = cgSetBoolStateAssignment(assignment, value);
+ }
+
+ return result;
+}
+
+cfxGlSamplerSetting::type_enum cfxGlSamplerSettingGenerateMipMap::getType() const
+{
+ return cfxGlSamplerSetting::GENERATE_MIPMAP;
+}
+
+cfxBool cfxGlSamplerSettingGenerateMipMap::getValue() const
+{
+ return value;
+}
+
+// cfxGlSamplerSettingMaxMipLevel
+cfxGlSamplerSettingMaxMipLevel::cfxGlSamplerSettingMaxMipLevel(cfxEffect* effect, const char* stateName, float _value)
+ : cfxGlSamplerSetting(effect, stateName),
+ value(_value)
+{
+}
+
+cfxBool cfxGlSamplerSettingMaxMipLevel::apply(const cfxParam* param)
+{
+ cfxBool result = false;
+
+ if (state)
+ {
+ assignment = cgCreateSamplerStateAssignment(param->getParameter(), state);
+ result = cgSetFloatStateAssignment(assignment, value);
+ }
+
+ return result;
+}
+
+cfxGlSamplerSetting::type_enum cfxGlSamplerSettingMaxMipLevel::getType() const
+{
+ return cfxGlSamplerSetting::BORDER_COLOR;
+}
+
+float cfxGlSamplerSettingMaxMipLevel::getValue() const
+{
+ return value;
+}
+
+// cfxGlSamplerSettingLodBias
+cfxGlSamplerSettingLodBias::cfxGlSamplerSettingLodBias(cfxEffect* effect, const char* stateName, float _value)
+ : cfxGlSamplerSetting(effect, stateName),
+ value(_value)
+{
+}
+
+cfxBool cfxGlSamplerSettingLodBias::apply(const cfxParam* param)
+{
+ cfxBool result = false;
+
+ if (state)
+ {
+ assignment = cgCreateSamplerStateAssignment(param->getParameter(), state);
+ result = cgSetFloatStateAssignment(assignment, value);
+ }
+
+ return result;
+}
+
+cfxGlSamplerSetting::type_enum cfxGlSamplerSettingLodBias::getType() const
+{
+ return cfxGlSamplerSetting::BORDER_COLOR;
+}
+
+float cfxGlSamplerSettingLodBias::getValue() const
+{
+ return value;
+}
+
diff --git a/1.4.0/fx/src/cfxLoader.cpp b/1.4.0/fx/src/cfxLoader.cpp
new file mode 100644
index 0000000..e073cd2
--- /dev/null
+++ b/1.4.0/fx/src/cfxLoader.cpp
@@ -0,0 +1,874 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+// System includes
+
+#include <stdio.h>
+#include <cstdlib>
+#include <iostream>
+
+//#include <Cg/cg.h>
+#include <cfxPlatform.h>
+
+// User includes
+
+#include <cfxLoader.h>
+#include <cfxAnnotatable.h>
+#include <cfxAnnotate.h>
+#include <cfxBindParam.h>
+#include <cfxCode.h>
+#include <cfxConnectParam.h>
+#include <cfxDataMaker.h>
+#include <cfxEffect.h>
+#include <cfxGlPipelineSetting.h>
+#include <cfxGlPipelineSettingMaker.h>
+#include <cfxMaterial.h>
+#include <cfxNewParam.h>
+#include <cfxParamable.h>
+#include <cfxPass.h>
+#include <cfxSetParam.h>
+#include <cfxShader.h>
+#include <cfxSurface.h>
+#include <cfxTechnique.h>
+#include <cfxError.h>
+#include <cfxBinaryUtil.h>
+#include <cfxTypes.h>
+
+#include <dae.h>
+
+#include <dom/domEffect.h>
+#include <dom/domMaterial.h>
+#include <dom/domTypes.h>
+#include <dom/domProfile_CG.h>
+#include <dom/domCg_surface_type.h>
+#include <dom/domConstants.h>
+
+// the next section used to be in the header as private members of the class
+// moved internal so external libraries don't need to deal with the dom stuff
+
+#include <dom/domFx_newparam_common.h>
+#include <dom/domFx_annotate_common.h>
+
+#include <dom/domInstance_effect.h>
+
+
+ // for effects
+// static void loadCodeArray(domFx_code_common_Array& codeArrayElement, cfxEffect* effect);
+ static void loadNewParamArray(domFx_newparam_common_Array& newParamArrayElement, cfxParamable* paramable, cfxEffect* effect);
+ static void loadNewParamArray(domCg_newparam_Array& newParamArrayElement, cfxParamable* paramable, cfxEffect* effect);
+ static void loadProfileArray(domFx_profile_abstract_Array& profileArrayElement, cfxEffect* effect);
+ static void loadAnnotateArray(domFx_annotate_common_Array& annotateArrayElement, cfxAnnotatable* annotatable, cfxEffect* effect);
+
+ static bool hasCGProfile( domEffect *effect );
+
+ // for materials
+ static void loadSetParamArray(domInstance_effect::domSetparam_Array& setParamArrayElement, cfxParamable* paramable, cfxEffect* effect, cfxMaterial* material = NULL);
+
+// the previous section used to be in the header as private members of the class
+// moved internal so external libraries don't need to deal with the dom stuff
+
+
+std::string cfxLoader::platformString( DEFAULT_CG_PLATFORM );
+
+//This function loads the binary file format for the material and effects libraries.
+cfxBool cfxLoader::loadMaterialsAndEffectsFromBinFile(const std::string& file, std::map<std::string, cfxMaterial*>& materials,
+ std::map<std::string, cfxEffect*>& effects, CGcontext _context )
+{
+ return cfxBinaryUtil::load( file, materials, effects, _context );
+}
+cfxBool cfxLoader::saveBinFile(const std::string& file, const std::map<std::string, cfxMaterial*>& materials,
+ const std::map<std::string, cfxEffect*>& effects, cfxBool replace )
+{
+ return cfxBinaryUtil::save( file, materials, effects, replace );
+}
+
+void cfxLoader::setBinaryLoadRemotePath( const std::string &path )
+{
+ cfxBinaryUtil::setRemotePath( path );
+}
+
+void cfxLoader::setPlatformString( const std::string &platform )
+{
+ platformString = platform;
+}
+
+std::string &cfxLoader::getPlatformString()
+{
+ return platformString;
+}
+
+ // this routine will load the materials and effects from a COLLADA file and populate the maps
+ // it will resolve the references from materials to effects
+ // passing a NULL context will create a new context for this effect
+cfxBool cfxLoader::loadMaterialsAndEffectsFromFile(const std::string& filename, std::map<std::string, cfxMaterial*>& materials,
+ std::map<std::string, cfxEffect*>& effects, CGcontext _context)
+{
+ // Instantiate the DAE object for the input file
+
+ DAE *input = new DAE;
+
+ // Load the COLLADA file
+
+ cfxPrint("loading %s\n", filename.c_str());
+
+ cfxError error = input->load(filename.c_str());
+ if (error != DAE_OK)
+ {
+ cfxPrint("load failed error: %s\n", daeErrorString(error));
+ return false;
+ }
+
+ cfxBool result = loadMaterialsAndEffects(input, materials, effects, _context);
+
+ // delete input;
+ // DAE::cleanup();
+
+ return result;
+}
+
+ // this routine will load the materials and effects and populate the maps
+ // it will resolve the references from materials to effects
+ // passing a NULL context will create a new context for this effect
+cfxBool cfxLoader::loadMaterialsAndEffects(DAE *colladaAsset, std::map<std::string, cfxMaterial*>& materials,
+ std::map<std::string, cfxEffect*>& effects, CGcontext _context)
+{
+ cfxBool resultEffects, resultMaterials;
+ resultEffects = loadEffects(colladaAsset, effects, _context);
+
+ if (resultEffects)
+ {
+ resultMaterials = loadMaterials(colladaAsset, materials, &effects);
+ }
+ else
+ {
+ resultMaterials = loadMaterials(colladaAsset, materials, NULL);
+ }
+
+ return (resultEffects && resultMaterials);
+}
+
+ // this routine will load the effects and populate the map
+ // passing a NULL context will create a new context for this effect
+cfxBool cfxLoader::loadEffects(DAE *colladaAsset, std::map<std::string, cfxEffect*>& effects, CGcontext _context)
+{
+ // How many effect elements are there?
+ cfxUint effectElementCount = (cfxUint) colladaAsset->getDatabase()->getElementCount(NULL, COLLADA_ELEMENT_EFFECT);
+ cfxPrint("There are %d effect elements in this file\n", effectElementCount);
+
+ if (effectElementCount > 0)
+ {
+ cgSetErrorCallback(cfxCgErrorCallback);
+
+ if (_context == NULL)
+ {
+ _context = cgCreateContext();
+ cgGLRegisterStates(_context);
+ }
+ }
+
+ // Loop over all the effect elements
+ for(cfxUint currentEffect = 0; currentEffect < effectElementCount; currentEffect++)
+ {
+ // Get the next effect element
+ domEffect *effectElement;
+ // is the cast to daeElement** needed? tsl
+// cfxError error = colladaAsset->getDatabase()->getElement((daeElement**)&effectElement,currentEffect, NULL, COLLADA_ELEMENT_EFFECT);
+ daeElement * element = 0;
+ cfxError error = colladaAsset->getDatabase()->getElement( &element,currentEffect, NULL, COLLADA_ELEMENT_EFFECT);
+ effectElement = (domEffect *) element;
+ // ERROR CHECK! !!!tsl i'm not sure this is the correct error check for this statement.
+ if (error != DAE_OK)
+ {
+ return false;
+ }
+
+ // currently using managed textures to ensure that the texture objects are
+ // on the correct texture unit where the program expects them to be.
+#ifndef _LIB
+ cgGLSetManageTextureParameters(_context, true);
+#endif
+
+ if( hasCGProfile( effectElement ) )
+ {
+
+ cfxPrint("Loading effect %d\n", currentEffect);
+
+ cfxEffect* effect = new cfxEffect(effectElement->getId(), _context);
+
+ // load all the parts at the effect scope
+ // <asset>
+ // <annotate>
+ // <import>
+ // <image>
+ // <newparam>
+ // <profile_*>
+ loadAnnotateArray(effectElement->getAnnotate_array(), effect, effect);
+ loadNewParamArray(effectElement->getNewparam_array(), effect, effect);
+ loadProfileArray(effectElement->getFx_profile_abstract_array(), effect);
+#ifndef _LIB
+ effect->apply();
+#endif
+
+ effects.insert(std::make_pair(effect->getName(), effect));
+
+ }
+ else
+ {
+ // An effect with no profiles creates an effect with a name but a zero effect pointers
+ // this can cause crashes later.
+ cfxPrint("*** Effect %d with id %s has NO CG profile, this may cause crashes if the effect is used\n",currentEffect, effectElement->getId());
+ }
+ }
+
+ return true;
+}
+
+ // this routine will load the materials and populate the material map
+ // if an effects map is provided it will resolve the references from materials to effects
+cfxBool cfxLoader::loadMaterials(DAE *colladaAsset, std::map<std::string, cfxMaterial*>& materials,
+ const std::map<std::string, cfxEffect*>* effects)
+{
+ // How many material elements are there?
+ cfxUint materialElementCount = (cfxUint) colladaAsset->getDatabase()->getElementCount(NULL, COLLADA_ELEMENT_MATERIAL);
+
+ cfxPrint("There are %d material elements in this file\n", materialElementCount);
+
+ // Loop over all the material elements
+ for(cfxUint currentMaterial = 0; currentMaterial < materialElementCount; currentMaterial++)
+ {
+ // Get the next material element
+ domMaterial *materialElement;
+ // is the cast to daeElement** needed? tsl
+// cfxError error = colladaAsset->getDatabase()->getElement((daeElement**)&materialElement,currentMaterial, NULL, COLLADA_ELEMENT_MATERIAL);
+ daeElement * element = 0;
+ cfxError error = colladaAsset->getDatabase()->getElement(&element,currentMaterial, NULL, COLLADA_ELEMENT_MATERIAL);
+ materialElement = (domMaterial*) element;
+ // ERROR CHECK! !!!tsl i'm not sure this is the correct error check for this statement.
+ if (error != DAE_OK)
+ {
+ return false;
+ }
+
+ domInstance_effect* instanceEffectElement = materialElement->getInstance_effect();
+
+ if ( !instanceEffectElement )
+ continue;
+
+ std::string effectId = instanceEffectElement->getUrl().getID();
+
+ cfxEffect* effect = NULL;
+
+ if (effects)
+ {
+ std::map<std::string, cfxEffect*>::const_iterator effectFinder = effects->find(effectId);
+ if (effectFinder != effects->end())
+ {
+ effect = effectFinder->second;
+ }
+ }
+
+ // skip this one if empty
+ if ( !effect )
+ continue;
+
+ cfxMaterial* material = new cfxMaterial(materialElement->getId(), effectId, effect);
+
+ cfxPrint("Created material %p name %s effect %s %p\n", material, materialElement->getName(), effectId.c_str(), effect);
+
+ // now extract the setparams
+ loadSetParamArray(instanceEffectElement->getSetparam_array(), material, effect, material);
+
+ materials.insert(std::make_pair(material->getName(), material));
+
+ }
+
+ return true;
+}
+
+
+
+cfxBool cfxLoader::loadFile(const std::string& file, std::vector<cfxEffect*>& effects, CGcontext _context)
+{
+
+ // Instantiate the DAE object for the input file
+
+ DAE *input = new DAE;
+
+ int error;
+
+ // Load the COLLADA file
+
+ cfxPrint("loading %s\n", file.c_str());
+
+ error = input->load(file.c_str());
+ if (error != DAE_OK)
+ {
+ //cerr<<"load failed "<<daeErrorString(error)<<"\n";
+ return false;
+ }
+
+ // How many effect elements are there?
+
+ unsigned int effectElementCount = input->getDatabase()->getElementCount(NULL, COLLADA_ELEMENT_EFFECT);
+
+ cfxPrint("There are %d effect elements in this file\n", effectElementCount);
+
+ if (effectElementCount > 0)
+ {
+ cgSetErrorCallback(cfxCgErrorCallback);
+
+ if (_context == NULL)
+ {
+ _context = cgCreateContext();
+ cgGLRegisterStates(_context);
+ }
+ }
+ // Loop over all the effect elements
+
+ for(unsigned int currentEffect = 0; currentEffect < effectElementCount; currentEffect++)
+ {
+ // Get the next effect element
+ domEffect *effectElement;
+ // is the cast to daeElement** needed? tsl
+// error = input->getDatabase()->getElement((daeElement**)&effectElement,currentEffect, NULL, COLLADA_ELEMENT_EFFECT);
+ daeElement * element = 0;
+ error = input->getDatabase()->getElement(&element,currentEffect, NULL, COLLADA_ELEMENT_EFFECT);
+ effectElement = (domEffect*) element;
+ // ERROR CHECK! !!!tsl i'm not sure this is the correct error check for this statement.
+ if (error != DAE_OK)
+ {
+ return false;
+ }
+
+ // currently using managed textures to ensure that the texture objects are
+ // on the correct texture unit where the program expects them to be.
+ cgGLSetManageTextureParameters(_context, true);
+
+ unsigned int profileCount = (unsigned int) effectElement->getFx_profile_abstract_array().getCount();
+ cfxPrint("effect %d with id %s has %d profiles\n", currentEffect, effectElement->getId(), profileCount);
+ if (profileCount > 0)
+ {
+
+ cfxPrint("Loading effect %d\n", currentEffect);
+
+ cfxEffect* effect = new cfxEffect(effectElement->getId(), _context);
+
+ // load all the parts at the effect scope
+ // <asset>
+ // <annotate>
+ // <import>
+ // <image>
+ // <newparam>
+ // <profile_*>
+ loadAnnotateArray(effectElement->getAnnotate_array(), effect, effect);
+ loadNewParamArray(effectElement->getNewparam_array(), effect, effect);
+ loadProfileArray(effectElement->getFx_profile_abstract_array(), effect);
+
+ cfxPrint("Done creating effect\n");
+
+ effects.push_back(effect);
+
+#ifndef _LIB
+ effect->apply();
+#endif
+ }
+ }
+
+ cfxPrint("Done resolving effect\n");
+
+ // delete input;
+ // DAE::cleanup();
+
+ return true;
+}
+
+
+
+void loadAnnotateArray(domFx_annotate_common_Array& annotateArrayElement, cfxAnnotatable* annotatable, cfxEffect* effect)
+{
+ // utilize annotatable class to create and push annotate into list
+ cfxUint annotateCount = (cfxUint) annotateArrayElement.getCount();
+
+ // loop over the annotate blocks
+ for (cfxUint currentAnnotate = 0; currentAnnotate < annotateCount; currentAnnotate++)
+ {
+ // this element has a name and the data as child elements
+ domFx_annotate_common* annotateElement = annotateArrayElement.get(currentAnnotate);
+
+ // then use the element which holds the actual values to make the data
+ cfxData* annotateData = cfxDataMaker::makeDataForAnnotate(annotateElement->getFx_annotate_type_common(), effect);
+
+ // make the annotate and push it into the array where it belongs
+ annotatable->pushAnnotate(new cfxAnnotate(annotateData, std::string(annotateElement->getName())));
+ }
+
+}
+
+
+/*
+ void cfxLoader::loadCodeArray(domFx_code_common_Array& codeArrayElement, cfxEffect* effect)
+ {
+ // code in the effect elements may be used by one or more techniques
+ int codeCount = codeArrayElement.getCount();
+ // loop over the code blocks
+ for (int currentCode = 0; currentCode < codeCount; currentCode++)
+ {
+ domFx_code_common* codeElement = codeArrayElement.get(currentCode);
+ // since we can't compile, perhaps value is not the right field... I think we want a file pointer to the fpo or vbo.
+ cfxCode* code = new cfxCode(effect, codeElement->getSid(), codeElement->getProfile(), codeElement->getValue());
+ effect->pushCode(code);
+ }
+
+ }
+*/
+
+
+namespace {
+ domFx_surface_init_from_common_Array* getInitFromArray(domFx_surface_common_complexType* surface) {
+ if (surface && surface->getFx_surface_init_common())
+ return &surface->getFx_surface_init_common()->getInit_from_array();
+ return NULL;
+ }
+}
+
+
+void loadNewParamArray(domFx_newparam_common_Array& newParamArrayElement, cfxParamable* paramable, cfxEffect* effect)
+{
+
+ // the newParam array contains parameters that are not in the shader code
+ cfxUint newParamCount = (cfxUint) newParamArrayElement.getCount();
+
+ // loop over the <newparam> objects, looking for <surface> params to extract.
+ for (cfxUint currentNewParam = 0; currentNewParam < newParamCount; currentNewParam++)
+ {
+ domFx_newparam_common* newParamElement = newParamArrayElement.get(currentNewParam);
+
+ domFx_basic_type_common* paramInitializer = newParamElement->getFx_basic_type_common();
+ std::string name = paramInitializer->getContents().get(0)->getTypeName();
+
+ if(name == "fx_surface_common")
+ {
+ std::string init_from;
+ domFx_surface_init_from_common_Array* initFromArray = getInitFromArray(paramInitializer->getSurface());
+ if (initFromArray && initFromArray->getCount() > 0)
+ init_from = initFromArray->get(0)->getValue().get(0).getID();
+ cfxSurface* surface = new cfxSurface(
+ init_from,
+ paramInitializer->getSurface()->getFormat()->getValue()
+ );
+ effect->addNamedSurface(newParamElement->getSid(), surface);
+ }
+ else
+ {
+ // then use the element which holds the actual values to make the data
+ cfxData* newParamData = cfxDataMaker::makeDataForParam(paramInitializer, effect);
+
+ if (newParamData)
+ {
+ //cfxPrint("Creating new param: %s\n", newParamElement->getSid());
+
+ // make the parameter and set the data in the param
+ std::string newParamSemantic;
+ if (newParamElement->getSemantic())
+ {
+ newParamSemantic = std::string(newParamElement->getSemantic()->getValue());
+ }
+
+ cfxNewParam* newParam = new cfxNewParam(newParamData, std::string(newParamElement->getSid()), effect, newParamSemantic);
+
+ // load the param's annotations
+ loadAnnotateArray(newParamElement->getAnnotate_array(), newParam, effect);
+
+ paramable->pushParam(newParam);
+ }
+ else
+ {
+ cfxPrint("Not creating new param because data was not made successfully: %s\n", newParamElement->getSid());
+ }
+
+ }
+ }
+
+}
+
+
+
+void loadNewParamArray(domCg_newparam_Array& newParamArrayElement, cfxParamable* paramable, cfxEffect* effect)
+{
+ // the newParam array contains parameters that are not in the shader code
+ cfxUint newParamCount = (cfxUint) newParamArrayElement.getCount();
+
+ // loop over the <newparam> objects, looking for <surface> params to extract.
+ for (cfxUint currentNewParam = 0; currentNewParam < newParamCount; currentNewParam++)
+ {
+ domCg_newparam* newParamElement = newParamArrayElement.get(currentNewParam);
+
+ domCg_param_type* paramInitializer = newParamElement->getCg_param_type();
+
+ if ( !paramInitializer )
+ continue;
+ std::string name = paramInitializer->getContents().get(0)->getTypeName();
+
+ //cfxPrint("newparam %d of %d, named %s\n", currentNewParam, newParamCount, name.c_str());
+
+ if(name == "cg_surface_type")
+ {
+ std::string init_from;
+ domFx_surface_init_from_common_Array* initFromArray = getInitFromArray(paramInitializer->getSurface());
+ if (initFromArray && initFromArray->getCount() > 0)
+ init_from = initFromArray->get(0)->getValue().get(0).getID();
+ cfxSurface* surface = new cfxSurface(
+ init_from,
+ paramInitializer->getSurface()->getFormat()->getValue()
+ );
+ effect->addNamedSurface(newParamElement->getSid(), surface);
+ }
+ else
+ {
+ // then use the element which holds the actual values to make the data
+ cfxData* newParamData = cfxDataMaker::makeDataForParam(paramInitializer, effect);
+
+ if (newParamData)
+ {
+ //cfxPrint("Creating new param: %s\n", newParamElement->getSid());
+
+ // make the parameter and set the data in the param
+ std::string newParamSemantic;
+ if (newParamElement->getSemantic())
+ {
+ newParamSemantic = std::string(newParamElement->getSemantic()->getValue());
+ }
+
+ cfxNewParam* newParam = new cfxNewParam(newParamData, std::string(newParamElement->getSid()), effect, newParamSemantic);
+
+ // load the param's annotations
+ loadAnnotateArray(newParamElement->getAnnotate_array(), newParam, effect);
+
+ paramable->pushParam(newParam);
+ }
+ else
+ {
+ cfxPrint("Not creating new param because data was not made successfully: %s\n", newParamElement->getSid());
+ }
+ }
+ }
+
+}
+
+
+void loadSetParamArray(domInstance_effect::domSetparam_Array& setParamArrayElement, cfxParamable* paramable, cfxEffect* effect, cfxMaterial* material)
+{
+ // these parameters don't need to be created
+ // they should exist already from shader code or newparam elements
+ cfxUint setParamCount = (cfxUint) setParamArrayElement.getCount();
+ // loop over the set params
+ for (cfxUint currentSetParam = 0; currentSetParam < setParamCount; currentSetParam++)
+ {
+ domInstance_effect::domSetparam* setParamElement = setParamArrayElement.get(currentSetParam);
+
+ domFx_basic_type_common* paramInitializer = setParamElement->getFx_basic_type_common();
+
+ if ( !paramInitializer )
+ continue;
+
+ std::string name = paramInitializer->getContents().get(0)->getTypeName();
+
+ if(name == "fx_surface_common")
+ {
+ std::string init_from;
+ domFx_surface_init_from_common_Array* initFromArray = getInitFromArray(paramInitializer->getSurface());
+
+ if (initFromArray && initFromArray->getCount() > 0)
+ init_from = initFromArray->get(0)->getValue().get(0).getID();
+ // lookup surface by name
+ cfxSurface* surface = effect->getSurfaceByName(setParamElement->getRef());
+ cfxSurface* newSurface = new cfxSurface(
+ init_from,
+ paramInitializer->getSurface()->getFormat()->getValue(),
+ surface
+ );
+ material->addSurface(newSurface);
+ cfxPrint("Material surface with parent: %s %p\n", init_from.c_str(), surface);
+ }
+ else
+ {
+ // then use the element which holds the actual values to make the data
+ cfxData* setParamData = cfxDataMaker::makeDataForParam(setParamElement->getFx_basic_type_common(), effect);
+
+ // make the parameter and set the data in the param
+ cfxSetParam* setParam = new cfxSetParam(setParamData, setParamElement->getRef(), effect);
+
+ paramable->pushParam(setParam);
+ }
+ }
+
+}
+
+
+void pushTechniqueInclude(cfxTechnique* technique, const char* includeSid, xsAnyURI &uri)
+{
+ char pathBuffer[1024];
+ cfxBool pathOK = uri.getPath(pathBuffer, 1024);
+ if (pathOK && includeSid)
+ {
+ technique->pushInclude(includeSid, pathBuffer);
+ }
+ else
+ {
+ cfxPrint("ERROR: problem with path, probably too long, include not being added\n");
+ }
+}
+
+
+void loadProfileArray(domFx_profile_abstract_Array& profileArrayElement, cfxEffect* effect)
+{
+ // at least one supported profile is needed for the effect to do anything
+ cfxUint profileCount = (cfxUint) profileArrayElement.getCount();
+
+ cfxPrint("found %d profiles\n", profileCount);
+
+ // loop over the profiles
+ for (cfxUint currentProfile = 0; currentProfile < profileCount; currentProfile++)
+ {
+ domFx_profile_abstract* profileElement = profileArrayElement.get(currentProfile);
+ daeString profileName = profileElement->getTypeName();
+
+ cfxPrint("profile %d named %s\n", currentProfile, profileName);
+
+ // cg profile support
+ if (strcmp(profileName, COLLADA_ELEMENT_PROFILE_CG) == 0)
+ {
+ // take the abstract profile and cast it to cg
+ // building with exceptions turned off so no rtti
+ // domProfile_CG* cgProfileElement = dynamic_cast<domProfile_CG*>(abstractProfileElement);
+ domProfile_CG* cgProfileElement = static_cast<domProfile_CG*>(profileElement);
+
+ daeString platformName = cgProfileElement->getPlatform();
+ cfxPrint("loadProfileArray(): platform %s\n", platformName);
+
+ // Check if this is the platform we are interested in
+ if (strcmp(platformName, cfxLoader::getPlatformString().c_str() ) == 0)
+ {
+ // !!!tsl tweaked parameters go into materials, so a whole thing needs to be added for proper support
+ // also, this adds newparam's to the effect, they should probably be added to the technique instead
+ cfxPrint("loadProfileArray():load newparams\n");
+ loadNewParamArray(cgProfileElement->getNewparam_array(), effect, effect);
+
+ cfxPrint("loadProfileArray():load technique\n");
+
+ // create and populate a cfxTechnique for every technique in the cg profile
+ cfxUint techniqueCount = (cfxUint) cgProfileElement->getTechnique_array().getCount();
+ // loop over the techniques
+ for (cfxUint currentTechnique = 0; currentTechnique < techniqueCount; currentTechnique++)
+ {
+ domProfile_CG::domTechnique* techniqueElement = cgProfileElement->getTechnique_array().get(currentTechnique);
+
+ // !!!tsl this should be updated to not check for null once sid is made a require attr in the schema
+ const char* techniqueSid = techniqueElement->getSid();
+
+ cfxPrint("technique %d\n", currentTechnique);
+
+ // create a cfxTechnique for every technique inside the cg profile
+ cfxTechnique* technique = new cfxTechnique(effect, techniqueSid ? techniqueSid : "");
+
+ // we don't do anything with code, mostly because we can't compile cg on ceb yet...
+
+ // includes are used to pair the name of the shader with its actual file name and path
+ // currently profile and technique are kind of rolled into one with cfxTechnique
+ // all the includes from both of these will be pushed onto each technique
+ // this is redundant and probably not the best representation
+ // it used to be fine when profile was inside technique but now this is reversed and is less appropriate
+
+ cfxUint includeCount = 0;
+
+ // loop over the includes for the profile and push them onto the technique
+ domFx_include_common_Array &profileIncludeArrayElem = cgProfileElement->getInclude_array();
+ includeCount = (cfxUint) profileIncludeArrayElem.getCount();
+ cfxPrint(".......profile..includeCount %d\n", includeCount);
+ for (cfxUint currentInclude = 0; currentInclude < includeCount; currentInclude++)
+ {
+ domFx_include_common* includeElement = profileIncludeArrayElem.get(currentInclude);
+ pushTechniqueInclude(technique, includeElement->getSid(), includeElement->getUrl());
+ }
+
+ // loop over the includes for the technique and push them onto the technique
+ domFx_include_common_Array &techniqueIncludeArrayElem = techniqueElement->getInclude_array();
+ includeCount = (cfxUint) techniqueIncludeArrayElem.getCount();
+ cfxPrint("........technique.includeCount %d\n", includeCount);
+ for (cfxUint currentInclude = 0; currentInclude < includeCount; currentInclude++)
+ {
+ domFx_include_common* includeElement = techniqueIncludeArrayElem.get(currentInclude);
+ pushTechniqueInclude(technique, includeElement->getSid(), includeElement->getUrl());
+ }
+
+
+ // beware, profile and technique params are cg_params
+ // these have way more type options and are currently unsupported
+ // all newparams currently must be in effect
+ // setparams are only valid on cg types, so their current implementation is useless until those types are added
+
+
+#if 0 // <surface> removed from <profile> and <technique> - now a <newparam> type
+ // surfaces and images, currently only supporting surfaces IF it uses an image
+ // all surfaces end up in the technique right now
+ pushTechniqueSurfaces(cgProfileElement->getSurface_array(), technique);
+ pushTechniqueSurfaces(techniqueElement->getSurface_array(), technique);
+#endif
+
+
+ // pass itself is ENORMOUS.
+ domProfile_CG::domTechnique::domPass_Array& passArrayElement = techniqueElement->getPass_array();
+ // at least one pass is needed for the technique to do anything
+ cfxUint passCount = (cfxUint) passArrayElement.getCount();
+ // loop over the passes
+ for (cfxUint currentPass = 0; currentPass < passCount; currentPass++)
+ {
+ cfxPrint("Here is a pass!\n");
+
+ domProfile_CG::domTechnique::domPass* passElement = passArrayElement.get(currentPass);
+
+ // This should be a name, is Sid OK?
+ cfxPass* pass = new cfxPass(technique, std::string(passElement->getSid()));
+
+ // why is this not an array? it should be.
+ // passElement->elemAnnotate
+ // should be
+ // loadAnnotateArray(passElement->getAnnotate_array(), setParam);
+
+
+ // what is the meaning of these targets
+ // passElement->elemColortarget_array
+ // passElement->elemDepthstenciltarget_array
+ // passElement->elemClearcolor_array
+ // passElement->elemCleardepth_array
+ // passElement->elemClearstencil_array
+
+ // now for drawing... that isn't cgfx... does it fit here???
+ // passElement->elemDraw_array
+
+ // handle the gl pipeline settings
+ domGl_pipeline_settings_Array& glPipeSettingsArrayElement = passElement->getGl_pipeline_settings_array();
+ cfxUint glPipeSettingsCount = (cfxUint) glPipeSettingsArrayElement.getCount();
+ // loop over the gl pipeline settings
+ for (cfxUint currentGlPipeSettings = 0; currentGlPipeSettings < glPipeSettingsCount; currentGlPipeSettings++)
+ {
+ domGl_pipeline_settings* glPipeSettingElement = glPipeSettingsArrayElement.get(currentGlPipeSettings);
+
+ cfxGlPipelineSetting* setting = cfxGlPipelineSettingMaker::makeGlPipelineSetting(pass, glPipeSettingElement);
+ pass->pushSetting(setting);
+
+ // use the meta again to get the class name
+ // this definitely will be another map lookup to find another maker
+ // just like data i think... only they can apply their own settings.
+
+ }
+
+ // more cg setparams... where do these get applied???
+ // passElement->elemSetParam_array
+
+ // now the shaders
+ domProfile_CG::domTechnique::domPass::domShader_Array& shaderArrayElement = passElement->getShader_array();
+
+ // at least one shader is needed for the pass to do anything
+ cfxUint shaderCount = (cfxUint) shaderArrayElement.getCount();
+ // loop over the shaders
+ for (cfxUint currentShader = 0; currentShader < shaderCount; currentShader++)
+ {
+ domProfile_CG::domTechnique::domPass::domShader* shaderElement = shaderArrayElement.get(currentShader);
+
+ domCg_pipeline_stage stage = shaderElement->getStage();
+
+ cfxShader* shader = NULL;
+
+ // use source (attrib of name) to match the include, may need to check for NULL
+ if (stage == CG_PIPELINE_STAGE_VERTEX)
+ {
+#ifndef _LIB
+ shader = new cfxShader(pass, std::string(shaderElement->getName()->getSource()),
+ std::string(shaderElement->getName()->getValue()), cgGLGetLatestProfile(CG_GL_VERTEX), cfxShader::VERTEX);
+#else
+ shader = new cfxShader(pass, std::string(shaderElement->getName()->getSource()),
+ std::string(shaderElement->getName()->getValue()), CG_PROFILE_UNKNOWN, cfxShader::VERTEX);
+#endif
+ }
+
+ else //if (stage == CG_PIPELINE_STAGE_FRAGMENT)
+ {
+#ifndef _LIB
+ shader = new cfxShader(pass, std::string(shaderElement->getName()->getSource()),
+ std::string(shaderElement->getName()->getValue()), cgGLGetLatestProfile(CG_GL_FRAGMENT), cfxShader::FRAGMENT);
+#else
+ shader = new cfxShader(pass, std::string(shaderElement->getName()->getSource()),
+ std::string(shaderElement->getName()->getValue()), CG_PROFILE_UNKNOWN, cfxShader::FRAGMENT);
+#endif
+ }
+
+ // load the shader's annotations
+ loadAnnotateArray(shaderElement->getAnnotate_array(), shader, effect);
+
+
+ // load the shader's parameters
+ domProfile_CG::domTechnique::domPass::domShader::domBind_Array& bindArrayElement = shaderElement->getBind_array();
+
+ cfxUint bindCount = (cfxUint) bindArrayElement.getCount();
+ // loop over the bindings
+ for (cfxUint currentBind = 0; currentBind < bindCount; currentBind++)
+ {
+ domProfile_CG::domTechnique::domPass::domShader::domBind* bindElement = bindArrayElement.get(currentBind);
+ cfxParam* param;
+
+ // choose whether bind to param or value based on contents
+ daeElement* content = bindElement->getContents().get(0);
+ std::string dataTypeName = std::string(content->getTypeName());
+
+ if (dataTypeName == std::string(COLLADA_ELEMENT_PARAM))
+ {
+ param = new cfxConnectParam(bindElement->getSymbol(), shader, bindElement->getParam()->getRef());
+ //cfxPrint("param = %x\n", param);
+ }
+ else
+ {
+ // !!!tsl still have to add support for building data from all the cg types
+ cfxData* data = NULL; //cfxDataMaker::makeDataForParam(bindElement->getCg_param_type(), effect);
+ param = new cfxBindParam(bindElement->getSymbol(), shader, data);
+ }
+
+ shader->pushParam(param);
+ }
+
+ pass->pushShader(shader);
+ }
+ technique->pushPass(pass);
+ }
+ effect->pushTechnique(technique);
+
+ }
+ }
+ }
+ }
+
+}
+
+bool hasCGProfile( domEffect *effect )
+{
+ cfxUint profileCount = (cfxUint) effect->getFx_profile_abstract_array().getCount();
+
+ // loop over the profiles
+ for (cfxUint currentProfile = 0; currentProfile < profileCount; currentProfile++)
+ {
+ domFx_profile_abstract* profileElement = effect->getFx_profile_abstract_array().get(currentProfile);
+ daeString profileName = profileElement->getTypeName();
+
+ // cg profile support
+ if (strcmp(profileName, COLLADA_ELEMENT_PROFILE_CG) == 0)
+ {
+ return true;
+ }
+ }
+ return false;
+}
+
diff --git a/1.4.0/fx/src/cfxMaterial.cpp b/1.4.0/fx/src/cfxMaterial.cpp
new file mode 100644
index 0000000..2c4a7ad
--- /dev/null
+++ b/1.4.0/fx/src/cfxMaterial.cpp
@@ -0,0 +1,152 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+// System includes
+
+#include <stdlib.h>
+#include <assert.h>
+#include <stdio.h>
+
+// User includes
+
+#include <cfxMaterial.h>
+#include <cfxEffect.h>
+#include <cfxParam.h>
+#include <cfxSetParam.h>
+#include <cfxSurface.h>
+#include <cfxPlatform.h>
+#include <cfxData.h>
+
+
+// cfxMaterial
+cfxMaterial::cfxMaterial(const std::string& _name, const std::string& _effectName,
+ cfxEffect* _effect)
+ : name(_name),
+ effectName(_effectName),
+ effect(_effect)
+{
+}
+cfxMaterial::~cfxMaterial()
+{
+ for (size_t i=0; i< surfaces.size(); i++)
+ {
+ delete surfaces[i];
+ }
+ surfaces.clear();
+
+ for ( size_t i = 0; i < paramArray.size(); ++i )
+ {
+ cfxSetParam* item = (cfxSetParam*)paramArray[i];
+ delete item->getData();
+ delete paramArray[i];
+ }
+ paramArray.clear();
+}
+
+const std::string& cfxMaterial::getName() const
+{
+ return name;
+}
+
+cfxEffect* cfxMaterial::getEffect() const
+{
+ return effect;
+}
+
+bool cfxMaterial::setParameterValues()
+{
+ if (effect)
+ {
+ std::vector<cfxParam*>::iterator paramIter = paramArray.begin();
+ while (paramIter != paramArray.end())
+ {
+ (*paramIter)->apply();
+ paramIter++;
+ }
+ std::vector<cfxSurface*>::iterator surfaceIter = surfaces.begin();
+ while (surfaceIter != surfaces.end())
+ {
+ (*surfaceIter)->apply();
+ surfaceIter++;
+ }
+ return true;
+ }
+ else
+ {
+ cfxPrint("Can not setParameterValues with NULL effect for material %s effect %s\n", name.c_str(), effectName.c_str());
+ return false;
+ }
+}
+
+
+void cfxMaterial::setEffectPassState(unsigned int techniqueIndex, unsigned int passIndex)
+{
+ if (effect)
+ {
+ effect->setPassState(techniqueIndex, passIndex);
+ }
+ else
+ {
+ cfxPrint("Can not setPassState with NULL effect for material %s effect %s\n", name.c_str(), effectName.c_str());
+ }
+}
+
+
+void cfxMaterial::resetEffectPassState(unsigned int techniqueIndex, unsigned int passIndex)
+{
+ if (effect)
+ {
+ effect->resetPassState(techniqueIndex, passIndex);
+ }
+ else
+ {
+ cfxPrint("Can not resetPassState with NULL effect for material %s effect %s\n", name.c_str(), effectName.c_str());
+ }
+}
+
+
+unsigned int cfxMaterial::getEffectTechniqueCount()
+{
+ if (effect)
+ {
+ return effect->getTechniqueCount();
+ }
+ else
+ {
+ cfxPrint("Can not getEffectTechniqueCount with NULL effect for material %s effect %s\n", name.c_str(), effectName.c_str());
+ return 0;
+ }
+}
+
+
+unsigned int cfxMaterial::getEffectPassCount(unsigned int techniqueIndex)
+{
+ if (effect)
+ {
+ return effect->getPassCount(techniqueIndex);
+ }
+ else
+ {
+ cfxPrint("Can not getEffectPassCount with NULL effect for material %s effect %s\n", name.c_str(), effectName.c_str());
+ return 0;
+ }
+}
+
+const std::string &cfxMaterial::getEffectName() const
+{
+ return effectName;
+}
+
+void cfxMaterial::addSurface(cfxSurface* surface)
+{
+ surfaces.push_back(surface);
+}
+
+const std::vector<cfxSurface*> &cfxMaterial::getSurfaces() const
+{
+ return surfaces;
+}
diff --git a/1.4.0/fx/src/cfxNewParam.cpp b/1.4.0/fx/src/cfxNewParam.cpp
new file mode 100644
index 0000000..7c2711f
--- /dev/null
+++ b/1.4.0/fx/src/cfxNewParam.cpp
@@ -0,0 +1,90 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+// System includes
+#include <cfxPlatform.h>
+#include <stdio.h>
+#include <cstdlib>
+#include <iostream>
+
+// User includes
+
+#include <cfxNewParam.h>
+#include <cfxData.h>
+#include <cfxEffect.h>
+#include <cfxAnnotate.h>
+#include <cfxEffect.h>
+#include <cfxPlatform.h>
+
+// cfxNewparam
+cfxNewParam::cfxNewParam(cfxData* _data, const std::string& _name, cfxEffect* _effect,
+ const std::string& _semantic)
+ : cfxParam(_name),
+ effect(_effect),
+ data(_data),
+ semantic(_semantic)
+{
+ // ideally, data should always exist, but if the type isn't supported yet, it might be handy not to segfault
+ if (data)
+ {
+ parameter = cgCreateEffectParameter(effect->getEffect(), name.c_str(), data->getType());
+ }
+
+ // this is temporary until cg api gets upgraded to set effect parameter names
+ effect->addNamedParameter(name, parameter);
+
+ cfxPrint("New param %s %p\n", name.c_str(), parameter);
+
+ if (!semantic.empty())
+ {
+ // !!!tsl whoa, this is unimplemented too?!
+ cgSetParameterSemantic(parameter, semantic.c_str());
+ // this is temporary until cg api gets upgraded to set parameter semantics
+ effect->addSemanticParameter(semantic, parameter);
+ }
+
+
+}
+
+bool cfxNewParam::apply()
+{
+ std::vector<cfxAnnotate*>::iterator annotateIter = annotateArray.begin();
+ while (annotateIter != annotateArray.end())
+ {
+ (*annotateIter)->apply(this);
+ annotateIter++;
+ }
+
+ //cfxPrint("setting the data for parameter: %s\n", name.c_str());
+ // ideally, data should always exist, but if the type isn't supported yet, it might be handy not to segfault
+ if (data)
+ {
+ data->apply(this);
+ }
+
+ return true;
+}
+
+bool cfxNewParam::validate() const
+{
+ return true;
+}
+
+cfxParam::cfxParamTypeEnum cfxNewParam::getType() const
+{
+ return cfxParam::CFXNEWPARAM;
+}
+
+const std::string &cfxNewParam::getSemantic() const
+{
+ return semantic;
+}
+
+const cfxData *cfxNewParam::getData() const
+{
+ return data;
+}
diff --git a/1.4.0/fx/src/cfxParam.cpp b/1.4.0/fx/src/cfxParam.cpp
new file mode 100644
index 0000000..6705768
--- /dev/null
+++ b/1.4.0/fx/src/cfxParam.cpp
@@ -0,0 +1,38 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+// System includes
+
+#include <stdio.h>
+
+// User includes
+
+#include <cfxParam.h>
+
+
+// cfxParam
+cfxParam::cfxParam(const std::string& _name)
+ : name(_name)
+{
+}
+
+cfxParam::~cfxParam()
+{
+}
+
+CGparameter cfxParam::getParameter() const
+{
+ return parameter;
+}
+
+const std::string &cfxParam::getName() const
+{
+ return name;
+}
+
+
+
diff --git a/1.4.0/fx/src/cfxParamable.cpp b/1.4.0/fx/src/cfxParamable.cpp
new file mode 100644
index 0000000..528e8e9
--- /dev/null
+++ b/1.4.0/fx/src/cfxParamable.cpp
@@ -0,0 +1,30 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+// User includes
+
+#include <cfxParamable.h>
+
+
+// cfxParamable
+cfxParamable::cfxParamable()
+{
+}
+
+cfxParamable::~cfxParamable()
+{
+}
+
+void cfxParamable::pushParam(cfxParam* param)
+{
+ paramArray.push_back(param);
+}
+
+const std::vector<cfxParam*> &cfxParamable::getParamArray() const
+{
+ return paramArray;
+}
diff --git a/1.4.0/fx/src/cfxPass.cpp b/1.4.0/fx/src/cfxPass.cpp
new file mode 100644
index 0000000..f22a195
--- /dev/null
+++ b/1.4.0/fx/src/cfxPass.cpp
@@ -0,0 +1,104 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+// System includes
+
+#include <stdio.h>
+#include <cstdlib>
+#include <iostream>
+
+// User includes
+
+#include <cfxPass.h>
+#include <cfxAnnotate.h>
+#include <cfxShader.h>
+#include <cfxTechnique.h>
+#include <cfxGlPipelineSetting.h>
+
+
+// cfxPass
+cfxPass::cfxPass(cfxTechnique* _technique, const std::string& _name)
+ : technique(_technique),
+ name(_name)
+{
+ pass = cgCreatePass(technique->getTechnique(), name.c_str());
+}
+cfxPass::~cfxPass()
+{
+ while (!settingArray.empty())
+ {
+ delete(settingArray[0]);
+ settingArray.erase(settingArray.begin());
+ }
+
+ while (!shaderArray.empty())
+ {
+ delete(shaderArray[0]);
+ shaderArray.erase(shaderArray.begin());
+ }
+
+}
+bool cfxPass::apply()
+{
+ std::vector<cfxGlPipelineSetting*>::iterator settingIter = settingArray.begin();
+ while (settingIter != settingArray.end())
+ {
+ (*settingIter)->apply();
+ settingIter++;
+ }
+
+ std::vector<cfxShader*>::iterator shaderIter = shaderArray.begin();
+ while (shaderIter != shaderArray.end())
+ {
+ (*shaderIter)->apply();
+ shaderIter++;
+ }
+
+ return true;
+}
+
+bool cfxPass::validate() const
+{
+ return true;
+}
+
+void cfxPass::pushSetting(cfxGlPipelineSetting* setting)
+{
+ settingArray.push_back(setting);
+ printf("setting pushed onto pass\n");
+}
+
+void cfxPass::pushShader(cfxShader* shader)
+{
+ shaderArray.push_back(shader);
+ printf("shader pushed onto pass\n");
+}
+
+cfxTechnique* cfxPass::getTechnique() const
+{
+ return technique;
+}
+
+CGpass cfxPass::getPass() const
+{
+ return pass;
+}
+
+const std::string &cfxPass::getName() const
+{
+ return name;
+}
+
+const std::vector<cfxGlPipelineSetting*> &cfxPass::getSettingArray() const
+{
+ return settingArray;
+}
+
+const std::vector<cfxShader*> &cfxPass::getShaderArray() const
+{
+ return shaderArray;
+}
diff --git a/1.4.0/fx/src/cfxSampler.cpp b/1.4.0/fx/src/cfxSampler.cpp
new file mode 100644
index 0000000..f97e31e
--- /dev/null
+++ b/1.4.0/fx/src/cfxSampler.cpp
@@ -0,0 +1,137 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+// System includes
+
+#include <stdio.h>
+
+// User includes
+
+#include <cfxSampler.h>
+#include <cfxEffect.h>
+#include <cfxParam.h>
+#include <cfxSurface.h>
+#include <cfxGlSamplerSetting.h>
+#include <cfxPlatform.h>
+
+// cfxSampler
+cfxSampler::cfxSampler(const std::string& _source, cfxEffect* _effect)
+ : source(_source),
+ textureId(0),
+ effect(_effect),
+ surface(NULL),
+ generateMipmaps(true)
+{
+}
+
+cfxSampler::~cfxSampler()
+{
+ while (!settingArray.empty())
+ {
+ delete(settingArray[0]);
+ settingArray.erase(settingArray.begin());
+ }
+}
+
+bool cfxSampler::apply(cfxParam* param)
+{
+ // lookup source for the matching surface;
+ if (surface == NULL)
+ {
+ surface = effect->getSurfaceByName(source);
+
+ // only go through this if the surface is newly initialized
+ // this will update the textureId
+ // bind the texture and initialize the sampler states
+ // generate mipmaps if needed
+ if (surface)
+ {
+ surface->addReferencingParam(param);
+
+ const std::string surfaceSource = surface->getInitFrom();
+ //cfxPrint("Found surface init from %p %s\n", surface, surfaceSource.c_str());
+
+ // get the texture object from the surface that is its source, or if that can't be found
+ // just try using texture 1 as the default which is definitely not the solution but may
+ // be interesting until this feature is fully supported
+
+ // the mechanism to pair a texture with a surface for use by a parameter is in place.
+ // the support for loading textures, as would probably be done by the surface is out
+ // of the scope of this library. this is something that needs to exist
+ // in a lower layer that can do resource management. this is something that
+ // needs to exist in a layer that allows this other aspect of resource management.
+
+ // this uses a static map (which has its own set of disadvantages) from surface to lookup
+ // texture ids from images that were loaded elsewhere and pushed into cfx
+ textureId = cfxSurface::getTexIdByImageId(surfaceSource);
+
+ if (textureId > 0)
+ {
+ //cfxPrint("Set sampler state\n");
+ // this works on the currently bound texture object
+ // not important which texture unit is used, we just need to use one to
+ // allow cgSetSamplerState() to work properly.
+ cfxPrint("going to bind %d\n", textureId);
+ glBindTexture(GL_TEXTURE_2D, textureId);
+
+ // apply the state settings
+ std::vector<cfxGlSamplerSetting*>::iterator settingIter = settingArray.begin();
+ while (settingIter != settingArray.end())
+ {
+ (*settingIter)->apply(param);
+ settingIter++;
+ }
+
+ // calling this before generate mipmaps is better cause then the call
+ // to generate mipmaps already has the space set up for it to use
+ cgSetSamplerState(param->getParameter());
+
+ if (generateMipmaps)
+ {
+#ifdef SN_TARGET_PS3
+ glGenerateMipmapOES(GL_TEXTURE_2D);
+#endif
+ }
+ }
+ else
+ {
+ cfxPrint("Texture not found for surface: %s\n", surfaceSource.c_str());
+ return false;
+ }
+ }
+ }
+
+ return true;
+}
+
+
+GLuint cfxSampler::getTextureId() //const
+{
+ textureId = cfxSurface::getTexIdByImageId(surface->getInitFrom());
+ return textureId;
+}
+
+
+void cfxSampler::pushSetting(cfxGlSamplerSetting* setting)
+{
+ settingArray.push_back(setting);
+}
+
+void cfxSampler::setGenerateMipmaps(bool _generateMipmaps)
+{
+ generateMipmaps = _generateMipmaps;
+}
+
+const std::string &cfxSampler::getSource() const
+{
+ return source;
+}
+
+const std::vector<cfxGlSamplerSetting*> &cfxSampler::getSettingArray() const
+{
+ return settingArray;
+}
diff --git a/1.4.0/fx/src/cfxSetParam.cpp b/1.4.0/fx/src/cfxSetParam.cpp
new file mode 100644
index 0000000..19f3d95
--- /dev/null
+++ b/1.4.0/fx/src/cfxSetParam.cpp
@@ -0,0 +1,74 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+// System includes
+
+#include <stdio.h>
+#include <cstdlib>
+#include <iostream>
+
+//#ifndef _LIB
+#include <Cg/cg.h>
+//#else
+//#include <cfxNoCg.h>
+//#endif
+
+// User includes
+
+#include <cfxSetParam.h>
+#include <cfxEffect.h>
+#include <cfxData.h>
+
+
+// cfxSetparam
+cfxSetParam::cfxSetParam(cfxData* _data, const std::string& _name, cfxEffect* _effect)
+ : cfxParam(_name),
+ effect(_effect),
+ data(_data)
+{
+ if (effect)
+ {
+ // !!!tsl this isn't supported properly yet
+ //parameter = cgGetNamedEffectParameter(effect->getEffect(), name.c_str());
+
+ // this allows params created in the effect to be set later
+ parameter = effect->getParameterByName(name);
+
+ printf("setparam created: %s %p\n", name.c_str(), parameter);
+ }
+ else
+ {
+ printf("setparam created but NULL effect so can not get effect parameter to set: %s\n", name.c_str());
+ }
+}
+
+bool cfxSetParam::apply()
+{
+
+ if (data && getParameter())
+ {
+ data->apply(this);
+ }
+
+ return true;
+}
+
+bool cfxSetParam::validate() const
+{
+ return true;
+}
+
+cfxParam::cfxParamTypeEnum cfxSetParam::getType() const
+{
+ return cfxParam::CFXSETPARAM;
+}
+
+const cfxData *cfxSetParam::getData() const
+{
+ return data;
+}
+
diff --git a/1.4.0/fx/src/cfxShader.cpp b/1.4.0/fx/src/cfxShader.cpp
new file mode 100644
index 0000000..4b3b124
--- /dev/null
+++ b/1.4.0/fx/src/cfxShader.cpp
@@ -0,0 +1,150 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+// System includes
+
+#include <stdio.h>
+#include <cfxPlatform.h>
+// User includes
+
+#include <cfxTypes.h>
+#include <cfxShader.h>
+#include <cfxAnnotate.h>
+#include <cfxParam.h>
+#include <cfxPass.h>
+#include <cfxTechnique.h>
+#include <cfxEffect.h>
+
+
+
+// cfxShader
+cfxShader::cfxShader(cfxPass* _pass, const std::string& _source, const std::string& _name, CGprofile _target, type_enum type)
+ : pass(_pass),
+ source(_source),
+ name(_name),
+ target(_target)
+{
+ originalType = type;
+ program = NULL;
+ const char* fullPath = pass->getTechnique()->mapNameToFullPath(source);
+
+ if (fullPath)
+ {
+#ifndef _LIB
+#ifdef NORMAL_OS
+
+ // this needs to cope with absolute paths being returned beginning with a / according to URI RFC
+ std::string adjustedFullPath(fullPath, 1, strlen(fullPath));
+
+ printf("program %s at %s has value: %p\n", source.c_str(), fullPath, program);
+ printf(" adjustedFullPath.c_str() %s \n", adjustedFullPath.c_str());
+ // this needs cg files, not cgfx
+ program = cgCreateProgramFromFile(pass->getTechnique()->getEffect()->getContext(), CG_FILE_TYPE, adjustedFullPath.c_str(), target /*profile*/, name.c_str(), NULL);
+
+ printf("program %s at %s has value: %p\n", source.c_str(), fullPath, program);
+#else
+ unsigned int numCg = 0;
+ unsigned int indexCg = 0;
+ fullPath = pass->getTechnique()->getFullPathCg(numCg, indexCg);
+
+ printf("NORMAL_OS 0: PROGRAM %s at %s %s %d\n", source.c_str(), fullPath, name.c_str(), (int)target);
+ //printf("cgGLGetLatestProfile(CG_GL_VERTEX) vs %d cgGLGetLatestProfile(CG_GL_FRAGMENT) %d \n",
+ // cgGLGetLatestProfile(CG_GL_VERTEX), cgGLGetLatestProfile(CG_GL_FRAGMENT) );
+
+ program = cgCreateProgramFromFile(pass->getTechnique()->getEffect()->getContext(), CG_SOURCE, fullPath, target, name.c_str(), NULL);
+
+ printf ("Cg program load successfull\n" );
+#endif
+#endif
+ if (program)
+ {
+ if (target == cgGLGetLatestProfile( CG_GL_VERTEX ))
+ {
+ printf("vertex program %s\n", source.c_str());
+ state = cgGetNamedState(pass->getTechnique()->getEffect()->getContext(), "VertexProgram");
+ }
+ else if (target == cgGLGetLatestProfile( CG_GL_FRAGMENT ))
+ {
+ printf("fragment program %s\n", source.c_str());
+ state = cgGetNamedState(pass->getTechnique()->getEffect()->getContext(), "FragmentProgram");
+ }
+ else
+ {
+ printf("ERROR. Unsupported target profile.\n");
+ }
+
+
+ assignment = cgCreateStateAssignment(pass->getPass(), state);
+
+ cgSetProgramStateAssignment(assignment, program);
+ }
+ else
+ {
+ printf("program could not be created: %s\n", fullPath);
+ }
+ }
+ else
+ {
+ printf("ERROR: program name not found: %s\n", source.c_str());
+ }
+}
+
+cfxShader::~cfxShader()
+{
+ for (size_t i=0; i<paramArray.size(); i++)
+ {
+ //cfxPrint("paramArray[i] = %x\n", paramArray[i]);
+ delete paramArray[i];
+ }
+ paramArray.clear();
+}
+bool cfxShader::apply()
+{
+ std::vector<cfxParam*>::iterator paramIter = paramArray.begin();
+ while (paramIter != paramArray.end())
+ {
+ (*paramIter)->apply();
+ paramIter++;
+ }
+
+ return true;
+}
+
+bool cfxShader::validate() const
+{
+ return true;
+}
+
+cfxPass* cfxShader::getPass() const
+{
+ return pass;
+}
+
+CGprogram cfxShader::getProgram() const
+{
+ return program;
+}
+
+const std::string &cfxShader::getName() const
+{
+ return name;
+}
+
+const std::string &cfxShader::getSource() const
+{
+ return source;
+}
+
+const CGprofile &cfxShader::getTarget() const
+{
+ return target;
+}
+
+cfxShader::type_enum cfxShader::getOriginalType() const
+{
+ return originalType;
+}
diff --git a/1.4.0/fx/src/cfxSurface.cpp b/1.4.0/fx/src/cfxSurface.cpp
new file mode 100644
index 0000000..a6581ed
--- /dev/null
+++ b/1.4.0/fx/src/cfxSurface.cpp
@@ -0,0 +1,121 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+// System includes
+
+#include <stdio.h>
+#include <cstdlib>
+#include <iostream>
+
+// User includes
+
+#include <cfxSurface.h>
+#include <cfxPlatform.h>
+#include <cfxParam.h>
+
+// cfxSurface
+cfxSurface::cfxSurface(const std::string& _init_from, const std::string& _format, cfxSurface* _parentSurface)
+ : init_from(_init_from),
+ format(_format),
+ parentSurface(_parentSurface)
+{
+ cfxPrint("Surface created from: %s\n", init_from.c_str());
+}
+cfxSurface::~cfxSurface()
+{
+ for (size_t i=0; i<referencingParams.size(); i++)
+ {
+ delete referencingParams[i];
+ }
+ referencingParams.clear();
+ //mapImageIdToGlTextureObjectId.clear();
+}
+
+bool cfxSurface::apply()
+{
+ if (parentSurface)
+ {
+ parentSurface->setSurface(init_from, format);
+ parentSurface->apply();
+ }
+ else // this is the parent surface
+ {
+ // this goes through and calls apply on all the params which reference this surface
+ // this causes them to update their init_from and texture object to support setparam of surfaces
+ std::vector<cfxParam*>::iterator iter = referencingParams.begin();
+ while (iter != referencingParams.end())
+ {
+ (*iter)->apply();
+ iter++;
+ }
+ }
+ return true;
+}
+
+bool cfxSurface::validate() const
+{
+ return true;
+}
+
+
+const std::string& cfxSurface::getInitFrom() const
+{
+ return init_from;
+}
+
+const std::string& cfxSurface::getFormat() const
+{
+ return format;
+}
+
+void cfxSurface::addReferencingParam(cfxParam* param)
+{
+ if (param)
+ {
+ referencingParams.push_back(param);
+ }
+}
+
+void cfxSurface::setSurface(const std::string& _init_from, const std::string& _format)
+{
+ format = _format;
+ init_from = _init_from;
+}
+
+std::map<std::string, GLuint> cfxSurface::mapImageIdToGlTextureObjectId;
+
+GLuint cfxSurface::defaultTexture = 0;
+
+
+void cfxSurface::addImage(const std::string& imageId, GLuint texId)
+{
+ mapImageIdToGlTextureObjectId.insert(make_pair(imageId, texId));
+ cfxPrint("cfxSurface::addImage %s %d\n", imageId.c_str(), texId);
+}
+
+GLuint cfxSurface::getTexIdByImageId(const std::string& imageId)
+{
+ GLuint texId = defaultTexture;
+ std::map<std::string, GLuint>::iterator iter = mapImageIdToGlTextureObjectId.find(imageId);
+ if (iter != mapImageIdToGlTextureObjectId.end())
+ {
+ texId = iter->second;
+ }
+ //cfxPrint("cfxSurface::getTexIdByImageId: %s %d\n", imageId.c_str(), texId);
+ return texId;
+}
+
+
+void cfxSurface::setDefaultTexture(GLuint texId)
+{
+ defaultTexture = texId;
+}
+
+const cfxSurface* cfxSurface::getParentSurface() const
+{
+ return parentSurface;
+}
diff --git a/1.4.0/fx/src/cfxTechnique.cpp b/1.4.0/fx/src/cfxTechnique.cpp
new file mode 100644
index 0000000..cfc29ed
--- /dev/null
+++ b/1.4.0/fx/src/cfxTechnique.cpp
@@ -0,0 +1,184 @@
+/*
+* Copyright 2006 Sony Computer Entertainment Inc.
+*
+* Licensed under the MIT Open Source License, for details please see license.txt or the website
+* http://www.opensource.org/licenses/mit-license.php
+*
+*/
+// System includes
+
+#include <stdio.h>
+#include <cstdlib>
+#include <iostream>
+
+// User includes
+
+#include <cfxTechnique.h>
+#include <cfxEffect.h>
+#include <cfxAnnotate.h>
+#include <cfxPass.h>
+#include <cfxSurface.h>
+
+
+
+cfxTechnique::cfxTechnique(cfxEffect* _effect, const std::string& _name)
+ : effect(_effect),
+ name(_name)
+{
+ technique = cgCreateTechnique(effect->getEffect(), name.c_str());
+}
+
+cfxTechnique::~cfxTechnique()
+{
+ for (size_t i=0; i<codeArray.size(); i++)
+ {
+ delete codeArray[i];
+ }
+ codeArray.clear();
+
+ includeMap.clear();
+
+ for (size_t i=0; i<passArray.size(); i++)
+ {
+ delete passArray[i];
+ }
+ passArray.clear();
+
+ for (size_t i=0; i<surfaceArray.size(); i++)
+ {
+ delete surfaceArray[i];
+ }
+ surfaceArray.clear();
+}
+
+bool cfxTechnique::apply()
+{
+ std::vector<cfxAnnotate*>::iterator annotateIter = annotateArray.begin();
+ while (annotateIter != annotateArray.end())
+ {
+ (*annotateIter)->apply(this);
+ annotateIter++;
+ }
+
+ std::vector<cfxPass*>::iterator passIter = passArray.begin();
+ while (passIter != passArray.end())
+ {
+ (*passIter)->apply();
+ passIter++;
+ }
+
+ return true;
+}
+
+bool cfxTechnique::validate() const
+{
+ return true;
+}
+
+cfxEffect* cfxTechnique::getEffect() const
+{
+ return effect;
+}
+
+CGtechnique cfxTechnique::getTechnique() const
+{
+ return technique;
+}
+
+const char* cfxTechnique::mapNameToFullPath(const std::string& name) const
+{
+ std::map<std::string, std::string>::const_iterator includeIter = includeMap.find(name);
+ if (includeIter == includeMap.end())
+ return NULL;
+ return includeIter->second.c_str();
+}
+
+
+const char* cfxTechnique::getFullPathCg(unsigned int& numCg, unsigned int indexCg) const
+{
+ const char* fullpath = NULL;
+ numCg = 0;
+ std::map<std::string, std::string>::const_iterator includeIter = includeMap.begin();
+ while (includeIter != includeMap.end())
+ {
+ const std::string& testpath = includeIter->second;
+ if (((testpath.at(testpath.length()-3) == '.') && (testpath.at(testpath.length()-2) == 'c') && (testpath.at(testpath.length()-1) == 'g')) ||
+ ((testpath.at(testpath.length()-5) == '.') && (testpath.at(testpath.length()-4) == 'c') && (testpath.at(testpath.length()-3) == 'g') && (testpath.at(testpath.length()-2) == 'f') && (testpath.at(testpath.length()-1) == 'x')))
+ {
+ if (numCg == indexCg)
+ {
+ fullpath = testpath.c_str();
+ }
+ numCg++;
+ }
+ includeIter++;
+ }
+ return fullpath;
+}
+
+
+void cfxTechnique::pushPass(cfxPass* pass)
+{
+ passArray.push_back(pass);
+}
+
+
+void cfxTechnique::pushInclude(const std::string& name, const std::string& uri)
+{
+ includeMap.insert(make_pair(name, uri));
+ printf("inserting pair into include map: %s %s\n", name.c_str(), uri.c_str());
+}
+
+
+void cfxTechnique::pushSurface(cfxSurface* surface)
+{
+ surfaceArray.push_back(surface);
+}
+
+void cfxTechnique::setPassState(unsigned int passIndex)
+{
+ if (passIndex >= passArray.size())
+ {
+ printf("ERROR: passIndex invalid: %d\n", passIndex);
+ return;
+ }
+
+ cgSetPassState(passArray[passIndex]->getPass());
+}
+
+
+void cfxTechnique::resetPassState(unsigned int passIndex)
+{
+ if (passIndex >= passArray.size())
+ {
+ printf("ERROR: passIndex invalid: %d\n", passIndex);
+ return;
+ }
+
+ cgResetPassState(passArray[passIndex]->getPass());
+}
+
+
+unsigned int cfxTechnique::getPassCount() const
+{
+ return (unsigned int)(passArray.size());
+}
+
+const std::map<std::string, std::string> &cfxTechnique::getIncludeMap() const
+{
+ return includeMap;
+}
+
+const std::vector<cfxSurface*> &cfxTechnique::getSurfaceArray() const
+{
+ return surfaceArray;
+}
+const std::string &cfxTechnique::getName() const
+{
+ return name;
+}
+
+const std::vector<cfxPass*> &cfxTechnique::getPassArray() const
+{
+ return passArray;
+}
diff --git a/1.4.0/qt_attribution.json b/1.4.0/qt_attribution.json
new file mode 100644
index 0000000..0961bdf
--- /dev/null
+++ b/1.4.0/qt_attribution.json
@@ -0,0 +1,74 @@
+[
+ {
+ "Id": "colladadom",
+ "Name": "ColladaDOM",
+ "QDocModule": "qt3dstudio",
+ "QtUsage": "Used by Qt3DStudio Studio component.",
+
+ "Description": "The COLLADA Document Object Model (DOM) is an application programming interface (API) that provides a C++ object representation of a COLLADA XML instance document.",
+ "Homepage": "https://www.khronos.org/collada/wiki/COLLADA_DOM",
+ "License": "MIT Open Source License",
+ "LicenseId": "MIT",
+ "LicenseFile": "dom/license.txt",
+ "Copyright": "Copyright 2006 Sony Computer Entertainment Inc."
+ },
+ {
+ "Id": "boost",
+ "Name": "Boost",
+ "QDocModule": "qt3dstudio",
+ "QtUsage": "Used by Qt3DStudio, both Studio and Runtime components.",
+
+ "Description": "Collection of C++ libraries.",
+ "Homepage": "http://www.boost.org/",
+ "License": "Boost Software License",
+ "LicenseId": "BSL-1.0",
+ "Copyright": " Copyright 1997- Boost contributors"
+ },
+ {
+ "Id": "pcre",
+ "Name": "PCRE",
+ "QDocModule": "qt3dstudio",
+ "QtUsage": "Used by Qt3DStudio Studio and Runtime components.",
+
+ "Description": "The PCRE library is a set of functions that implement regular expression pattern matching using the same syntax and semantics as Perl 5.",
+ "Homepage": "http://www.pcre.org/",
+ "License": "BSD 3-clause \"New\" or \"Revised\" License",
+ "LicenseId": "BSD-3-Clause",
+ "Copyright": " Copyright (c) 1997-2008 University of Cambridge. Copyright (c) 2007-2008, Google Inc."
+ },
+ {
+ "Id": "libxml",
+ "Name": "LibXML",
+ "QDocModule": "qt3dstudio",
+ "QtUsage": "Used by ColladaDOM which in turn is used by Qt3DStudio Studio component.",
+
+ "Description": "Libxml2 is the XML C parser and toolkit.",
+ "License": "MIT License",
+ "LicenseId": "MIT",
+ "Copyright": "Copyright (c) 2005 libxml2"
+ },
+ {
+ "Id": "devil",
+ "Name": "DevIL",
+ "QDocModule": "qt3dstudio",
+ "QtUsage": "Used by ColladaDOM which in turn is used by Qt3DStudio Studio component.",
+
+ "Description": "Cross-platform image library.",
+ "Version": "1.6.8",
+ "License": "GNU lesser public domain license 2.1",
+ "LicenseId": "LGPL-2.1",
+ "Copyright": "Numerous Copyrights (many authors)"
+ },
+ {
+ "Id": "bullet",
+ "Name": "Bullet",
+ "QDocModule": "qt3dstudio",
+ "QtUsage": "Used by ColladaDOM which in turn is used by Qt3DStudio Studio component.",
+
+ "Description": "Continuous Collision Detection and Physics Library.",
+ "Homepage": "http://continuousphysics.com/Bullet/",
+ "License": "ZLib license",
+ "LicenseId": "ZLib",
+ "Copyright": "Copyright (c) 2003-2006 Erwin Coumans"
+ }
+]
diff --git a/ColladaDOM.pri b/ColladaDOM.pri
new file mode 100644
index 0000000..b6c65e7
--- /dev/null
+++ b/ColladaDOM.pri
@@ -0,0 +1,206 @@
+SOURCES += \
+ 1.4.0/dom/src/dae/dae.cpp \
+ 1.4.0/dom/src/dae/daeArray.cpp \
+ 1.4.0/dom/src/dae/daeAtomicType.cpp \
+ 1.4.0/dom/src/dae/daeDatabase.cpp \
+ 1.4.0/dom/src/dae/daeDocument.cpp \
+ 1.4.0/dom/src/dae/daeDom.cpp \
+ 1.4.0/dom/src/dae/daeElement.cpp \
+ 1.4.0/dom/src/dae/daeError.cpp \
+ 1.4.0/dom/src/dae/daeErrorHandler.cpp \
+ 1.4.0/dom/src/dae/daeIDRef.cpp \
+ 1.4.0/dom/src/dae/daeIOPluginCommon.cpp \
+ 1.4.0/dom/src/dae/daeMemorySystem.cpp \
+ 1.4.0/dom/src/dae/daeMetaAny.cpp \
+ 1.4.0/dom/src/dae/daeMetaAttribute.cpp \
+ 1.4.0/dom/src/dae/daeMetaChoice.cpp \
+ 1.4.0/dom/src/dae/daeMetaCMPolicy.cpp \
+ 1.4.0/dom/src/dae/daeMetaElement.cpp \
+ 1.4.0/dom/src/dae/daeMetaElementAttribute.cpp \
+ 1.4.0/dom/src/dae/daeMetaGroup.cpp \
+ 1.4.0/dom/src/dae/daeMetaSequence.cpp \
+ 1.4.0/dom/src/dae/daeRawResolver.cpp \
+ 1.4.0/dom/src/dae/daeRefCountedObj.cpp \
+ 1.4.0/dom/src/dae/daeSIDResolver.cpp \
+ 1.4.0/dom/src/dae/daeStandardURIResolver.cpp \
+ 1.4.0/dom/src/dae/daeStringRef.cpp \
+ 1.4.0/dom/src/dae/daeStringTable.cpp \
+ 1.4.0/dom/src/dae/daeTinyXMLPlugin.cpp \
+ 1.4.0/dom/src/dae/daeURI.cpp \
+ 1.4.0/dom/src/dae/daeUtils.cpp \
+ 1.4.0/dom/src/dae/daeZAEUncompressHandler.cpp \
+ 1.4.0/dom/src/1.4/dom/domAccessor.cpp \
+ 1.4.0/dom/src/1.4/dom/domAnimation.cpp \
+ 1.4.0/dom/src/1.4/dom/domAnimation_clip.cpp \
+ 1.4.0/dom/src/1.4/dom/domAny.cpp \
+ 1.4.0/dom/src/1.4/dom/domAsset.cpp \
+ 1.4.0/dom/src/1.4/dom/domBind_material.cpp \
+ 1.4.0/dom/src/1.4/dom/domBool_array.cpp \
+ 1.4.0/dom/src/1.4/dom/domBox.cpp \
+ 1.4.0/dom/src/1.4/dom/domCamera.cpp \
+ 1.4.0/dom/src/1.4/dom/domCapsule.cpp \
+ 1.4.0/dom/src/1.4/dom/domCg_connect_param.cpp \
+ 1.4.0/dom/src/1.4/dom/domCg_newarray_type.cpp \
+ 1.4.0/dom/src/1.4/dom/domCg_newparam.cpp \
+ 1.4.0/dom/src/1.4/dom/domCg_param_type.cpp \
+ 1.4.0/dom/src/1.4/dom/domCg_sampler1D.cpp \
+ 1.4.0/dom/src/1.4/dom/domCg_sampler2D.cpp \
+ 1.4.0/dom/src/1.4/dom/domCg_sampler3D.cpp \
+ 1.4.0/dom/src/1.4/dom/domCg_samplerCUBE.cpp \
+ 1.4.0/dom/src/1.4/dom/domCg_samplerDEPTH.cpp \
+ 1.4.0/dom/src/1.4/dom/domCg_samplerRECT.cpp \
+ 1.4.0/dom/src/1.4/dom/domCg_setarray_type.cpp \
+ 1.4.0/dom/src/1.4/dom/domCg_setparam.cpp \
+ 1.4.0/dom/src/1.4/dom/domCg_setparam_simple.cpp \
+ 1.4.0/dom/src/1.4/dom/domCg_setuser_type.cpp \
+ 1.4.0/dom/src/1.4/dom/domCg_surface_type.cpp \
+ 1.4.0/dom/src/1.4/dom/domChannel.cpp \
+ 1.4.0/dom/src/1.4/dom/domCOLLADA.cpp \
+ 1.4.0/dom/src/1.4/dom/domCommon_color_or_texture_type.cpp \
+ 1.4.0/dom/src/1.4/dom/domCommon_float_or_param_type.cpp \
+ 1.4.0/dom/src/1.4/dom/domCommon_newparam_type.cpp \
+ 1.4.0/dom/src/1.4/dom/domCommon_transparent_type.cpp \
+ 1.4.0/dom/src/1.4/dom/domConstants.cpp \
+ 1.4.0/dom/src/1.4/dom/domController.cpp \
+ 1.4.0/dom/src/1.4/dom/domConvex_mesh.cpp \
+ 1.4.0/dom/src/1.4/dom/domCylinder.cpp \
+ 1.4.0/dom/src/1.4/dom/domEffect.cpp \
+ 1.4.0/dom/src/1.4/dom/domEllipsoid.cpp \
+ 1.4.0/dom/src/1.4/dom/domExtra.cpp \
+ 1.4.0/dom/src/1.4/dom/domFloat_array.cpp \
+ 1.4.0/dom/src/1.4/dom/domForce_field.cpp \
+ 1.4.0/dom/src/1.4/dom/domFx_annotate_common.cpp \
+ 1.4.0/dom/src/1.4/dom/domFx_annotate_type_common.cpp \
+ 1.4.0/dom/src/1.4/dom/domFx_basic_type_common.cpp \
+ 1.4.0/dom/src/1.4/dom/domFx_clearcolor_common.cpp \
+ 1.4.0/dom/src/1.4/dom/domFx_cleardepth_common.cpp \
+ 1.4.0/dom/src/1.4/dom/domFx_clearstencil_common.cpp \
+ 1.4.0/dom/src/1.4/dom/domFx_code_profile.cpp \
+ 1.4.0/dom/src/1.4/dom/domFx_colortarget_common.cpp \
+ 1.4.0/dom/src/1.4/dom/domFx_depthtarget_common.cpp \
+ 1.4.0/dom/src/1.4/dom/domFx_include_common.cpp \
+ 1.4.0/dom/src/1.4/dom/domFx_newparam_common.cpp \
+ 1.4.0/dom/src/1.4/dom/domFx_profile_abstract.cpp \
+ 1.4.0/dom/src/1.4/dom/domFx_sampler1D_common.cpp \
+ 1.4.0/dom/src/1.4/dom/domFx_sampler2D_common.cpp \
+ 1.4.0/dom/src/1.4/dom/domFx_sampler3D_common.cpp \
+ 1.4.0/dom/src/1.4/dom/domFx_samplerCUBE_common.cpp \
+ 1.4.0/dom/src/1.4/dom/domFx_samplerDEPTH_common.cpp \
+ 1.4.0/dom/src/1.4/dom/domFx_samplerRECT_common.cpp \
+ 1.4.0/dom/src/1.4/dom/domFx_stenciltarget_common.cpp \
+ 1.4.0/dom/src/1.4/dom/domFx_surface_common.cpp \
+ 1.4.0/dom/src/1.4/dom/domFx_surface_format_hint_common.cpp \
+ 1.4.0/dom/src/1.4/dom/domFx_surface_init_common.cpp \
+ 1.4.0/dom/src/1.4/dom/domFx_surface_init_cube_common.cpp \
+ 1.4.0/dom/src/1.4/dom/domFx_surface_init_from_common.cpp \
+ 1.4.0/dom/src/1.4/dom/domFx_surface_init_planar_common.cpp \
+ 1.4.0/dom/src/1.4/dom/domFx_surface_init_volume_common.cpp \
+ 1.4.0/dom/src/1.4/dom/domGeometry.cpp \
+ 1.4.0/dom/src/1.4/dom/domGles_basic_type_common.cpp \
+ 1.4.0/dom/src/1.4/dom/domGles_newparam.cpp \
+ 1.4.0/dom/src/1.4/dom/domGles_pipeline_settings.cpp \
+ 1.4.0/dom/src/1.4/dom/domGles_sampler_state.cpp \
+ 1.4.0/dom/src/1.4/dom/domGles_texcombiner_argumentAlpha_type.cpp \
+ 1.4.0/dom/src/1.4/dom/domGles_texcombiner_argumentRGB_type.cpp \
+ 1.4.0/dom/src/1.4/dom/domGles_texcombiner_commandAlpha_type.cpp \
+ 1.4.0/dom/src/1.4/dom/domGles_texcombiner_commandRGB_type.cpp \
+ 1.4.0/dom/src/1.4/dom/domGles_texcombiner_command_type.cpp \
+ 1.4.0/dom/src/1.4/dom/domGles_texenv_command_type.cpp \
+ 1.4.0/dom/src/1.4/dom/domGles_texture_constant_type.cpp \
+ 1.4.0/dom/src/1.4/dom/domGles_texture_pipeline.cpp \
+ 1.4.0/dom/src/1.4/dom/domGles_texture_unit.cpp \
+ 1.4.0/dom/src/1.4/dom/domGlsl_newarray_type.cpp \
+ 1.4.0/dom/src/1.4/dom/domGlsl_newparam.cpp \
+ 1.4.0/dom/src/1.4/dom/domGlsl_param_type.cpp \
+ 1.4.0/dom/src/1.4/dom/domGlsl_setarray_type.cpp \
+ 1.4.0/dom/src/1.4/dom/domGlsl_setparam.cpp \
+ 1.4.0/dom/src/1.4/dom/domGlsl_setparam_simple.cpp \
+ 1.4.0/dom/src/1.4/dom/domGlsl_surface_type.cpp \
+ 1.4.0/dom/src/1.4/dom/domGl_hook_abstract.cpp \
+ 1.4.0/dom/src/1.4/dom/domGl_pipeline_settings.cpp \
+ 1.4.0/dom/src/1.4/dom/domGl_sampler1D.cpp \
+ 1.4.0/dom/src/1.4/dom/domGl_sampler2D.cpp \
+ 1.4.0/dom/src/1.4/dom/domGl_sampler3D.cpp \
+ 1.4.0/dom/src/1.4/dom/domGl_samplerCUBE.cpp \
+ 1.4.0/dom/src/1.4/dom/domGl_samplerDEPTH.cpp \
+ 1.4.0/dom/src/1.4/dom/domGl_samplerRECT.cpp \
+ 1.4.0/dom/src/1.4/dom/domIDREF_array.cpp \
+ 1.4.0/dom/src/1.4/dom/domImage.cpp \
+ 1.4.0/dom/src/1.4/dom/domInputGlobal.cpp \
+ 1.4.0/dom/src/1.4/dom/domInputLocal.cpp \
+ 1.4.0/dom/src/1.4/dom/domInputLocalOffset.cpp \
+ 1.4.0/dom/src/1.4/dom/domInstanceWithExtra.cpp \
+ 1.4.0/dom/src/1.4/dom/domInstance_camera.cpp \
+ 1.4.0/dom/src/1.4/dom/domInstance_controller.cpp \
+ 1.4.0/dom/src/1.4/dom/domInstance_effect.cpp \
+ 1.4.0/dom/src/1.4/dom/domInstance_force_field.cpp \
+ 1.4.0/dom/src/1.4/dom/domInstance_geometry.cpp \
+ 1.4.0/dom/src/1.4/dom/domInstance_light.cpp \
+ 1.4.0/dom/src/1.4/dom/domInstance_material.cpp \
+ 1.4.0/dom/src/1.4/dom/domInstance_node.cpp \
+ 1.4.0/dom/src/1.4/dom/domInstance_physics_material.cpp \
+ 1.4.0/dom/src/1.4/dom/domInstance_physics_model.cpp \
+ 1.4.0/dom/src/1.4/dom/domInstance_rigid_body.cpp \
+ 1.4.0/dom/src/1.4/dom/domInstance_rigid_constraint.cpp \
+ 1.4.0/dom/src/1.4/dom/domInt_array.cpp \
+ 1.4.0/dom/src/1.4/dom/domLibrary_animations.cpp \
+ 1.4.0/dom/src/1.4/dom/domLibrary_animation_clips.cpp \
+ 1.4.0/dom/src/1.4/dom/domLibrary_cameras.cpp \
+ 1.4.0/dom/src/1.4/dom/domLibrary_controllers.cpp \
+ 1.4.0/dom/src/1.4/dom/domLibrary_effects.cpp \
+ 1.4.0/dom/src/1.4/dom/domLibrary_force_fields.cpp \
+ 1.4.0/dom/src/1.4/dom/domLibrary_geometries.cpp \
+ 1.4.0/dom/src/1.4/dom/domLibrary_images.cpp \
+ 1.4.0/dom/src/1.4/dom/domLibrary_lights.cpp \
+ 1.4.0/dom/src/1.4/dom/domLibrary_materials.cpp \
+ 1.4.0/dom/src/1.4/dom/domLibrary_nodes.cpp \
+ 1.4.0/dom/src/1.4/dom/domLibrary_physics_materials.cpp \
+ 1.4.0/dom/src/1.4/dom/domLibrary_physics_models.cpp \
+ 1.4.0/dom/src/1.4/dom/domLibrary_physics_scenes.cpp \
+ 1.4.0/dom/src/1.4/dom/domLibrary_visual_scenes.cpp \
+ 1.4.0/dom/src/1.4/dom/domLight.cpp \
+ 1.4.0/dom/src/1.4/dom/domLines.cpp \
+ 1.4.0/dom/src/1.4/dom/domLinestrips.cpp \
+ 1.4.0/dom/src/1.4/dom/domLookat.cpp \
+ 1.4.0/dom/src/1.4/dom/domMaterial.cpp \
+ 1.4.0/dom/src/1.4/dom/domMatrix.cpp \
+ 1.4.0/dom/src/1.4/dom/domMesh.cpp \
+ 1.4.0/dom/src/1.4/dom/domMorph.cpp \
+ 1.4.0/dom/src/1.4/dom/domName_array.cpp \
+ 1.4.0/dom/src/1.4/dom/domNode.cpp \
+ 1.4.0/dom/src/1.4/dom/domP.cpp \
+ 1.4.0/dom/src/1.4/dom/domParam.cpp \
+ 1.4.0/dom/src/1.4/dom/domPhysics_material.cpp \
+ 1.4.0/dom/src/1.4/dom/domPhysics_model.cpp \
+ 1.4.0/dom/src/1.4/dom/domPhysics_scene.cpp \
+ 1.4.0/dom/src/1.4/dom/domPlane.cpp \
+ 1.4.0/dom/src/1.4/dom/domPolygons.cpp \
+ 1.4.0/dom/src/1.4/dom/domPolylist.cpp \
+ 1.4.0/dom/src/1.4/dom/domProfile_CG.cpp \
+ 1.4.0/dom/src/1.4/dom/domProfile_COMMON.cpp \
+ 1.4.0/dom/src/1.4/dom/domProfile_GLES.cpp \
+ 1.4.0/dom/src/1.4/dom/domProfile_GLSL.cpp \
+ 1.4.0/dom/src/1.4/dom/domRigid_body.cpp \
+ 1.4.0/dom/src/1.4/dom/domRigid_constraint.cpp \
+ 1.4.0/dom/src/1.4/dom/domRotate.cpp \
+ 1.4.0/dom/src/1.4/dom/domSampler.cpp \
+ 1.4.0/dom/src/1.4/dom/domScale.cpp \
+ 1.4.0/dom/src/1.4/dom/domSkew.cpp \
+ 1.4.0/dom/src/1.4/dom/domSkin.cpp \
+ 1.4.0/dom/src/1.4/dom/domSource.cpp \
+ 1.4.0/dom/src/1.4/dom/domSphere.cpp \
+ 1.4.0/dom/src/1.4/dom/domSpline.cpp \
+ 1.4.0/dom/src/1.4/dom/domTapered_capsule.cpp \
+ 1.4.0/dom/src/1.4/dom/domTapered_cylinder.cpp \
+ 1.4.0/dom/src/1.4/dom/domTargetableFloat.cpp \
+ 1.4.0/dom/src/1.4/dom/domTargetableFloat3.cpp \
+ 1.4.0/dom/src/1.4/dom/domTechnique.cpp \
+ 1.4.0/dom/src/1.4/dom/domTranslate.cpp \
+ 1.4.0/dom/src/1.4/dom/domTriangles.cpp \
+ 1.4.0/dom/src/1.4/dom/domTrifans.cpp \
+ 1.4.0/dom/src/1.4/dom/domTristrips.cpp \
+ 1.4.0/dom/src/1.4/dom/domTypes.cpp \
+ 1.4.0/dom/src/1.4/dom/domVertices.cpp \
+ 1.4.0/dom/src/1.4/dom/domVisual_scene.cpp \
+ 1.4.0/dom/src/modules/STLDatabase/daeSTLDatabase.cpp \
+ 1.4.0/dom/src/modules/stdErrPlugin/stdErrPlugin.cpp
diff --git a/ColladaDOM.pro b/ColladaDOM.pro
new file mode 100644
index 0000000..51ad492
--- /dev/null
+++ b/ColladaDOM.pro
@@ -0,0 +1,19 @@
+TARGET = ColladaDOM
+include($$PWD/../../commonplatform.pri)
+CONFIG += staticlib
+DEFINES += HAVE_CONFIG_H DOM_INCLUDE_TINYXML PCRE_STATIC BOOST_ALL_NO_LIB \
+ NO_ZAE COLLADA_DOM_SUPPORT141 DOM_DYNAMIC DOM_EXPORT
+win32 {
+ QMAKE_LFLAGS += /NODEFAULTLIB:tinyxml.lib
+}
+
+INCLUDEPATH += \
+ ../pcre/8.31 \
+ TinyXML/2.5.3 \
+ 1.4.0/dom/include
+
+include(ColladaDOM.pri)
+
+load(qt_helper_lib)
+
+CONFIG += exceptions
diff --git a/TinyXML/2.5.3/changes.txt b/TinyXML/2.5.3/changes.txt
new file mode 100644
index 0000000..4075fd6
--- /dev/null
+++ b/TinyXML/2.5.3/changes.txt
@@ -0,0 +1,269 @@
+Changes in version 1.0.1:
+- Fixed comment tags which were outputing as '<?--' instead of
+ the correct '<!--'.
+- Implemented the Next and Prev methods of the TiXmlAttribute class.
+- Renamed 'LastAttribtute' to 'LastAttribute'
+- Fixed bad pointer to 'isspace' that could occur while parsing text.
+- Errors finding beginning and end of tags no longer throw it into an
+ infinite loop. (Hopefully.)
+
+Changes in version 1.0.2
+- Minor documentation fixes.
+
+Changes in version 1.0.3
+- After nodes are added to a document, they return a pointer
+ to the new node instead of a bool for success.
+- Elements can be constructed with a value, which is the
+ element name. Every element must have a value or it will be
+ invalid, but the code changes to enforce this are not fully
+ in place.
+
+Changes in version 1.1.0
+- Added the TiXmlAttributeSet class to pull the attributes into
+ a seperate container.
+- Moved the doubly liked list out of XmlBase. Now XmlBase only
+ requires the Print() function and defines some utility functions.
+- Moved errors into a seperate file. (With the idea of internationalization
+ to the other latin-1 languages.)
+- Added the "NodeType"
+- Fixed white space parsing in text to conform with the standard.
+ Basically, all white space becomes just one space.
+- Added the TiXmlDeclaration class to read xml declarations.
+
+Changes in version 1.2.0
+- Removed the factory. The factory was not really in the spirit
+ of small and simple, confused the code, and was of limited value.
+- Added FirstChildElement and NextSiblingElement, because they
+ are such common functions.
+- Re-wrote the example to test and demonstrate more functionality.
+
+Changes in version 1.2.1
+- Fixed a bug where comments couldn't be inside elements.
+- Loading now clears out existing XML rather than appending.
+- Added the "Clear" method on a node to delete all its children.
+
+Changes in version 1.2.2
+- Fixed TiXmlAttribute::Previous actually returning "next." Thanks
+ to Rickard Troedsson for the bug fix.
+
+Changes in version 1.2.3
+- Added the TIXML prefix to the error strings to resolve conflicts
+ with #defines in OS headers. Thanks to Steve Lhomme.
+- Fixed a delete buf that should be a delete [] buf.
+ Thanks to Ephi Sinowitz.
+
+Changes in version 1.2.4
+- ReplaceChild() was almost guarenteed to fail. Should be fixed,
+ thanks to Joe Smith. Joe also pointed out that the Print() functions
+ should take stream references: I agree, and would like to overload
+ the Print() method to take either format, but I don't want to do
+ this in a dot release.
+- Some compilers seem to need an extra <ctype.h> include. Thanks
+ to Steve Lhomme for that.
+
+Changes in version 2.0.0 BETA
+- Made the ToXXX() casts safe if 'this' is null.
+ When "LoadFile" is called with a filename, the value will correctly get set.
+ Thanks to Brian Yoder.
+- Fixed bug where isalpha() and isalnum() would get called with a negative value for
+ high ascii numbers. Thanks to Alesky Aksenov.
+- Fixed some errors codes that were not getting set.
+- Made methods "const" that were not.
+- Added a switch to enable or disable the ignoring of white space. ( TiXmlDocument::SetIgnoreWhiteSpace() )
+- Greater standardization and code re-use in the parser.
+- Added a stream out operator.
+- Added a stream in operator.
+- Entity support, of predefined entites. &#x entities are untouched by input or output.
+- Improved text out formatting.
+- Fixed ReplaceChild bug, thanks to Tao Chen.
+
+Changes in version 2.0.1
+- Fixed hanging on loading a 0 length file. Thanks to Jeff Scozzafava.
+- Fixed crashing on InsertBeforeChild and InsertAfterChild. Also possibility of bad links being
+ created by same function. Thanks to Frank De prins.
+- Added missing licence text. Thanks to Lars Willemsens.
+- Added <ctype.h> include, at the suggestion of Steve Walters.
+
+Changes in version 2.1.0
+- Yves Berquin brings us the STL switch. The forum on SourceForge, and various emails to
+ me, have long debated all out STL vs. no STL at all. And now you can have it both ways.
+ TinyXml will compile either way.
+
+Changes in version 2.1.1
+- Compilation warnings.
+
+Changes in version 2.1.2
+- Uneeded code is not compiled in the STL case.
+- Changed headers so that STL can be turned on or off in tinyxml.h
+
+Changes in version 2.1.3
+- Fixed non-const reference in API; now uses a pointer.
+- Copy constructor of TiXmlString not checking for assignment to self.
+- Nimrod Cohen found a truly evil bug in the STL implementation that occurs
+ when a string is converted to a c_str and then assigned to self. Search for
+ STL_STRING_BUG for a full description. I'm asserting this is a Microsoft STL
+ bug, since &string and string.c_str() should never be the same. Nevertheless,
+ the code works around it.
+- Urivan Saaib pointed out a compiler conflict, where the C headers define
+ the isblank macro, which was wiping out the TiXmlString::isblank() method.
+ The method was unused and has been removed.
+
+Changes in version 2.1.4
+- Reworked the entity code. Entities were not correctly surving round trip input and output.
+ Will now automatically create entities for high ascii in output.
+
+Changes in version 2.1.5
+- Bug fix by kylotan : infinite loop on some input (tinyxmlparser.cpp rev 1.27)
+- Contributed by Ivica Aracic (bytelord) : 1 new VC++ project to compile versions as static libraries (tinyxml_lib.dsp),
+ and an example usage in xmltest.dsp
+ (Patch request ID 678605)
+- A suggestion by Ronald Fenner Jr (dormlock) to add #include <istream> and <ostream> for Apple's Project Builder
+ (Patch request ID 697642)
+- A patch from ohommes that allows to parse correctly dots in element names and attribute names
+ (Patch request 602600 and kylotan 701728)
+- A patch from hermitgeek ( James ) and wasteland for improper error reporting
+- Reviewed by Lee, with the following changes:
+ - Got sick of fighting the STL/non-STL thing in the windows build. Broke
+ them out as seperate projects.
+ - I have too long not included the dsw. Added.
+ - TinyXmlText had a protected Print. Odd.
+ - Made LinkEndChild public, with docs and appropriate warnings.
+ - Updated the docs.
+
+2.2.0
+- Fixed an uninitialized pointer in the TiXmlAttributes
+- Fixed STL compilation problem in MinGW (and gcc 3?) - thanks Brian Yoder for finding this one
+- Fixed a syntax error in TiXmlDeclaration - thanks Brian Yoder
+- Fletcher Dunn proposed and submitted new error handling that tracked the row and column. Lee
+ modified it to not have performance impact.
+- General cleanup suggestions from Fletcher Dunn.
+- In error handling, general errors will no longer clear the error state of specific ones.
+- Fix error in documentation : comments starting with "<?--" instead of "<!--" (thanks ion_pulse)
+- Added the TiXmlHandle. An easy, safe way to browse XML DOMs with less code.
+- Added QueryAttribute calls which have better error messaging. (Proposed by Fletcher Dunn)
+- Nodes and attributes can now print themselves to strings. (Yves suggestion)
+- Fixed bug where entities with one character would confuse parser. (Thanks Roman)
+
+2.2.1
+- Additional testing (no more bugs found to be fixed in this release)
+- Significant performance improvement to the cursor code.
+
+2.3.0
+- User Data are now defined in TiXmlBase instead of TiXmlNode
+- Character Entities are now UCS-2
+- Character Entities can be decimal or hexadecimal
+- UTF-8 conversion.
+- Fixed many, many bugs.
+
+2.3.1
+- Fixed bug in handling nulls embedded in the input.
+- Make UTF-8 parser tolerant of bad text encoding.
+- Added encoding detection.
+- Many fixes and input from John-Philip Leonard Johansson (JP) and Ellers,
+ including UTF-8 feedback, bug reports, and patches. Thanks!
+- Added version # constants - a suggestion from JP and Ellers.
+- [ 979180 ] Missing ; in entity reference, fix from Rob Laveaux.
+- Copy constructors and assignment have been a long time coming. Thanks to
+ Fokke and JP.
+
+2.3.2
+- Made the IsAlpha and IsAlphaNum much more tolerant of non-UTF-8 encodings. Thanks
+ Volker Boerchers for finding the issue.
+- Ran the program though the magnificent Valgrind - http://valgrind.kde.org - to check
+ for memory errors. Fixed some minor issues.
+
+2.3.3
+- Fixed crash when test program was run from incorrect directory.
+- Fixed bug 1070717 - empty document not returned correctly - thanks Katsuhisa Yuasa.
+- Bug 1079301 resolved - deprecated stdlib calls. Thanks Adrian Boeing.
+- Bug 1035218 fixed - documentation errors. Xunji Luo
+- Other bug fixes have accumulated and been fixed on the way as well; my apologies to
+ authors not credited!
+- Big fix / addition is to correctly return const values. TinyXml could basically
+ remove const in a method like this: TiXmlElement* Foo() const, where the returned element
+ was a pointer to internal data. That is now: const TiXmlElement* Foo() const and
+ TiXmlElement* Foo().
+
+2.3.4
+- Fixed additional const errors, thanks Kent Gibson.
+- Correctly re-enable warnings after tinyxml header. Thanks Cory Nelson.
+- Variety of type cleanup and warning fixes. Thanks Warren Stevens.
+- Cleaned up unneeded constructor calls in TinyString - thanks to Geoff Carlton and
+ the discussion group on sourceforge.
+
+2.4.0
+- Improved string class, thanks Tyge Lovset (whose name gets mangled in English - sorry)
+- Type cast compiler warning, thanks Rob van den Bogaard
+- Added GetText() convenience function. Thanks Ilya Parniuk & Andrew Ellers for input.
+- Many thanks to marlonism for finding an infinite loop in bad xml.
+- A patch to cleanup warnings from Robert Gebis.
+- Added ValueStr() to get the value of a node as a string.
+- TiXmlText can now parse and output as CDATA
+- Additional string improvement from James (z2895)
+- Removed extraneous 'const', thanks David Aldrich
+- First pass at switching to the "safe" stdlib functions. Many people have suggested and
+ pushed on this, but Warren Stevens put together the first proposal.
+- TinyXml now will do EOL normalization before parsing, consistent with the W3C XML spec.
+- Documents loaded with the UTF-8 BOM will now save with the UTF-8 BOM. Good suggestion
+ from 'instructor_'
+- Ellers submitted his very popular tutorials, which have been added to the distribution.
+
+2.4.1
+- Fixed CDATA output formatting
+- Fixed memory allocators in TinyString to work with overloaded new/delete
+
+2.4.2
+- solosnake pointed out that TIXML_LOG causes problems on an XBOX. The definition in the header
+ was superflous and was moved inside of DEBUG_PARSING
+
+2.4.3
+- Fixed a test bug that caused a crash in 'xmltest'. TinyXML was fine, but it isn't good
+ to ship with a broken test suite.
+- Started converting some functions to not cast between std::string and const char*
+ quite as often.
+- Added FILE* versions of the document loads - good suggestion from Wade Brainerd
+- Empty documents might not always return the errors they should. [1398915] Thanks to igor v.
+- Added some asserts for multiply adding a node, regardng bug [1391937] suggested by Paco Arjonilla.
+
+2.4.4
+- Bug find thanks to andre-gross found a memory leak that occured when a document failed to load.
+- Bug find (and good analysis) by VirtualJim who found a case where attribute parsing
+ should be throwing an error and wasn't.
+- Steve Hyatt suggested the QueryValueAttribute method, which is now implemented.
+- DavidA identified a chunk of dead code.
+- Andrew Baxter sent in some compiler warnings that were good clean up points.
+
+2.5
+- Added the Visit() API. Many thanks to both Andrew Ellerton and John-Philip for all their
+ work, code, suggestion, and just general pushing that it should be done.
+- Removed existing streaming code and use TiXmlPrinter instead.
+- [ tinyxml-Bugs-1527079 ] Compile error in tinystr.cpp fixed, thanks to Paul Suggs
+- [ tinyxml-Bugs-1522890 ] SaveFile has no error checks fixed, thanks to Ivan Dobrokotov
+- Ivan Dobrokotov also reported redundant memory allocation in the Attribute() method, which
+ upon investigation was a mess. The attribute should now be fixed for both const char* and
+ std::string, and the return types match the input parameters.
+- Feature [ 1511105 ] Make TiXmlComment constructor accept a string / char*, implemented.
+ Thanks to Karl Itschen for the feedback.
+- [ 1480108 ] Stream parsing fails when CDATA contains tags was found by Tobias Grimm, who also
+ submitted a test case and patch. A significant bug in CDATA streaming (operator>>) has now
+ been fixed.
+
+2.5.2
+- Lieven, and others, pointed out a missing const-cast that upset the Open Watcom compiler.
+ Should now be fixed.
+- ErrorRow and ErrorCol should have been const, and weren't. Fixed thanks to Dmitry Polutov.
+
+2.5.3
+- zloe_zlo identified a missing string specialization for QueryValueAttribute() [ 1695429 ]. Worked
+ on this bug, but not sure how to fix it in a safe, cross-compiler way.
+- increased warning level to 4 and turned on detect 64 bit portability issues for VC2005.
+ May address [ 1677737 ] VS2005: /Wp64 warnings
+- grosheck identified several problems with the Document copy. Many thanks for [ 1660367 ]
+- Nice catch, and suggested fix, be Gilad Novik on the Printer dropping entities.
+ "[ 1600650 ] Bug when printing xml text" is now fixed.
+- A subtle fix from Nicos Gollan in the tinystring initializer:
+ [ 1581449 ] Fix initialiser of TiXmlString::nullrep_
+- Great catch, although there isn't a submitter for the bug. [ 1475201 ] TinyXML parses entities in comments.
+ Comments should not, in fact, parse entities. Fixed the code path and added tests.
+- We were not catching all the returns from ftell. Thanks to Bernard for catching that.
+
diff --git a/TinyXML/2.5.3/qt_attribution.json b/TinyXML/2.5.3/qt_attribution.json
new file mode 100644
index 0000000..9d07d2f
--- /dev/null
+++ b/TinyXML/2.5.3/qt_attribution.json
@@ -0,0 +1,12 @@
+{
+ "Id": "tinyxml",
+ "Name": "TinyXML",
+ "QDocModule": "qt3dstudio",
+ "QtUsage": "Used by ColladaDOM which in turn is used by Qt3DStudio Studio component.",
+
+ "Description": "TinyXML is a simple, small, C++ XML parser.",
+ "Homepage": "http://www.grinninglizard.com/tinyxml/index.html",
+ "License": "ZLib License",
+ "LicenseId": "ZLib",
+ "Copyright": "Original code (2.0 and earlier )copyright (c) 2000-2006 Lee Thomason (www.grinninglizard.com)"
+}
diff --git a/TinyXML/2.5.3/readme.txt b/TinyXML/2.5.3/readme.txt
new file mode 100644
index 0000000..14ec3d2
--- /dev/null
+++ b/TinyXML/2.5.3/readme.txt
@@ -0,0 +1,530 @@
+/** @mainpage
+
+<h1> TinyXML </h1>
+
+TinyXML is a simple, small, C++ XML parser that can be easily
+integrated into other programs.
+
+<h2> What it does. </h2>
+
+In brief, TinyXML parses an XML document, and builds from that a
+Document Object Model (DOM) that can be read, modified, and saved.
+
+XML stands for "eXtensible Markup Language." It allows you to create
+your own document markups. Where HTML does a very good job of marking
+documents for browsers, XML allows you to define any kind of document
+markup, for example a document that describes a "to do" list for an
+organizer application. XML is a very structured and convenient format.
+All those random file formats created to store application data can
+all be replaced with XML. One parser for everything.
+
+The best place for the complete, correct, and quite frankly hard to
+read spec is at <a href="http://www.w3.org/TR/2004/REC-xml-20040204/">
+http://www.w3.org/TR/2004/REC-xml-20040204/</a>. An intro to XML
+(that I really like) can be found at
+<a href="http://skew.org/xml/tutorial/">http://skew.org/xml/tutorial</a>.
+
+There are different ways to access and interact with XML data.
+TinyXML uses a Document Object Model (DOM), meaning the XML data is parsed
+into a C++ objects that can be browsed and manipulated, and then
+written to disk or another output stream. You can also construct an XML document
+from scratch with C++ objects and write this to disk or another output
+stream.
+
+TinyXML is designed to be easy and fast to learn. It is two headers
+and four cpp files. Simply add these to your project and off you go.
+There is an example file - xmltest.cpp - to get you started.
+
+TinyXML is released under the ZLib license,
+so you can use it in open source or commercial code. The details
+of the license are at the top of every source file.
+
+TinyXML attempts to be a flexible parser, but with truly correct and
+compliant XML output. TinyXML should compile on any reasonably C++
+compliant system. It does not rely on exceptions or RTTI. It can be
+compiled with or without STL support. TinyXML fully supports
+the UTF-8 encoding, and the first 64k character entities.
+
+
+<h2> What it doesn't do. </h2>
+
+TinyXML doesn't parse or use DTDs (Document Type Definitions) or XSLs
+(eXtensible Stylesheet Language.) There are other parsers out there
+(check out www.sourceforge.org, search for XML) that are much more fully
+featured. But they are also much bigger, take longer to set up in
+your project, have a higher learning curve, and often have a more
+restrictive license. If you are working with browsers or have more
+complete XML needs, TinyXML is not the parser for you.
+
+The following DTD syntax will not parse at this time in TinyXML:
+
+@verbatim
+ <!DOCTYPE Archiv [
+ <!ELEMENT Comment (#PCDATA)>
+ ]>
+@endverbatim
+
+because TinyXML sees this as a !DOCTYPE node with an illegally
+embedded !ELEMENT node. This may be addressed in the future.
+
+<h2> Tutorials. </h2>
+
+For the impatient, here is a tutorial to get you going. A great way to get started,
+but it is worth your time to read this (very short) manual completely.
+
+- @subpage tutorial0
+
+<h2> Code Status. </h2>
+
+TinyXML is mature, tested code. It is very stable. If you find
+bugs, please file a bug report on the sourceforge web site
+(www.sourceforge.net/projects/tinyxml). We'll get them straightened
+out as soon as possible.
+
+There are some areas of improvement; please check sourceforge if you are
+interested in working on TinyXML.
+
+<h2> Related Projects </h2>
+
+TinyXML projects you may find useful! (Descriptions provided by the projects.)
+
+<ul>
+<li> <b>TinyXPath</b> (http://tinyxpath.sourceforge.net). TinyXPath is a small footprint
+ XPath syntax decoder, written in C++.</li>
+<li> <b>TinyXML++</b> (http://code.google.com/p/ticpp/). TinyXML++ is a completely new
+ interface to TinyXML that uses MANY of the C++ strengths. Templates,
+ exceptions, and much better error handling.</li>
+</ul>
+
+<h2> Features </h2>
+
+<h3> Using STL </h3>
+
+TinyXML can be compiled to use or not use STL. When using STL, TinyXML
+uses the std::string class, and fully supports std::istream, std::ostream,
+operator<<, and operator>>. Many API methods have both 'const char*' and
+'const std::string&' forms.
+
+When STL support is compiled out, no STL files are included whatsoever. All
+the string classes are implemented by TinyXML itself. API methods
+all use the 'const char*' form for input.
+
+Use the compile time #define:
+
+ TIXML_USE_STL
+
+to compile one version or the other. This can be passed by the compiler,
+or set as the first line of "tinyxml.h".
+
+Note: If compiling the test code in Linux, setting the environment
+variable TINYXML_USE_STL=YES/NO will control STL compilation. In the
+Windows project file, STL and non STL targets are provided. In your project,
+It's probably easiest to add the line "#define TIXML_USE_STL" as the first
+line of tinyxml.h.
+
+<h3> UTF-8 </h3>
+
+TinyXML supports UTF-8 allowing to manipulate XML files in any language. TinyXML
+also supports "legacy mode" - the encoding used before UTF-8 support and
+probably best described as "extended ascii".
+
+Normally, TinyXML will try to detect the correct encoding and use it. However,
+by setting the value of TIXML_DEFAULT_ENCODING in the header file, TinyXML
+can be forced to always use one encoding.
+
+TinyXML will assume Legacy Mode until one of the following occurs:
+<ol>
+ <li> If the non-standard but common "UTF-8 lead bytes" (0xef 0xbb 0xbf)
+ begin the file or data stream, TinyXML will read it as UTF-8. </li>
+ <li> If the declaration tag is read, and it has an encoding="UTF-8", then
+ TinyXML will read it as UTF-8. </li>
+ <li> If the declaration tag is read, and it has no encoding specified, then TinyXML will
+ read it as UTF-8. </li>
+ <li> If the declaration tag is read, and it has an encoding="something else", then TinyXML
+ will read it as Legacy Mode. In legacy mode, TinyXML will work as it did before. It's
+ not clear what that mode does exactly, but old content should keep working.</li>
+ <li> Until one of the above criteria is met, TinyXML runs in Legacy Mode.</li>
+</ol>
+
+What happens if the encoding is incorrectly set or detected? TinyXML will try
+to read and pass through text seen as improperly encoded. You may get some strange results or
+mangled characters. You may want to force TinyXML to the correct mode.
+
+You may force TinyXML to Legacy Mode by using LoadFile( TIXML_ENCODING_LEGACY ) or
+LoadFile( filename, TIXML_ENCODING_LEGACY ). You may force it to use legacy mode all
+the time by setting TIXML_DEFAULT_ENCODING = TIXML_ENCODING_LEGACY. Likewise, you may
+force it to TIXML_ENCODING_UTF8 with the same technique.
+
+For English users, using English XML, UTF-8 is the same as low-ASCII. You
+don't need to be aware of UTF-8 or change your code in any way. You can think
+of UTF-8 as a "superset" of ASCII.
+
+UTF-8 is not a double byte format - but it is a standard encoding of Unicode!
+TinyXML does not use or directly support wchar, TCHAR, or Microsoft's _UNICODE at this time.
+It is common to see the term "Unicode" improperly refer to UTF-16, a wide byte encoding
+of unicode. This is a source of confusion.
+
+For "high-ascii" languages - everything not English, pretty much - TinyXML can
+handle all languages, at the same time, as long as the XML is encoded
+in UTF-8. That can be a little tricky, older programs and operating systems
+tend to use the "default" or "traditional" code page. Many apps (and almost all
+modern ones) can output UTF-8, but older or stubborn (or just broken) ones
+still output text in the default code page.
+
+For example, Japanese systems traditionally use SHIFT-JIS encoding.
+Text encoded as SHIFT-JIS can not be read by TinyXML.
+A good text editor can import SHIFT-JIS and then save as UTF-8.
+
+The <a href="http://skew.org/xml/tutorial/">Skew.org link</a> does a great
+job covering the encoding issue.
+
+The test file "utf8test.xml" is an XML containing English, Spanish, Russian,
+and Simplified Chinese. (Hopefully they are translated correctly). The file
+"utf8test.gif" is a screen capture of the XML file, rendered in IE. Note that
+if you don't have the correct fonts (Simplified Chinese or Russian) on your
+system, you won't see output that matches the GIF file even if you can parse
+it correctly. Also note that (at least on my Windows machine) console output
+is in a Western code page, so that Print() or printf() cannot correctly display
+the file. This is not a bug in TinyXML - just an OS issue. No data is lost or
+destroyed by TinyXML. The console just doesn't render UTF-8.
+
+
+<h3> Entities </h3>
+TinyXML recognizes the pre-defined "character entities", meaning special
+characters. Namely:
+
+@verbatim
+ &amp; &
+ &lt; <
+ &gt; >
+ &quot; "
+ &apos; '
+@endverbatim
+
+These are recognized when the XML document is read, and translated to there
+UTF-8 equivalents. For instance, text with the XML of:
+
+@verbatim
+ Far &amp; Away
+@endverbatim
+
+will have the Value() of "Far & Away" when queried from the TiXmlText object,
+and will be written back to the XML stream/file as an ampersand. Older versions
+of TinyXML "preserved" character entities, but the newer versions will translate
+them into characters.
+
+Additionally, any character can be specified by its Unicode code point:
+The syntax "&#xA0;" or "&#160;" are both to the non-breaking space characher.
+
+<h3> Printing </h3>
+TinyXML can print output in several different ways that all have strengths and limitations.
+
+- Print( FILE* ). Output to a std-C stream, which includes all C files as well as stdout.
+ - "Pretty prints", but you don't have control over printing options.
+ - The output is streamed directly to the FILE object, so there is no memory overhead
+ in the TinyXML code.
+ - used by Print() and SaveFile()
+
+- operator<<. Output to a c++ stream.
+ - Integrates with standart C++ iostreams.
+ - Outputs in "network printing" mode without line breaks. Good for network transmission
+ and moving XML between C++ objects, but hard for a human to read.
+
+- TiXmlPrinter. Output to a std::string or memory buffer.
+ - API is less concise
+ - Future printing options will be put here.
+ - Printing may change slightly in future versions as it is refined and expanded.
+
+<h3> Streams </h3>
+With TIXML_USE_STL on TinyXML supports C++ streams (operator <<,>>) streams as well
+as C (FILE*) streams. There are some differences that you may need to be aware of.
+
+C style output:
+ - based on FILE*
+ - the Print() and SaveFile() methods
+
+ Generates formatted output, with plenty of white space, intended to be as
+ human-readable as possible. They are very fast, and tolerant of ill formed
+ XML documents. For example, an XML document that contains 2 root elements
+ and 2 declarations, will still print.
+
+C style input:
+ - based on FILE*
+ - the Parse() and LoadFile() methods
+
+ A fast, tolerant read. Use whenever you don't need the C++ streams.
+
+C++ style output:
+ - based on std::ostream
+ - operator<<
+
+ Generates condensed output, intended for network transmission rather than
+ readability. Depending on your system's implementation of the ostream class,
+ these may be somewhat slower. (Or may not.) Not tolerant of ill formed XML:
+ a document should contain the correct one root element. Additional root level
+ elements will not be streamed out.
+
+C++ style input:
+ - based on std::istream
+ - operator>>
+
+ Reads XML from a stream, making it useful for network transmission. The tricky
+ part is knowing when the XML document is complete, since there will almost
+ certainly be other data in the stream. TinyXML will assume the XML data is
+ complete after it reads the root element. Put another way, documents that
+ are ill-constructed with more than one root element will not read correctly.
+ Also note that operator>> is somewhat slower than Parse, due to both
+ implementation of the STL and limitations of TinyXML.
+
+<h3> White space </h3>
+The world simply does not agree on whether white space should be kept, or condensed.
+For example, pretend the '_' is a space, and look at "Hello____world". HTML, and
+at least some XML parsers, will interpret this as "Hello_world". They condense white
+space. Some XML parsers do not, and will leave it as "Hello____world". (Remember
+to keep pretending the _ is a space.) Others suggest that __Hello___world__ should become
+Hello___world.
+
+It's an issue that hasn't been resolved to my satisfaction. TinyXML supports the
+first 2 approaches. Call TiXmlBase::SetCondenseWhiteSpace( bool ) to set the desired behavior.
+The default is to condense white space.
+
+If you change the default, you should call TiXmlBase::SetCondenseWhiteSpace( bool )
+before making any calls to Parse XML data, and I don't recommend changing it after
+it has been set.
+
+
+<h3> Handles </h3>
+
+Where browsing an XML document in a robust way, it is important to check
+for null returns from method calls. An error safe implementation can
+generate a lot of code like:
+
+@verbatim
+TiXmlElement* root = document.FirstChildElement( "Document" );
+if ( root )
+{
+ TiXmlElement* element = root->FirstChildElement( "Element" );
+ if ( element )
+ {
+ TiXmlElement* child = element->FirstChildElement( "Child" );
+ if ( child )
+ {
+ TiXmlElement* child2 = child->NextSiblingElement( "Child" );
+ if ( child2 )
+ {
+ // Finally do something useful.
+@endverbatim
+
+Handles have been introduced to clean this up. Using the TiXmlHandle class,
+the previous code reduces to:
+
+@verbatim
+TiXmlHandle docHandle( &document );
+TiXmlElement* child2 = docHandle.FirstChild( "Document" ).FirstChild( "Element" ).Child( "Child", 1 ).ToElement();
+if ( child2 )
+{
+ // do something useful
+@endverbatim
+
+Which is much easier to deal with. See TiXmlHandle for more information.
+
+
+<h3> Row and Column tracking </h3>
+Being able to track nodes and attributes back to their origin location
+in source files can be very important for some applications. Additionally,
+knowing where parsing errors occured in the original source can be very
+time saving.
+
+TinyXML can tracks the row and column origin of all nodes and attributes
+in a text file. The TiXmlBase::Row() and TiXmlBase::Column() methods return
+the origin of the node in the source text. The correct tabs can be
+configured in TiXmlDocument::SetTabSize().
+
+
+<h2> Using and Installing </h2>
+
+To Compile and Run xmltest:
+
+A Linux Makefile and a Windows Visual C++ .dsw file is provided.
+Simply compile and run. It will write the file demotest.xml to your
+disk and generate output on the screen. It also tests walking the
+DOM by printing out the number of nodes found using different
+techniques.
+
+The Linux makefile is very generic and runs on many systems - it
+is currently tested on mingw and
+MacOSX. You do not need to run 'make depend'. The dependecies have been
+hard coded.
+
+<h3>Windows project file for VC6</h3>
+<ul>
+<li>tinyxml: tinyxml library, non-STL </li>
+<li>tinyxmlSTL: tinyxml library, STL </li>
+<li>tinyXmlTest: test app, non-STL </li>
+<li>tinyXmlTestSTL: test app, STL </li>
+</ul>
+
+<h3>Makefile</h3>
+At the top of the makefile you can set:
+
+PROFILE, DEBUG, and TINYXML_USE_STL. Details (such that they are) are in
+the makefile.
+
+In the tinyxml directory, type "make clean" then "make". The executable
+file 'xmltest' will be created.
+
+
+
+<h3>To Use in an Application:</h3>
+
+Add tinyxml.cpp, tinyxml.h, tinyxmlerror.cpp, tinyxmlparser.cpp, tinystr.cpp, and tinystr.h to your
+project or make file. That's it! It should compile on any reasonably
+compliant C++ system. You do not need to enable exceptions or
+RTTI for TinyXML.
+
+
+<h2> How TinyXML works. </h2>
+
+An example is probably the best way to go. Take:
+@verbatim
+ <?xml version="1.0" standalone=no>
+ <!-- Our to do list data -->
+ <ToDo>
+ <Item priority="1"> Go to the <bold>Toy store!</bold></Item>
+ <Item priority="2"> Do bills</Item>
+ </ToDo>
+@endverbatim
+
+Its not much of a To Do list, but it will do. To read this file
+(say "demo.xml") you would create a document, and parse it in:
+@verbatim
+ TiXmlDocument doc( "demo.xml" );
+ doc.LoadFile();
+@endverbatim
+
+And its ready to go. Now lets look at some lines and how they
+relate to the DOM.
+
+@verbatim
+<?xml version="1.0" standalone=no>
+@endverbatim
+
+ The first line is a declaration, and gets turned into the
+ TiXmlDeclaration class. It will be the first child of the
+ document node.
+
+ This is the only directive/special tag parsed by by TinyXML.
+ Generally directive tags are stored in TiXmlUnknown so the
+ commands wont be lost when it is saved back to disk.
+
+@verbatim
+<!-- Our to do list data -->
+@endverbatim
+
+ A comment. Will become a TiXmlComment object.
+
+@verbatim
+<ToDo>
+@endverbatim
+
+ The "ToDo" tag defines a TiXmlElement object. This one does not have
+ any attributes, but does contain 2 other elements.
+
+@verbatim
+<Item priority="1">
+@endverbatim
+
+ Creates another TiXmlElement which is a child of the "ToDo" element.
+ This element has 1 attribute, with the name "priority" and the value
+ "1".
+
+@verbatim
+Go to the
+@endverbatim
+
+ A TiXmlText. This is a leaf node and cannot contain other nodes.
+ It is a child of the "Item" TiXmlElement.
+
+@verbatim
+<bold>
+@endverbatim
+
+
+ Another TiXmlElement, this one a child of the "Item" element.
+
+Etc.
+
+Looking at the entire object tree, you end up with:
+@verbatim
+TiXmlDocument "demo.xml"
+ TiXmlDeclaration "version='1.0'" "standalone=no"
+ TiXmlComment " Our to do list data"
+ TiXmlElement "ToDo"
+ TiXmlElement "Item" Attribtutes: priority = 1
+ TiXmlText "Go to the "
+ TiXmlElement "bold"
+ TiXmlText "Toy store!"
+ TiXmlElement "Item" Attributes: priority=2
+ TiXmlText "Do bills"
+@endverbatim
+
+<h2> Documentation </h2>
+
+The documentation is build with Doxygen, using the 'dox'
+configuration file.
+
+<h2> License </h2>
+
+TinyXML is released under the zlib license:
+
+This software is provided 'as-is', without any express or implied
+warranty. In no event will the authors be held liable for any
+damages arising from the use of this software.
+
+Permission is granted to anyone to use this software for any
+purpose, including commercial applications, and to alter it and
+redistribute it freely, subject to the following restrictions:
+
+1. The origin of this software must not be misrepresented; you must
+not claim that you wrote the original software. If you use this
+software in a product, an acknowledgment in the product documentation
+would be appreciated but is not required.
+
+2. Altered source versions must be plainly marked as such, and
+must not be misrepresented as being the original software.
+
+3. This notice may not be removed or altered from any source
+distribution.
+
+<h2> References </h2>
+
+The World Wide Web Consortium is the definitive standard body for
+XML, and there web pages contain huge amounts of information.
+
+The definitive spec: <a href="http://www.w3.org/TR/2004/REC-xml-20040204/">
+http://www.w3.org/TR/2004/REC-xml-20040204/</a>
+
+I also recommend "XML Pocket Reference" by Robert Eckstein and published by
+OReilly...the book that got the whole thing started.
+
+<h2> Contributors, Contacts, and a Brief History </h2>
+
+Thanks very much to everyone who sends suggestions, bugs, ideas, and
+encouragement. It all helps, and makes this project fun. A special thanks
+to the contributors on the web pages that keep it lively.
+
+So many people have sent in bugs and ideas, that rather than list here
+we try to give credit due in the "changes.txt" file.
+
+TinyXML was originally written by Lee Thomason. (Often the "I" still
+in the documentation.) Lee reviews changes and releases new versions,
+with the help of Yves Berquin, Andrew Ellerton, and the tinyXml community.
+
+We appreciate your suggestions, and would love to know if you
+use TinyXML. Hopefully you will enjoy it and find it useful.
+Please post questions, comments, file bugs, or contact us at:
+
+www.sourceforge.net/projects/tinyxml
+
+Lee Thomason, Yves Berquin, Andrew Ellerton
+*/
diff --git a/TinyXML/2.5.3/tinystr.cpp b/TinyXML/2.5.3/tinystr.cpp
new file mode 100644
index 0000000..6812507
--- /dev/null
+++ b/TinyXML/2.5.3/tinystr.cpp
@@ -0,0 +1,116 @@
+/*
+www.sourceforge.net/projects/tinyxml
+Original file by Yves Berquin.
+
+This software is provided 'as-is', without any express or implied
+warranty. In no event will the authors be held liable for any
+damages arising from the use of this software.
+
+Permission is granted to anyone to use this software for any
+purpose, including commercial applications, and to alter it and
+redistribute it freely, subject to the following restrictions:
+
+1. The origin of this software must not be misrepresented; you must
+not claim that you wrote the original software. If you use this
+software in a product, an acknowledgment in the product documentation
+would be appreciated but is not required.
+
+2. Altered source versions must be plainly marked as such, and
+must not be misrepresented as being the original software.
+
+3. This notice may not be removed or altered from any source
+distribution.
+*/
+
+/*
+ * THIS FILE WAS ALTERED BY Tyge Lvset, 7. April 2005.
+ */
+
+
+#ifndef TIXML_USE_STL
+
+#include "tinystr.h"
+
+// Error value for find primitive
+const TiXmlString::size_type TiXmlString::npos = static_cast< TiXmlString::size_type >(-1);
+
+
+// Null rep.
+TiXmlString::Rep TiXmlString::nullrep_ = { 0, 0, { '\0' } };
+
+
+void TiXmlString::reserve (size_type cap)
+{
+ if (cap > capacity())
+ {
+ TiXmlString tmp;
+ tmp.init(length(), cap);
+ memcpy(tmp.start(), data(), length());
+ swap(tmp);
+ }
+}
+
+
+TiXmlString& TiXmlString::assign(const char* str, size_type len)
+{
+ size_type cap = capacity();
+ if (len > cap || cap > 3*(len + 8))
+ {
+ TiXmlString tmp;
+ tmp.init(len);
+ memcpy(tmp.start(), str, len);
+ swap(tmp);
+ }
+ else
+ {
+ memmove(start(), str, len);
+ set_size(len);
+ }
+ return *this;
+}
+
+
+TiXmlString& TiXmlString::append(const char* str, size_type len)
+{
+ size_type newsize = length() + len;
+ if (newsize > capacity())
+ {
+ reserve (newsize + capacity());
+ }
+ memmove(finish(), str, len);
+ set_size(newsize);
+ return *this;
+}
+
+
+TiXmlString operator + (const TiXmlString & a, const TiXmlString & b)
+{
+ TiXmlString tmp;
+ tmp.reserve(a.length() + b.length());
+ tmp += a;
+ tmp += b;
+ return tmp;
+}
+
+TiXmlString operator + (const TiXmlString & a, const char* b)
+{
+ TiXmlString tmp;
+ TiXmlString::size_type b_len = static_cast<TiXmlString::size_type>( strlen(b) );
+ tmp.reserve(a.length() + b_len);
+ tmp += a;
+ tmp.append(b, b_len);
+ return tmp;
+}
+
+TiXmlString operator + (const char* a, const TiXmlString & b)
+{
+ TiXmlString tmp;
+ TiXmlString::size_type a_len = static_cast<TiXmlString::size_type>( strlen(a) );
+ tmp.reserve(a_len + b.length());
+ tmp.append(a, a_len);
+ tmp += b;
+ return tmp;
+}
+
+
+#endif // TIXML_USE_STL
diff --git a/TinyXML/2.5.3/tinystr.h b/TinyXML/2.5.3/tinystr.h
new file mode 100644
index 0000000..3c2aa9d
--- /dev/null
+++ b/TinyXML/2.5.3/tinystr.h
@@ -0,0 +1,319 @@
+/*
+www.sourceforge.net/projects/tinyxml
+Original file by Yves Berquin.
+
+This software is provided 'as-is', without any express or implied
+warranty. In no event will the authors be held liable for any
+damages arising from the use of this software.
+
+Permission is granted to anyone to use this software for any
+purpose, including commercial applications, and to alter it and
+redistribute it freely, subject to the following restrictions:
+
+1. The origin of this software must not be misrepresented; you must
+not claim that you wrote the original software. If you use this
+software in a product, an acknowledgment in the product documentation
+would be appreciated but is not required.
+
+2. Altered source versions must be plainly marked as such, and
+must not be misrepresented as being the original software.
+
+3. This notice may not be removed or altered from any source
+distribution.
+*/
+
+/*
+ * THIS FILE WAS ALTERED BY Tyge Lovset, 7. April 2005.
+ *
+ * - completely rewritten. compact, clean, and fast implementation.
+ * - sizeof(TiXmlString) = pointer size (4 bytes on 32-bit systems)
+ * - fixed reserve() to work as per specification.
+ * - fixed buggy compares operator==(), operator<(), and operator>()
+ * - fixed operator+=() to take a const ref argument, following spec.
+ * - added "copy" constructor with length, and most compare operators.
+ * - added swap(), clear(), size(), capacity(), operator+().
+ */
+
+#ifndef TIXML_USE_STL
+
+#ifndef TIXML_STRING_INCLUDED
+#define TIXML_STRING_INCLUDED
+
+#include <assert.h>
+#include <string.h>
+
+/* The support for explicit isn't that universal, and it isn't really
+ required - it is used to check that the TiXmlString class isn't incorrectly
+ used. Be nice to old compilers and macro it here:
+*/
+#if defined(_MSC_VER) && (_MSC_VER >= 1200 )
+ // Microsoft visual studio, version 6 and higher.
+ #define TIXML_EXPLICIT explicit
+#elif defined(__GNUC__) && (__GNUC__ >= 3 )
+ // GCC version 3 and higher.s
+ #define TIXML_EXPLICIT explicit
+#else
+ #define TIXML_EXPLICIT
+#endif
+
+
+/*
+ TiXmlString is an emulation of a subset of the std::string template.
+ Its purpose is to allow compiling TinyXML on compilers with no or poor STL support.
+ Only the member functions relevant to the TinyXML project have been implemented.
+ The buffer allocation is made by a simplistic power of 2 like mechanism : if we increase
+ a string and there's no more room, we allocate a buffer twice as big as we need.
+*/
+class TiXmlString
+{
+ public :
+ // The size type used
+ typedef size_t size_type;
+
+ // Error value for find primitive
+ static const size_type npos; // = -1;
+
+
+ // TiXmlString empty constructor
+ TiXmlString () : rep_(&nullrep_)
+ {
+ }
+
+ // TiXmlString copy constructor
+ TiXmlString ( const TiXmlString & copy) : rep_(0)
+ {
+ init(copy.length());
+ memcpy(start(), copy.data(), length());
+ }
+
+ // TiXmlString constructor, based on a string
+ TIXML_EXPLICIT TiXmlString ( const char * copy) : rep_(0)
+ {
+ init( static_cast<size_type>( strlen(copy) ));
+ memcpy(start(), copy, length());
+ }
+
+ // TiXmlString constructor, based on a string
+ TIXML_EXPLICIT TiXmlString ( const char * str, size_type len) : rep_(0)
+ {
+ init(len);
+ memcpy(start(), str, len);
+ }
+
+ // TiXmlString destructor
+ ~TiXmlString ()
+ {
+ quit();
+ }
+
+ // = operator
+ TiXmlString& operator = (const char * copy)
+ {
+ return assign( copy, (size_type)strlen(copy));
+ }
+
+ // = operator
+ TiXmlString& operator = (const TiXmlString & copy)
+ {
+ return assign(copy.start(), copy.length());
+ }
+
+
+ // += operator. Maps to append
+ TiXmlString& operator += (const char * suffix)
+ {
+ return append(suffix, static_cast<size_type>( strlen(suffix) ));
+ }
+
+ // += operator. Maps to append
+ TiXmlString& operator += (char single)
+ {
+ return append(&single, 1);
+ }
+
+ // += operator. Maps to append
+ TiXmlString& operator += (const TiXmlString & suffix)
+ {
+ return append(suffix.data(), suffix.length());
+ }
+
+
+ // Convert a TiXmlString into a null-terminated char *
+ const char * c_str () const { return rep_->str; }
+
+ // Convert a TiXmlString into a char * (need not be null terminated).
+ const char * data () const { return rep_->str; }
+
+ // Return the length of a TiXmlString
+ size_type length () const { return rep_->size; }
+
+ // Alias for length()
+ size_type size () const { return rep_->size; }
+
+ // Checks if a TiXmlString is empty
+ bool empty () const { return rep_->size == 0; }
+
+ // Return capacity of string
+ size_type capacity () const { return rep_->capacity; }
+
+
+ // single char extraction
+ const char& at (size_type index) const
+ {
+ assert( index < length() );
+ return rep_->str[ index ];
+ }
+
+ // [] operator
+ char& operator [] (size_type index) const
+ {
+ assert( index < length() );
+ return rep_->str[ index ];
+ }
+
+ // find a char in a string. Return TiXmlString::npos if not found
+ size_type find (char lookup) const
+ {
+ return find(lookup, 0);
+ }
+
+ // find a char in a string from an offset. Return TiXmlString::npos if not found
+ size_type find (char tofind, size_type offset) const
+ {
+ if (offset >= length()) return npos;
+
+ for (const char* p = c_str() + offset; *p != '\0'; ++p)
+ {
+ if (*p == tofind) return static_cast< size_type >( p - c_str() );
+ }
+ return npos;
+ }
+
+ void clear ()
+ {
+ //Lee:
+ //The original was just too strange, though correct:
+ // TiXmlString().swap(*this);
+ //Instead use the quit & re-init:
+ quit();
+ init(0,0);
+ }
+
+ /* Function to reserve a big amount of data when we know we'll need it. Be aware that this
+ function DOES NOT clear the content of the TiXmlString if any exists.
+ */
+ void reserve (size_type cap);
+
+ TiXmlString& assign (const char* str, size_type len);
+
+ TiXmlString& append (const char* str, size_type len);
+
+ void swap (TiXmlString& other)
+ {
+ Rep* r = rep_;
+ rep_ = other.rep_;
+ other.rep_ = r;
+ }
+
+ private:
+
+ void init(size_type sz) { init(sz, sz); }
+ void set_size(size_type sz) { rep_->str[ rep_->size = sz ] = '\0'; }
+ char* start() const { return rep_->str; }
+ char* finish() const { return rep_->str + rep_->size; }
+
+ struct Rep
+ {
+ size_type size, capacity;
+ char str[1];
+ };
+
+ void init(size_type sz, size_type cap)
+ {
+ if (cap)
+ {
+ // Lee: the original form:
+ // rep_ = static_cast<Rep*>(operator new(sizeof(Rep) + cap));
+ // doesn't work in some cases of new being overloaded. Switching
+ // to the normal allocation, although use an 'int' for systems
+ // that are overly picky about structure alignment.
+ const size_type bytesNeeded = sizeof(Rep) + cap;
+ const size_type intsNeeded = ( bytesNeeded + sizeof(int) - 1 ) / sizeof( int );
+ rep_ = reinterpret_cast<Rep*>( new int[ intsNeeded ] );
+
+ rep_->str[ rep_->size = sz ] = '\0';
+ rep_->capacity = cap;
+ }
+ else
+ {
+ rep_ = &nullrep_;
+ }
+ }
+
+ void quit()
+ {
+ if (rep_ != &nullrep_)
+ {
+ // The rep_ is really an array of ints. (see the allocator, above).
+ // Cast it back before delete, so the compiler won't incorrectly call destructors.
+ delete [] ( reinterpret_cast<int*>( rep_ ) );
+ }
+ }
+
+ Rep * rep_;
+ static Rep nullrep_;
+
+} ;
+
+
+inline bool operator == (const TiXmlString & a, const TiXmlString & b)
+{
+ return ( a.length() == b.length() ) // optimization on some platforms
+ && ( strcmp(a.c_str(), b.c_str()) == 0 ); // actual compare
+}
+inline bool operator < (const TiXmlString & a, const TiXmlString & b)
+{
+ return strcmp(a.c_str(), b.c_str()) < 0;
+}
+
+inline bool operator != (const TiXmlString & a, const TiXmlString & b) { return !(a == b); }
+inline bool operator > (const TiXmlString & a, const TiXmlString & b) { return b < a; }
+inline bool operator <= (const TiXmlString & a, const TiXmlString & b) { return !(b < a); }
+inline bool operator >= (const TiXmlString & a, const TiXmlString & b) { return !(a < b); }
+
+inline bool operator == (const TiXmlString & a, const char* b) { return strcmp(a.c_str(), b) == 0; }
+inline bool operator == (const char* a, const TiXmlString & b) { return b == a; }
+inline bool operator != (const TiXmlString & a, const char* b) { return !(a == b); }
+inline bool operator != (const char* a, const TiXmlString & b) { return !(b == a); }
+
+TiXmlString operator + (const TiXmlString & a, const TiXmlString & b);
+TiXmlString operator + (const TiXmlString & a, const char* b);
+TiXmlString operator + (const char* a, const TiXmlString & b);
+
+
+/*
+ TiXmlOutStream is an emulation of std::ostream. It is based on TiXmlString.
+ Only the operators that we need for TinyXML have been developped.
+*/
+class TiXmlOutStream : public TiXmlString
+{
+public :
+
+ // TiXmlOutStream << operator.
+ TiXmlOutStream & operator << (const TiXmlString & in)
+ {
+ *this += in;
+ return *this;
+ }
+
+ // TiXmlOutStream << operator.
+ TiXmlOutStream & operator << (const char * in)
+ {
+ *this += in;
+ return *this;
+ }
+
+} ;
+
+#endif // TIXML_STRING_INCLUDED
+#endif // TIXML_USE_STL
diff --git a/TinyXML/2.5.3/tinyxml.cpp b/TinyXML/2.5.3/tinyxml.cpp
new file mode 100644
index 0000000..5de21f6
--- /dev/null
+++ b/TinyXML/2.5.3/tinyxml.cpp
@@ -0,0 +1,1888 @@
+/*
+www.sourceforge.net/projects/tinyxml
+Original code (2.0 and earlier )copyright (c) 2000-2006 Lee Thomason (www.grinninglizard.com)
+
+This software is provided 'as-is', without any express or implied
+warranty. In no event will the authors be held liable for any
+damages arising from the use of this software.
+
+Permission is granted to anyone to use this software for any
+purpose, including commercial applications, and to alter it and
+redistribute it freely, subject to the following restrictions:
+
+1. The origin of this software must not be misrepresented; you must
+not claim that you wrote the original software. If you use this
+software in a product, an acknowledgment in the product documentation
+would be appreciated but is not required.
+
+2. Altered source versions must be plainly marked as such, and
+must not be misrepresented as being the original software.
+
+3. This notice may not be removed or altered from any source
+distribution.
+*/
+
+#include <ctype.h>
+
+#ifdef TIXML_USE_STL
+#include <sstream>
+#include <iostream>
+#endif
+
+#include "tinyxml.h"
+
+
+bool TiXmlBase::condenseWhiteSpace = true;
+
+// Microsoft compiler security
+FILE* TiXmlFOpen( const char* filename, const char* mode )
+{
+ #if defined(_MSC_VER) && (_MSC_VER >= 1400 )
+ FILE* fp = 0;
+ errno_t err = fopen_s( &fp, filename, mode );
+ if ( !err && fp )
+ return fp;
+ return 0;
+ #else
+ return fopen( filename, mode );
+ #endif
+}
+
+void TiXmlBase::EncodeString( const TIXML_STRING& str, TIXML_STRING* outString )
+{
+ int i=0;
+
+ while( i<(int)str.length() )
+ {
+ unsigned char c = (unsigned char) str[i];
+
+ if ( c == '&'
+ && i < ( (int)str.length() - 2 )
+ && str[i+1] == '#'
+ && str[i+2] == 'x' )
+ {
+ // Hexadecimal character reference.
+ // Pass through unchanged.
+ // &#xA9; -- copyright symbol, for example.
+ //
+ // The -1 is a bug fix from Rob Laveaux. It keeps
+ // an overflow from happening if there is no ';'.
+ // There are actually 2 ways to exit this loop -
+ // while fails (error case) and break (semicolon found).
+ // However, there is no mechanism (currently) for
+ // this function to return an error.
+ while ( i<(int)str.length()-1 )
+ {
+ outString->append( str.c_str() + i, 1 );
+ ++i;
+ if ( str[i] == ';' )
+ break;
+ }
+ }
+ else if ( c == '&' )
+ {
+ outString->append( entity[0].str, entity[0].strLength );
+ ++i;
+ }
+ else if ( c == '<' )
+ {
+ outString->append( entity[1].str, entity[1].strLength );
+ ++i;
+ }
+ else if ( c == '>' )
+ {
+ outString->append( entity[2].str, entity[2].strLength );
+ ++i;
+ }
+ else if ( c == '\"' )
+ {
+ outString->append( entity[3].str, entity[3].strLength );
+ ++i;
+ }
+ else if ( c == '\'' )
+ {
+ outString->append( entity[4].str, entity[4].strLength );
+ ++i;
+ }
+ else if ( c < 32 )
+ {
+ // Easy pass at non-alpha/numeric/symbol
+ // Below 32 is symbolic.
+ char buf[ 32 ];
+
+ #if defined(TIXML_SNPRINTF)
+ TIXML_SNPRINTF( buf, sizeof(buf), "&#x%02X;", (unsigned) ( c & 0xff ) );
+ #else
+ sprintf( buf, "&#x%02X;", (unsigned) ( c & 0xff ) );
+ #endif
+
+ //*ME: warning C4267: convert 'size_t' to 'int'
+ //*ME: Int-Cast to make compiler happy ...
+ outString->append( buf, (int)strlen( buf ) );
+ ++i;
+ }
+ else
+ {
+ //char realc = (char) c;
+ //outString->append( &realc, 1 );
+ *outString += (char) c; // somewhat more efficient function call.
+ ++i;
+ }
+ }
+}
+
+
+TiXmlNode::TiXmlNode( NodeType _type ) : TiXmlBase()
+{
+ parent = 0;
+ type = _type;
+ firstChild = 0;
+ lastChild = 0;
+ prev = 0;
+ next = 0;
+}
+
+
+TiXmlNode::~TiXmlNode()
+{
+ TiXmlNode* node = firstChild;
+ TiXmlNode* temp = 0;
+
+ while ( node )
+ {
+ temp = node;
+ node = node->next;
+ delete temp;
+ }
+}
+
+
+void TiXmlNode::CopyTo( TiXmlNode* target ) const
+{
+ target->SetValue (value.c_str() );
+ target->userData = userData;
+}
+
+
+void TiXmlNode::Clear()
+{
+ TiXmlNode* node = firstChild;
+ TiXmlNode* temp = 0;
+
+ while ( node )
+ {
+ temp = node;
+ node = node->next;
+ delete temp;
+ }
+
+ firstChild = 0;
+ lastChild = 0;
+}
+
+
+TiXmlNode* TiXmlNode::LinkEndChild( TiXmlNode* node )
+{
+ assert( node->parent == 0 || node->parent == this );
+ assert( node->GetDocument() == 0 || node->GetDocument() == this->GetDocument() );
+
+ if ( node->Type() == TiXmlNode::DOCUMENT )
+ {
+ delete node;
+ if ( GetDocument() ) GetDocument()->SetError( TIXML_ERROR_DOCUMENT_TOP_ONLY, 0, 0, TIXML_ENCODING_UNKNOWN );
+ return 0;
+ }
+
+ node->parent = this;
+
+ node->prev = lastChild;
+ node->next = 0;
+
+ if ( lastChild )
+ lastChild->next = node;
+ else
+ firstChild = node; // it was an empty list.
+
+ lastChild = node;
+ return node;
+}
+
+
+TiXmlNode* TiXmlNode::InsertEndChild( const TiXmlNode& addThis )
+{
+ if ( addThis.Type() == TiXmlNode::DOCUMENT )
+ {
+ if ( GetDocument() ) GetDocument()->SetError( TIXML_ERROR_DOCUMENT_TOP_ONLY, 0, 0, TIXML_ENCODING_UNKNOWN );
+ return 0;
+ }
+ TiXmlNode* node = addThis.Clone();
+ if ( !node )
+ return 0;
+
+ return LinkEndChild( node );
+}
+
+
+TiXmlNode* TiXmlNode::InsertBeforeChild( TiXmlNode* beforeThis, const TiXmlNode& addThis )
+{
+ if ( !beforeThis || beforeThis->parent != this ) {
+ return 0;
+ }
+ if ( addThis.Type() == TiXmlNode::DOCUMENT )
+ {
+ if ( GetDocument() ) GetDocument()->SetError( TIXML_ERROR_DOCUMENT_TOP_ONLY, 0, 0, TIXML_ENCODING_UNKNOWN );
+ return 0;
+ }
+
+ TiXmlNode* node = addThis.Clone();
+ if ( !node )
+ return 0;
+ node->parent = this;
+
+ node->next = beforeThis;
+ node->prev = beforeThis->prev;
+ if ( beforeThis->prev )
+ {
+ beforeThis->prev->next = node;
+ }
+ else
+ {
+ assert( firstChild == beforeThis );
+ firstChild = node;
+ }
+ beforeThis->prev = node;
+ return node;
+}
+
+
+TiXmlNode* TiXmlNode::InsertAfterChild( TiXmlNode* afterThis, const TiXmlNode& addThis )
+{
+ if ( !afterThis || afterThis->parent != this ) {
+ return 0;
+ }
+ if ( addThis.Type() == TiXmlNode::DOCUMENT )
+ {
+ if ( GetDocument() ) GetDocument()->SetError( TIXML_ERROR_DOCUMENT_TOP_ONLY, 0, 0, TIXML_ENCODING_UNKNOWN );
+ return 0;
+ }
+
+ TiXmlNode* node = addThis.Clone();
+ if ( !node )
+ return 0;
+ node->parent = this;
+
+ node->prev = afterThis;
+ node->next = afterThis->next;
+ if ( afterThis->next )
+ {
+ afterThis->next->prev = node;
+ }
+ else
+ {
+ assert( lastChild == afterThis );
+ lastChild = node;
+ }
+ afterThis->next = node;
+ return node;
+}
+
+
+TiXmlNode* TiXmlNode::ReplaceChild( TiXmlNode* replaceThis, const TiXmlNode& withThis )
+{
+ if ( replaceThis->parent != this )
+ return 0;
+
+ TiXmlNode* node = withThis.Clone();
+ if ( !node )
+ return 0;
+
+ node->next = replaceThis->next;
+ node->prev = replaceThis->prev;
+
+ if ( replaceThis->next )
+ replaceThis->next->prev = node;
+ else
+ lastChild = node;
+
+ if ( replaceThis->prev )
+ replaceThis->prev->next = node;
+ else
+ firstChild = node;
+
+ delete replaceThis;
+ node->parent = this;
+ return node;
+}
+
+
+bool TiXmlNode::RemoveChild( TiXmlNode* removeThis )
+{
+ if ( removeThis->parent != this )
+ {
+ assert( 0 );
+ return false;
+ }
+
+ if ( removeThis->next )
+ removeThis->next->prev = removeThis->prev;
+ else
+ lastChild = removeThis->prev;
+
+ if ( removeThis->prev )
+ removeThis->prev->next = removeThis->next;
+ else
+ firstChild = removeThis->next;
+
+ delete removeThis;
+ return true;
+}
+
+const TiXmlNode* TiXmlNode::FirstChild( const char * _value ) const
+{
+ const TiXmlNode* node;
+ for ( node = firstChild; node; node = node->next )
+ {
+ if ( strcmp( node->Value(), _value ) == 0 )
+ return node;
+ }
+ return 0;
+}
+
+
+const TiXmlNode* TiXmlNode::LastChild( const char * _value ) const
+{
+ const TiXmlNode* node;
+ for ( node = lastChild; node; node = node->prev )
+ {
+ if ( strcmp( node->Value(), _value ) == 0 )
+ return node;
+ }
+ return 0;
+}
+
+
+const TiXmlNode* TiXmlNode::IterateChildren( const TiXmlNode* previous ) const
+{
+ if ( !previous )
+ {
+ return FirstChild();
+ }
+ else
+ {
+ assert( previous->parent == this );
+ return previous->NextSibling();
+ }
+}
+
+
+const TiXmlNode* TiXmlNode::IterateChildren( const char * val, const TiXmlNode* previous ) const
+{
+ if ( !previous )
+ {
+ return FirstChild( val );
+ }
+ else
+ {
+ assert( previous->parent == this );
+ return previous->NextSibling( val );
+ }
+}
+
+
+const TiXmlNode* TiXmlNode::NextSibling( const char * _value ) const
+{
+ const TiXmlNode* node;
+ for ( node = next; node; node = node->next )
+ {
+ if ( strcmp( node->Value(), _value ) == 0 )
+ return node;
+ }
+ return 0;
+}
+
+
+const TiXmlNode* TiXmlNode::PreviousSibling( const char * _value ) const
+{
+ const TiXmlNode* node;
+ for ( node = prev; node; node = node->prev )
+ {
+ if ( strcmp( node->Value(), _value ) == 0 )
+ return node;
+ }
+ return 0;
+}
+
+
+void TiXmlElement::RemoveAttribute( const char * name )
+{
+ #ifdef TIXML_USE_STL
+ TIXML_STRING str( name );
+ TiXmlAttribute* node = attributeSet.Find( str );
+ #else
+ TiXmlAttribute* node = attributeSet.Find( name );
+ #endif
+ if ( node )
+ {
+ attributeSet.Remove( node );
+ delete node;
+ }
+}
+
+const TiXmlElement* TiXmlNode::FirstChildElement() const
+{
+ const TiXmlNode* node;
+
+ for ( node = FirstChild();
+ node;
+ node = node->NextSibling() )
+ {
+ if ( node->ToElement() )
+ return node->ToElement();
+ }
+ return 0;
+}
+
+
+const TiXmlElement* TiXmlNode::FirstChildElement( const char * _value ) const
+{
+ const TiXmlNode* node;
+
+ for ( node = FirstChild( _value );
+ node;
+ node = node->NextSibling( _value ) )
+ {
+ if ( node->ToElement() )
+ return node->ToElement();
+ }
+ return 0;
+}
+
+
+const TiXmlElement* TiXmlNode::NextSiblingElement() const
+{
+ const TiXmlNode* node;
+
+ for ( node = NextSibling();
+ node;
+ node = node->NextSibling() )
+ {
+ if ( node->ToElement() )
+ return node->ToElement();
+ }
+ return 0;
+}
+
+
+const TiXmlElement* TiXmlNode::NextSiblingElement( const char * _value ) const
+{
+ const TiXmlNode* node;
+
+ for ( node = NextSibling( _value );
+ node;
+ node = node->NextSibling( _value ) )
+ {
+ if ( node->ToElement() )
+ return node->ToElement();
+ }
+ return 0;
+}
+
+
+const TiXmlDocument* TiXmlNode::GetDocument() const
+{
+ const TiXmlNode* node;
+
+ for( node = this; node; node = node->parent )
+ {
+ if ( node->ToDocument() )
+ return node->ToDocument();
+ }
+ return 0;
+}
+
+
+TiXmlElement::TiXmlElement (const char * _value)
+ : TiXmlNode( TiXmlNode::ELEMENT )
+{
+ firstChild = lastChild = 0;
+ value = _value;
+}
+
+
+#ifdef TIXML_USE_STL
+TiXmlElement::TiXmlElement( const std::string& _value )
+ : TiXmlNode( TiXmlNode::ELEMENT )
+{
+ firstChild = lastChild = 0;
+ value = _value;
+}
+#endif
+
+
+TiXmlElement::TiXmlElement( const TiXmlElement& copy)
+ : TiXmlNode( TiXmlNode::ELEMENT )
+{
+ firstChild = lastChild = 0;
+ copy.CopyTo( this );
+}
+
+
+void TiXmlElement::operator=( const TiXmlElement& base )
+{
+ ClearThis();
+ base.CopyTo( this );
+}
+
+
+TiXmlElement::~TiXmlElement()
+{
+ ClearThis();
+}
+
+
+void TiXmlElement::ClearThis()
+{
+ Clear();
+ while( attributeSet.First() )
+ {
+ TiXmlAttribute* node = attributeSet.First();
+ attributeSet.Remove( node );
+ delete node;
+ }
+}
+
+
+const char* TiXmlElement::Attribute( const char* name ) const
+{
+ const TiXmlAttribute* node = attributeSet.Find( name );
+ if ( node )
+ return node->Value();
+ return 0;
+}
+
+
+#ifdef TIXML_USE_STL
+const std::string* TiXmlElement::Attribute( const std::string& name ) const
+{
+ const TiXmlAttribute* node = attributeSet.Find( name );
+ if ( node )
+ return &node->ValueStr();
+ return 0;
+}
+#endif
+
+
+const char* TiXmlElement::Attribute( const char* name, int* i ) const
+{
+ const char* s = Attribute( name );
+ if ( i )
+ {
+ if ( s ) {
+ *i = atoi( s );
+ }
+ else {
+ *i = 0;
+ }
+ }
+ return s;
+}
+
+
+#ifdef TIXML_USE_STL
+const std::string* TiXmlElement::Attribute( const std::string& name, int* i ) const
+{
+ const std::string* s = Attribute( name );
+ if ( i )
+ {
+ if ( s ) {
+ *i = atoi( s->c_str() );
+ }
+ else {
+ *i = 0;
+ }
+ }
+ return s;
+}
+#endif
+
+
+const char* TiXmlElement::Attribute( const char* name, double* d ) const
+{
+ const char* s = Attribute( name );
+ if ( d )
+ {
+ if ( s ) {
+ *d = atof( s );
+ }
+ else {
+ *d = 0;
+ }
+ }
+ return s;
+}
+
+
+#ifdef TIXML_USE_STL
+const std::string* TiXmlElement::Attribute( const std::string& name, double* d ) const
+{
+ const std::string* s = Attribute( name );
+ if ( d )
+ {
+ if ( s ) {
+ *d = atof( s->c_str() );
+ }
+ else {
+ *d = 0;
+ }
+ }
+ return s;
+}
+#endif
+
+
+int TiXmlElement::QueryIntAttribute( const char* name, int* ival ) const
+{
+ const TiXmlAttribute* node = attributeSet.Find( name );
+ if ( !node )
+ return TIXML_NO_ATTRIBUTE;
+ return node->QueryIntValue( ival );
+}
+
+
+#ifdef TIXML_USE_STL
+int TiXmlElement::QueryIntAttribute( const std::string& name, int* ival ) const
+{
+ const TiXmlAttribute* node = attributeSet.Find( name );
+ if ( !node )
+ return TIXML_NO_ATTRIBUTE;
+ return node->QueryIntValue( ival );
+}
+#endif
+
+
+int TiXmlElement::QueryDoubleAttribute( const char* name, double* dval ) const
+{
+ const TiXmlAttribute* node = attributeSet.Find( name );
+ if ( !node )
+ return TIXML_NO_ATTRIBUTE;
+ return node->QueryDoubleValue( dval );
+}
+
+
+#ifdef TIXML_USE_STL
+int TiXmlElement::QueryDoubleAttribute( const std::string& name, double* dval ) const
+{
+ const TiXmlAttribute* node = attributeSet.Find( name );
+ if ( !node )
+ return TIXML_NO_ATTRIBUTE;
+ return node->QueryDoubleValue( dval );
+}
+#endif
+
+
+void TiXmlElement::SetAttribute( const char * name, int val )
+{
+ char buf[64];
+ #if defined(TIXML_SNPRINTF)
+ TIXML_SNPRINTF( buf, sizeof(buf), "%d", val );
+ #else
+ sprintf( buf, "%d", val );
+ #endif
+ SetAttribute( name, buf );
+}
+
+
+#ifdef TIXML_USE_STL
+void TiXmlElement::SetAttribute( const std::string& name, int val )
+{
+ std::ostringstream oss;
+ oss << val;
+ SetAttribute( name, oss.str() );
+}
+#endif
+
+
+void TiXmlElement::SetDoubleAttribute( const char * name, double val )
+{
+ char buf[256];
+ #if defined(TIXML_SNPRINTF)
+ TIXML_SNPRINTF( buf, sizeof(buf), "%f", val );
+ #else
+ sprintf( buf, "%f", val );
+ #endif
+ SetAttribute( name, buf );
+}
+
+
+void TiXmlElement::SetAttribute( const char * cname, const char * cvalue )
+{
+ #ifdef TIXML_USE_STL
+ TIXML_STRING _name( cname );
+ TIXML_STRING _value( cvalue );
+ #else
+ const char* _name = cname;
+ const char* _value = cvalue;
+ #endif
+
+ TiXmlAttribute* node = attributeSet.Find( _name );
+ if ( node )
+ {
+ node->SetValue( _value );
+ return;
+ }
+
+ TiXmlAttribute* attrib = new TiXmlAttribute( cname, cvalue );
+ if ( attrib )
+ {
+ attributeSet.Add( attrib );
+ }
+ else
+ {
+ TiXmlDocument* document = GetDocument();
+ if ( document ) document->SetError( TIXML_ERROR_OUT_OF_MEMORY, 0, 0, TIXML_ENCODING_UNKNOWN );
+ }
+}
+
+
+#ifdef TIXML_USE_STL
+void TiXmlElement::SetAttribute( const std::string& name, const std::string& _value )
+{
+ TiXmlAttribute* node = attributeSet.Find( name );
+ if ( node )
+ {
+ node->SetValue( _value );
+ return;
+ }
+
+ TiXmlAttribute* attrib = new TiXmlAttribute( name, _value );
+ if ( attrib )
+ {
+ attributeSet.Add( attrib );
+ }
+ else
+ {
+ TiXmlDocument* document = GetDocument();
+ if ( document ) document->SetError( TIXML_ERROR_OUT_OF_MEMORY, 0, 0, TIXML_ENCODING_UNKNOWN );
+ }
+}
+#endif
+
+
+void TiXmlElement::Print( FILE* cfile, int depth ) const
+{
+ int i;
+ assert( cfile );
+ for ( i=0; i<depth; i++ ) {
+ fprintf( cfile, " " );
+ }
+
+ fprintf( cfile, "<%s", value.c_str() );
+
+ const TiXmlAttribute* attrib;
+ for ( attrib = attributeSet.First(); attrib; attrib = attrib->Next() )
+ {
+ fprintf( cfile, " " );
+ attrib->Print( cfile, depth );
+ }
+
+ // There are 3 different formatting approaches:
+ // 1) An element without children is printed as a <foo /> node
+ // 2) An element with only a text child is printed as <foo> text </foo>
+ // 3) An element with children is printed on multiple lines.
+ TiXmlNode* node;
+ if ( !firstChild )
+ {
+ fprintf( cfile, " />" );
+ }
+ else if ( firstChild == lastChild && firstChild->ToText() )
+ {
+ fprintf( cfile, ">" );
+ firstChild->Print( cfile, depth + 1 );
+ fprintf( cfile, "</%s>", value.c_str() );
+ }
+ else
+ {
+ fprintf( cfile, ">" );
+
+ for ( node = firstChild; node; node=node->NextSibling() )
+ {
+ if ( !node->ToText() )
+ {
+ fprintf( cfile, "\n" );
+ }
+ node->Print( cfile, depth+1 );
+ }
+ fprintf( cfile, "\n" );
+ for( i=0; i<depth; ++i ) {
+ fprintf( cfile, " " );
+ }
+ fprintf( cfile, "</%s>", value.c_str() );
+ }
+}
+
+
+void TiXmlElement::CopyTo( TiXmlElement* target ) const
+{
+ // superclass:
+ TiXmlNode::CopyTo( target );
+
+ // Element class:
+ // Clone the attributes, then clone the children.
+ const TiXmlAttribute* attribute = 0;
+ for( attribute = attributeSet.First();
+ attribute;
+ attribute = attribute->Next() )
+ {
+ target->SetAttribute( attribute->Name(), attribute->Value() );
+ }
+
+ TiXmlNode* node = 0;
+ for ( node = firstChild; node; node = node->NextSibling() )
+ {
+ target->LinkEndChild( node->Clone() );
+ }
+}
+
+bool TiXmlElement::Accept( TiXmlVisitor* visitor ) const
+{
+ if ( visitor->VisitEnter( *this, attributeSet.First() ) )
+ {
+ for ( const TiXmlNode* node=FirstChild(); node; node=node->NextSibling() )
+ {
+ if ( !node->Accept( visitor ) )
+ break;
+ }
+ }
+ return visitor->VisitExit( *this );
+}
+
+
+TiXmlNode* TiXmlElement::Clone() const
+{
+ TiXmlElement* clone = new TiXmlElement( Value() );
+ if ( !clone )
+ return 0;
+
+ CopyTo( clone );
+ return clone;
+}
+
+
+const char* TiXmlElement::GetText() const
+{
+ const TiXmlNode* child = this->FirstChild();
+ if ( child ) {
+ const TiXmlText* childText = child->ToText();
+ if ( childText ) {
+ return childText->Value();
+ }
+ }
+ return 0;
+}
+
+
+TiXmlDocument::TiXmlDocument() : TiXmlNode( TiXmlNode::DOCUMENT )
+{
+ tabsize = 4;
+ useMicrosoftBOM = false;
+ ClearError();
+}
+
+TiXmlDocument::TiXmlDocument( const char * documentName ) : TiXmlNode( TiXmlNode::DOCUMENT )
+{
+ tabsize = 4;
+ useMicrosoftBOM = false;
+ value = documentName;
+ ClearError();
+}
+
+
+#ifdef TIXML_USE_STL
+TiXmlDocument::TiXmlDocument( const std::string& documentName ) : TiXmlNode( TiXmlNode::DOCUMENT )
+{
+ tabsize = 4;
+ useMicrosoftBOM = false;
+ value = documentName;
+ ClearError();
+}
+#endif
+
+
+TiXmlDocument::TiXmlDocument( const TiXmlDocument& copy ) : TiXmlNode( TiXmlNode::DOCUMENT )
+{
+ copy.CopyTo( this );
+}
+
+
+void TiXmlDocument::operator=( const TiXmlDocument& copy )
+{
+ Clear();
+ copy.CopyTo( this );
+}
+
+
+bool TiXmlDocument::LoadFile( TiXmlEncoding encoding )
+{
+ // See STL_STRING_BUG below.
+ //StringToBuffer buf( value );
+
+ return LoadFile( Value(), encoding );
+}
+
+
+bool TiXmlDocument::SaveFile() const
+{
+ // See STL_STRING_BUG below.
+// StringToBuffer buf( value );
+//
+// if ( buf.buffer && SaveFile( buf.buffer ) )
+// return true;
+//
+// return false;
+ return SaveFile( Value() );
+}
+
+bool TiXmlDocument::LoadFile( const char* _filename, TiXmlEncoding encoding )
+{
+ // There was a really terrifying little bug here. The code:
+ // value = filename
+ // in the STL case, cause the assignment method of the std::string to
+ // be called. What is strange, is that the std::string had the same
+ // address as it's c_str() method, and so bad things happen. Looks
+ // like a bug in the Microsoft STL implementation.
+ // Add an extra string to avoid the crash.
+ TIXML_STRING filename( _filename );
+ value = filename;
+
+ // reading in binary mode so that tinyxml can normalize the EOL
+ FILE* file = TiXmlFOpen( value.c_str (), "rb" );
+
+ if ( file )
+ {
+ bool result = LoadFile( file, encoding );
+ fclose( file );
+ return result;
+ }
+ else
+ {
+ SetError( TIXML_ERROR_OPENING_FILE, 0, 0, TIXML_ENCODING_UNKNOWN );
+ return false;
+ }
+}
+
+bool TiXmlDocument::LoadFile( FILE* file, TiXmlEncoding encoding )
+{
+ if ( !file )
+ {
+ SetError( TIXML_ERROR_OPENING_FILE, 0, 0, TIXML_ENCODING_UNKNOWN );
+ return false;
+ }
+
+ // Delete the existing data:
+ Clear();
+ location.Clear();
+
+ // Get the file size, so we can pre-allocate the string. HUGE speed impact.
+ long length = 0;
+ fseek( file, 0, SEEK_END );
+ length = ftell( file );
+ fseek( file, 0, SEEK_SET );
+
+ // Strange case, but good to handle up front.
+ if ( length <= 0 )
+ {
+ SetError( TIXML_ERROR_DOCUMENT_EMPTY, 0, 0, TIXML_ENCODING_UNKNOWN );
+ return false;
+ }
+
+ // If we have a file, assume it is all one big XML file, and read it in.
+ // The document parser may decide the document ends sooner than the entire file, however.
+ TIXML_STRING data;
+ data.reserve( length );
+
+ // Subtle bug here. TinyXml did use fgets. But from the XML spec:
+ // 2.11 End-of-Line Handling
+ // <snip>
+ // <quote>
+ // ...the XML processor MUST behave as if it normalized all line breaks in external
+ // parsed entities (including the document entity) on input, before parsing, by translating
+ // both the two-character sequence #xD #xA and any #xD that is not followed by #xA to
+ // a single #xA character.
+ // </quote>
+ //
+ // It is not clear fgets does that, and certainly isn't clear it works cross platform.
+ // Generally, you expect fgets to translate from the convention of the OS to the c/unix
+ // convention, and not work generally.
+
+ /*
+ while( fgets( buf, sizeof(buf), file ) )
+ {
+ data += buf;
+ }
+ */
+
+ char* buf = new char[ length+1 ];
+ buf[0] = 0;
+
+ if ( fread( buf, length, 1, file ) != 1 ) {
+ delete [] buf;
+ SetError( TIXML_ERROR_OPENING_FILE, 0, 0, TIXML_ENCODING_UNKNOWN );
+ return false;
+ }
+
+ const char* lastPos = buf;
+ const char* p = buf;
+
+ buf[length] = 0;
+ while( *p ) {
+ assert( p < (buf+length) );
+ if ( *p == 0xa ) {
+ // Newline character. No special rules for this. Append all the characters
+ // since the last string, and include the newline.
+ data.append( lastPos, (p-lastPos+1) ); // append, include the newline
+ ++p; // move past the newline
+ lastPos = p; // and point to the new buffer (may be 0)
+ assert( p <= (buf+length) );
+ }
+ else if ( *p == 0xd ) {
+ // Carriage return. Append what we have so far, then
+ // handle moving forward in the buffer.
+ if ( (p-lastPos) > 0 ) {
+ data.append( lastPos, p-lastPos ); // do not add the CR
+ }
+ data += (char)0xa; // a proper newline
+
+ if ( *(p+1) == 0xa ) {
+ // Carriage return - new line sequence
+ p += 2;
+ lastPos = p;
+ assert( p <= (buf+length) );
+ }
+ else {
+ // it was followed by something else...that is presumably characters again.
+ ++p;
+ lastPos = p;
+ assert( p <= (buf+length) );
+ }
+ }
+ else {
+ ++p;
+ }
+ }
+ // Handle any left over characters.
+ if ( p-lastPos ) {
+ data.append( lastPos, p-lastPos );
+ }
+ delete [] buf;
+ buf = 0;
+
+ Parse( data.c_str(), 0, encoding );
+
+ if ( Error() )
+ return false;
+ else
+ return true;
+}
+
+
+bool TiXmlDocument::SaveFile( const char * filename ) const
+{
+ // The old c stuff lives on...
+ FILE* fp = TiXmlFOpen( filename, "w" );
+ if ( fp )
+ {
+ bool result = SaveFile( fp );
+ fclose( fp );
+ return result;
+ }
+ return false;
+}
+
+
+bool TiXmlDocument::SaveFile( FILE* fp ) const
+{
+ if ( useMicrosoftBOM )
+ {
+ const unsigned char TIXML_UTF_LEAD_0 = 0xefU;
+ const unsigned char TIXML_UTF_LEAD_1 = 0xbbU;
+ const unsigned char TIXML_UTF_LEAD_2 = 0xbfU;
+
+ fputc( TIXML_UTF_LEAD_0, fp );
+ fputc( TIXML_UTF_LEAD_1, fp );
+ fputc( TIXML_UTF_LEAD_2, fp );
+ }
+ Print( fp, 0 );
+ return (ferror(fp) == 0);
+}
+
+
+void TiXmlDocument::CopyTo( TiXmlDocument* target ) const
+{
+ TiXmlNode::CopyTo( target );
+
+ target->error = error;
+ target->errorId = errorId;
+ target->errorDesc = errorDesc;
+ target->tabsize = tabsize;
+ target->errorLocation = errorLocation;
+ target->useMicrosoftBOM = useMicrosoftBOM;
+
+ TiXmlNode* node = 0;
+ for ( node = firstChild; node; node = node->NextSibling() )
+ {
+ target->LinkEndChild( node->Clone() );
+ }
+}
+
+
+TiXmlNode* TiXmlDocument::Clone() const
+{
+ TiXmlDocument* clone = new TiXmlDocument();
+ if ( !clone )
+ return 0;
+
+ CopyTo( clone );
+ return clone;
+}
+
+
+void TiXmlDocument::Print( FILE* cfile, int depth ) const
+{
+ assert( cfile );
+ for ( const TiXmlNode* node=FirstChild(); node; node=node->NextSibling() )
+ {
+ node->Print( cfile, depth );
+ fprintf( cfile, "\n" );
+ }
+}
+
+
+bool TiXmlDocument::Accept( TiXmlVisitor* visitor ) const
+{
+ if ( visitor->VisitEnter( *this ) )
+ {
+ for ( const TiXmlNode* node=FirstChild(); node; node=node->NextSibling() )
+ {
+ if ( !node->Accept( visitor ) )
+ break;
+ }
+ }
+ return visitor->VisitExit( *this );
+}
+
+
+const TiXmlAttribute* TiXmlAttribute::Next() const
+{
+ // We are using knowledge of the sentinel. The sentinel
+ // have a value or name.
+ if ( next->value.empty() && next->name.empty() )
+ return 0;
+ return next;
+}
+
+/*
+TiXmlAttribute* TiXmlAttribute::Next()
+{
+ // We are using knowledge of the sentinel. The sentinel
+ // have a value or name.
+ if ( next->value.empty() && next->name.empty() )
+ return 0;
+ return next;
+}
+*/
+
+const TiXmlAttribute* TiXmlAttribute::Previous() const
+{
+ // We are using knowledge of the sentinel. The sentinel
+ // have a value or name.
+ if ( prev->value.empty() && prev->name.empty() )
+ return 0;
+ return prev;
+}
+
+/*
+TiXmlAttribute* TiXmlAttribute::Previous()
+{
+ // We are using knowledge of the sentinel. The sentinel
+ // have a value or name.
+ if ( prev->value.empty() && prev->name.empty() )
+ return 0;
+ return prev;
+}
+*/
+
+void TiXmlAttribute::Print( FILE* cfile, int /*depth*/, TIXML_STRING* str ) const
+{
+ TIXML_STRING n, v;
+
+ EncodeString( name, &n );
+ EncodeString( value, &v );
+
+ if (value.find ('\"') == TIXML_STRING::npos) {
+ if ( cfile ) {
+ fprintf (cfile, "%s=\"%s\"", n.c_str(), v.c_str() );
+ }
+ if ( str ) {
+ (*str) += n; (*str) += "=\""; (*str) += v; (*str) += "\"";
+ }
+ }
+ else {
+ if ( cfile ) {
+ fprintf (cfile, "%s='%s'", n.c_str(), v.c_str() );
+ }
+ if ( str ) {
+ (*str) += n; (*str) += "='"; (*str) += v; (*str) += "'";
+ }
+ }
+}
+
+
+int TiXmlAttribute::QueryIntValue( int* ival ) const
+{
+ if ( TIXML_SSCANF( value.c_str(), "%d", ival ) == 1 )
+ return TIXML_SUCCESS;
+ return TIXML_WRONG_TYPE;
+}
+
+int TiXmlAttribute::QueryDoubleValue( double* dval ) const
+{
+ if ( TIXML_SSCANF( value.c_str(), "%lf", dval ) == 1 )
+ return TIXML_SUCCESS;
+ return TIXML_WRONG_TYPE;
+}
+
+void TiXmlAttribute::SetIntValue( int _value )
+{
+ char buf [64];
+ #if defined(TIXML_SNPRINTF)
+ TIXML_SNPRINTF(buf, sizeof(buf), "%d", _value);
+ #else
+ sprintf (buf, "%d", _value);
+ #endif
+ SetValue (buf);
+}
+
+void TiXmlAttribute::SetDoubleValue( double _value )
+{
+ char buf [256];
+ #if defined(TIXML_SNPRINTF)
+ TIXML_SNPRINTF( buf, sizeof(buf), "%lf", _value);
+ #else
+ sprintf (buf, "%lf", _value);
+ #endif
+ SetValue (buf);
+}
+
+int TiXmlAttribute::IntValue() const
+{
+ return atoi (value.c_str ());
+}
+
+double TiXmlAttribute::DoubleValue() const
+{
+ return atof (value.c_str ());
+}
+
+
+TiXmlComment::TiXmlComment( const TiXmlComment& copy ) : TiXmlNode( TiXmlNode::COMMENT )
+{
+ copy.CopyTo( this );
+}
+
+
+void TiXmlComment::operator=( const TiXmlComment& base )
+{
+ Clear();
+ base.CopyTo( this );
+}
+
+
+void TiXmlComment::Print( FILE* cfile, int depth ) const
+{
+ assert( cfile );
+ for ( int i=0; i<depth; i++ )
+ {
+ fprintf( cfile, " " );
+ }
+ fprintf( cfile, "<!--%s-->", value.c_str() );
+}
+
+
+void TiXmlComment::CopyTo( TiXmlComment* target ) const
+{
+ TiXmlNode::CopyTo( target );
+}
+
+
+bool TiXmlComment::Accept( TiXmlVisitor* visitor ) const
+{
+ return visitor->Visit( *this );
+}
+
+
+TiXmlNode* TiXmlComment::Clone() const
+{
+ TiXmlComment* clone = new TiXmlComment();
+
+ if ( !clone )
+ return 0;
+
+ CopyTo( clone );
+ return clone;
+}
+
+
+void TiXmlText::Print( FILE* cfile, int depth ) const
+{
+ assert( cfile );
+ if ( cdata )
+ {
+ int i;
+ fprintf( cfile, "\n" );
+ for ( i=0; i<depth; i++ ) {
+ fprintf( cfile, " " );
+ }
+ fprintf( cfile, "<![CDATA[%s]]>\n", value.c_str() ); // unformatted output
+ }
+ else
+ {
+ TIXML_STRING buffer;
+ EncodeString( value, &buffer );
+ fprintf( cfile, "%s", buffer.c_str() );
+ }
+}
+
+
+void TiXmlText::CopyTo( TiXmlText* target ) const
+{
+ TiXmlNode::CopyTo( target );
+ target->cdata = cdata;
+}
+
+
+bool TiXmlText::Accept( TiXmlVisitor* visitor ) const
+{
+ return visitor->Visit( *this );
+}
+
+
+TiXmlNode* TiXmlText::Clone() const
+{
+ TiXmlText* clone = 0;
+ clone = new TiXmlText( "" );
+
+ if ( !clone )
+ return 0;
+
+ CopyTo( clone );
+ return clone;
+}
+
+
+TiXmlDeclaration::TiXmlDeclaration( const char * _version,
+ const char * _encoding,
+ const char * _standalone )
+ : TiXmlNode( TiXmlNode::DECLARATION )
+{
+ version = _version;
+ encoding = _encoding;
+ standalone = _standalone;
+}
+
+
+#ifdef TIXML_USE_STL
+TiXmlDeclaration::TiXmlDeclaration( const std::string& _version,
+ const std::string& _encoding,
+ const std::string& _standalone )
+ : TiXmlNode( TiXmlNode::DECLARATION )
+{
+ version = _version;
+ encoding = _encoding;
+ standalone = _standalone;
+}
+#endif
+
+
+TiXmlDeclaration::TiXmlDeclaration( const TiXmlDeclaration& copy )
+ : TiXmlNode( TiXmlNode::DECLARATION )
+{
+ copy.CopyTo( this );
+}
+
+
+void TiXmlDeclaration::operator=( const TiXmlDeclaration& copy )
+{
+ Clear();
+ copy.CopyTo( this );
+}
+
+
+void TiXmlDeclaration::Print( FILE* cfile, int /*depth*/, TIXML_STRING* str ) const
+{
+ if ( cfile ) fprintf( cfile, "<?xml " );
+ if ( str ) (*str) += "<?xml ";
+
+ if ( !version.empty() ) {
+ if ( cfile ) fprintf (cfile, "version=\"%s\" ", version.c_str ());
+ if ( str ) { (*str) += "version=\""; (*str) += version; (*str) += "\" "; }
+ }
+ if ( !encoding.empty() ) {
+ if ( cfile ) fprintf (cfile, "encoding=\"%s\" ", encoding.c_str ());
+ if ( str ) { (*str) += "encoding=\""; (*str) += encoding; (*str) += "\" "; }
+ }
+ if ( !standalone.empty() ) {
+ if ( cfile ) fprintf (cfile, "standalone=\"%s\" ", standalone.c_str ());
+ if ( str ) { (*str) += "standalone=\""; (*str) += standalone; (*str) += "\" "; }
+ }
+ if ( cfile ) fprintf( cfile, "?>" );
+ if ( str ) (*str) += "?>";
+}
+
+
+void TiXmlDeclaration::CopyTo( TiXmlDeclaration* target ) const
+{
+ TiXmlNode::CopyTo( target );
+
+ target->version = version;
+ target->encoding = encoding;
+ target->standalone = standalone;
+}
+
+
+bool TiXmlDeclaration::Accept( TiXmlVisitor* visitor ) const
+{
+ return visitor->Visit( *this );
+}
+
+
+TiXmlNode* TiXmlDeclaration::Clone() const
+{
+ TiXmlDeclaration* clone = new TiXmlDeclaration();
+
+ if ( !clone )
+ return 0;
+
+ CopyTo( clone );
+ return clone;
+}
+
+
+void TiXmlUnknown::Print( FILE* cfile, int depth ) const
+{
+ for ( int i=0; i<depth; i++ )
+ fprintf( cfile, " " );
+ fprintf( cfile, "<%s>", value.c_str() );
+}
+
+
+void TiXmlUnknown::CopyTo( TiXmlUnknown* target ) const
+{
+ TiXmlNode::CopyTo( target );
+}
+
+
+bool TiXmlUnknown::Accept( TiXmlVisitor* visitor ) const
+{
+ return visitor->Visit( *this );
+}
+
+
+TiXmlNode* TiXmlUnknown::Clone() const
+{
+ TiXmlUnknown* clone = new TiXmlUnknown();
+
+ if ( !clone )
+ return 0;
+
+ CopyTo( clone );
+ return clone;
+}
+
+
+TiXmlAttributeSet::TiXmlAttributeSet()
+{
+ sentinel.next = &sentinel;
+ sentinel.prev = &sentinel;
+}
+
+
+TiXmlAttributeSet::~TiXmlAttributeSet()
+{
+ assert( sentinel.next == &sentinel );
+ assert( sentinel.prev == &sentinel );
+}
+
+
+void TiXmlAttributeSet::Add( TiXmlAttribute* addMe )
+{
+ #ifdef TIXML_USE_STL
+ assert( !Find( TIXML_STRING( addMe->Name() ) ) ); // Shouldn't be multiply adding to the set.
+ #else
+ assert( !Find( addMe->Name() ) ); // Shouldn't be multiply adding to the set.
+ #endif
+
+ addMe->next = &sentinel;
+ addMe->prev = sentinel.prev;
+
+ sentinel.prev->next = addMe;
+ sentinel.prev = addMe;
+}
+
+void TiXmlAttributeSet::Remove( TiXmlAttribute* removeMe )
+{
+ TiXmlAttribute* node;
+
+ for( node = sentinel.next; node != &sentinel; node = node->next )
+ {
+ if ( node == removeMe )
+ {
+ node->prev->next = node->next;
+ node->next->prev = node->prev;
+ node->next = 0;
+ node->prev = 0;
+ return;
+ }
+ }
+ assert( 0 ); // we tried to remove a non-linked attribute.
+}
+
+
+#ifdef TIXML_USE_STL
+const TiXmlAttribute* TiXmlAttributeSet::Find( const std::string& name ) const
+{
+ for( const TiXmlAttribute* node = sentinel.next; node != &sentinel; node = node->next )
+ {
+ if ( node->name == name )
+ return node;
+ }
+ return 0;
+}
+
+/*
+TiXmlAttribute* TiXmlAttributeSet::Find( const std::string& name )
+{
+ for( TiXmlAttribute* node = sentinel.next; node != &sentinel; node = node->next )
+ {
+ if ( node->name == name )
+ return node;
+ }
+ return 0;
+}
+*/
+#endif
+
+
+const TiXmlAttribute* TiXmlAttributeSet::Find( const char* name ) const
+{
+ for( const TiXmlAttribute* node = sentinel.next; node != &sentinel; node = node->next )
+ {
+ if ( strcmp( node->name.c_str(), name ) == 0 )
+ return node;
+ }
+ return 0;
+}
+
+/*
+TiXmlAttribute* TiXmlAttributeSet::Find( const char* name )
+{
+ for( TiXmlAttribute* node = sentinel.next; node != &sentinel; node = node->next )
+ {
+ if ( strcmp( node->name.c_str(), name ) == 0 )
+ return node;
+ }
+ return 0;
+}
+*/
+
+#ifdef TIXML_USE_STL
+std::istream& operator>> (std::istream & in, TiXmlNode & base)
+{
+ TIXML_STRING tag;
+ tag.reserve( 8 * 1000 );
+ base.StreamIn( &in, &tag );
+
+ base.Parse( tag.c_str(), 0, TIXML_DEFAULT_ENCODING );
+ return in;
+}
+#endif
+
+
+#ifdef TIXML_USE_STL
+std::ostream& operator<< (std::ostream & out, const TiXmlNode & base)
+{
+ TiXmlPrinter printer;
+ printer.SetStreamPrinting();
+ base.Accept( &printer );
+ out << printer.Str();
+
+ return out;
+}
+
+
+std::string& operator<< (std::string& out, const TiXmlNode& base )
+{
+ TiXmlPrinter printer;
+ printer.SetStreamPrinting();
+ base.Accept( &printer );
+ out.append( printer.Str() );
+
+ return out;
+}
+#endif
+
+
+TiXmlHandle TiXmlHandle::FirstChild() const
+{
+ if ( node )
+ {
+ TiXmlNode* child = node->FirstChild();
+ if ( child )
+ return TiXmlHandle( child );
+ }
+ return TiXmlHandle( 0 );
+}
+
+
+TiXmlHandle TiXmlHandle::FirstChild( const char * value ) const
+{
+ if ( node )
+ {
+ TiXmlNode* child = node->FirstChild( value );
+ if ( child )
+ return TiXmlHandle( child );
+ }
+ return TiXmlHandle( 0 );
+}
+
+
+TiXmlHandle TiXmlHandle::FirstChildElement() const
+{
+ if ( node )
+ {
+ TiXmlElement* child = node->FirstChildElement();
+ if ( child )
+ return TiXmlHandle( child );
+ }
+ return TiXmlHandle( 0 );
+}
+
+
+TiXmlHandle TiXmlHandle::FirstChildElement( const char * value ) const
+{
+ if ( node )
+ {
+ TiXmlElement* child = node->FirstChildElement( value );
+ if ( child )
+ return TiXmlHandle( child );
+ }
+ return TiXmlHandle( 0 );
+}
+
+
+TiXmlHandle TiXmlHandle::Child( int count ) const
+{
+ if ( node )
+ {
+ int i;
+ TiXmlNode* child = node->FirstChild();
+ for ( i=0;
+ child && i<count;
+ child = child->NextSibling(), ++i )
+ {
+ // nothing
+ }
+ if ( child )
+ return TiXmlHandle( child );
+ }
+ return TiXmlHandle( 0 );
+}
+
+
+TiXmlHandle TiXmlHandle::Child( const char* value, int count ) const
+{
+ if ( node )
+ {
+ int i;
+ TiXmlNode* child = node->FirstChild( value );
+ for ( i=0;
+ child && i<count;
+ child = child->NextSibling( value ), ++i )
+ {
+ // nothing
+ }
+ if ( child )
+ return TiXmlHandle( child );
+ }
+ return TiXmlHandle( 0 );
+}
+
+
+TiXmlHandle TiXmlHandle::ChildElement( int count ) const
+{
+ if ( node )
+ {
+ int i;
+ TiXmlElement* child = node->FirstChildElement();
+ for ( i=0;
+ child && i<count;
+ child = child->NextSiblingElement(), ++i )
+ {
+ // nothing
+ }
+ if ( child )
+ return TiXmlHandle( child );
+ }
+ return TiXmlHandle( 0 );
+}
+
+
+TiXmlHandle TiXmlHandle::ChildElement( const char* value, int count ) const
+{
+ if ( node )
+ {
+ int i;
+ TiXmlElement* child = node->FirstChildElement( value );
+ for ( i=0;
+ child && i<count;
+ child = child->NextSiblingElement( value ), ++i )
+ {
+ // nothing
+ }
+ if ( child )
+ return TiXmlHandle( child );
+ }
+ return TiXmlHandle( 0 );
+}
+
+
+bool TiXmlPrinter::VisitEnter( const TiXmlDocument& )
+{
+ return true;
+}
+
+bool TiXmlPrinter::VisitExit( const TiXmlDocument& )
+{
+ return true;
+}
+
+bool TiXmlPrinter::VisitEnter( const TiXmlElement& element, const TiXmlAttribute* firstAttribute )
+{
+ DoIndent();
+ buffer += "<";
+ buffer += element.Value();
+
+ for( const TiXmlAttribute* attrib = firstAttribute; attrib; attrib = attrib->Next() )
+ {
+ buffer += " ";
+ attrib->Print( 0, 0, &buffer );
+ }
+
+ if ( !element.FirstChild() )
+ {
+ buffer += " />";
+ DoLineBreak();
+ }
+ else
+ {
+ buffer += ">";
+ if ( element.FirstChild()->ToText()
+ && element.LastChild() == element.FirstChild()
+ && element.FirstChild()->ToText()->CDATA() == false )
+ {
+ simpleTextPrint = true;
+ // no DoLineBreak()!
+ }
+ else
+ {
+ DoLineBreak();
+ }
+ }
+ ++depth;
+ return true;
+}
+
+
+bool TiXmlPrinter::VisitExit( const TiXmlElement& element )
+{
+ --depth;
+ if ( !element.FirstChild() )
+ {
+ // nothing.
+ }
+ else
+ {
+ if ( simpleTextPrint )
+ {
+ simpleTextPrint = false;
+ }
+ else
+ {
+ DoIndent();
+ }
+ buffer += "</";
+ buffer += element.Value();
+ buffer += ">";
+ DoLineBreak();
+ }
+ return true;
+}
+
+
+bool TiXmlPrinter::Visit( const TiXmlText& text )
+{
+ if ( text.CDATA() )
+ {
+ DoIndent();
+ buffer += "<![CDATA[";
+ buffer += text.Value();
+ buffer += "]]>";
+ DoLineBreak();
+ }
+ else if ( simpleTextPrint )
+ {
+ TIXML_STRING str;
+ TiXmlBase::EncodeString( text.ValueTStr(), &str );
+ buffer += str;
+ }
+ else
+ {
+ DoIndent();
+ TIXML_STRING str;
+ TiXmlBase::EncodeString( text.ValueTStr(), &str );
+ buffer += str;
+ DoLineBreak();
+ }
+ return true;
+}
+
+
+bool TiXmlPrinter::Visit( const TiXmlDeclaration& declaration )
+{
+ DoIndent();
+ declaration.Print( 0, 0, &buffer );
+ DoLineBreak();
+ return true;
+}
+
+
+bool TiXmlPrinter::Visit( const TiXmlComment& comment )
+{
+ DoIndent();
+ buffer += "<!--";
+ buffer += comment.Value();
+ buffer += "-->";
+ DoLineBreak();
+ return true;
+}
+
+
+bool TiXmlPrinter::Visit( const TiXmlUnknown& unknown )
+{
+ DoIndent();
+ buffer += "<";
+ buffer += unknown.Value();
+ buffer += ">";
+ DoLineBreak();
+ return true;
+}
+
diff --git a/TinyXML/2.5.3/tinyxml.dsw b/TinyXML/2.5.3/tinyxml.dsw
new file mode 100644
index 0000000..6ff9cfa
--- /dev/null
+++ b/TinyXML/2.5.3/tinyxml.dsw
@@ -0,0 +1,71 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "tinyXmlTest"=.\tinyXmlTest.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name tinyxml
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "tinyXmlTestSTL"=.\tinyXmlTestSTL.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+ Begin Project Dependency
+ Project_Dep_Name tinyxmlSTL
+ End Project Dependency
+}}}
+
+###############################################################################
+
+Project: "tinyxml"=.\tinyxml_lib.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Project: "tinyxmlSTL"=.\tinyxmlSTL.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/TinyXML/2.5.3/tinyxml.h b/TinyXML/2.5.3/tinyxml.h
new file mode 100644
index 0000000..c6f40cc
--- /dev/null
+++ b/TinyXML/2.5.3/tinyxml.h
@@ -0,0 +1,1802 @@
+/*
+www.sourceforge.net/projects/tinyxml
+Original code (2.0 and earlier )copyright (c) 2000-2006 Lee Thomason (www.grinninglizard.com)
+
+This software is provided 'as-is', without any express or implied
+warranty. In no event will the authors be held liable for any
+damages arising from the use of this software.
+
+Permission is granted to anyone to use this software for any
+purpose, including commercial applications, and to alter it and
+redistribute it freely, subject to the following restrictions:
+
+1. The origin of this software must not be misrepresented; you must
+not claim that you wrote the original software. If you use this
+software in a product, an acknowledgment in the product documentation
+would be appreciated but is not required.
+
+2. Altered source versions must be plainly marked as such, and
+must not be misrepresented as being the original software.
+
+3. This notice may not be removed or altered from any source
+distribution.
+*/
+
+
+#ifndef TINYXML_INCLUDED
+#define TINYXML_INCLUDED
+
+#ifdef _MSC_VER
+#pragma warning( push )
+#pragma warning( disable : 4530 )
+#pragma warning( disable : 4786 )
+#endif
+
+#include <ctype.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <assert.h>
+
+// Help out windows:
+#if defined( _DEBUG ) && !defined( DEBUG )
+#define DEBUG
+#endif
+
+#ifdef TIXML_USE_STL
+ #include <string>
+ #include <iostream>
+ #include <sstream>
+ #define TIXML_STRING std::string
+#else
+ #include "tinystr.h"
+ #define TIXML_STRING TiXmlString
+#endif
+
+// Deprecated library function hell. Compilers want to use the
+// new safe versions. This probably doesn't fully address the problem,
+// but it gets closer. There are too many compilers for me to fully
+// test. If you get compilation troubles, undefine TIXML_SAFE
+#define TIXML_SAFE
+
+#ifdef TIXML_SAFE
+ #if defined(_MSC_VER) && (_MSC_VER >= 1400 )
+ // Microsoft visual studio, version 2005 and higher.
+ #define TIXML_SNPRINTF _snprintf_s
+ #define TIXML_SNSCANF _snscanf_s
+ #define TIXML_SSCANF sscanf_s
+ #elif defined(_MSC_VER) && (_MSC_VER >= 1200 )
+ // Microsoft visual studio, version 6 and higher.
+ //#pragma message( "Using _sn* functions." )
+ #define TIXML_SNPRINTF _snprintf
+ #define TIXML_SNSCANF _snscanf
+ #define TIXML_SSCANF sscanf
+ #elif defined(__GNUC__) && (__GNUC__ >= 3 )
+ // GCC version 3 and higher.s
+ //#warning( "Using sn* functions." )
+ #define TIXML_SNPRINTF snprintf
+ #define TIXML_SNSCANF snscanf
+ #define TIXML_SSCANF sscanf
+ #else
+ #define TIXML_SSCANF sscanf
+ #endif
+#endif
+
+class TiXmlDocument;
+class TiXmlElement;
+class TiXmlComment;
+class TiXmlUnknown;
+class TiXmlAttribute;
+class TiXmlText;
+class TiXmlDeclaration;
+class TiXmlParsingData;
+
+const int TIXML_MAJOR_VERSION = 2;
+const int TIXML_MINOR_VERSION = 5;
+const int TIXML_PATCH_VERSION = 3;
+
+/* Internal structure for tracking location of items
+ in the XML file.
+*/
+struct TiXmlCursor
+{
+ TiXmlCursor() { Clear(); }
+ void Clear() { row = col = -1; }
+
+ int row; // 0 based.
+ int col; // 0 based.
+};
+
+
+/**
+ If you call the Accept() method, it requires being passed a TiXmlVisitor
+ class to handle callbacks. For nodes that contain other nodes (Document, Element)
+ you will get called with a VisitEnter/VisitExit pair. Nodes that are always leaves
+ are simple called with Visit().
+
+ If you return 'true' from a Visit method, recursive parsing will continue. If you return
+ false, <b>no children of this node or its sibilings</b> will be Visited.
+
+ All flavors of Visit methods have a default implementation that returns 'true' (continue
+ visiting). You need to only override methods that are interesting to you.
+
+ Generally Accept() is called on the TiXmlDocument, although all nodes suppert Visiting.
+
+ You should never change the document from a callback.
+
+ @sa TiXmlNode::Accept()
+*/
+class TiXmlVisitor
+{
+public:
+ virtual ~TiXmlVisitor() {}
+
+ /// Visit a document.
+ virtual bool VisitEnter( const TiXmlDocument& /*doc*/ ) { return true; }
+ /// Visit a document.
+ virtual bool VisitExit( const TiXmlDocument& /*doc*/ ) { return true; }
+
+ /// Visit an element.
+ virtual bool VisitEnter( const TiXmlElement& /*element*/, const TiXmlAttribute* /*firstAttribute*/ ) { return true; }
+ /// Visit an element.
+ virtual bool VisitExit( const TiXmlElement& /*element*/ ) { return true; }
+
+ /// Visit a declaration
+ virtual bool Visit( const TiXmlDeclaration& /*declaration*/ ) { return true; }
+ /// Visit a text node
+ virtual bool Visit( const TiXmlText& /*text*/ ) { return true; }
+ /// Visit a comment node
+ virtual bool Visit( const TiXmlComment& /*comment*/ ) { return true; }
+ /// Visit an unknow node
+ virtual bool Visit( const TiXmlUnknown& /*unknown*/ ) { return true; }
+};
+
+// Only used by Attribute::Query functions
+enum
+{
+ TIXML_SUCCESS,
+ TIXML_NO_ATTRIBUTE,
+ TIXML_WRONG_TYPE
+};
+
+
+// Used by the parsing routines.
+enum TiXmlEncoding
+{
+ TIXML_ENCODING_UNKNOWN,
+ TIXML_ENCODING_UTF8,
+ TIXML_ENCODING_LEGACY
+};
+
+const TiXmlEncoding TIXML_DEFAULT_ENCODING = TIXML_ENCODING_UNKNOWN;
+
+/** TiXmlBase is a base class for every class in TinyXml.
+ It does little except to establish that TinyXml classes
+ can be printed and provide some utility functions.
+
+ In XML, the document and elements can contain
+ other elements and other types of nodes.
+
+ @verbatim
+ A Document can contain: Element (container or leaf)
+ Comment (leaf)
+ Unknown (leaf)
+ Declaration( leaf )
+
+ An Element can contain: Element (container or leaf)
+ Text (leaf)
+ Attributes (not on tree)
+ Comment (leaf)
+ Unknown (leaf)
+
+ A Decleration contains: Attributes (not on tree)
+ @endverbatim
+*/
+class TiXmlBase
+{
+ friend class TiXmlNode;
+ friend class TiXmlElement;
+ friend class TiXmlDocument;
+
+public:
+ TiXmlBase() : userData(0) {}
+ virtual ~TiXmlBase() {}
+
+ /** All TinyXml classes can print themselves to a filestream
+ or the string class (TiXmlString in non-STL mode, std::string
+ in STL mode.) Either or both cfile and str can be null.
+
+ This is a formatted print, and will insert
+ tabs and newlines.
+
+ (For an unformatted stream, use the << operator.)
+ */
+ virtual void Print( FILE* cfile, int depth ) const = 0;
+
+ /** The world does not agree on whether white space should be kept or
+ not. In order to make everyone happy, these global, static functions
+ are provided to set whether or not TinyXml will condense all white space
+ into a single space or not. The default is to condense. Note changing this
+ value is not thread safe.
+ */
+ static void SetCondenseWhiteSpace( bool condense ) { condenseWhiteSpace = condense; }
+
+ /// Return the current white space setting.
+ static bool IsWhiteSpaceCondensed() { return condenseWhiteSpace; }
+
+ /** Return the position, in the original source file, of this node or attribute.
+ The row and column are 1-based. (That is the first row and first column is
+ 1,1). If the returns values are 0 or less, then the parser does not have
+ a row and column value.
+
+ Generally, the row and column value will be set when the TiXmlDocument::Load(),
+ TiXmlDocument::LoadFile(), or any TiXmlNode::Parse() is called. It will NOT be set
+ when the DOM was created from operator>>.
+
+ The values reflect the initial load. Once the DOM is modified programmatically
+ (by adding or changing nodes and attributes) the new values will NOT update to
+ reflect changes in the document.
+
+ There is a minor performance cost to computing the row and column. Computation
+ can be disabled if TiXmlDocument::SetTabSize() is called with 0 as the value.
+
+ @sa TiXmlDocument::SetTabSize()
+ */
+ int Row() const { return location.row + 1; }
+ int Column() const { return location.col + 1; } ///< See Row()
+
+ void SetUserData( void* user ) { userData = user; } ///< Set a pointer to arbitrary user data.
+ void* GetUserData() { return userData; } ///< Get a pointer to arbitrary user data.
+ const void* GetUserData() const { return userData; } ///< Get a pointer to arbitrary user data.
+
+ // Table that returs, for a given lead byte, the total number of bytes
+ // in the UTF-8 sequence.
+ static const int utf8ByteTable[256];
+
+ virtual const char* Parse( const char* p,
+ TiXmlParsingData* data,
+ TiXmlEncoding encoding /*= TIXML_ENCODING_UNKNOWN */ ) = 0;
+
+ /** Expands entities in a string. Note this should not contian the tag's '<', '>', etc,
+ or they will be transformed into entities!
+ */
+ static void EncodeString( const TIXML_STRING& str, TIXML_STRING* out );
+
+ enum
+ {
+ TIXML_NO_ERROR = 0,
+ TIXML_ERROR,
+ TIXML_ERROR_OPENING_FILE,
+ TIXML_ERROR_OUT_OF_MEMORY,
+ TIXML_ERROR_PARSING_ELEMENT,
+ TIXML_ERROR_FAILED_TO_READ_ELEMENT_NAME,
+ TIXML_ERROR_READING_ELEMENT_VALUE,
+ TIXML_ERROR_READING_ATTRIBUTES,
+ TIXML_ERROR_PARSING_EMPTY,
+ TIXML_ERROR_READING_END_TAG,
+ TIXML_ERROR_PARSING_UNKNOWN,
+ TIXML_ERROR_PARSING_COMMENT,
+ TIXML_ERROR_PARSING_DECLARATION,
+ TIXML_ERROR_DOCUMENT_EMPTY,
+ TIXML_ERROR_EMBEDDED_NULL,
+ TIXML_ERROR_PARSING_CDATA,
+ TIXML_ERROR_DOCUMENT_TOP_ONLY,
+
+ TIXML_ERROR_STRING_COUNT
+ };
+
+protected:
+
+ static const char* SkipWhiteSpace( const char*, TiXmlEncoding encoding );
+ inline static bool IsWhiteSpace( char c )
+ {
+ return ( isspace( (unsigned char) c ) || c == '\n' || c == '\r' );
+ }
+ inline static bool IsWhiteSpace( int c )
+ {
+ if ( c < 256 )
+ return IsWhiteSpace( (char) c );
+ return false; // Again, only truly correct for English/Latin...but usually works.
+ }
+
+ #ifdef TIXML_USE_STL
+ static bool StreamWhiteSpace( std::istream * in, TIXML_STRING * tag );
+ static bool StreamTo( std::istream * in, int character, TIXML_STRING * tag );
+ #endif
+
+ /* Reads an XML name into the string provided. Returns
+ a pointer just past the last character of the name,
+ or 0 if the function has an error.
+ */
+ static const char* ReadName( const char* p, TIXML_STRING* name, TiXmlEncoding encoding );
+
+ /* Reads text. Returns a pointer past the given end tag.
+ Wickedly complex options, but it keeps the (sensitive) code in one place.
+ */
+ static const char* ReadText( const char* in, // where to start
+ TIXML_STRING* text, // the string read
+ bool ignoreWhiteSpace, // whether to keep the white space
+ const char* endTag, // what ends this text
+ bool ignoreCase, // whether to ignore case in the end tag
+ TiXmlEncoding encoding ); // the current encoding
+
+ // If an entity has been found, transform it into a character.
+ static const char* GetEntity( const char* in, char* value, int* length, TiXmlEncoding encoding );
+
+ // Get a character, while interpreting entities.
+ // The length can be from 0 to 4 bytes.
+ inline static const char* GetChar( const char* p, char* _value, int* length, TiXmlEncoding encoding )
+ {
+ assert( p );
+ if ( encoding == TIXML_ENCODING_UTF8 )
+ {
+ *length = utf8ByteTable[ *((const unsigned char*)p) ];
+ assert( *length >= 0 && *length < 5 );
+ }
+ else
+ {
+ *length = 1;
+ }
+
+ if ( *length == 1 )
+ {
+ if ( *p == '&' )
+ return GetEntity( p, _value, length, encoding );
+ *_value = *p;
+ return p+1;
+ }
+ else if ( *length )
+ {
+ //strncpy( _value, p, *length ); // lots of compilers don't like this function (unsafe),
+ // and the null terminator isn't needed
+ for( int i=0; p[i] && i<*length; ++i ) {
+ _value[i] = p[i];
+ }
+ return p + (*length);
+ }
+ else
+ {
+ // Not valid text.
+ return 0;
+ }
+ }
+
+ // Return true if the next characters in the stream are any of the endTag sequences.
+ // Ignore case only works for english, and should only be relied on when comparing
+ // to English words: StringEqual( p, "version", true ) is fine.
+ static bool StringEqual( const char* p,
+ const char* endTag,
+ bool ignoreCase,
+ TiXmlEncoding encoding );
+
+ static const char* errorString[ TIXML_ERROR_STRING_COUNT ];
+
+ TiXmlCursor location;
+
+ /// Field containing a generic user pointer
+ void* userData;
+
+ // None of these methods are reliable for any language except English.
+ // Good for approximation, not great for accuracy.
+ static int IsAlpha( unsigned char anyByte, TiXmlEncoding encoding );
+ static int IsAlphaNum( unsigned char anyByte, TiXmlEncoding encoding );
+ inline static int ToLower( int v, TiXmlEncoding encoding )
+ {
+ if ( encoding == TIXML_ENCODING_UTF8 )
+ {
+ if ( v < 128 ) return tolower( v );
+ return v;
+ }
+ else
+ {
+ return tolower( v );
+ }
+ }
+ static void ConvertUTF32ToUTF8( unsigned long input, char* output, int* length );
+
+private:
+ TiXmlBase( const TiXmlBase& ); // not implemented.
+ void operator=( const TiXmlBase& base ); // not allowed.
+
+ struct Entity
+ {
+ const char* str;
+ unsigned int strLength;
+ char chr;
+ };
+ enum
+ {
+ NUM_ENTITY = 5,
+ MAX_ENTITY_LENGTH = 6
+
+ };
+ static Entity entity[ NUM_ENTITY ];
+ static bool condenseWhiteSpace;
+};
+
+
+/** The parent class for everything in the Document Object Model.
+ (Except for attributes).
+ Nodes have siblings, a parent, and children. A node can be
+ in a document, or stand on its own. The type of a TiXmlNode
+ can be queried, and it can be cast to its more defined type.
+*/
+class TiXmlNode : public TiXmlBase
+{
+ friend class TiXmlDocument;
+ friend class TiXmlElement;
+
+public:
+ #ifdef TIXML_USE_STL
+
+ /** An input stream operator, for every class. Tolerant of newlines and
+ formatting, but doesn't expect them.
+ */
+ friend std::istream& operator >> (std::istream& in, TiXmlNode& base);
+
+ /** An output stream operator, for every class. Note that this outputs
+ without any newlines or formatting, as opposed to Print(), which
+ includes tabs and new lines.
+
+ The operator<< and operator>> are not completely symmetric. Writing
+ a node to a stream is very well defined. You'll get a nice stream
+ of output, without any extra whitespace or newlines.
+
+ But reading is not as well defined. (As it always is.) If you create
+ a TiXmlElement (for example) and read that from an input stream,
+ the text needs to define an element or junk will result. This is
+ true of all input streams, but it's worth keeping in mind.
+
+ A TiXmlDocument will read nodes until it reads a root element, and
+ all the children of that root element.
+ */
+ friend std::ostream& operator<< (std::ostream& out, const TiXmlNode& base);
+
+ /// Appends the XML node or attribute to a std::string.
+ friend std::string& operator<< (std::string& out, const TiXmlNode& base );
+
+ #endif
+
+ /** The types of XML nodes supported by TinyXml. (All the
+ unsupported types are picked up by UNKNOWN.)
+ */
+ enum NodeType
+ {
+ DOCUMENT,
+ ELEMENT,
+ COMMENT,
+ UNKNOWN,
+ TEXT,
+ DECLARATION,
+ TYPECOUNT
+ };
+
+ virtual ~TiXmlNode();
+
+ /** The meaning of 'value' changes for the specific type of
+ TiXmlNode.
+ @verbatim
+ Document: filename of the xml file
+ Element: name of the element
+ Comment: the comment text
+ Unknown: the tag contents
+ Text: the text string
+ @endverbatim
+
+ The subclasses will wrap this function.
+ */
+ const char *Value() const { return value.c_str (); }
+
+ #ifdef TIXML_USE_STL
+ /** Return Value() as a std::string. If you only use STL,
+ this is more efficient than calling Value().
+ Only available in STL mode.
+ */
+ const std::string& ValueStr() const { return value; }
+ #endif
+
+ const TIXML_STRING& ValueTStr() const { return value; }
+
+ /** Changes the value of the node. Defined as:
+ @verbatim
+ Document: filename of the xml file
+ Element: name of the element
+ Comment: the comment text
+ Unknown: the tag contents
+ Text: the text string
+ @endverbatim
+ */
+ void SetValue(const char * _value) { value = _value;}
+
+ #ifdef TIXML_USE_STL
+ /// STL std::string form.
+ void SetValue( const std::string& _value ) { value = _value; }
+ #endif
+
+ /// Delete all the children of this node. Does not affect 'this'.
+ void Clear();
+
+ /// One step up the DOM.
+ TiXmlNode* Parent() { return parent; }
+ const TiXmlNode* Parent() const { return parent; }
+
+ const TiXmlNode* FirstChild() const { return firstChild; } ///< The first child of this node. Will be null if there are no children.
+ TiXmlNode* FirstChild() { return firstChild; }
+ const TiXmlNode* FirstChild( const char * value ) const; ///< The first child of this node with the matching 'value'. Will be null if none found.
+ /// The first child of this node with the matching 'value'. Will be null if none found.
+ TiXmlNode* FirstChild( const char * _value ) {
+ // Call through to the const version - safe since nothing is changed. Exiting syntax: cast this to a const (always safe)
+ // call the method, cast the return back to non-const.
+ return const_cast< TiXmlNode* > ((const_cast< const TiXmlNode* >(this))->FirstChild( _value ));
+ }
+ const TiXmlNode* LastChild() const { return lastChild; } /// The last child of this node. Will be null if there are no children.
+ TiXmlNode* LastChild() { return lastChild; }
+
+ const TiXmlNode* LastChild( const char * value ) const; /// The last child of this node matching 'value'. Will be null if there are no children.
+ TiXmlNode* LastChild( const char * _value ) {
+ return const_cast< TiXmlNode* > ((const_cast< const TiXmlNode* >(this))->LastChild( _value ));
+ }
+
+ #ifdef TIXML_USE_STL
+ const TiXmlNode* FirstChild( const std::string& _value ) const { return FirstChild (_value.c_str ()); } ///< STL std::string form.
+ TiXmlNode* FirstChild( const std::string& _value ) { return FirstChild (_value.c_str ()); } ///< STL std::string form.
+ const TiXmlNode* LastChild( const std::string& _value ) const { return LastChild (_value.c_str ()); } ///< STL std::string form.
+ TiXmlNode* LastChild( const std::string& _value ) { return LastChild (_value.c_str ()); } ///< STL std::string form.
+ #endif
+
+ /** An alternate way to walk the children of a node.
+ One way to iterate over nodes is:
+ @verbatim
+ for( child = parent->FirstChild(); child; child = child->NextSibling() )
+ @endverbatim
+
+ IterateChildren does the same thing with the syntax:
+ @verbatim
+ child = 0;
+ while( child = parent->IterateChildren( child ) )
+ @endverbatim
+
+ IterateChildren takes the previous child as input and finds
+ the next one. If the previous child is null, it returns the
+ first. IterateChildren will return null when done.
+ */
+ const TiXmlNode* IterateChildren( const TiXmlNode* previous ) const;
+ TiXmlNode* IterateChildren( const TiXmlNode* previous ) {
+ return const_cast< TiXmlNode* >( (const_cast< const TiXmlNode* >(this))->IterateChildren( previous ) );
+ }
+
+ /// This flavor of IterateChildren searches for children with a particular 'value'
+ const TiXmlNode* IterateChildren( const char * value, const TiXmlNode* previous ) const;
+ TiXmlNode* IterateChildren( const char * _value, const TiXmlNode* previous ) {
+ return const_cast< TiXmlNode* >( (const_cast< const TiXmlNode* >(this))->IterateChildren( _value, previous ) );
+ }
+
+ #ifdef TIXML_USE_STL
+ const TiXmlNode* IterateChildren( const std::string& _value, const TiXmlNode* previous ) const { return IterateChildren (_value.c_str (), previous); } ///< STL std::string form.
+ TiXmlNode* IterateChildren( const std::string& _value, const TiXmlNode* previous ) { return IterateChildren (_value.c_str (), previous); } ///< STL std::string form.
+ #endif
+
+ /** Add a new node related to this. Adds a child past the LastChild.
+ Returns a pointer to the new object or NULL if an error occured.
+ */
+ TiXmlNode* InsertEndChild( const TiXmlNode& addThis );
+
+
+ /** Add a new node related to this. Adds a child past the LastChild.
+
+ NOTE: the node to be added is passed by pointer, and will be
+ henceforth owned (and deleted) by tinyXml. This method is efficient
+ and avoids an extra copy, but should be used with care as it
+ uses a different memory model than the other insert functions.
+
+ @sa InsertEndChild
+ */
+ TiXmlNode* LinkEndChild( TiXmlNode* addThis );
+
+ /** Add a new node related to this. Adds a child before the specified child.
+ Returns a pointer to the new object or NULL if an error occured.
+ */
+ TiXmlNode* InsertBeforeChild( TiXmlNode* beforeThis, const TiXmlNode& addThis );
+
+ /** Add a new node related to this. Adds a child after the specified child.
+ Returns a pointer to the new object or NULL if an error occured.
+ */
+ TiXmlNode* InsertAfterChild( TiXmlNode* afterThis, const TiXmlNode& addThis );
+
+ /** Replace a child of this node.
+ Returns a pointer to the new object or NULL if an error occured.
+ */
+ TiXmlNode* ReplaceChild( TiXmlNode* replaceThis, const TiXmlNode& withThis );
+
+ /// Delete a child of this node.
+ bool RemoveChild( TiXmlNode* removeThis );
+
+ /// Navigate to a sibling node.
+ const TiXmlNode* PreviousSibling() const { return prev; }
+ TiXmlNode* PreviousSibling() { return prev; }
+
+ /// Navigate to a sibling node.
+ const TiXmlNode* PreviousSibling( const char * ) const;
+ TiXmlNode* PreviousSibling( const char *_prev ) {
+ return const_cast< TiXmlNode* >( (const_cast< const TiXmlNode* >(this))->PreviousSibling( _prev ) );
+ }
+
+ #ifdef TIXML_USE_STL
+ const TiXmlNode* PreviousSibling( const std::string& _value ) const { return PreviousSibling (_value.c_str ()); } ///< STL std::string form.
+ TiXmlNode* PreviousSibling( const std::string& _value ) { return PreviousSibling (_value.c_str ()); } ///< STL std::string form.
+ const TiXmlNode* NextSibling( const std::string& _value) const { return NextSibling (_value.c_str ()); } ///< STL std::string form.
+ TiXmlNode* NextSibling( const std::string& _value) { return NextSibling (_value.c_str ()); } ///< STL std::string form.
+ #endif
+
+ /// Navigate to a sibling node.
+ const TiXmlNode* NextSibling() const { return next; }
+ TiXmlNode* NextSibling() { return next; }
+
+ /// Navigate to a sibling node with the given 'value'.
+ const TiXmlNode* NextSibling( const char * ) const;
+ TiXmlNode* NextSibling( const char* _next ) {
+ return const_cast< TiXmlNode* >( (const_cast< const TiXmlNode* >(this))->NextSibling( _next ) );
+ }
+
+ /** Convenience function to get through elements.
+ Calls NextSibling and ToElement. Will skip all non-Element
+ nodes. Returns 0 if there is not another element.
+ */
+ const TiXmlElement* NextSiblingElement() const;
+ TiXmlElement* NextSiblingElement() {
+ return const_cast< TiXmlElement* >( (const_cast< const TiXmlNode* >(this))->NextSiblingElement() );
+ }
+
+ /** Convenience function to get through elements.
+ Calls NextSibling and ToElement. Will skip all non-Element
+ nodes. Returns 0 if there is not another element.
+ */
+ const TiXmlElement* NextSiblingElement( const char * ) const;
+ TiXmlElement* NextSiblingElement( const char *_next ) {
+ return const_cast< TiXmlElement* >( (const_cast< const TiXmlNode* >(this))->NextSiblingElement( _next ) );
+ }
+
+ #ifdef TIXML_USE_STL
+ const TiXmlElement* NextSiblingElement( const std::string& _value) const { return NextSiblingElement (_value.c_str ()); } ///< STL std::string form.
+ TiXmlElement* NextSiblingElement( const std::string& _value) { return NextSiblingElement (_value.c_str ()); } ///< STL std::string form.
+ #endif
+
+ /// Convenience function to get through elements.
+ const TiXmlElement* FirstChildElement() const;
+ TiXmlElement* FirstChildElement() {
+ return const_cast< TiXmlElement* >( (const_cast< const TiXmlNode* >(this))->FirstChildElement() );
+ }
+
+ /// Convenience function to get through elements.
+ const TiXmlElement* FirstChildElement( const char * _value ) const;
+ TiXmlElement* FirstChildElement( const char * _value ) {
+ return const_cast< TiXmlElement* >( (const_cast< const TiXmlNode* >(this))->FirstChildElement( _value ) );
+ }
+
+ #ifdef TIXML_USE_STL
+ const TiXmlElement* FirstChildElement( const std::string& _value ) const { return FirstChildElement (_value.c_str ()); } ///< STL std::string form.
+ TiXmlElement* FirstChildElement( const std::string& _value ) { return FirstChildElement (_value.c_str ()); } ///< STL std::string form.
+ #endif
+
+ /** Query the type (as an enumerated value, above) of this node.
+ The possible types are: DOCUMENT, ELEMENT, COMMENT,
+ UNKNOWN, TEXT, and DECLARATION.
+ */
+ int Type() const { return type; }
+
+ /** Return a pointer to the Document this node lives in.
+ Returns null if not in a document.
+ */
+ const TiXmlDocument* GetDocument() const;
+ TiXmlDocument* GetDocument() {
+ return const_cast< TiXmlDocument* >( (const_cast< const TiXmlNode* >(this))->GetDocument() );
+ }
+
+ /// Returns true if this node has no children.
+ bool NoChildren() const { return !firstChild; }
+
+ virtual const TiXmlDocument* ToDocument() const { return 0; } ///< Cast to a more defined type. Will return null if not of the requested type.
+ virtual const TiXmlElement* ToElement() const { return 0; } ///< Cast to a more defined type. Will return null if not of the requested type.
+ virtual const TiXmlComment* ToComment() const { return 0; } ///< Cast to a more defined type. Will return null if not of the requested type.
+ virtual const TiXmlUnknown* ToUnknown() const { return 0; } ///< Cast to a more defined type. Will return null if not of the requested type.
+ virtual const TiXmlText* ToText() const { return 0; } ///< Cast to a more defined type. Will return null if not of the requested type.
+ virtual const TiXmlDeclaration* ToDeclaration() const { return 0; } ///< Cast to a more defined type. Will return null if not of the requested type.
+
+ virtual TiXmlDocument* ToDocument() { return 0; } ///< Cast to a more defined type. Will return null if not of the requested type.
+ virtual TiXmlElement* ToElement() { return 0; } ///< Cast to a more defined type. Will return null if not of the requested type.
+ virtual TiXmlComment* ToComment() { return 0; } ///< Cast to a more defined type. Will return null if not of the requested type.
+ virtual TiXmlUnknown* ToUnknown() { return 0; } ///< Cast to a more defined type. Will return null if not of the requested type.
+ virtual TiXmlText* ToText() { return 0; } ///< Cast to a more defined type. Will return null if not of the requested type.
+ virtual TiXmlDeclaration* ToDeclaration() { return 0; } ///< Cast to a more defined type. Will return null if not of the requested type.
+
+ /** Create an exact duplicate of this node and return it. The memory must be deleted
+ by the caller.
+ */
+ virtual TiXmlNode* Clone() const = 0;
+
+ /** Accept a hierchical visit the nodes in the TinyXML DOM. Every node in the
+ XML tree will be conditionally visited and the host will be called back
+ via the TiXmlVisitor interface.
+
+ This is essentially a SAX interface for TinyXML. (Note however it doesn't re-parse
+ the XML for the callbacks, so the performance of TinyXML is unchanged by using this
+ interface versus any other.)
+
+ The interface has been based on ideas from:
+
+ - http://www.saxproject.org/
+ - http://c2.com/cgi/wiki?HierarchicalVisitorPattern
+
+ Which are both good references for "visiting".
+
+ An example of using Accept():
+ @verbatim
+ TiXmlPrinter printer;
+ tinyxmlDoc.Accept( &printer );
+ const char* xmlcstr = printer.CStr();
+ @endverbatim
+ */
+ virtual bool Accept( TiXmlVisitor* visitor ) const = 0;
+
+protected:
+ TiXmlNode( NodeType _type );
+
+ // Copy to the allocated object. Shared functionality between Clone, Copy constructor,
+ // and the assignment operator.
+ void CopyTo( TiXmlNode* target ) const;
+
+ #ifdef TIXML_USE_STL
+ // The real work of the input operator.
+ virtual void StreamIn( std::istream* in, TIXML_STRING* tag ) = 0;
+ #endif
+
+ // Figure out what is at *p, and parse it. Returns null if it is not an xml node.
+ TiXmlNode* Identify( const char* start, TiXmlEncoding encoding );
+
+ TiXmlNode* parent;
+ NodeType type;
+
+ TiXmlNode* firstChild;
+ TiXmlNode* lastChild;
+
+ TIXML_STRING value;
+
+ TiXmlNode* prev;
+ TiXmlNode* next;
+
+private:
+ TiXmlNode( const TiXmlNode& ); // not implemented.
+ void operator=( const TiXmlNode& base ); // not allowed.
+};
+
+
+/** An attribute is a name-value pair. Elements have an arbitrary
+ number of attributes, each with a unique name.
+
+ @note The attributes are not TiXmlNodes, since they are not
+ part of the tinyXML document object model. There are other
+ suggested ways to look at this problem.
+*/
+class TiXmlAttribute : public TiXmlBase
+{
+ friend class TiXmlAttributeSet;
+
+public:
+ /// Construct an empty attribute.
+ TiXmlAttribute() : TiXmlBase()
+ {
+ document = 0;
+ prev = next = 0;
+ }
+
+ #ifdef TIXML_USE_STL
+ /// std::string constructor.
+ TiXmlAttribute( const std::string& _name, const std::string& _value )
+ {
+ name = _name;
+ value = _value;
+ document = 0;
+ prev = next = 0;
+ }
+ #endif
+
+ /// Construct an attribute with a name and value.
+ TiXmlAttribute( const char * _name, const char * _value )
+ {
+ name = _name;
+ value = _value;
+ document = 0;
+ prev = next = 0;
+ }
+
+ const char* Name() const { return name.c_str(); } ///< Return the name of this attribute.
+ const char* Value() const { return value.c_str(); } ///< Return the value of this attribute.
+ #ifdef TIXML_USE_STL
+ const std::string& ValueStr() const { return value; } ///< Return the value of this attribute.
+ #endif
+ int IntValue() const; ///< Return the value of this attribute, converted to an integer.
+ double DoubleValue() const; ///< Return the value of this attribute, converted to a double.
+
+ // Get the tinyxml string representation
+ const TIXML_STRING& NameTStr() const { return name; }
+
+ /** QueryIntValue examines the value string. It is an alternative to the
+ IntValue() method with richer error checking.
+ If the value is an integer, it is stored in 'value' and
+ the call returns TIXML_SUCCESS. If it is not
+ an integer, it returns TIXML_WRONG_TYPE.
+
+ A specialized but useful call. Note that for success it returns 0,
+ which is the opposite of almost all other TinyXml calls.
+ */
+ int QueryIntValue( int* _value ) const;
+ /// QueryDoubleValue examines the value string. See QueryIntValue().
+ int QueryDoubleValue( double* _value ) const;
+
+ void SetName( const char* _name ) { name = _name; } ///< Set the name of this attribute.
+ void SetValue( const char* _value ) { value = _value; } ///< Set the value.
+
+ void SetIntValue( int _value ); ///< Set the value from an integer.
+ void SetDoubleValue( double _value ); ///< Set the value from a double.
+
+ #ifdef TIXML_USE_STL
+ /// STL std::string form.
+ void SetName( const std::string& _name ) { name = _name; }
+ /// STL std::string form.
+ void SetValue( const std::string& _value ) { value = _value; }
+ #endif
+
+ /// Get the next sibling attribute in the DOM. Returns null at end.
+ const TiXmlAttribute* Next() const;
+ TiXmlAttribute* Next() {
+ return const_cast< TiXmlAttribute* >( (const_cast< const TiXmlAttribute* >(this))->Next() );
+ }
+
+ /// Get the previous sibling attribute in the DOM. Returns null at beginning.
+ const TiXmlAttribute* Previous() const;
+ TiXmlAttribute* Previous() {
+ return const_cast< TiXmlAttribute* >( (const_cast< const TiXmlAttribute* >(this))->Previous() );
+ }
+
+ bool operator==( const TiXmlAttribute& rhs ) const { return rhs.name == name; }
+ bool operator<( const TiXmlAttribute& rhs ) const { return name < rhs.name; }
+ bool operator>( const TiXmlAttribute& rhs ) const { return name > rhs.name; }
+
+ /* Attribute parsing starts: first letter of the name
+ returns: the next char after the value end quote
+ */
+ virtual const char* Parse( const char* p, TiXmlParsingData* data, TiXmlEncoding encoding );
+
+ // Prints this Attribute to a FILE stream.
+ virtual void Print( FILE* cfile, int depth ) const {
+ Print( cfile, depth, 0 );
+ }
+ void Print( FILE* cfile, int depth, TIXML_STRING* str ) const;
+
+ // [internal use]
+ // Set the document pointer so the attribute can report errors.
+ void SetDocument( TiXmlDocument* doc ) { document = doc; }
+
+private:
+ TiXmlAttribute( const TiXmlAttribute& ); // not implemented.
+ void operator=( const TiXmlAttribute& base ); // not allowed.
+
+ TiXmlDocument* document; // A pointer back to a document, for error reporting.
+ TIXML_STRING name;
+ TIXML_STRING value;
+ TiXmlAttribute* prev;
+ TiXmlAttribute* next;
+};
+
+
+/* A class used to manage a group of attributes.
+ It is only used internally, both by the ELEMENT and the DECLARATION.
+
+ The set can be changed transparent to the Element and Declaration
+ classes that use it, but NOT transparent to the Attribute
+ which has to implement a next() and previous() method. Which makes
+ it a bit problematic and prevents the use of STL.
+
+ This version is implemented with circular lists because:
+ - I like circular lists
+ - it demonstrates some independence from the (typical) doubly linked list.
+*/
+class TiXmlAttributeSet
+{
+public:
+ TiXmlAttributeSet();
+ ~TiXmlAttributeSet();
+
+ void Add( TiXmlAttribute* attribute );
+ void Remove( TiXmlAttribute* attribute );
+
+ const TiXmlAttribute* First() const { return ( sentinel.next == &sentinel ) ? 0 : sentinel.next; }
+ TiXmlAttribute* First() { return ( sentinel.next == &sentinel ) ? 0 : sentinel.next; }
+ const TiXmlAttribute* Last() const { return ( sentinel.prev == &sentinel ) ? 0 : sentinel.prev; }
+ TiXmlAttribute* Last() { return ( sentinel.prev == &sentinel ) ? 0 : sentinel.prev; }
+
+ const TiXmlAttribute* Find( const char* _name ) const;
+ TiXmlAttribute* Find( const char* _name ) {
+ return const_cast< TiXmlAttribute* >( (const_cast< const TiXmlAttributeSet* >(this))->Find( _name ) );
+ }
+ #ifdef TIXML_USE_STL
+ const TiXmlAttribute* Find( const std::string& _name ) const;
+ TiXmlAttribute* Find( const std::string& _name ) {
+ return const_cast< TiXmlAttribute* >( (const_cast< const TiXmlAttributeSet* >(this))->Find( _name ) );
+ }
+
+ #endif
+
+private:
+ //*ME: Because of hidden/disabled copy-construktor in TiXmlAttribute (sentinel-element),
+ //*ME: this class must be also use a hidden/disabled copy-constructor !!!
+ TiXmlAttributeSet( const TiXmlAttributeSet& ); // not allowed
+ void operator=( const TiXmlAttributeSet& ); // not allowed (as TiXmlAttribute)
+
+ TiXmlAttribute sentinel;
+};
+
+
+/** The element is a container class. It has a value, the element name,
+ and can contain other elements, text, comments, and unknowns.
+ Elements also contain an arbitrary number of attributes.
+*/
+class TiXmlElement : public TiXmlNode
+{
+public:
+ /// Construct an element.
+ TiXmlElement (const char * in_value);
+
+ #ifdef TIXML_USE_STL
+ /// std::string constructor.
+ TiXmlElement( const std::string& _value );
+ #endif
+
+ TiXmlElement( const TiXmlElement& );
+
+ void operator=( const TiXmlElement& base );
+
+ virtual ~TiXmlElement();
+
+ /** Given an attribute name, Attribute() returns the value
+ for the attribute of that name, or null if none exists.
+ */
+ const char* Attribute( const char* name ) const;
+
+ /** Given an attribute name, Attribute() returns the value
+ for the attribute of that name, or null if none exists.
+ If the attribute exists and can be converted to an integer,
+ the integer value will be put in the return 'i', if 'i'
+ is non-null.
+ */
+ const char* Attribute( const char* name, int* i ) const;
+
+ /** Given an attribute name, Attribute() returns the value
+ for the attribute of that name, or null if none exists.
+ If the attribute exists and can be converted to an double,
+ the double value will be put in the return 'd', if 'd'
+ is non-null.
+ */
+ const char* Attribute( const char* name, double* d ) const;
+
+ /** QueryIntAttribute examines the attribute - it is an alternative to the
+ Attribute() method with richer error checking.
+ If the attribute is an integer, it is stored in 'value' and
+ the call returns TIXML_SUCCESS. If it is not
+ an integer, it returns TIXML_WRONG_TYPE. If the attribute
+ does not exist, then TIXML_NO_ATTRIBUTE is returned.
+ */
+ int QueryIntAttribute( const char* name, int* _value ) const;
+ /// QueryDoubleAttribute examines the attribute - see QueryIntAttribute().
+ int QueryDoubleAttribute( const char* name, double* _value ) const;
+ /// QueryFloatAttribute examines the attribute - see QueryIntAttribute().
+ int QueryFloatAttribute( const char* name, float* _value ) const {
+ double d;
+ int result = QueryDoubleAttribute( name, &d );
+ if ( result == TIXML_SUCCESS ) {
+ *_value = (float)d;
+ }
+ return result;
+ }
+
+ #ifdef TIXML_USE_STL
+ /** Template form of the attribute query which will try to read the
+ attribute into the specified type. Very easy, very powerful, but
+ be careful to make sure to call this with the correct type.
+
+ NOTE: This method doesn't work correctly for 'string' types.
+
+ @return TIXML_SUCCESS, TIXML_WRONG_TYPE, or TIXML_NO_ATTRIBUTE
+ */
+ template< typename T > int QueryValueAttribute( const std::string& name, T* outValue ) const
+ {
+ const TiXmlAttribute* node = attributeSet.Find( name );
+ if ( !node )
+ return TIXML_NO_ATTRIBUTE;
+
+ std::stringstream sstream( node->ValueStr() );
+ sstream >> *outValue;
+ if ( !sstream.fail() )
+ return TIXML_SUCCESS;
+ return TIXML_WRONG_TYPE;
+ }
+ /*
+ This is - in theory - a bug fix for "QueryValueAtribute returns truncated std::string"
+ but template specialization is hard to get working cross-compiler. Leaving the bug for now.
+
+ // The above will fail for std::string because the space character is used as a seperator.
+ // Specialize for strings. Bug [ 1695429 ] QueryValueAtribute returns truncated std::string
+ template<> int QueryValueAttribute( const std::string& name, std::string* outValue ) const
+ {
+ const TiXmlAttribute* node = attributeSet.Find( name );
+ if ( !node )
+ return TIXML_NO_ATTRIBUTE;
+ *outValue = node->ValueStr();
+ return TIXML_SUCCESS;
+ }
+ */
+ #endif
+
+ /** Sets an attribute of name to a given value. The attribute
+ will be created if it does not exist, or changed if it does.
+ */
+ void SetAttribute( const char* name, const char * _value );
+
+ #ifdef TIXML_USE_STL
+ const std::string* Attribute( const std::string& name ) const;
+ const std::string* Attribute( const std::string& name, int* i ) const;
+ const std::string* Attribute( const std::string& name, double* d ) const;
+ int QueryIntAttribute( const std::string& name, int* _value ) const;
+ int QueryDoubleAttribute( const std::string& name, double* _value ) const;
+
+ /// STL std::string form.
+ void SetAttribute( const std::string& name, const std::string& _value );
+ ///< STL std::string form.
+ void SetAttribute( const std::string& name, int _value );
+ #endif
+
+ /** Sets an attribute of name to a given value. The attribute
+ will be created if it does not exist, or changed if it does.
+ */
+ void SetAttribute( const char * name, int value );
+
+ /** Sets an attribute of name to a given value. The attribute
+ will be created if it does not exist, or changed if it does.
+ */
+ void SetDoubleAttribute( const char * name, double value );
+
+ /** Deletes an attribute with the given name.
+ */
+ void RemoveAttribute( const char * name );
+ #ifdef TIXML_USE_STL
+ void RemoveAttribute( const std::string& name ) { RemoveAttribute (name.c_str ()); } ///< STL std::string form.
+ #endif
+
+ const TiXmlAttribute* FirstAttribute() const { return attributeSet.First(); } ///< Access the first attribute in this element.
+ TiXmlAttribute* FirstAttribute() { return attributeSet.First(); }
+ const TiXmlAttribute* LastAttribute() const { return attributeSet.Last(); } ///< Access the last attribute in this element.
+ TiXmlAttribute* LastAttribute() { return attributeSet.Last(); }
+
+ /** Convenience function for easy access to the text inside an element. Although easy
+ and concise, GetText() is limited compared to getting the TiXmlText child
+ and accessing it directly.
+
+ If the first child of 'this' is a TiXmlText, the GetText()
+ returns the character string of the Text node, else null is returned.
+
+ This is a convenient method for getting the text of simple contained text:
+ @verbatim
+ <foo>This is text</foo>
+ const char* str = fooElement->GetText();
+ @endverbatim
+
+ 'str' will be a pointer to "This is text".
+
+ Note that this function can be misleading. If the element foo was created from
+ this XML:
+ @verbatim
+ <foo><b>This is text</b></foo>
+ @endverbatim
+
+ then the value of str would be null. The first child node isn't a text node, it is
+ another element. From this XML:
+ @verbatim
+ <foo>This is <b>text</b></foo>
+ @endverbatim
+ GetText() will return "This is ".
+
+ WARNING: GetText() accesses a child node - don't become confused with the
+ similarly named TiXmlHandle::Text() and TiXmlNode::ToText() which are
+ safe type casts on the referenced node.
+ */
+ const char* GetText() const;
+
+ /// Creates a new Element and returns it - the returned element is a copy.
+ virtual TiXmlNode* Clone() const;
+ // Print the Element to a FILE stream.
+ virtual void Print( FILE* cfile, int depth ) const;
+
+ /* Attribtue parsing starts: next char past '<'
+ returns: next char past '>'
+ */
+ virtual const char* Parse( const char* p, TiXmlParsingData* data, TiXmlEncoding encoding );
+
+ virtual const TiXmlElement* ToElement() const { return this; } ///< Cast to a more defined type. Will return null not of the requested type.
+ virtual TiXmlElement* ToElement() { return this; } ///< Cast to a more defined type. Will return null not of the requested type.
+
+ /** Walk the XML tree visiting this node and all of its children.
+ */
+ virtual bool Accept( TiXmlVisitor* visitor ) const;
+
+protected:
+
+ void CopyTo( TiXmlElement* target ) const;
+ void ClearThis(); // like clear, but initializes 'this' object as well
+
+ // Used to be public [internal use]
+ #ifdef TIXML_USE_STL
+ virtual void StreamIn( std::istream * in, TIXML_STRING * tag );
+ #endif
+ /* [internal use]
+ Reads the "value" of the element -- another element, or text.
+ This should terminate with the current end tag.
+ */
+ const char* ReadValue( const char* in, TiXmlParsingData* prevData, TiXmlEncoding encoding );
+
+private:
+
+ TiXmlAttributeSet attributeSet;
+};
+
+
+/** An XML comment.
+*/
+class TiXmlComment : public TiXmlNode
+{
+public:
+ /// Constructs an empty comment.
+ TiXmlComment() : TiXmlNode( TiXmlNode::COMMENT ) {}
+ /// Construct a comment from text.
+ TiXmlComment( const char* _value ) : TiXmlNode( TiXmlNode::COMMENT ) {
+ SetValue( _value );
+ }
+ TiXmlComment( const TiXmlComment& );
+ void operator=( const TiXmlComment& base );
+
+ virtual ~TiXmlComment() {}
+
+ /// Returns a copy of this Comment.
+ virtual TiXmlNode* Clone() const;
+ // Write this Comment to a FILE stream.
+ virtual void Print( FILE* cfile, int depth ) const;
+
+ /* Attribtue parsing starts: at the ! of the !--
+ returns: next char past '>'
+ */
+ virtual const char* Parse( const char* p, TiXmlParsingData* data, TiXmlEncoding encoding );
+
+ virtual const TiXmlComment* ToComment() const { return this; } ///< Cast to a more defined type. Will return null not of the requested type.
+ virtual TiXmlComment* ToComment() { return this; } ///< Cast to a more defined type. Will return null not of the requested type.
+
+ /** Walk the XML tree visiting this node and all of its children.
+ */
+ virtual bool Accept( TiXmlVisitor* visitor ) const;
+
+protected:
+ void CopyTo( TiXmlComment* target ) const;
+
+ // used to be public
+ #ifdef TIXML_USE_STL
+ virtual void StreamIn( std::istream * in, TIXML_STRING * tag );
+ #endif
+// virtual void StreamOut( TIXML_OSTREAM * out ) const;
+
+private:
+
+};
+
+
+/** XML text. A text node can have 2 ways to output the next. "normal" output
+ and CDATA. It will default to the mode it was parsed from the XML file and
+ you generally want to leave it alone, but you can change the output mode with
+ SetCDATA() and query it with CDATA().
+*/
+class TiXmlText : public TiXmlNode
+{
+ friend class TiXmlElement;
+public:
+ /** Constructor for text element. By default, it is treated as
+ normal, encoded text. If you want it be output as a CDATA text
+ element, set the parameter _cdata to 'true'
+ */
+ TiXmlText (const char * initValue ) : TiXmlNode (TiXmlNode::TEXT)
+ {
+ SetValue( initValue );
+ cdata = false;
+ }
+ virtual ~TiXmlText() {}
+
+ #ifdef TIXML_USE_STL
+ /// Constructor.
+ TiXmlText( const std::string& initValue ) : TiXmlNode (TiXmlNode::TEXT)
+ {
+ SetValue( initValue );
+ cdata = false;
+ }
+ #endif
+
+ TiXmlText( const TiXmlText& copy ) : TiXmlNode( TiXmlNode::TEXT ) { copy.CopyTo( this ); }
+ void operator=( const TiXmlText& base ) { base.CopyTo( this ); }
+
+ // Write this text object to a FILE stream.
+ virtual void Print( FILE* cfile, int depth ) const;
+
+ /// Queries whether this represents text using a CDATA section.
+ bool CDATA() const { return cdata; }
+ /// Turns on or off a CDATA representation of text.
+ void SetCDATA( bool _cdata ) { cdata = _cdata; }
+
+ virtual const char* Parse( const char* p, TiXmlParsingData* data, TiXmlEncoding encoding );
+
+ virtual const TiXmlText* ToText() const { return this; } ///< Cast to a more defined type. Will return null not of the requested type.
+ virtual TiXmlText* ToText() { return this; } ///< Cast to a more defined type. Will return null not of the requested type.
+
+ /** Walk the XML tree visiting this node and all of its children.
+ */
+ virtual bool Accept( TiXmlVisitor* content ) const;
+
+protected :
+ /// [internal use] Creates a new Element and returns it.
+ virtual TiXmlNode* Clone() const;
+ void CopyTo( TiXmlText* target ) const;
+
+ bool Blank() const; // returns true if all white space and new lines
+ // [internal use]
+ #ifdef TIXML_USE_STL
+ virtual void StreamIn( std::istream * in, TIXML_STRING * tag );
+ #endif
+
+private:
+ bool cdata; // true if this should be input and output as a CDATA style text element
+};
+
+
+/** In correct XML the declaration is the first entry in the file.
+ @verbatim
+ <?xml version="1.0" standalone="yes"?>
+ @endverbatim
+
+ TinyXml will happily read or write files without a declaration,
+ however. There are 3 possible attributes to the declaration:
+ version, encoding, and standalone.
+
+ Note: In this version of the code, the attributes are
+ handled as special cases, not generic attributes, simply
+ because there can only be at most 3 and they are always the same.
+*/
+class TiXmlDeclaration : public TiXmlNode
+{
+public:
+ /// Construct an empty declaration.
+ TiXmlDeclaration() : TiXmlNode( TiXmlNode::DECLARATION ) {}
+
+#ifdef TIXML_USE_STL
+ /// Constructor.
+ TiXmlDeclaration( const std::string& _version,
+ const std::string& _encoding,
+ const std::string& _standalone );
+#endif
+
+ /// Construct.
+ TiXmlDeclaration( const char* _version,
+ const char* _encoding,
+ const char* _standalone );
+
+ TiXmlDeclaration( const TiXmlDeclaration& copy );
+ void operator=( const TiXmlDeclaration& copy );
+
+ virtual ~TiXmlDeclaration() {}
+
+ /// Version. Will return an empty string if none was found.
+ const char *Version() const { return version.c_str (); }
+ /// Encoding. Will return an empty string if none was found.
+ const char *Encoding() const { return encoding.c_str (); }
+ /// Is this a standalone document?
+ const char *Standalone() const { return standalone.c_str (); }
+
+ /// Creates a copy of this Declaration and returns it.
+ virtual TiXmlNode* Clone() const;
+ // Print this declaration to a FILE stream.
+ virtual void Print( FILE* cfile, int depth, TIXML_STRING* str ) const;
+ virtual void Print( FILE* cfile, int depth ) const {
+ Print( cfile, depth, 0 );
+ }
+
+ virtual const char* Parse( const char* p, TiXmlParsingData* data, TiXmlEncoding encoding );
+
+ virtual const TiXmlDeclaration* ToDeclaration() const { return this; } ///< Cast to a more defined type. Will return null not of the requested type.
+ virtual TiXmlDeclaration* ToDeclaration() { return this; } ///< Cast to a more defined type. Will return null not of the requested type.
+
+ /** Walk the XML tree visiting this node and all of its children.
+ */
+ virtual bool Accept( TiXmlVisitor* visitor ) const;
+
+protected:
+ void CopyTo( TiXmlDeclaration* target ) const;
+ // used to be public
+ #ifdef TIXML_USE_STL
+ virtual void StreamIn( std::istream * in, TIXML_STRING * tag );
+ #endif
+
+private:
+
+ TIXML_STRING version;
+ TIXML_STRING encoding;
+ TIXML_STRING standalone;
+};
+
+
+/** Any tag that tinyXml doesn't recognize is saved as an
+ unknown. It is a tag of text, but should not be modified.
+ It will be written back to the XML, unchanged, when the file
+ is saved.
+
+ DTD tags get thrown into TiXmlUnknowns.
+*/
+class TiXmlUnknown : public TiXmlNode
+{
+public:
+ TiXmlUnknown() : TiXmlNode( TiXmlNode::UNKNOWN ) {}
+ virtual ~TiXmlUnknown() {}
+
+ TiXmlUnknown( const TiXmlUnknown& copy ) : TiXmlNode( TiXmlNode::UNKNOWN ) { copy.CopyTo( this ); }
+ void operator=( const TiXmlUnknown& copy ) { copy.CopyTo( this ); }
+
+ /// Creates a copy of this Unknown and returns it.
+ virtual TiXmlNode* Clone() const;
+ // Print this Unknown to a FILE stream.
+ virtual void Print( FILE* cfile, int depth ) const;
+
+ virtual const char* Parse( const char* p, TiXmlParsingData* data, TiXmlEncoding encoding );
+
+ virtual const TiXmlUnknown* ToUnknown() const { return this; } ///< Cast to a more defined type. Will return null not of the requested type.
+ virtual TiXmlUnknown* ToUnknown() { return this; } ///< Cast to a more defined type. Will return null not of the requested type.
+
+ /** Walk the XML tree visiting this node and all of its children.
+ */
+ virtual bool Accept( TiXmlVisitor* content ) const;
+
+protected:
+ void CopyTo( TiXmlUnknown* target ) const;
+
+ #ifdef TIXML_USE_STL
+ virtual void StreamIn( std::istream * in, TIXML_STRING * tag );
+ #endif
+
+private:
+
+};
+
+
+/** Always the top level node. A document binds together all the
+ XML pieces. It can be saved, loaded, and printed to the screen.
+ The 'value' of a document node is the xml file name.
+*/
+class TiXmlDocument : public TiXmlNode
+{
+public:
+ /// Create an empty document, that has no name.
+ TiXmlDocument();
+ /// Create a document with a name. The name of the document is also the filename of the xml.
+ TiXmlDocument( const char * documentName );
+
+ #ifdef TIXML_USE_STL
+ /// Constructor.
+ TiXmlDocument( const std::string& documentName );
+ #endif
+
+ TiXmlDocument( const TiXmlDocument& copy );
+ void operator=( const TiXmlDocument& copy );
+
+ virtual ~TiXmlDocument() {}
+
+ /** Load a file using the current document value.
+ Returns true if successful. Will delete any existing
+ document data before loading.
+ */
+ bool LoadFile( TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING );
+ /// Save a file using the current document value. Returns true if successful.
+ bool SaveFile() const;
+ /// Load a file using the given filename. Returns true if successful.
+ bool LoadFile( const char * filename, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING );
+ /// Save a file using the given filename. Returns true if successful.
+ bool SaveFile( const char * filename ) const;
+ /** Load a file using the given FILE*. Returns true if successful. Note that this method
+ doesn't stream - the entire object pointed at by the FILE*
+ will be interpreted as an XML file. TinyXML doesn't stream in XML from the current
+ file location. Streaming may be added in the future.
+ */
+ bool LoadFile( FILE*, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING );
+ /// Save a file using the given FILE*. Returns true if successful.
+ bool SaveFile( FILE* ) const;
+
+ #ifdef TIXML_USE_STL
+ bool LoadFile( const std::string& filename, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING ) ///< STL std::string version.
+ {
+// StringToBuffer f( filename );
+// return ( f.buffer && LoadFile( f.buffer, encoding ));
+ return LoadFile( filename.c_str(), encoding );
+ }
+ bool SaveFile( const std::string& filename ) const ///< STL std::string version.
+ {
+// StringToBuffer f( filename );
+// return ( f.buffer && SaveFile( f.buffer ));
+ return SaveFile( filename.c_str() );
+ }
+ #endif
+
+ /** Parse the given null terminated block of xml data. Passing in an encoding to this
+ method (either TIXML_ENCODING_LEGACY or TIXML_ENCODING_UTF8 will force TinyXml
+ to use that encoding, regardless of what TinyXml might otherwise try to detect.
+ */
+ virtual const char* Parse( const char* p, TiXmlParsingData* data = 0, TiXmlEncoding encoding = TIXML_DEFAULT_ENCODING );
+
+ /** Get the root element -- the only top level element -- of the document.
+ In well formed XML, there should only be one. TinyXml is tolerant of
+ multiple elements at the document level.
+ */
+ const TiXmlElement* RootElement() const { return FirstChildElement(); }
+ TiXmlElement* RootElement() { return FirstChildElement(); }
+
+ /** If an error occurs, Error will be set to true. Also,
+ - The ErrorId() will contain the integer identifier of the error (not generally useful)
+ - The ErrorDesc() method will return the name of the error. (very useful)
+ - The ErrorRow() and ErrorCol() will return the location of the error (if known)
+ */
+ bool Error() const { return error; }
+
+ /// Contains a textual (english) description of the error if one occurs.
+ const char * ErrorDesc() const { return errorDesc.c_str (); }
+
+ /** Generally, you probably want the error string ( ErrorDesc() ). But if you
+ prefer the ErrorId, this function will fetch it.
+ */
+ int ErrorId() const { return errorId; }
+
+ /** Returns the location (if known) of the error. The first column is column 1,
+ and the first row is row 1. A value of 0 means the row and column wasn't applicable
+ (memory errors, for example, have no row/column) or the parser lost the error. (An
+ error in the error reporting, in that case.)
+
+ @sa SetTabSize, Row, Column
+ */
+ int ErrorRow() const { return errorLocation.row+1; }
+ int ErrorCol() const { return errorLocation.col+1; } ///< The column where the error occured. See ErrorRow()
+
+ /** SetTabSize() allows the error reporting functions (ErrorRow() and ErrorCol())
+ to report the correct values for row and column. It does not change the output
+ or input in any way.
+
+ By calling this method, with a tab size
+ greater than 0, the row and column of each node and attribute is stored
+ when the file is loaded. Very useful for tracking the DOM back in to
+ the source file.
+
+ The tab size is required for calculating the location of nodes. If not
+ set, the default of 4 is used. The tabsize is set per document. Setting
+ the tabsize to 0 disables row/column tracking.
+
+ Note that row and column tracking is not supported when using operator>>.
+
+ The tab size needs to be enabled before the parse or load. Correct usage:
+ @verbatim
+ TiXmlDocument doc;
+ doc.SetTabSize( 8 );
+ doc.Load( "myfile.xml" );
+ @endverbatim
+
+ @sa Row, Column
+ */
+ void SetTabSize( int _tabsize ) { tabsize = _tabsize; }
+
+ int TabSize() const { return tabsize; }
+
+ /** If you have handled the error, it can be reset with this call. The error
+ state is automatically cleared if you Parse a new XML block.
+ */
+ void ClearError() { error = false;
+ errorId = 0;
+ errorDesc = "";
+ errorLocation.row = errorLocation.col = 0;
+ //errorLocation.last = 0;
+ }
+
+ /** Write the document to standard out using formatted printing ("pretty print"). */
+ void Print() const { Print( stdout, 0 ); }
+
+ /* Write the document to a string using formatted printing ("pretty print"). This
+ will allocate a character array (new char[]) and return it as a pointer. The
+ calling code pust call delete[] on the return char* to avoid a memory leak.
+ */
+ //char* PrintToMemory() const;
+
+ /// Print this Document to a FILE stream.
+ virtual void Print( FILE* cfile, int depth = 0 ) const;
+ // [internal use]
+ void SetError( int err, const char* errorLocation, TiXmlParsingData* prevData, TiXmlEncoding encoding );
+
+ virtual const TiXmlDocument* ToDocument() const { return this; } ///< Cast to a more defined type. Will return null not of the requested type.
+ virtual TiXmlDocument* ToDocument() { return this; } ///< Cast to a more defined type. Will return null not of the requested type.
+
+ /** Walk the XML tree visiting this node and all of its children.
+ */
+ virtual bool Accept( TiXmlVisitor* content ) const;
+
+protected :
+ // [internal use]
+ virtual TiXmlNode* Clone() const;
+ #ifdef TIXML_USE_STL
+ virtual void StreamIn( std::istream * in, TIXML_STRING * tag );
+ #endif
+
+private:
+ void CopyTo( TiXmlDocument* target ) const;
+
+ bool error;
+ int errorId;
+ TIXML_STRING errorDesc;
+ int tabsize;
+ TiXmlCursor errorLocation;
+ bool useMicrosoftBOM; // the UTF-8 BOM were found when read. Note this, and try to write.
+};
+
+
+/**
+ A TiXmlHandle is a class that wraps a node pointer with null checks; this is
+ an incredibly useful thing. Note that TiXmlHandle is not part of the TinyXml
+ DOM structure. It is a separate utility class.
+
+ Take an example:
+ @verbatim
+ <Document>
+ <Element attributeA = "valueA">
+ <Child attributeB = "value1" />
+ <Child attributeB = "value2" />
+ </Element>
+ <Document>
+ @endverbatim
+
+ Assuming you want the value of "attributeB" in the 2nd "Child" element, it's very
+ easy to write a *lot* of code that looks like:
+
+ @verbatim
+ TiXmlElement* root = document.FirstChildElement( "Document" );
+ if ( root )
+ {
+ TiXmlElement* element = root->FirstChildElement( "Element" );
+ if ( element )
+ {
+ TiXmlElement* child = element->FirstChildElement( "Child" );
+ if ( child )
+ {
+ TiXmlElement* child2 = child->NextSiblingElement( "Child" );
+ if ( child2 )
+ {
+ // Finally do something useful.
+ @endverbatim
+
+ And that doesn't even cover "else" cases. TiXmlHandle addresses the verbosity
+ of such code. A TiXmlHandle checks for null pointers so it is perfectly safe
+ and correct to use:
+
+ @verbatim
+ TiXmlHandle docHandle( &document );
+ TiXmlElement* child2 = docHandle.FirstChild( "Document" ).FirstChild( "Element" ).Child( "Child", 1 ).ToElement();
+ if ( child2 )
+ {
+ // do something useful
+ @endverbatim
+
+ Which is MUCH more concise and useful.
+
+ It is also safe to copy handles - internally they are nothing more than node pointers.
+ @verbatim
+ TiXmlHandle handleCopy = handle;
+ @endverbatim
+
+ What they should not be used for is iteration:
+
+ @verbatim
+ int i=0;
+ while ( true )
+ {
+ TiXmlElement* child = docHandle.FirstChild( "Document" ).FirstChild( "Element" ).Child( "Child", i ).ToElement();
+ if ( !child )
+ break;
+ // do something
+ ++i;
+ }
+ @endverbatim
+
+ It seems reasonable, but it is in fact two embedded while loops. The Child method is
+ a linear walk to find the element, so this code would iterate much more than it needs
+ to. Instead, prefer:
+
+ @verbatim
+ TiXmlElement* child = docHandle.FirstChild( "Document" ).FirstChild( "Element" ).FirstChild( "Child" ).ToElement();
+
+ for( child; child; child=child->NextSiblingElement() )
+ {
+ // do something
+ }
+ @endverbatim
+*/
+class TiXmlHandle
+{
+public:
+ /// Create a handle from any node (at any depth of the tree.) This can be a null pointer.
+ TiXmlHandle( TiXmlNode* _node ) { this->node = _node; }
+ /// Copy constructor
+ TiXmlHandle( const TiXmlHandle& ref ) { this->node = ref.node; }
+ TiXmlHandle operator=( const TiXmlHandle& ref ) { this->node = ref.node; return *this; }
+
+ /// Return a handle to the first child node.
+ TiXmlHandle FirstChild() const;
+ /// Return a handle to the first child node with the given name.
+ TiXmlHandle FirstChild( const char * value ) const;
+ /// Return a handle to the first child element.
+ TiXmlHandle FirstChildElement() const;
+ /// Return a handle to the first child element with the given name.
+ TiXmlHandle FirstChildElement( const char * value ) const;
+
+ /** Return a handle to the "index" child with the given name.
+ The first child is 0, the second 1, etc.
+ */
+ TiXmlHandle Child( const char* value, int index ) const;
+ /** Return a handle to the "index" child.
+ The first child is 0, the second 1, etc.
+ */
+ TiXmlHandle Child( int index ) const;
+ /** Return a handle to the "index" child element with the given name.
+ The first child element is 0, the second 1, etc. Note that only TiXmlElements
+ are indexed: other types are not counted.
+ */
+ TiXmlHandle ChildElement( const char* value, int index ) const;
+ /** Return a handle to the "index" child element.
+ The first child element is 0, the second 1, etc. Note that only TiXmlElements
+ are indexed: other types are not counted.
+ */
+ TiXmlHandle ChildElement( int index ) const;
+
+ #ifdef TIXML_USE_STL
+ TiXmlHandle FirstChild( const std::string& _value ) const { return FirstChild( _value.c_str() ); }
+ TiXmlHandle FirstChildElement( const std::string& _value ) const { return FirstChildElement( _value.c_str() ); }
+
+ TiXmlHandle Child( const std::string& _value, int index ) const { return Child( _value.c_str(), index ); }
+ TiXmlHandle ChildElement( const std::string& _value, int index ) const { return ChildElement( _value.c_str(), index ); }
+ #endif
+
+ /** Return the handle as a TiXmlNode. This may return null.
+ */
+ TiXmlNode* ToNode() const { return node; }
+ /** Return the handle as a TiXmlElement. This may return null.
+ */
+ TiXmlElement* ToElement() const { return ( ( node && node->ToElement() ) ? node->ToElement() : 0 ); }
+ /** Return the handle as a TiXmlText. This may return null.
+ */
+ TiXmlText* ToText() const { return ( ( node && node->ToText() ) ? node->ToText() : 0 ); }
+ /** Return the handle as a TiXmlUnknown. This may return null.
+ */
+ TiXmlUnknown* ToUnknown() const { return ( ( node && node->ToUnknown() ) ? node->ToUnknown() : 0 ); }
+
+ /** @deprecated use ToNode.
+ Return the handle as a TiXmlNode. This may return null.
+ */
+ TiXmlNode* Node() const { return ToNode(); }
+ /** @deprecated use ToElement.
+ Return the handle as a TiXmlElement. This may return null.
+ */
+ TiXmlElement* Element() const { return ToElement(); }
+ /** @deprecated use ToText()
+ Return the handle as a TiXmlText. This may return null.
+ */
+ TiXmlText* Text() const { return ToText(); }
+ /** @deprecated use ToUnknown()
+ Return the handle as a TiXmlUnknown. This may return null.
+ */
+ TiXmlUnknown* Unknown() const { return ToUnknown(); }
+
+private:
+ TiXmlNode* node;
+};
+
+
+/** Print to memory functionality. The TiXmlPrinter is useful when you need to:
+
+ -# Print to memory (especially in non-STL mode)
+ -# Control formatting (line endings, etc.)
+
+ When constructed, the TiXmlPrinter is in its default "pretty printing" mode.
+ Before calling Accept() you can call methods to control the printing
+ of the XML document. After TiXmlNode::Accept() is called, the printed document can
+ be accessed via the CStr(), Str(), and Size() methods.
+
+ TiXmlPrinter uses the Visitor API.
+ @verbatim
+ TiXmlPrinter printer;
+ printer.SetIndent( "\t" );
+
+ doc.Accept( &printer );
+ fprintf( stdout, "%s", printer.CStr() );
+ @endverbatim
+*/
+class TiXmlPrinter : public TiXmlVisitor
+{
+public:
+ TiXmlPrinter() : depth( 0 ), simpleTextPrint( false ),
+ buffer(), indent( " " ), lineBreak( "\n" ) {}
+
+ virtual bool VisitEnter( const TiXmlDocument& doc );
+ virtual bool VisitExit( const TiXmlDocument& doc );
+
+ virtual bool VisitEnter( const TiXmlElement& element, const TiXmlAttribute* firstAttribute );
+ virtual bool VisitExit( const TiXmlElement& element );
+
+ virtual bool Visit( const TiXmlDeclaration& declaration );
+ virtual bool Visit( const TiXmlText& text );
+ virtual bool Visit( const TiXmlComment& comment );
+ virtual bool Visit( const TiXmlUnknown& unknown );
+
+ /** Set the indent characters for printing. By default 4 spaces
+ but tab (\t) is also useful, or null/empty string for no indentation.
+ */
+ void SetIndent( const char* _indent ) { indent = _indent ? _indent : "" ; }
+ /// Query the indention string.
+ const char* Indent() { return indent.c_str(); }
+ /** Set the line breaking string. By default set to newline (\n).
+ Some operating systems prefer other characters, or can be
+ set to the null/empty string for no indenation.
+ */
+ void SetLineBreak( const char* _lineBreak ) { lineBreak = _lineBreak ? _lineBreak : ""; }
+ /// Query the current line breaking string.
+ const char* LineBreak() { return lineBreak.c_str(); }
+
+ /** Switch over to "stream printing" which is the most dense formatting without
+ linebreaks. Common when the XML is needed for network transmission.
+ */
+ void SetStreamPrinting() { indent = "";
+ lineBreak = "";
+ }
+ /// Return the result.
+ const char* CStr() { return buffer.c_str(); }
+ /// Return the length of the result string.
+ size_t Size() { return buffer.size(); }
+
+ #ifdef TIXML_USE_STL
+ /// Return the result.
+ const std::string& Str() { return buffer; }
+ #endif
+
+private:
+ void DoIndent() {
+ for( int i=0; i<depth; ++i )
+ buffer += indent;
+ }
+ void DoLineBreak() {
+ buffer += lineBreak;
+ }
+
+ int depth;
+ bool simpleTextPrint;
+ TIXML_STRING buffer;
+ TIXML_STRING indent;
+ TIXML_STRING lineBreak;
+};
+
+
+#ifdef _MSC_VER
+#pragma warning( pop )
+#endif
+
+#endif
+
diff --git a/TinyXML/2.5.3/tinyxmlerror.cpp b/TinyXML/2.5.3/tinyxmlerror.cpp
new file mode 100644
index 0000000..d24f63b
--- /dev/null
+++ b/TinyXML/2.5.3/tinyxmlerror.cpp
@@ -0,0 +1,53 @@
+/*
+www.sourceforge.net/projects/tinyxml
+Original code (2.0 and earlier )copyright (c) 2000-2006 Lee Thomason (www.grinninglizard.com)
+
+This software is provided 'as-is', without any express or implied
+warranty. In no event will the authors be held liable for any
+damages arising from the use of this software.
+
+Permission is granted to anyone to use this software for any
+purpose, including commercial applications, and to alter it and
+redistribute it freely, subject to the following restrictions:
+
+1. The origin of this software must not be misrepresented; you must
+not claim that you wrote the original software. If you use this
+software in a product, an acknowledgment in the product documentation
+would be appreciated but is not required.
+
+2. Altered source versions must be plainly marked as such, and
+must not be misrepresented as being the original software.
+
+3. This notice may not be removed or altered from any source
+distribution.
+*/
+
+#include "tinyxml.h"
+
+// The goal of the seperate error file is to make the first
+// step towards localization. tinyxml (currently) only supports
+// english error messages, but the could now be translated.
+//
+// It also cleans up the code a bit.
+//
+
+const char* TiXmlBase::errorString[ TIXML_ERROR_STRING_COUNT ] =
+{
+ "No error",
+ "Error",
+ "Failed to open file",
+ "Memory allocation failed.",
+ "Error parsing Element.",
+ "Failed to read Element name",
+ "Error reading Element value.",
+ "Error reading Attributes.",
+ "Error: empty tag.",
+ "Error reading end tag.",
+ "Error parsing Unknown.",
+ "Error parsing Comment.",
+ "Error parsing Declaration.",
+ "Error document empty.",
+ "Error null (0) or unexpected EOF found in input stream.",
+ "Error parsing CDATA.",
+ "Error when TiXmlDocument added to document, because TiXmlDocument can only be at the root.",
+};
diff --git a/TinyXML/2.5.3/tinyxmlparser.cpp b/TinyXML/2.5.3/tinyxmlparser.cpp
new file mode 100644
index 0000000..9c91b4f
--- /dev/null
+++ b/TinyXML/2.5.3/tinyxmlparser.cpp
@@ -0,0 +1,1638 @@
+/*
+www.sourceforge.net/projects/tinyxml
+Original code (2.0 and earlier )copyright (c) 2000-2002 Lee Thomason (www.grinninglizard.com)
+
+This software is provided 'as-is', without any express or implied
+warranty. In no event will the authors be held liable for any
+damages arising from the use of this software.
+
+Permission is granted to anyone to use this software for any
+purpose, including commercial applications, and to alter it and
+redistribute it freely, subject to the following restrictions:
+
+1. The origin of this software must not be misrepresented; you must
+not claim that you wrote the original software. If you use this
+software in a product, an acknowledgment in the product documentation
+would be appreciated but is not required.
+
+2. Altered source versions must be plainly marked as such, and
+must not be misrepresented as being the original software.
+
+3. This notice may not be removed or altered from any source
+distribution.
+*/
+
+#include <ctype.h>
+#include <stddef.h>
+
+#include "tinyxml.h"
+
+//#define DEBUG_PARSER
+#if defined( DEBUG_PARSER )
+# if defined( DEBUG ) && defined( _MSC_VER )
+# include <windows.h>
+# define TIXML_LOG OutputDebugString
+# else
+# define TIXML_LOG printf
+# endif
+#endif
+
+// Note tha "PutString" hardcodes the same list. This
+// is less flexible than it appears. Changing the entries
+// or order will break putstring.
+TiXmlBase::Entity TiXmlBase::entity[ NUM_ENTITY ] =
+{
+ { "&amp;", 5, '&' },
+ { "&lt;", 4, '<' },
+ { "&gt;", 4, '>' },
+ { "&quot;", 6, '\"' },
+ { "&apos;", 6, '\'' }
+};
+
+// Bunch of unicode info at:
+// http://www.unicode.org/faq/utf_bom.html
+// Including the basic of this table, which determines the #bytes in the
+// sequence from the lead byte. 1 placed for invalid sequences --
+// although the result will be junk, pass it through as much as possible.
+// Beware of the non-characters in UTF-8:
+// ef bb bf (Microsoft "lead bytes")
+// ef bf be
+// ef bf bf
+
+const unsigned char TIXML_UTF_LEAD_0 = 0xefU;
+const unsigned char TIXML_UTF_LEAD_1 = 0xbbU;
+const unsigned char TIXML_UTF_LEAD_2 = 0xbfU;
+
+const int TiXmlBase::utf8ByteTable[256] =
+{
+ // 0 1 2 3 4 5 6 7 8 9 a b c d e f
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x00
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x10
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x20
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x30
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x40
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x50
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x60
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x70 End of ASCII range
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x80 0x80 to 0xc1 invalid
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0x90
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0xa0
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0xb0
+ 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, // 0xc0 0xc2 to 0xdf 2 byte
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, // 0xd0
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 0xe0 0xe0 to 0xef 3 byte
+ 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 // 0xf0 0xf0 to 0xf4 4 byte, 0xf5 and higher invalid
+};
+
+
+void TiXmlBase::ConvertUTF32ToUTF8( unsigned long input, char* output, int* length )
+{
+ const unsigned long BYTE_MASK = 0xBF;
+ const unsigned long BYTE_MARK = 0x80;
+ const unsigned long FIRST_BYTE_MARK[7] = { 0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xF8, 0xFC };
+
+ if (input < 0x80)
+ *length = 1;
+ else if ( input < 0x800 )
+ *length = 2;
+ else if ( input < 0x10000 )
+ *length = 3;
+ else if ( input < 0x200000 )
+ *length = 4;
+ else
+ { *length = 0; return; } // This code won't covert this correctly anyway.
+
+ output += *length;
+
+ // Scary scary fall throughs.
+ switch (*length)
+ {
+ case 4:
+ --output;
+ *output = (char)((input | BYTE_MARK) & BYTE_MASK);
+ input >>= 6;
+ case 3:
+ --output;
+ *output = (char)((input | BYTE_MARK) & BYTE_MASK);
+ input >>= 6;
+ case 2:
+ --output;
+ *output = (char)((input | BYTE_MARK) & BYTE_MASK);
+ input >>= 6;
+ case 1:
+ --output;
+ *output = (char)(input | FIRST_BYTE_MARK[*length]);
+ }
+}
+
+
+/*static*/ int TiXmlBase::IsAlpha( unsigned char anyByte, TiXmlEncoding /*encoding*/ )
+{
+ // This will only work for low-ascii, everything else is assumed to be a valid
+ // letter. I'm not sure this is the best approach, but it is quite tricky trying
+ // to figure out alhabetical vs. not across encoding. So take a very
+ // conservative approach.
+
+// if ( encoding == TIXML_ENCODING_UTF8 )
+// {
+ if ( anyByte < 127 )
+ return isalpha( anyByte );
+ else
+ return 1; // What else to do? The unicode set is huge...get the english ones right.
+// }
+// else
+// {
+// return isalpha( anyByte );
+// }
+}
+
+
+/*static*/ int TiXmlBase::IsAlphaNum( unsigned char anyByte, TiXmlEncoding /*encoding*/ )
+{
+ // This will only work for low-ascii, everything else is assumed to be a valid
+ // letter. I'm not sure this is the best approach, but it is quite tricky trying
+ // to figure out alhabetical vs. not across encoding. So take a very
+ // conservative approach.
+
+// if ( encoding == TIXML_ENCODING_UTF8 )
+// {
+ if ( anyByte < 127 )
+ return isalnum( anyByte );
+ else
+ return 1; // What else to do? The unicode set is huge...get the english ones right.
+// }
+// else
+// {
+// return isalnum( anyByte );
+// }
+}
+
+
+class TiXmlParsingData
+{
+ friend class TiXmlDocument;
+ public:
+ void Stamp( const char* now, TiXmlEncoding encoding );
+
+ const TiXmlCursor& Cursor() { return cursor; }
+
+ private:
+ // Only used by the document!
+ TiXmlParsingData( const char* start, int _tabsize, int row, int col )
+ {
+ assert( start );
+ stamp = start;
+ tabsize = _tabsize;
+ cursor.row = row;
+ cursor.col = col;
+ }
+
+ TiXmlCursor cursor;
+ const char* stamp;
+ int tabsize;
+};
+
+
+void TiXmlParsingData::Stamp( const char* now, TiXmlEncoding encoding )
+{
+ assert( now );
+
+ // Do nothing if the tabsize is 0.
+ if ( tabsize < 1 )
+ {
+ return;
+ }
+
+ // Get the current row, column.
+ int row = cursor.row;
+ int col = cursor.col;
+ const char* p = stamp;
+ assert( p );
+
+ while ( p < now )
+ {
+ // Treat p as unsigned, so we have a happy compiler.
+ const unsigned char* pU = (const unsigned char*)p;
+
+ // Code contributed by Fletcher Dunn: (modified by lee)
+ switch (*pU) {
+ case 0:
+ // We *should* never get here, but in case we do, don't
+ // advance past the terminating null character, ever
+ return;
+
+ case '\r':
+ // bump down to the next line
+ ++row;
+ col = 0;
+ // Eat the character
+ ++p;
+
+ // Check for \r\n sequence, and treat this as a single character
+ if (*p == '\n') {
+ ++p;
+ }
+ break;
+
+ case '\n':
+ // bump down to the next line
+ ++row;
+ col = 0;
+
+ // Eat the character
+ ++p;
+
+ // Check for \n\r sequence, and treat this as a single
+ // character. (Yes, this bizarre thing does occur still
+ // on some arcane platforms...)
+ if (*p == '\r') {
+ ++p;
+ }
+ break;
+
+ case '\t':
+ // Eat the character
+ ++p;
+
+ // Skip to next tab stop
+ col = (col / tabsize + 1) * tabsize;
+ break;
+
+ case TIXML_UTF_LEAD_0:
+ if ( encoding == TIXML_ENCODING_UTF8 )
+ {
+ if ( *(p+1) && *(p+2) )
+ {
+ // In these cases, don't advance the column. These are
+ // 0-width spaces.
+ if ( *(pU+1)==TIXML_UTF_LEAD_1 && *(pU+2)==TIXML_UTF_LEAD_2 )
+ p += 3;
+ else if ( *(pU+1)==0xbfU && *(pU+2)==0xbeU )
+ p += 3;
+ else if ( *(pU+1)==0xbfU && *(pU+2)==0xbfU )
+ p += 3;
+ else
+ { p +=3; ++col; } // A normal character.
+ }
+ }
+ else
+ {
+ ++p;
+ ++col;
+ }
+ break;
+
+ default:
+ if ( encoding == TIXML_ENCODING_UTF8 )
+ {
+ // Eat the 1 to 4 byte utf8 character.
+ int step = TiXmlBase::utf8ByteTable[*((const unsigned char*)p)];
+ if ( step == 0 )
+ step = 1; // Error case from bad encoding, but handle gracefully.
+ p += step;
+
+ // Just advance one column, of course.
+ ++col;
+ }
+ else
+ {
+ ++p;
+ ++col;
+ }
+ break;
+ }
+ }
+ cursor.row = row;
+ cursor.col = col;
+ assert( cursor.row >= -1 );
+ assert( cursor.col >= -1 );
+ stamp = p;
+ assert( stamp );
+}
+
+
+const char* TiXmlBase::SkipWhiteSpace( const char* p, TiXmlEncoding encoding )
+{
+ if ( !p || !*p )
+ {
+ return 0;
+ }
+ if ( encoding == TIXML_ENCODING_UTF8 )
+ {
+ while ( *p )
+ {
+ const unsigned char* pU = (const unsigned char*)p;
+
+ // Skip the stupid Microsoft UTF-8 Byte order marks
+ if ( *(pU+0)==TIXML_UTF_LEAD_0
+ && *(pU+1)==TIXML_UTF_LEAD_1
+ && *(pU+2)==TIXML_UTF_LEAD_2 )
+ {
+ p += 3;
+ continue;
+ }
+ else if(*(pU+0)==TIXML_UTF_LEAD_0
+ && *(pU+1)==0xbfU
+ && *(pU+2)==0xbeU )
+ {
+ p += 3;
+ continue;
+ }
+ else if(*(pU+0)==TIXML_UTF_LEAD_0
+ && *(pU+1)==0xbfU
+ && *(pU+2)==0xbfU )
+ {
+ p += 3;
+ continue;
+ }
+
+ if ( IsWhiteSpace( *p ) || *p == '\n' || *p =='\r' ) // Still using old rules for white space.
+ ++p;
+ else
+ break;
+ }
+ }
+ else
+ {
+ while ( *p && IsWhiteSpace( *p ) || *p == '\n' || *p =='\r' )
+ ++p;
+ }
+
+ return p;
+}
+
+#ifdef TIXML_USE_STL
+/*static*/ bool TiXmlBase::StreamWhiteSpace( std::istream * in, TIXML_STRING * tag )
+{
+ for( ;; )
+ {
+ if ( !in->good() ) return false;
+
+ int c = in->peek();
+ // At this scope, we can't get to a document. So fail silently.
+ if ( !IsWhiteSpace( c ) || c <= 0 )
+ return true;
+
+ *tag += (char) in->get();
+ }
+}
+
+/*static*/ bool TiXmlBase::StreamTo( std::istream * in, int character, TIXML_STRING * tag )
+{
+ //assert( character > 0 && character < 128 ); // else it won't work in utf-8
+ while ( in->good() )
+ {
+ int c = in->peek();
+ if ( c == character )
+ return true;
+ if ( c <= 0 ) // Silent failure: can't get document at this scope
+ return false;
+
+ in->get();
+ *tag += (char) c;
+ }
+ return false;
+}
+#endif
+
+// One of TinyXML's more performance demanding functions. Try to keep the memory overhead down. The
+// "assign" optimization removes over 10% of the execution time.
+//
+const char* TiXmlBase::ReadName( const char* p, TIXML_STRING * name, TiXmlEncoding encoding )
+{
+ // Oddly, not supported on some comilers,
+ //name->clear();
+ // So use this:
+ *name = "";
+ assert( p );
+
+ // Names start with letters or underscores.
+ // Of course, in unicode, tinyxml has no idea what a letter *is*. The
+ // algorithm is generous.
+ //
+ // After that, they can be letters, underscores, numbers,
+ // hyphens, or colons. (Colons are valid ony for namespaces,
+ // but tinyxml can't tell namespaces from names.)
+ if ( p && *p
+ && ( IsAlpha( (unsigned char) *p, encoding ) || *p == '_' ) )
+ {
+ const char* start = p;
+ while( p && *p
+ && ( IsAlphaNum( (unsigned char ) *p, encoding )
+ || *p == '_'
+ || *p == '-'
+ || *p == '.'
+ || *p == ':' ) )
+ {
+ //(*name) += *p; // expensive
+ ++p;
+ }
+ if ( p-start > 0 ) {
+ name->assign( start, p-start );
+ }
+ return p;
+ }
+ return 0;
+}
+
+const char* TiXmlBase::GetEntity( const char* p, char* value, int* length, TiXmlEncoding encoding )
+{
+ // Presume an entity, and pull it out.
+ TIXML_STRING ent;
+ int i;
+ *length = 0;
+
+ if ( *(p+1) && *(p+1) == '#' && *(p+2) )
+ {
+ unsigned long ucs = 0;
+ ptrdiff_t delta = 0;
+ unsigned mult = 1;
+
+ if ( *(p+2) == 'x' )
+ {
+ // Hexadecimal.
+ if ( !*(p+3) ) return 0;
+
+ const char* q = p+3;
+ q = strchr( q, ';' );
+
+ if ( !q || !*q ) return 0;
+
+ delta = q-p;
+ --q;
+
+ while ( *q != 'x' )
+ {
+ if ( *q >= '0' && *q <= '9' )
+ ucs += mult * (*q - '0');
+ else if ( *q >= 'a' && *q <= 'f' )
+ ucs += mult * (*q - 'a' + 10);
+ else if ( *q >= 'A' && *q <= 'F' )
+ ucs += mult * (*q - 'A' + 10 );
+ else
+ return 0;
+ mult *= 16;
+ --q;
+ }
+ }
+ else
+ {
+ // Decimal.
+ if ( !*(p+2) ) return 0;
+
+ const char* q = p+2;
+ q = strchr( q, ';' );
+
+ if ( !q || !*q ) return 0;
+
+ delta = q-p;
+ --q;
+
+ while ( *q != '#' )
+ {
+ if ( *q >= '0' && *q <= '9' )
+ ucs += mult * (*q - '0');
+ else
+ return 0;
+ mult *= 10;
+ --q;
+ }
+ }
+ if ( encoding == TIXML_ENCODING_UTF8 )
+ {
+ // convert the UCS to UTF-8
+ ConvertUTF32ToUTF8( ucs, value, length );
+ }
+ else
+ {
+ *value = (char)ucs;
+ *length = 1;
+ }
+ return p + delta + 1;
+ }
+
+ // Now try to match it.
+ for( i=0; i<NUM_ENTITY; ++i )
+ {
+ if ( strncmp( entity[i].str, p, entity[i].strLength ) == 0 )
+ {
+ assert( strlen( entity[i].str ) == entity[i].strLength );
+ *value = entity[i].chr;
+ *length = 1;
+ return ( p + entity[i].strLength );
+ }
+ }
+
+ // So it wasn't an entity, its unrecognized, or something like that.
+ *value = *p; // Don't put back the last one, since we return it!
+ //*length = 1; // Leave unrecognized entities - this doesn't really work.
+ // Just writes strange XML.
+ return p+1;
+}
+
+
+bool TiXmlBase::StringEqual( const char* p,
+ const char* tag,
+ bool ignoreCase,
+ TiXmlEncoding encoding )
+{
+ assert( p );
+ assert( tag );
+ if ( !p || !*p )
+ {
+ assert( 0 );
+ return false;
+ }
+
+ const char* q = p;
+
+ if ( ignoreCase )
+ {
+ while ( *q && *tag && ToLower( *q, encoding ) == ToLower( *tag, encoding ) )
+ {
+ ++q;
+ ++tag;
+ }
+
+ if ( *tag == 0 )
+ return true;
+ }
+ else
+ {
+ while ( *q && *tag && *q == *tag )
+ {
+ ++q;
+ ++tag;
+ }
+
+ if ( *tag == 0 ) // Have we found the end of the tag, and everything equal?
+ return true;
+ }
+ return false;
+}
+
+const char* TiXmlBase::ReadText( const char* p,
+ TIXML_STRING * text,
+ bool trimWhiteSpace,
+ const char* endTag,
+ bool caseInsensitive,
+ TiXmlEncoding encoding )
+{
+ *text = "";
+ if ( !trimWhiteSpace // certain tags always keep whitespace
+ || !condenseWhiteSpace ) // if true, whitespace is always kept
+ {
+ // Keep all the white space.
+ while ( p && *p
+ && !StringEqual( p, endTag, caseInsensitive, encoding )
+ )
+ {
+ int len;
+ char cArr[4] = { 0, 0, 0, 0 };
+ p = GetChar( p, cArr, &len, encoding );
+ text->append( cArr, len );
+ }
+ }
+ else
+ {
+ bool whitespace = false;
+
+ // Remove leading white space:
+ p = SkipWhiteSpace( p, encoding );
+ while ( p && *p
+ && !StringEqual( p, endTag, caseInsensitive, encoding ) )
+ {
+ if ( *p == '\r' || *p == '\n' )
+ {
+ whitespace = true;
+ ++p;
+ }
+ else if ( IsWhiteSpace( *p ) )
+ {
+ whitespace = true;
+ ++p;
+ }
+ else
+ {
+ // If we've found whitespace, add it before the
+ // new character. Any whitespace just becomes a space.
+ if ( whitespace )
+ {
+ (*text) += ' ';
+ whitespace = false;
+ }
+ int len;
+ char cArr[4] = { 0, 0, 0, 0 };
+ p = GetChar( p, cArr, &len, encoding );
+ if ( len == 1 )
+ (*text) += cArr[0]; // more efficient
+ else
+ text->append( cArr, len );
+ }
+ }
+ }
+ if ( p )
+ p += strlen( endTag );
+ return p;
+}
+
+#ifdef TIXML_USE_STL
+
+void TiXmlDocument::StreamIn( std::istream * in, TIXML_STRING * tag )
+{
+ // The basic issue with a document is that we don't know what we're
+ // streaming. Read something presumed to be a tag (and hope), then
+ // identify it, and call the appropriate stream method on the tag.
+ //
+ // This "pre-streaming" will never read the closing ">" so the
+ // sub-tag can orient itself.
+
+ if ( !StreamTo( in, '<', tag ) )
+ {
+ SetError( TIXML_ERROR_PARSING_EMPTY, 0, 0, TIXML_ENCODING_UNKNOWN );
+ return;
+ }
+
+ while ( in->good() )
+ {
+ int tagIndex = (int) tag->length();
+ while ( in->good() && in->peek() != '>' )
+ {
+ int c = in->get();
+ if ( c <= 0 )
+ {
+ SetError( TIXML_ERROR_EMBEDDED_NULL, 0, 0, TIXML_ENCODING_UNKNOWN );
+ break;
+ }
+ (*tag) += (char) c;
+ }
+
+ if ( in->good() )
+ {
+ // We now have something we presume to be a node of
+ // some sort. Identify it, and call the node to
+ // continue streaming.
+ TiXmlNode* node = Identify( tag->c_str() + tagIndex, TIXML_DEFAULT_ENCODING );
+
+ if ( node )
+ {
+ node->StreamIn( in, tag );
+ bool isElement = node->ToElement() != 0;
+ delete node;
+ node = 0;
+
+ // If this is the root element, we're done. Parsing will be
+ // done by the >> operator.
+ if ( isElement )
+ {
+ return;
+ }
+ }
+ else
+ {
+ SetError( TIXML_ERROR, 0, 0, TIXML_ENCODING_UNKNOWN );
+ return;
+ }
+ }
+ }
+ // We should have returned sooner.
+ SetError( TIXML_ERROR, 0, 0, TIXML_ENCODING_UNKNOWN );
+}
+
+#endif
+
+const char* TiXmlDocument::Parse( const char* p, TiXmlParsingData* prevData, TiXmlEncoding encoding )
+{
+ ClearError();
+
+ // Parse away, at the document level. Since a document
+ // contains nothing but other tags, most of what happens
+ // here is skipping white space.
+ if ( !p || !*p )
+ {
+ SetError( TIXML_ERROR_DOCUMENT_EMPTY, 0, 0, TIXML_ENCODING_UNKNOWN );
+ return 0;
+ }
+
+ // Note that, for a document, this needs to come
+ // before the while space skip, so that parsing
+ // starts from the pointer we are given.
+ location.Clear();
+ if ( prevData )
+ {
+ location.row = prevData->cursor.row;
+ location.col = prevData->cursor.col;
+ }
+ else
+ {
+ location.row = 0;
+ location.col = 0;
+ }
+ TiXmlParsingData data( p, TabSize(), location.row, location.col );
+ location = data.Cursor();
+
+ if ( encoding == TIXML_ENCODING_UNKNOWN )
+ {
+ // Check for the Microsoft UTF-8 lead bytes.
+ const unsigned char* pU = (const unsigned char*)p;
+ if ( *(pU+0) && *(pU+0) == TIXML_UTF_LEAD_0
+ && *(pU+1) && *(pU+1) == TIXML_UTF_LEAD_1
+ && *(pU+2) && *(pU+2) == TIXML_UTF_LEAD_2 )
+ {
+ encoding = TIXML_ENCODING_UTF8;
+ useMicrosoftBOM = true;
+ }
+ }
+
+ p = SkipWhiteSpace( p, encoding );
+ if ( !p )
+ {
+ SetError( TIXML_ERROR_DOCUMENT_EMPTY, 0, 0, TIXML_ENCODING_UNKNOWN );
+ return 0;
+ }
+
+ while ( p && *p )
+ {
+ TiXmlNode* node = Identify( p, encoding );
+ if ( node )
+ {
+ p = node->Parse( p, &data, encoding );
+ LinkEndChild( node );
+ }
+ else
+ {
+ break;
+ }
+
+ // Did we get encoding info?
+ if ( encoding == TIXML_ENCODING_UNKNOWN
+ && node->ToDeclaration() )
+ {
+ TiXmlDeclaration* dec = node->ToDeclaration();
+ const char* enc = dec->Encoding();
+ assert( enc );
+
+ if ( *enc == 0 )
+ encoding = TIXML_ENCODING_UTF8;
+ else if ( StringEqual( enc, "UTF-8", true, TIXML_ENCODING_UNKNOWN ) )
+ encoding = TIXML_ENCODING_UTF8;
+ else if ( StringEqual( enc, "UTF8", true, TIXML_ENCODING_UNKNOWN ) )
+ encoding = TIXML_ENCODING_UTF8; // incorrect, but be nice
+ else
+ encoding = TIXML_ENCODING_LEGACY;
+ }
+
+ p = SkipWhiteSpace( p, encoding );
+ }
+
+ // Was this empty?
+ if ( !firstChild ) {
+ SetError( TIXML_ERROR_DOCUMENT_EMPTY, 0, 0, encoding );
+ return 0;
+ }
+
+ // All is well.
+ return p;
+}
+
+void TiXmlDocument::SetError( int err, const char* pError, TiXmlParsingData* data, TiXmlEncoding encoding )
+{
+ // The first error in a chain is more accurate - don't set again!
+ if ( error )
+ return;
+
+ assert( err > 0 && err < TIXML_ERROR_STRING_COUNT );
+ error = true;
+ errorId = err;
+ errorDesc = errorString[ errorId ];
+
+ errorLocation.Clear();
+ if ( pError && data )
+ {
+ data->Stamp( pError, encoding );
+ errorLocation = data->Cursor();
+ }
+}
+
+
+TiXmlNode* TiXmlNode::Identify( const char* p, TiXmlEncoding encoding )
+{
+ TiXmlNode* returnNode = 0;
+
+ p = SkipWhiteSpace( p, encoding );
+ if( !p || !*p || *p != '<' )
+ {
+ return 0;
+ }
+
+ TiXmlDocument* doc = GetDocument();
+ p = SkipWhiteSpace( p, encoding );
+
+ if ( !p || !*p )
+ {
+ return 0;
+ }
+
+ // What is this thing?
+ // - Elements start with a letter or underscore, but xml is reserved.
+ // - Comments: <!--
+ // - Decleration: <?xml
+ // - Everthing else is unknown to tinyxml.
+ //
+
+ const char* xmlHeader = { "<?xml" };
+ const char* commentHeader = { "<!--" };
+ const char* dtdHeader = { "<!" };
+ const char* cdataHeader = { "<![CDATA[" };
+
+ if ( StringEqual( p, xmlHeader, true, encoding ) )
+ {
+ #ifdef DEBUG_PARSER
+ TIXML_LOG( "XML parsing Declaration\n" );
+ #endif
+ returnNode = new TiXmlDeclaration();
+ }
+ else if ( StringEqual( p, commentHeader, false, encoding ) )
+ {
+ #ifdef DEBUG_PARSER
+ TIXML_LOG( "XML parsing Comment\n" );
+ #endif
+ returnNode = new TiXmlComment();
+ }
+ else if ( StringEqual( p, cdataHeader, false, encoding ) )
+ {
+ #ifdef DEBUG_PARSER
+ TIXML_LOG( "XML parsing CDATA\n" );
+ #endif
+ TiXmlText* text = new TiXmlText( "" );
+ text->SetCDATA( true );
+ returnNode = text;
+ }
+ else if ( StringEqual( p, dtdHeader, false, encoding ) )
+ {
+ #ifdef DEBUG_PARSER
+ TIXML_LOG( "XML parsing Unknown(1)\n" );
+ #endif
+ returnNode = new TiXmlUnknown();
+ }
+ else if ( IsAlpha( *(p+1), encoding )
+ || *(p+1) == '_' )
+ {
+ #ifdef DEBUG_PARSER
+ TIXML_LOG( "XML parsing Element\n" );
+ #endif
+ returnNode = new TiXmlElement( "" );
+ }
+ else
+ {
+ #ifdef DEBUG_PARSER
+ TIXML_LOG( "XML parsing Unknown(2)\n" );
+ #endif
+ returnNode = new TiXmlUnknown();
+ }
+
+ if ( returnNode )
+ {
+ // Set the parent, so it can report errors
+ returnNode->parent = this;
+ }
+ else
+ {
+ if ( doc )
+ doc->SetError( TIXML_ERROR_OUT_OF_MEMORY, 0, 0, TIXML_ENCODING_UNKNOWN );
+ }
+ return returnNode;
+}
+
+#ifdef TIXML_USE_STL
+
+void TiXmlElement::StreamIn (std::istream * in, TIXML_STRING * tag)
+{
+ // We're called with some amount of pre-parsing. That is, some of "this"
+ // element is in "tag". Go ahead and stream to the closing ">"
+ while( in->good() )
+ {
+ int c = in->get();
+ if ( c <= 0 )
+ {
+ TiXmlDocument* document = GetDocument();
+ if ( document )
+ document->SetError( TIXML_ERROR_EMBEDDED_NULL, 0, 0, TIXML_ENCODING_UNKNOWN );
+ return;
+ }
+ (*tag) += (char) c ;
+
+ if ( c == '>' )
+ break;
+ }
+
+ if ( tag->length() < 3 ) return;
+
+ // Okay...if we are a "/>" tag, then we're done. We've read a complete tag.
+ // If not, identify and stream.
+
+ if ( tag->at( tag->length() - 1 ) == '>'
+ && tag->at( tag->length() - 2 ) == '/' )
+ {
+ // All good!
+ return;
+ }
+ else if ( tag->at( tag->length() - 1 ) == '>' )
+ {
+ // There is more. Could be:
+ // text
+ // cdata text (which looks like another node)
+ // closing tag
+ // another node.
+ for ( ;; )
+ {
+ StreamWhiteSpace( in, tag );
+
+ // Do we have text?
+ if ( in->good() && in->peek() != '<' )
+ {
+ // Yep, text.
+ TiXmlText text( "" );
+ text.StreamIn( in, tag );
+
+ // What follows text is a closing tag or another node.
+ // Go around again and figure it out.
+ continue;
+ }
+
+ // We now have either a closing tag...or another node.
+ // We should be at a "<", regardless.
+ if ( !in->good() ) return;
+ assert( in->peek() == '<' );
+ int tagIndex = (int) tag->length();
+
+ bool closingTag = false;
+ bool firstCharFound = false;
+
+ for( ;; )
+ {
+ if ( !in->good() )
+ return;
+
+ int c = in->peek();
+ if ( c <= 0 )
+ {
+ TiXmlDocument* document = GetDocument();
+ if ( document )
+ document->SetError( TIXML_ERROR_EMBEDDED_NULL, 0, 0, TIXML_ENCODING_UNKNOWN );
+ return;
+ }
+
+ if ( c == '>' )
+ break;
+
+ *tag += (char) c;
+ in->get();
+
+ // Early out if we find the CDATA id.
+ if ( c == '[' && tag->size() >= 9 )
+ {
+ size_t len = tag->size();
+ const char* start = tag->c_str() + len - 9;
+ if ( strcmp( start, "<![CDATA[" ) == 0 ) {
+ assert( !closingTag );
+ break;
+ }
+ }
+
+ if ( !firstCharFound && c != '<' && !IsWhiteSpace( c ) )
+ {
+ firstCharFound = true;
+ if ( c == '/' )
+ closingTag = true;
+ }
+ }
+ // If it was a closing tag, then read in the closing '>' to clean up the input stream.
+ // If it was not, the streaming will be done by the tag.
+ if ( closingTag )
+ {
+ if ( !in->good() )
+ return;
+
+ int c = in->get();
+ if ( c <= 0 )
+ {
+ TiXmlDocument* document = GetDocument();
+ if ( document )
+ document->SetError( TIXML_ERROR_EMBEDDED_NULL, 0, 0, TIXML_ENCODING_UNKNOWN );
+ return;
+ }
+ assert( c == '>' );
+ *tag += (char) c;
+
+ // We are done, once we've found our closing tag.
+ return;
+ }
+ else
+ {
+ // If not a closing tag, id it, and stream.
+ const char* tagloc = tag->c_str() + tagIndex;
+ TiXmlNode* node = Identify( tagloc, TIXML_DEFAULT_ENCODING );
+ if ( !node )
+ return;
+ node->StreamIn( in, tag );
+ delete node;
+ node = 0;
+
+ // No return: go around from the beginning: text, closing tag, or node.
+ }
+ }
+ }
+}
+#endif
+
+const char* TiXmlElement::Parse( const char* p, TiXmlParsingData* data, TiXmlEncoding encoding )
+{
+ p = SkipWhiteSpace( p, encoding );
+ TiXmlDocument* document = GetDocument();
+
+ if ( !p || !*p )
+ {
+ if ( document ) document->SetError( TIXML_ERROR_PARSING_ELEMENT, 0, 0, encoding );
+ return 0;
+ }
+
+ if ( data )
+ {
+ data->Stamp( p, encoding );
+ location = data->Cursor();
+ }
+
+ if ( *p != '<' )
+ {
+ if ( document ) document->SetError( TIXML_ERROR_PARSING_ELEMENT, p, data, encoding );
+ return 0;
+ }
+
+ p = SkipWhiteSpace( p+1, encoding );
+
+ // Read the name.
+ const char* pErr = p;
+
+ p = ReadName( p, &value, encoding );
+ if ( !p || !*p )
+ {
+ if ( document ) document->SetError( TIXML_ERROR_FAILED_TO_READ_ELEMENT_NAME, pErr, data, encoding );
+ return 0;
+ }
+
+ TIXML_STRING endTag ("</");
+ endTag += value;
+ endTag += ">";
+
+ // Check for and read attributes. Also look for an empty
+ // tag or an end tag.
+ while ( p && *p )
+ {
+ pErr = p;
+ p = SkipWhiteSpace( p, encoding );
+ if ( !p || !*p )
+ {
+ if ( document ) document->SetError( TIXML_ERROR_READING_ATTRIBUTES, pErr, data, encoding );
+ return 0;
+ }
+ if ( *p == '/' )
+ {
+ ++p;
+ // Empty tag.
+ if ( *p != '>' )
+ {
+ if ( document ) document->SetError( TIXML_ERROR_PARSING_EMPTY, p, data, encoding );
+ return 0;
+ }
+ return (p+1);
+ }
+ else if ( *p == '>' )
+ {
+ // Done with attributes (if there were any.)
+ // Read the value -- which can include other
+ // elements -- read the end tag, and return.
+ ++p;
+ p = ReadValue( p, data, encoding ); // Note this is an Element method, and will set the error if one happens.
+ if ( !p || !*p ) {
+ // We were looking for the end tag, but found nothing.
+ // Fix for [ 1663758 ] Failure to report error on bad XML
+ if ( document ) document->SetError( TIXML_ERROR_READING_END_TAG, p, data, encoding );
+ return 0;
+ }
+
+ // We should find the end tag now
+ if ( StringEqual( p, endTag.c_str(), false, encoding ) )
+ {
+ p += endTag.length();
+ return p;
+ }
+ else
+ {
+ if ( document ) document->SetError( TIXML_ERROR_READING_END_TAG, p, data, encoding );
+ return 0;
+ }
+ }
+ else
+ {
+ // Try to read an attribute:
+ TiXmlAttribute* attrib = new TiXmlAttribute();
+ if ( !attrib )
+ {
+ if ( document ) document->SetError( TIXML_ERROR_OUT_OF_MEMORY, pErr, data, encoding );
+ return 0;
+ }
+
+ attrib->SetDocument( document );
+ pErr = p;
+ p = attrib->Parse( p, data, encoding );
+
+ if ( !p || !*p )
+ {
+ if ( document ) document->SetError( TIXML_ERROR_PARSING_ELEMENT, pErr, data, encoding );
+ delete attrib;
+ return 0;
+ }
+
+ // Handle the strange case of double attributes:
+ #ifdef TIXML_USE_STL
+ TiXmlAttribute* node = attributeSet.Find( attrib->NameTStr() );
+ #else
+ TiXmlAttribute* node = attributeSet.Find( attrib->Name() );
+ #endif
+ if ( node )
+ {
+ node->SetValue( attrib->Value() );
+ delete attrib;
+ return 0;
+ }
+
+ attributeSet.Add( attrib );
+ }
+ }
+ return p;
+}
+
+
+const char* TiXmlElement::ReadValue( const char* p, TiXmlParsingData* data, TiXmlEncoding encoding )
+{
+ TiXmlDocument* document = GetDocument();
+
+ // Read in text and elements in any order.
+ const char* pWithWhiteSpace = p;
+ p = SkipWhiteSpace( p, encoding );
+
+ while ( p && *p )
+ {
+ if ( *p != '<' )
+ {
+ // Take what we have, make a text element.
+ TiXmlText* textNode = new TiXmlText( "" );
+
+ if ( !textNode )
+ {
+ if ( document ) document->SetError( TIXML_ERROR_OUT_OF_MEMORY, 0, 0, encoding );
+ return 0;
+ }
+
+ if ( TiXmlBase::IsWhiteSpaceCondensed() )
+ {
+ p = textNode->Parse( p, data, encoding );
+ }
+ else
+ {
+ // Special case: we want to keep the white space
+ // so that leading spaces aren't removed.
+ p = textNode->Parse( pWithWhiteSpace, data, encoding );
+ }
+
+ if ( !textNode->Blank() )
+ LinkEndChild( textNode );
+ else
+ delete textNode;
+ }
+ else
+ {
+ // We hit a '<'
+ // Have we hit a new element or an end tag? This could also be
+ // a TiXmlText in the "CDATA" style.
+ if ( StringEqual( p, "</", false, encoding ) )
+ {
+ return p;
+ }
+ else
+ {
+ TiXmlNode* node = Identify( p, encoding );
+ if ( node )
+ {
+ p = node->Parse( p, data, encoding );
+ LinkEndChild( node );
+ }
+ else
+ {
+ return 0;
+ }
+ }
+ }
+ pWithWhiteSpace = p;
+ p = SkipWhiteSpace( p, encoding );
+ }
+
+ if ( !p )
+ {
+ if ( document ) document->SetError( TIXML_ERROR_READING_ELEMENT_VALUE, 0, 0, encoding );
+ }
+ return p;
+}
+
+
+#ifdef TIXML_USE_STL
+void TiXmlUnknown::StreamIn( std::istream * in, TIXML_STRING * tag )
+{
+ while ( in->good() )
+ {
+ int c = in->get();
+ if ( c <= 0 )
+ {
+ TiXmlDocument* document = GetDocument();
+ if ( document )
+ document->SetError( TIXML_ERROR_EMBEDDED_NULL, 0, 0, TIXML_ENCODING_UNKNOWN );
+ return;
+ }
+ (*tag) += (char) c;
+
+ if ( c == '>' )
+ {
+ // All is well.
+ return;
+ }
+ }
+}
+#endif
+
+
+const char* TiXmlUnknown::Parse( const char* p, TiXmlParsingData* data, TiXmlEncoding encoding )
+{
+ TiXmlDocument* document = GetDocument();
+ p = SkipWhiteSpace( p, encoding );
+
+ if ( data )
+ {
+ data->Stamp( p, encoding );
+ location = data->Cursor();
+ }
+ if ( !p || !*p || *p != '<' )
+ {
+ if ( document ) document->SetError( TIXML_ERROR_PARSING_UNKNOWN, p, data, encoding );
+ return 0;
+ }
+ ++p;
+ value = "";
+
+ while ( p && *p && *p != '>' )
+ {
+ value += *p;
+ ++p;
+ }
+
+ if ( !p )
+ {
+ if ( document ) document->SetError( TIXML_ERROR_PARSING_UNKNOWN, 0, 0, encoding );
+ }
+ if ( *p == '>' )
+ return p+1;
+ return p;
+}
+
+#ifdef TIXML_USE_STL
+void TiXmlComment::StreamIn( std::istream * in, TIXML_STRING * tag )
+{
+ while ( in->good() )
+ {
+ int c = in->get();
+ if ( c <= 0 )
+ {
+ TiXmlDocument* document = GetDocument();
+ if ( document )
+ document->SetError( TIXML_ERROR_EMBEDDED_NULL, 0, 0, TIXML_ENCODING_UNKNOWN );
+ return;
+ }
+
+ (*tag) += (char) c;
+
+ if ( c == '>'
+ && tag->at( tag->length() - 2 ) == '-'
+ && tag->at( tag->length() - 3 ) == '-' )
+ {
+ // All is well.
+ return;
+ }
+ }
+}
+#endif
+
+
+const char* TiXmlComment::Parse( const char* p, TiXmlParsingData* data, TiXmlEncoding encoding )
+{
+ TiXmlDocument* document = GetDocument();
+ value = "";
+
+ p = SkipWhiteSpace( p, encoding );
+
+ if ( data )
+ {
+ data->Stamp( p, encoding );
+ location = data->Cursor();
+ }
+ const char* startTag = "<!--";
+ const char* endTag = "-->";
+
+ if ( !StringEqual( p, startTag, false, encoding ) )
+ {
+ document->SetError( TIXML_ERROR_PARSING_COMMENT, p, data, encoding );
+ return 0;
+ }
+ p += strlen( startTag );
+
+ // [ 1475201 ] TinyXML parses entities in comments
+ // Oops - ReadText doesn't work, because we don't want to parse the entities.
+ // p = ReadText( p, &value, false, endTag, false, encoding );
+ //
+ // from the XML spec:
+ /*
+ [Definition: Comments may appear anywhere in a document outside other markup; in addition,
+ they may appear within the document type declaration at places allowed by the grammar.
+ They are not part of the document's character data; an XML processor MAY, but need not,
+ make it possible for an application to retrieve the text of comments. For compatibility,
+ the string "--" (double-hyphen) MUST NOT occur within comments.] Parameter entity
+ references MUST NOT be recognized within comments.
+
+ An example of a comment:
+
+ <!-- declarations for <head> & <body> -->
+ */
+
+ value = "";
+ // Keep all the white space.
+ while ( p && *p && !StringEqual( p, endTag, false, encoding ) )
+ {
+ value.append( p, 1 );
+ ++p;
+ }
+ if ( p )
+ p += strlen( endTag );
+
+ return p;
+}
+
+
+const char* TiXmlAttribute::Parse( const char* p, TiXmlParsingData* data, TiXmlEncoding encoding )
+{
+ p = SkipWhiteSpace( p, encoding );
+ if ( !p || !*p ) return 0;
+
+// int tabsize = 4;
+// if ( document )
+// tabsize = document->TabSize();
+
+ if ( data )
+ {
+ data->Stamp( p, encoding );
+ location = data->Cursor();
+ }
+ // Read the name, the '=' and the value.
+ const char* pErr = p;
+ p = ReadName( p, &name, encoding );
+ if ( !p || !*p )
+ {
+ if ( document ) document->SetError( TIXML_ERROR_READING_ATTRIBUTES, pErr, data, encoding );
+ return 0;
+ }
+ p = SkipWhiteSpace( p, encoding );
+ if ( !p || !*p || *p != '=' )
+ {
+ if ( document ) document->SetError( TIXML_ERROR_READING_ATTRIBUTES, p, data, encoding );
+ return 0;
+ }
+
+ ++p; // skip '='
+ p = SkipWhiteSpace( p, encoding );
+ if ( !p || !*p )
+ {
+ if ( document ) document->SetError( TIXML_ERROR_READING_ATTRIBUTES, p, data, encoding );
+ return 0;
+ }
+
+ const char* end;
+ const char SINGLE_QUOTE = '\'';
+ const char DOUBLE_QUOTE = '\"';
+
+ if ( *p == SINGLE_QUOTE )
+ {
+ ++p;
+ end = "\'"; // single quote in string
+ p = ReadText( p, &value, false, end, false, encoding );
+ }
+ else if ( *p == DOUBLE_QUOTE )
+ {
+ ++p;
+ end = "\""; // double quote in string
+ p = ReadText( p, &value, false, end, false, encoding );
+ }
+ else
+ {
+ // All attribute values should be in single or double quotes.
+ // But this is such a common error that the parser will try
+ // its best, even without them.
+ value = "";
+ while ( p && *p // existence
+ && !IsWhiteSpace( *p ) && *p != '\n' && *p != '\r' // whitespace
+ && *p != '/' && *p != '>' ) // tag end
+ {
+ if ( *p == SINGLE_QUOTE || *p == DOUBLE_QUOTE ) {
+ // [ 1451649 ] Attribute values with trailing quotes not handled correctly
+ // We did not have an opening quote but seem to have a
+ // closing one. Give up and throw an error.
+ if ( document ) document->SetError( TIXML_ERROR_READING_ATTRIBUTES, p, data, encoding );
+ return 0;
+ }
+ value += *p;
+ ++p;
+ }
+ }
+ return p;
+}
+
+#ifdef TIXML_USE_STL
+void TiXmlText::StreamIn( std::istream * in, TIXML_STRING * tag )
+{
+ while ( in->good() )
+ {
+ int c = in->peek();
+ if ( !cdata && (c == '<' ) )
+ {
+ return;
+ }
+ if ( c <= 0 )
+ {
+ TiXmlDocument* document = GetDocument();
+ if ( document )
+ document->SetError( TIXML_ERROR_EMBEDDED_NULL, 0, 0, TIXML_ENCODING_UNKNOWN );
+ return;
+ }
+
+ (*tag) += (char) c;
+ in->get(); // "commits" the peek made above
+
+ if ( cdata && c == '>' && tag->size() >= 3 ) {
+ size_t len = tag->size();
+ if ( (*tag)[len-2] == ']' && (*tag)[len-3] == ']' ) {
+ // terminator of cdata.
+ return;
+ }
+ }
+ }
+}
+#endif
+
+const char* TiXmlText::Parse( const char* p, TiXmlParsingData* data, TiXmlEncoding encoding )
+{
+ value = "";
+ TiXmlDocument* document = GetDocument();
+
+ if ( data )
+ {
+ data->Stamp( p, encoding );
+ location = data->Cursor();
+ }
+
+ const char* const startTag = "<![CDATA[";
+ const char* const endTag = "]]>";
+
+ if ( cdata || StringEqual( p, startTag, false, encoding ) )
+ {
+ cdata = true;
+
+ if ( !StringEqual( p, startTag, false, encoding ) )
+ {
+ document->SetError( TIXML_ERROR_PARSING_CDATA, p, data, encoding );
+ return 0;
+ }
+ p += strlen( startTag );
+
+ // Keep all the white space, ignore the encoding, etc.
+ while ( p && *p
+ && !StringEqual( p, endTag, false, encoding )
+ )
+ {
+ value += *p;
+ ++p;
+ }
+
+ TIXML_STRING dummy;
+ p = ReadText( p, &dummy, false, endTag, false, encoding );
+ return p;
+ }
+ else
+ {
+ bool ignoreWhite = true;
+
+ const char* end = "<";
+ p = ReadText( p, &value, ignoreWhite, end, false, encoding );
+ if ( p )
+ return p-1; // don't truncate the '<'
+ return 0;
+ }
+}
+
+#ifdef TIXML_USE_STL
+void TiXmlDeclaration::StreamIn( std::istream * in, TIXML_STRING * tag )
+{
+ while ( in->good() )
+ {
+ int c = in->get();
+ if ( c <= 0 )
+ {
+ TiXmlDocument* document = GetDocument();
+ if ( document )
+ document->SetError( TIXML_ERROR_EMBEDDED_NULL, 0, 0, TIXML_ENCODING_UNKNOWN );
+ return;
+ }
+ (*tag) += (char) c;
+
+ if ( c == '>' )
+ {
+ // All is well.
+ return;
+ }
+ }
+}
+#endif
+
+const char* TiXmlDeclaration::Parse( const char* p, TiXmlParsingData* data, TiXmlEncoding _encoding )
+{
+ p = SkipWhiteSpace( p, _encoding );
+ // Find the beginning, find the end, and look for
+ // the stuff in-between.
+ TiXmlDocument* document = GetDocument();
+ if ( !p || !*p || !StringEqual( p, "<?xml", true, _encoding ) )
+ {
+ if ( document ) document->SetError( TIXML_ERROR_PARSING_DECLARATION, 0, 0, _encoding );
+ return 0;
+ }
+ if ( data )
+ {
+ data->Stamp( p, _encoding );
+ location = data->Cursor();
+ }
+ p += 5;
+
+ version = "";
+ encoding = "";
+ standalone = "";
+
+ while ( p && *p )
+ {
+ if ( *p == '>' )
+ {
+ ++p;
+ return p;
+ }
+
+ p = SkipWhiteSpace( p, _encoding );
+ if ( StringEqual( p, "version", true, _encoding ) )
+ {
+ TiXmlAttribute attrib;
+ p = attrib.Parse( p, data, _encoding );
+ version = attrib.Value();
+ }
+ else if ( StringEqual( p, "encoding", true, _encoding ) )
+ {
+ TiXmlAttribute attrib;
+ p = attrib.Parse( p, data, _encoding );
+ encoding = attrib.Value();
+ }
+ else if ( StringEqual( p, "standalone", true, _encoding ) )
+ {
+ TiXmlAttribute attrib;
+ p = attrib.Parse( p, data, _encoding );
+ standalone = attrib.Value();
+ }
+ else
+ {
+ // Read over whatever it is.
+ while( p && *p && *p != '>' && !IsWhiteSpace( *p ) )
+ ++p;
+ }
+ }
+ return 0;
+}
+
+bool TiXmlText::Blank() const
+{
+ for ( unsigned i=0; i<value.length(); i++ )
+ if ( !IsWhiteSpace( value[i] ) )
+ return false;
+ return true;
+}
+
diff --git a/TinyXML/2.5.3/utf8test.gif b/TinyXML/2.5.3/utf8test.gif
new file mode 100644
index 0000000..0911070
--- /dev/null
+++ b/TinyXML/2.5.3/utf8test.gif
Binary files differ
diff --git a/TinyXML/2.5.3/utf8test.xml b/TinyXML/2.5.3/utf8test.xml
new file mode 100644
index 0000000..4fd71ce
--- /dev/null
+++ b/TinyXML/2.5.3/utf8test.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document>
+ <English name="name" value="value">The world has many languages</English>
+ <Russian name="название(имя)" value="ценность">Мир имеет много языков</Russian>
+ <Spanish name="el nombre" value="el valor">el mundo tiene muchos idiomas</Spanish>
+ <SimplifiedChinese name="名字" value="价值">世界有很多语言</SimplifiedChinese>
+ <Русский название="name" ценность="value">&lt;имеет&gt;</Русский>
+ <汉语 名字="name" 价值="value">世界有很多语言</汉语>
+ <Heavy>"M&#x0eB;t&#230;l!"</Heavy>
+ <ä>Umlaut Element</ä>
+</document>
diff --git a/TinyXML/2.5.3/utf8testverify.xml b/TinyXML/2.5.3/utf8testverify.xml
new file mode 100644
index 0000000..91a319d
--- /dev/null
+++ b/TinyXML/2.5.3/utf8testverify.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<document>
+ <English name="name" value="value">The world has many languages</English>
+ <Russian name="название(имя)" value="ценность">Мир имеет много языков</Russian>
+ <Spanish name="el nombre" value="el valor">el mundo tiene muchos idiomas</Spanish>
+ <SimplifiedChinese name="名字" value="价值">世界有很多语言</SimplifiedChinese>
+ <Русский название="name" ценность="value">&lt;имеет&gt;</Русский>
+ <汉语 名字="name" 价值="value">世界有很多语言</汉语>
+ <Heavy>&quot;Mëtæl!&quot;</Heavy>
+ <ä>Umlaut Element</ä>
+</document>
diff --git a/TinyXML/TinyXML.pri b/TinyXML/TinyXML.pri
new file mode 100644
index 0000000..bc1334c
--- /dev/null
+++ b/TinyXML/TinyXML.pri
@@ -0,0 +1,5 @@
+SOURCES += \
+ 2.5.3/tinystr.cpp \
+ 2.5.3/tinyxml.cpp \
+ 2.5.3/tinyxmlerror.cpp \
+ 2.5.3/tinyxmlparser.cpp
diff --git a/TinyXML/TinyXML.pro b/TinyXML/TinyXML.pro
new file mode 100644
index 0000000..da02a3a
--- /dev/null
+++ b/TinyXML/TinyXML.pro
@@ -0,0 +1,7 @@
+TARGET = TinyXML
+include($$PWD/../../../commonplatform.pri)
+CONFIG += staticlib
+
+include(TinyXML.pri)
+
+load(qt_helper_lib)